[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\u003cp\u003eThis guide explains how to provide order fulfillment time and fees for food ordering action links using the Ordering Redirect Integration.\u003c/p\u003e\n"],["\u003cp\u003eYou can specify fixed times, time ranges, or open-ended ranges for both pickup and delivery fulfillment options.\u003c/p\u003e\n"],["\u003cp\u003eFees can be provided as fixed amounts, percentages, or ranges, and can be specified for delivery or as a service fee.\u003c/p\u003e\n"],["\u003cp\u003eWhile real-time fee and time updates are not supported, strive for accuracy and use ranges to accommodate variability.\u003c/p\u003e\n"],["\u003cp\u003eRefer to the provided feed samples and documentation for detailed implementation instructions and examples.\u003c/p\u003e\n"]]],["This guide explains how to specify order fulfillment times and fees within the Actions Center Ordering Redirect Integration. Partners can define fixed times (e.g., \"30 min\") or ranges (e.g., \"30 min - 1 hr\") for pickup and delivery. Fees can be fixed amounts, percentages, or ranges, applied as delivery or service fees. This information is added through the `action_link` within the `food_ordering_metadata` field of the merchant feed. Partners should ensure accuracy, updating feeds to reflect variations, although real-time updates are not supported.\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| **Note:** This guide only applies to partners who are currently onboarding inventory through our Actions Center Ordering Redirect Integration with food ordering actions.\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 [`action_link`(s)](/actions-center/verticals/ordering/redirect/reference/feeds/merchants-feed#ActionLink-definition) in your feeds\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/action-link-feeds/sample-feed).\n\nFee \\& fulfillment time use cases\n\nFee use cases\n\n\nWe provide several different ways to specify fees. The points below describe the different use\ncases supported, along with some example language similar to what the user will see on the\nfront end.\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\nAs shown in the examples above, fees 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 be updated throughout the day, or to change\nbased on information about the user.\n\nFulfillment Time use cases\n\n\nWe allow several different formats for specifying availability time to help ensure you're\nproviding accurate data. The points below describe the different use cases supported, along\nwith some example language similar to what the user will see on the front end.\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- Open Ended Time Ranges: \"Delivers in more than 10 mins\" or \"Pickup in less than 1 hr\"\n\n\nFulfillment time can be specified for both pickup and delivery using a common format\n(described below). As shown in the examples above, the text shown to users will\nreflect the [fulfilment\ntype](/actions-center/verticals/ordering/redirect/reference/action-link-feeds/ordering-action-links-delivery-and-takeout) specified in the action link.\n\n\nNot supported are use cases that require times to be updated throughout the day, or to change\nbased on information about the user.\n\nSpecifying order fulfillment time through feeds\n\nOrder fulfillment time for action links is included in the Merchant feed\n[`action_link`](/actions-center/verticals/ordering/redirect/reference/feeds/merchants-feed#ActionLink-definition)\nmessage, as part of the\n[`food_ordering_metadata`](/actions-center/verticals/ordering/redirect/reference/feeds/merchants-feed#FoodOrderingMetadata-definition)\nfield. For each\n[`action_link`](/actions-center/verticals/ordering/redirect/reference/feeds/merchants-feed#ActionLink-definition)\nassociated with the merchant, you are required to provide fulfillment\ninformation using one of the message paths.\n\nFixed Fulfillment Time\n\n- `Merchant.action_link.food_ordering_metadata.fulfillment_lead_time_duration`\n\nThis messages should be in the following format: \n\n```json\n{\n \"fulfillment_lead_time_duration\": {\n \"seconds\" : 1800\n }\n}\n```\n\nRange Fulfillment Time\n\n- `Merchant.action_link.food_order_metadata.fulfillment_lead_time_duration_range`\n\nThis message should be in the following format: \n\n```json\n{\n \"fulfillment_lead_time_duration_range\": {\n \"min_duration\": {\n \"seconds\" : 1800\n },\n \"max_duration\": {\n \"seconds\" : 2400\n }\n }\n}\n```\n| **Warning:** Do **not** specify both `fulfillment_lead_time_duration` and `fulfillment_lead_time_duration_range` as part of a single [`action_link`](/actions-center/verticals/ordering/redirect/reference/feeds/merchants-feed#ActionLink-definition) object.\n| **Note:** The `fulfillment_lead_time_duration`, `fulfillment_lead_time_duration_range.min_duration`, `fulfillment_lead_time_duration_range.max_duration` are of type [`google.protobuf.Duration`](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/duration.proto) and provides users with an ETA for their fulfillment action.\n| **Note:** If a single merchant has multiple fulfillment options (pickup and delivery), the order fulfillment time must be specified separately using two separate [`action_link`(s)](/actions-center/verticals/ordering/redirect/reference/feeds/merchants-feed#ActionLink-definition). Please review [Differentiating between Food Ordering Pickup and Delivery Tutorial](/actions-center/verticals/ordering/redirect/reference/action-link-feeds/ordering-action-links-delivery-and-takeout) to understand providing multiple [`action_link`(s)](/actions-center/verticals/ordering/redirect/reference/feeds/merchants-feed#ActionLink-definition) per merchant.\n| **Note:** For the reference definition of [`food_ordering_metadata`](/actions-center/verticals/ordering/redirect/reference/feeds/merchants-feed#FoodOrderingMetadata-definition), see the Merchant feed reference. For a feed sample that includes order fulfillment time in JSON format, see [Food Ordering Metadata Code Sample](/actions-center/verticals/ordering/redirect/reference/action-link-feeds/sample-feed)\n\nSpecifying fees through feeds\n\nSimilar to order fulfillment time, fees can be included as part of the\n[`action_link`](/actions-center/verticals/ordering/redirect/reference/feeds/merchants-feed#ActionLink-definition) message under the [`food_ordering_metadata`](/actions-center/verticals/ordering/redirect/reference/feeds/merchants-feed#FoodOrderingMetadata-definition)\nfield. For each [`action_link`](/actions-center/verticals/ordering/redirect/reference/feeds/merchants-feed#ActionLink-definition) associated with a merchant you can\nprovide fee information using the message path:\n\n`merchant.action_link.food_ordering_metadata.fee_details`\nBelow are several examples of the different use cases.\n\n- A fixed delivery fee of $1.99: \n\n ```json\n [\n {\n \"type\": \"DELIVERY\",\n \"fee_amount\": {\n \"amount\": {\n \"currency_code\": \"USD\",\n \"units\": \"1\",\n \"nanos\": \"990000000\"\n }\n }\n }\n ]\n ```\n- A percentage delivery fee of 5.6%. \n\n ```json\n [\n {\n \"type\": \"DELIVERY\",\n \"fee_amount\": {\n \"cart_percentage\": {\n \"value\": \"5.6\"\n }\n }\n }\n ]\n ```\n- A service fee range from $1.99 to $9.99 \n\n ```json\n [\n {\n \"type\": \"SERVICE\",\n \"fee_amount\": {\n \"amount_range\": {\n \"min_amount\": {\n \"currency_code\": \"USD\",\n \"units\": \"1\",\n \"nanos\": \"990000000\"\n },\n \"max_amount\": {\n \"currency_code\": \"USD\",\n \"units\": \"9\",\n \"nanos\": \"990000000\"\n }\n }\n }\n }\n ]\n ```\n- A service fee percentage range from 1.2% to 2.7% \n\n ```json\n [\n {\n \"type\": \"SERVICE\",\n \"fee_amount\": {\n \"cart_percentage\": {\n \"value_range\": {\n \"min_value\": \"1.2\",\n \"max_value\": \"2.7\"\n }\n }\n }\n }\n ]\n ```\n- Two fees, a service fee of $5, and a delivery fee of 1.2%. \n\n ```json\n [\n {\n \"type\": \"SERVICE\",\n \"fee_amount\": {\n \"amount\": {\n \"currency_code\": \"USD\",\n \"units\": \"5\",\n \"nanos\": \"0\"\n }\n }\n },\n {\n \"type\": \"DELIVERY\",\n \"fee_amount\": {\n \"cart_percentage\": {\n \"value\": \"1.2\"\n }\n }\n }\n ]\n ```\n\n| **Note:** The `amount` and `amount_range` entries are of type [`google.type.Money`](https://github.com/googleapis/googleapis/blob/master/google/type/money.proto)\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."]]