نسمح بعدة تنسيقات مختلفة لتحديد وقت التوفّر للمساعدة في ضمان تقديم data دقیقة. توضّح النقاط التالية حالات الاستخدام المختلفة المتوافقة، بالإضافة إلى بعض أمثلة اللغة المشابهة لما سيرى المستخدم في الواجهة الأمامية.
المواعيد الثابتة: "التسليم خلال 30 دقيقة" أو "استلام الطلب خلال 15 دقيقة"
النطاقات الزمنية: "يتم التوصيل خلال فترة تتراوح بين 30 دقيقة و1 ساعة" أو "يتم استلام الطلب خلال فترة تتراوح بين 15 و20 دقيقة"
يمكن تحديد وقت التسليم لكل من الاستلام والتسليم باستخدام تنسيق شائع
(كما هو موضّح أدناه).
لا تتوفّر حالات الاستخدام التي تتطلّب تغيير وقت الوصول المقدَّر استنادًا إلى معلومات عن المستخدم.
أمثلة على وقت توصيل الطلب
يتم تضمين وقت تسليم الطلبات للروابط التي تؤدي إلى إجراءات في رسالة خلاصة الخدمات
ETA
، كجزء من الحقل
FoodOrderingService.
باستخدام ServiceHours،
يمكن ضبط أوقات التسليم لفترة زمنية معيّنة. يتم استخدام القيمة التلقائية
lead_time التي تم ضبطها في
FoodOrderingService
عندما تكون خارج الفترات الزمنية لساعات العمل.
في هذا المثال، سيتم عرض lead_time من
2400s من الساعة 11:00 صباحًا حتى الساعة 1:30 مساءً.
سيتم عرض lead_time في 1200s قبل
الساعة 11:00 صباحًا وبعد الساعة 1:30 بعد الظهر.
عند تقديم بيانات الرسوم للتاجر، نتوقع منك تقديم تمثيل دقيق
لرسومك. يجب تضمين جميع رسوم التسليم والخدمة التي قد تنطبق على طلب معيّن.
ندرك أنّ الرسوم قد تختلف بمرور الوقت وحسب المستخدمين. لهذا السبب، نوفّر إمكانية تحديد الرسوم كنطاقات، بما في ذلك النطاقات المفتوحة. في الحالات التي يمكن أن تختلف فيها الرسوم
بشكل كبير، تأكَّد من أنّ النطاق المقدَّم يتضمّن الرسوم التي يمكن أن يراها المستخدم أثناء
معاملته.
إذا لم تكن متأكدًا من المتطلبات المحدّدة في حالتك، يُرجى التواصل مع
جهة التواصل التي تتعامل معها في "مركز الإجراءات".
دقة وقت توصيل الطلبات
ندرك أنّ تفاصيل وقت معالجة الطلبات
تتغيّر استنادًا إلى مجموعة متنوعة من العوامل. وتشمل هذه العوامل ما يلي:
تغييرات في وقت معالجة الطلبات استنادًا إلى حجم الطلب
تغييرات في وقت تسليم الطلبات استنادًا إلى الوقت المستغرَق لإكمال عملية الطلب
والدفع
وقت الاستجابة بين تعديل التغييرات في وقت معالجة الطلبات من خلال الخلاصات
عنوان تسليم المستخدم
قد يؤدي أيّ من هذه العوامل إلى حدوث حالات يكون فيها وقت تنفيذ الطلب
الذي يظهر للمستخدم في البداية مختلفًا عن الوقت الدقيق الذي
سيظهر له عند الدفع. إنّ الهدف من تنفيذ وقت التسليم ليس
القضاء على هذه الأخطاء تمامًا، بل تقديم معلومات واضحة للمستخدمين
قدر الإمكان.
من المتوقّع من الشركاء تقديم عملية تنفيذ تؤدي إلى عرض وقت تسليم دقيق
للمستخدمين قدر الإمكان، وذلك على أساس جهدهم القصوى. إذا كان هناك تباين كبير في التوقيت بسبب هذه العوامل، ننصحك
بتقديم نطاق زمني يشمل هذا التباين.
بالإضافة إلى ذلك، إذا تغيّر وقت التسليم بسبب تفاصيل الطلب،
يجب أن يظهر ذلك بوضوح للمستخدمين عند وصولهم إلى مسار الطلب.
إذا لم تكن متأكّدًا من الخطوات التي يجب اتّخاذها في حالتك، يُرجى التواصل مع جهة التواصل التي تتعامل معها في "مركز الإجراءات".
تعديلات في الوقت المناسب على الرسوم والمُدد الزمنية المقدَّرة
يمكن أن تستغرق معالجة أي تغييرات باستخدام عملية تحميل خلاصة عادية ساعتَين على الأقل. يُرجى العلم أنّ هذا الأمر مهمّ بشكل خاص إذا كنت تخطّط لتغيير مدة الوصول المُقدَّرة
بشكل متكرّر.
ننصحك بشدة بتنفيذ ميزة التعديلات في الوقت الفعلي،
التي تتيح طلب بيانات من واجهة برمجة التطبيقات لتغيير خلاصة الخدمة (بما في ذلك الرسوم والأوقات المقدَّرة للوصول) في غضون 5 دقائق أو أقل.
تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eSpecify order fulfillment time and fees for pickup and delivery food ordering action links using service feeds, including fixed values, ranges, and open-ended ranges.\u003c/p\u003e\n"],["\u003cp\u003eEnsure fee and fulfillment time accuracy by providing comprehensive data, encompassing potential variations and clearly communicating any changes to users during checkout.\u003c/p\u003e\n"],["\u003cp\u003eUtilize real-time updates for faster ETA and fee adjustments to maintain accuracy and reflect current information, especially for frequent changes, as standard feed uploads can take up to 2 hours to process.\u003c/p\u003e\n"],["\u003cp\u003eRefer to the provided feed samples and documentation for detailed instructions and examples on implementing fee and fulfillment time specifications in your service feeds.\u003c/p\u003e\n"],["\u003cp\u003eContact your Actions Center representative for any specific questions or clarification regarding your implementation.\u003c/p\u003e\n"]]],["This tutorial outlines specifying order fulfillment fees and times for food pickup and delivery through service feeds. Fees can be fixed, percentage-based, or ranges (including open-ended). Supported fee types are delivery and service. Fulfillment times are defined as fixed or time ranges. Both fees and times can be set for specific time windows. Accuracy is crucial; ranges are recommended for variability. Real-time updates are encouraged for frequent changes, as feed updates take at least 2 hours.\n"],null,["| **Objective:** Learn how to specify order fulfillment time and fees for pickup and delivery food ordering action links, and how to update the values as it changes.\n\nThis tutorial walks through:\n\n1. A high level description of what fee \\& fulfillment time use cases are supported\n2. Specific instructions on how to specify order fulfillment time and fees for [Service feeds](/actions-center/verticals/ordering/redirect/reference/feeds/services-feed).\n3. Expectations for accuracy\n\nFor a full feed sample that shows usage of order fulfillment time and fees, see the\n[Ordering Redirect EPA sample](/actions-center/verticals/ordering/redirect/reference/feeds/services-feed#samples).\n\nFees\n\n\nWe provide several different ways to specify fees, such as:\n\n- **Fixed Fee**: \"Delivery fee $5\" or \"Service fee $5\"\n- **Percentage Fee**: \"Delivery fee 5%\" or \"Service fee 5%\"\n- **Fee Ranges**: \"Delivery Fees $2-$10\" or \"Service Fees 3%-6%\"\n- **Open Ended Ranges** \"Delivery Fees start at 5%\" or \"Service Fees up to $20\"\n\n\nFees can be specified as either a delivery fee or service fee.\nIt is also possible to specify multiple fees (e.g. \"Service fee 5%-10%, Delivery Fee $5\").\n\n\nNot supported are use cases that require fees to change based on information\nabout the user.\n\nFee Examples\n\nDelivery and Pickup fees Application supports the \\`DELIVERY\\` and \\`SERVICE\\` fee types. \n\nDelivery \n\n```carbon\n{\n \"fee\": {\n \"fee_id\": \"12345/delivery_fee\",\n \"fee_type\": \"DELIVERY\",\n \"fixed_amount\": {\n \"currency_code\": \"USD\",\n \"units\": 10,\n \"nanos\": 0\n },\n \"service_ids\": [\"service/entity002\"]\n }\n}\n```\n\nService \n\n```carbon\n{\n \"fee\": {\n \"fee_id\": \"12345/service_fee\",\n \"fee_type\": \"SERVICE\",\n \"fixed_amount\": {\n \"currency_code\": \"USD\",\n \"units\": 10,\n \"nanos\": 0\n },\n \"service_ids\": [\"service/entity002\"]\n }\n}\n```\n\nDifferent fee types The following outlines some easy-to-use examples for specifying a chosen fee type. \n\nFixed \n\n```carbon\n{\n \"fee\": {\n \"fee_id\": \"12345/delivery_fee\",\n \"fee_type\": \"DELIVERY\",\n \"fixed_amount\": {\n \"currency_code\": \"USD\",\n \"units\": 10,\n \"nanos\": 0\n },\n \"service_ids\": [\"service/entity002\"]\n }\n}\n```\n\nCart percentage \n\n```carbon\n{\n \"fee\": {\n \"fee_id\": \"12345/delivery_fee\",\n \"fee_type\": \"DELIVERY\",\n \"cart_percentage\": {\n \"base_value\": {\n \"currency_code\": \"USD\",\n \"units\": 3,\n \"nanos\": 500000000\n },\n \"percentage_of_cart_value\": 10\n },\n \"service_ids\": [\n \"service/entity002\"\n ]\n }\n}\n```\n\nRange \n\n```carbon\n{\n \"fee\": {\n \"fee_id\": \"12345/delivery_fee\",\n \"fee_type\": \"DELIVERY\",\n \"range_amount\": {\n \"min_amount\": {\n \"currency_code\": \"USD\",\n \"units\": 3,\n \"nanos\": 500000000\n },\n \"max_amount\": {\n \"currency_code\": \"USD\",\n \"units\": 5,\n \"nanos\": 600000000\n }\n },\n \"service_ids\": [\n \"service/entity002\"\n ]\n }\n}\n```\n\nFulfillment Time\n\n\nWe allow several different formats for specifying availability time to help ensure you're\nproviding accurate data. The following points describe the different use cases supported, along\nwith some example language similar to what the user will see on the frontend.\n\n- **Fixed Times**: \"Delivers in 30 min\" or \"Pickup in 15 min\"\n- **Time Ranges**: \"Delivers in 30 min-1 hr\" or \"Pickup in 15-20 min\"\n\n\nFulfillment time can be specified for both pickup and delivery using a common format\n(described below).\n\n\nNot supported are use cases that require ETAs to change based on information about the user.\n\nFulfillment time examples\n\nOrder fulfillment time for action links is included in the Services feed\n[`ETA`](/actions-center/verticals/ordering/redirect/reference/feeds/services-feed#ETA-definition)\nmessage, as part of the\n[`FoodOrderingService`](/actions-center/verticals/ordering/redirect/reference/feeds/services-feed#service-definition)\nfield. \n\nFixed \n\n```carbon\n{\n \"service\": {\n \"service_id\": \"service-id\",\n \"service_type\": \"TAKEOUT\",\n \"parent_entity_id\": \"entity-id\",\n \"lead_time\": {\n \"min_lead_time_duration\": \"900s\"\n },\n \"action_link_id\": \"action-link-id\"\n }\n},\n```\n\nTime range \n\n```carbon\n{\n \"service\": {\n \"service_id\": \"service-id\",\n \"service_type\": \"TAKEOUT\",\n \"parent_entity_id\": \"entity-id\",\n \"lead_time\": {\n \"min_lead_time_duration\": \"900s\"\n \"max_lead_time_duration\": \"1200s\"\n\n },\n \"action_link_id\": \"action-link-id\"\n }\n},\n```\n\nFulfillment time windows\n\nWith [`ServiceHours`](/actions-center/verticals/ordering/redirect/reference/feeds/services-feed#ServiceHours-definition),\nfulfillment times can be set for a specific time window. The default\n`lead_time` set in the\n[`FoodOrderingService`](/actions-center/verticals/ordering/redirect/reference/feeds/services-feed#service-definition) is used\nwhen outside of service hour time windows.\nIn this example, the `lead_time` of `2400s` will be displayed from 11:00am to 1:30pm. \nThe `lead_time` of `1200s` will be displayed before 11:00am and after 1:30pm. \n\n```json\n{\n \"data\": [\n {\n \"service\": {\n \"service_id\": \"merchant-1-service-delivery\",\n \"service_type\": \"DELIVERY\",\n \"parent_entity_id\": \"merchant-1\",\n \"lead_time\": {\n \"min_lead_time_duration\": \"1200s\"\n },\n \"action_link_id\": \"merchant-1-takeout-delivery-action\"\n }\n },\n {\n \"service_hours\": {\n \"hours_id\": \"merchant-1-advance-hours-delivery\",\n \"service_ids\": [\"merchant-1-service-delivery\"],\n \"asap_hours\": [\n {\n \"time_windows\": {\n \"time_windows\": {\n \"open_time\": {\n \"hours\": 11\n },\n \"close_time\": {\n \"hours\": 13,\n \"minutes\": 30\n }\n }\n },\n \"lead_time\": {\n \"min_lead_time_duration\": \"2400s\"\n }\n }\n ]\n }\n }\n ]\n}\n```\n\nFee \\& fulfillment time accuracy\n\nFee accuracy\n\nWhen you provide fee data for a merchant, we expect you to provide an accurate representation\nof your fees. You should include all delivery and service fees that may apply to an order.\n\nWe recognize that fees may vary over time and across users. For this reason we offer the\nability to specify fees as ranges, including open ended ranges. In cases where fees can vary\nsignificantly be sure that the range provided encompasses the fees a user could see during\ntheir transaction.\n\nIf you are unsure of specifically what is required in your case, reach out to your\nActions Center contact.\n\nOrder fulfillment time accuracy\n\nWe understand that the specifics of order fulfillment\ntime change based on a variety of factors. These factors include:\n\n- Changes to order fulfillment time based on order size\n- Changes to order fulfillment time based on time to complete ordering and checkout\n- Latency between when order fulfillment time changes are updated through feeds\n- The user's delivery address.\n\nAny of these factors may lead to situations where the order fulfillment\ntime displayed to the user initially is not the exact fulfillment time they\nwill see at checkout. The goal of the fulfillment time implementation is not\nto eliminate these entirely, but to provide clear information to users as\noften as possible.\n\nPartners are expected to provide an implementation that leads to accurate\nfulfillment time displayed to users as often as is possible, on a best effort\nbasis. If there is significant variability in timing due to these factors we suggest\nyou provide a range of times that encompass that variability.\nAdditionally, if fulfillment time does change due to order details,\nthis should be clearly shown to users when the arrive in your ordering flow.\n\nIf you are unsure of specifically what\nis required in your case, reach out to your Actions Center contact.\n\nTimely updates to Fees and ETAs\n\nAny changes using a normal feed upload can take at least 2 hours\nto process. This is especially important to note if you plan on changing ETAs\nfrequently.\n\nPartners are highly encouraged to implement [Real-time Updates](/actions-center/verticals/ordering/redirect/integration-steps/action-link-feeds/real-time-update),\nwhich enables an API call to change the [Service feed](/actions-center/verticals/ordering/redirect/reference/feeds/services-feed) (including fees and ETAs) within 5 minutes or less."]]