# Specify action links (Legacy)

> [!WARNING]
> **Warning:** This is a legacy tutorial and should only be used to maintain existing integrations. New integrations must used the [up-to-date tutorial](https://developers.google.com/actions-center/verticals?vertical_redirect_fragment=guides/tutorials/tutorial-specifying-action-links).

<br />

> [!NOTE]
> **Note:** This guide only applies to partners who are integrating with the Actions Center Legacy Starter integration.

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](https://developers.google.com/actions-center/verticals?vertical_redirect_fragment=reference/feed-specifications/merchants-feed) - Implement action links via the merchant feeds, when a single merchant has multiple services performing a similar action.
- [Services feed](https://developers.google.com/actions-center/verticals?vertical_redirect_fragment=reference/feed-specifications/services-feed) - Implement action links via the services feeds, when a single merchant has multiple services performing different actions.

## Merchant level action links

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.

> [!NOTE]
> **Note:** Currently, only one action link is displayed for a single merchant on the merchant knowledge panel for a particular [`ActionLinkType`](https://developers.google.com/actions-center/verticals?vertical_redirect_fragment=reference/feed-specifications/merchants-feed#ActionLink-definition) (e.g.: food ordering or making a dining reservation, making an appointment for in-person or online). Therefore, only deeplinks listing all services can be surfaced.

The type of action must be specified using the `ActionLinkType` which is part of
[`ActionLink`](https://developers.google.com/actions-center/verticals?vertical_redirect_fragment=reference/feed-specifications/merchants-feed#ActionLink-definition)
in the merchants feed.

```protobuf
  // 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;
  }
```

## Services level action links

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.

> [!NOTE]
> **Note:** Specifying `ServiceType` or `ActionLinkType` is mandatory for starter integration.

```protobuf
  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;
  }
```

> [!NOTE]
> **Note:** We do not recommend using `SERVICE_TYPE_UNSPECIFIED` or `ACTION_LINK_TYPE_UNSPECIFIED` for any of your actions links.

## Using OrderOnlineMetadata

> [!NOTE]
> **Note:** OrderOnlineMetadata should only be included by partners who participate in Retail Ordering actions. Please do not include this information in your feeds unless you have been instructed to do so by your Actions Center contact.

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:

- [Retail Ordering Feed samples](https://developers.google.com/actions-center/verticals/shopping/samples/starter-feed-samples/shopping-with-metadata) that include this metadata
- A tutorial on [adding and updating availability metadata](https://developers.google.com/actions-center/verticals/shopping/guides/tutorials/tutorial-adding-shopping-availability)
- [OrderOnlineMetadata](https://developers.google.com/actions-center/verticals?vertical_redirect_fragment=reference/feed-specifications/merchants-feed#orderonlinemetadata_definition) Reference definition for