Specify action links (Legacy)

An action link provides the ability for users to interact with a deep link which links out to the partner's website to perform an action. Deep links are displayed on the merchant's knowledge panel. This guide will describe how to add action links to the feeds.

Action links can be provided in two places:

  • Merchant feed - Implement action links via the merchant feeds, when a single merchant has multiple services performing a similar action.
  • Services feed - Implement action links via the services feeds, when a single merchant has multiple services performing different actions.

You should provide an action link via the Merchant feeds when all services for a given merchant redirects the user to the same landing page on the partner's website.

This is usually the only meaningful implementation for dining as there is only one service per merchant.

An example is:

  • A merchant provides multiple services like yoga classes, boxing classes, cycling classes, haircut, hair coloring, shampoo. The action link redirects to a landing page displaying the entire service catalog for the merchant.

The type of action must be specified using the ActionLinkType which is part of ActionLink in the merchants feed.

  // Predetermined type of action associated with an action link.
  enum ActionLinkType {
    // The action link type is unspecified.
    ACTION_LINK_TYPE_UNSPECIFIED = 0;
    // The action link type is booking an appointment.
    ACTION_LINK_TYPE_BOOK_APPOINTMENT = 1;
    // The action link type is booking an online appointment.
    ACTION_LINK_TYPE_BOOK_ONLINE_APPOINTMENT = 2;
    // The action link type is ordering food for delivery or takeout or both.
    ACTION_LINK_TYPE_ORDER_FOOD = 3;
    // The action link type is ordering food for delivery.
    ACTION_LINK_TYPE_ORDER_FOOD_DELIVERY = 4;
    // The action link type is ordering food for takeout.
    ACTION_LINK_TYPE_ORDER_FOOD_TAKEOUT = 5;
    // The action link type is making a dining reservation.
    ACTION_LINK_TYPE_MAKE_DINING_RESERVATION = 6;
    // The action link type allows users to shop from the given merchant. It
    // could either be delivery or pickup.
    ACTION_LINK_TYPE_SHOP_ONLINE = 7;
  }

You should provide an action link via the Services feed when the merchant has different deep links per service or the merchant has multiple services performing different actions like food ordering and dining reservation.

An example is:

  • A restaurant provides dining reservation and food ordering. One action link redirects the user to the dining reservation page and another redirects the user to the food ordering page

The type of action can be specified using the ServiceType in the services and ActionLinkType which is part of ActionLink in the merchants feed.

  enum ServiceType {
    SERVICE_TYPE_UNSPECIFIED = 0;
    // Service that provides dining reservation.
    SERVICE_TYPE_DINING_RESERVATION = 1;
    // Service that provides food ordering in general, could be either takeout
    // or delivery or both.
    SERVICE_TYPE_FOOD_ORDERING = 2;
    // Service that only provides food delivery.
    SERVICE_TYPE_FOOD_DELIVERY = 6;
    // Service that only provides food takeout.
    SERVICE_TYPE_FOOD_TAKEOUT = 7;

    // Services that provide event based ticketing (e.g. concerts, sporting
    // events, shows). Do not use for Reserve with Google integrations.
    SERVICE_TYPE_EVENT_TICKET = 3;
    SERVICE_TYPE_TRIP_TOUR = 4;

    // Service that provides appointments or classes. Recommended for (1) health
    // and fitness, (2) spa and beauty, and (3) financial consults and
    // evaluations services. Please see the supported service types:
    // https://developers.google.com/maps-booking/guides/end-to-end-integration/overview
    SERVICE_TYPE_APPOINTMENT = 5;
    // Service that provides appointment for an online class or session which
    // will be fully virtual. Must be set if enabling virtual service bookings.
    SERVICE_TYPE_ONLINE_APPOINTMENT = 8;

    // Service that allows users to shop from the given merchant. It could
    // either be delivery or pickup.
    SERVICE_TYPE_SHOPPING = 9;
  }

Using OrderOnlineMetadata

The OrderOnlineMetadata is used to specify information to be displayed to the user about any fees, minimum order amounts, and availability for different online shopping fulfillment methods. When included, this metadata is included with the action link in the Merchant feed.

For additional information on how to properly include this information in your feeds if your integration requires it can be found in the following documentation: