// Information about an Action which could be performed.messageAction{// Deprecated fields not to be reused.reserved1;oneofaction_info{AppointmentInfoappointment_info=2;}}
AppointmentInfo Definition
messageAppointmentInfo{// Deep link for appointment action.stringurl=1;}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-27 UTC."],[[["\u003cp\u003eAction feeds are defined using protocol buffers but should be uploaded in JSON format for easier integration.\u003c/p\u003e\n"],["\u003cp\u003eEach action feed contains details about actions, like appointments, associated with specific entities.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eappointment_info\u003c/code\u003e field within an action provides a deep link (\u003ccode\u003eurl\u003c/code\u003e) to the appointment booking page.\u003c/p\u003e\n"],["\u003cp\u003eSample JSON feeds and descriptor files illustrate the structure and expected data format for action feeds.\u003c/p\u003e\n"]]],["The document defines an Action Feed structure, recommending JSON format despite the Protobuf definition. The `ActionFeed` contains multiple `ActionDetail`, each linked to an `entity_id`. `ActionDetail` includes a list of `Action`, which can have an `AppointmentInfo` containing a URL. A JSON sample demonstrates an `ActionFeed` with an appointment URL. A descriptor file example includes metadata such as generation timestamp, name, and the associated data file name.\n"],null,["Definitions **Note:** The Action feed spec is defined in protobuffer format below, however we recommend uploading the feeds in JSON format. You can reference our [JSON sample feeds](#samples) for more information.\n\nAction Feed \n\n message ActionFeed {\n repeated ActionDetail data = 1;\n }\n\nActionDetail Definition \n\n message ActionDetail {\n optional string entity_id = 2;\n repeated Action actions = 1;\n }\n\nAction Definition \n\n // Information about an Action which could be performed.\n\n message Action {\n // Deprecated fields not to be reused.\n reserved 1;\n oneof action_info {\n AppointmentInfo appointment_info = 2;\n }\n }\n\nAppointmentInfo Definition \n\n message AppointmentInfo {\n // Deep link for appointment action.\n string url = 1;\n }\n\nAction Feed samples \n\nAction Feed \n\n```scdoc\n{\n \"data\": [\n {\n \"actions\": [\n {\n \"appointment_info\": {\n \"url\": \"https://www.epapartnerwebsite.com/appointment/appointment-partner-1\"\n }\n }\n ],\n \"entity_id\": \"appointments-merchant-1\"\n }\n ]\n}\n```\n\nDescriptor File \n\n```scdoc\n{\n \"generation_timestamp\": 1677540395,\n \"name\": \"reservewithgoogle.action\",\n \"data_file\": [\n \"action_1677540395_0001.json\",\n \"action_1677540395_0002.json\"\n\n ]\n}\n```"]]