[[["容易理解","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 (世界標準時間)。"],[],[],null,["# Feeds Ready\n\nFeeds provide your inventory data to the Actions Center. This daily Secure File\nTransfer Protocol (SFTP) upload updates all of the merchants, services, and\navailability slots data. Feeds specify which merchants you support,\ntheir availability, and any special features required to confirm that Google\ndisplays your inventory properly. Feeds are uploaded to the SFTP dropboxes that\nare configured when you provide your SSH key in\n[Setup](/actions-center/verticals/reservations/e2e/integration-steps/setup/public-ssh-key).\n\nYou must complete the following Feeds Ready tasks before you move to Booking Server:\n\n- [Merchant Feed Ready](/actions-center/verticals/reservations/e2e/integration-steps/feeds/merchants-feed)\n- [Services Feed Ready](/actions-center/verticals/reservations/e2e/integration-steps/feeds/services-feed)\n- [Availability Feed Ready](/actions-center/verticals/reservations/e2e/integration-steps/feeds/availability-feed)\n- [Data quality](/actions-center/verticals/reservations/e2e/integration-steps/feeds/data-quality-check)\n\nThe tasks will be marked as completed and turn green after you upload your feeds\nsuccessfully. Review the linked documentation to complete each specific\nmilestone task.\n\nFor proper functionality of your\n[Dining Reservations End-to-End integration](/actions-center/verticals/reservations/e2e/overview),\nyou need to provide daily Merchant Feed, Services Feed, and Availability Feed\nuploads automatically. Your automated feed infrastructure must provide your full\ninventory.\n| **Note:** All feeds must be uploaded with `processing_instruction` as `PROCESS_AS_COMPLETE`. `PROCESS_AS_INCREMENTAL` is deprecated and can't be used.\n\nFeed types\n----------\n\nDining Reservations End-to-End integrations require the following feeds and their\nupload frequencies:\n\n| Feed | Description | Frequency | Sample |\n|------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------|----------------------------------------------------------------------------------------------------------|\n| [Merchant](/actions-center/verticals/reservations/e2e/integration-steps/feeds/merchants-feed) | Describes your merchants. | Once every 24 hours | [Merchant Feed sample](/actions-center/verticals/reservations/e2e/reference/feeds/merchants-feed) |\n| [Services](/actions-center/verticals/reservations/e2e/integration-steps/feeds/services-feed/samples-definitions#definitions) | Describe the services of your merchants. | Once every 24 hours | [Services Feed sample](/actions-center/verticals/reservations/e2e/reference/feeds/services-feed) |\n| [Availability](/actions-center/verticals/reservations/e2e/integration-steps/feeds/availability-feed) | Describes the available slots for services of your merchants. A minimum 30 days of coverage must be provided. To extend the coverage to 90 days, contact Google support through the Actions Center [contact form](https://actionscenter.google.com/support/cases). | Once every 24 hours | [Availability Feed sample](/actions-center/verticals/reservations/e2e/reference/feeds/availability-feed) |\n\n| **Note:** The Actions Center expects accurate real-time inventory status for party sizes.\n\nFeed formats are described with the\n[protocol buffer 3 syntax](/protocol-buffers/docs/proto3), but you can upload\nyour feeds per the corresponding JSON format. Refer to the feed samples for the\nJSON format. We recommend that you upload the feeds in JSON format.\n\nNaming conventions and metadata\n-------------------------------\n\n### File names\n\nIf you use\n[sharding](/actions-center/verticals/reservations/e2e/integration-steps/feeds#feed-file-shard-compress),\nthe feeds that you upload must have unique names that specify the feed type\nand count. A timestamp for feed generation satisfies the unique requirement of\nyour feed file naming.\n\n**Structure** : `{feed_name}_{timestamp_epoch}_{shard_nunber}_{total_shard}.json`\n\n**Example** : `availability_feed_1574117613_001_of_002.json.gz`\n\n### Define IDs\n\nWhen you define IDs for your merchants or other attributes that require\nan ID, we strongly recommend to use UID or UUIDs. You can provide your own\nalphanumeric solution as long as IDs remain distinct across your platform.\n| **Note:** Never use Uniform Resource Identifiers (URIs) as IDs.\n\n### Metadata\n\nWhen you create feeds, the `generation_timestamp` must reflect the time when the\ndata was pulled from the database. Reuse of this value across feeds can lead\nto processing errors.\n\nNonce values, random or non-repeating numbers, must be unique across feed types\nand can't be reused. The value must match for all files in\nthe specific sharded feed.\n\nFeed file size\n--------------\n\n### Sharding feed files\n\nBased on your inventory, sharding or breaking up feeds into multiple files might\nbe necessary. Your feeds might need sharding in the following conditions:\n\n- Compressed gzip feed exceeds 200 MB for one file.\n - **Example**: generated Availability Feed is 1 GB. This must be sharded to five or more separate shards.\n- Partner inventory is distributed across systems or regions which results in difficulty reconciling the inventory.\n - **Example** : partner has US and EU inventory that live in separate systems. The feed might be generated with two shards. One for the US and one for the EU with the same nonce and `generation_timestamp`.\n\nFor more information, see\n[Shard feed files tutorials and best practices](/actions-center/verticals/reservations/e2e/reference/tutorials/sharding).\n\nA feed can constitute multiple files called **shards**. To determine the size of\nthe feeds, use the following guidelines:\n\n- Suggested feed sharding:\n - **Merchant Feed**: one shard.\n - **Services Feed**: one shard.\n - **Availability Feed** : less than 20 shards. If you have a business justification that requires more than specified amount, [contact support](https://actionscenter.google.com/support/cases) for further instruction.\n- Size of feed files and sharding:\n - Keep shard file size less than 200 MB after compression. Use multiple shards if needed.\n - Individual records sent in one shard don't need to be sent in the same shard in future feeds.\n - For better performance, split data evenly among the shards to make all the shard files similar in size.\n - If necessary, use gzip to compress plain text JSON feeds for each individual feed shard.\n\n### Compress feed files\n\nAny JSON or PB3 file can be compressed with gzip before you upload. This can\nsignificantly reduce the byte size of daily feeds.\n\nEach shard file must be gzip'd and uploaded individually such as gzip\\*.json.\nCompressed feed shards must end in .json.gz or .pb3.gz.\n\nUpload the feeds to your SFTP dropbox\n-------------------------------------\n\nAfter you generate the\n[Merchant](/actions-center/verticals/reservations/e2e/integration-steps/feeds/merchants-feed),\n[Service](/actions-center/verticals/reservations/e2e/integration-steps/feeds/services-feed),\nand [Availability](/actions-center/verticals/reservations/e2e/integration-steps/feeds/availability-feed)\nFeeds, you can upload your feeds to the Sandbox or Production environment\nthrough the SFTP dropbox. The SFTP dropbox is configured when you provide your\n[SSH key in Setup](/actions-center/verticals/reservations/e2e/integration-steps/setup/public-ssh-key).\nThe Google SFTP server is available at `sftp://partnerupload.google.com` on port\n19321.\n\nGoogle reviews and validates feeds files as soon as they are uploaded to the\nSFTP dropbox. If the feed is sharded across multiple files, they are processed\nafter you upload the last file. If your feed contains errors, an email is sent\nto you with the [feed error codes](/actions-center/verticals/reservations/e2e/reference/feeds/feed-errors).\nErrors prevent defined merchants, services, or availability from being\ningested. After the feeds are validated, it can take up to 24 hours until the\nfeeds appear on the frontend.\n| **Warning:** Upload your feeds to the Production dropboxes only after Google tests and confirms your feeds in the Sandbox environment. To access the Sandbox environment, set the [environment switcher](/actions-center/verticals/reservations/e2e/partner-portal/overview/environment-switcher) at the top of your Actions Center window to Sandbox."]]