Manage Skills in Alexa Smart Properties for Hospitality


The following sections contain information about managing, enabling, and disabling skills for Alexa Smart Properties for hospitality.

Get the skill ID for a property skill

After your skill is certified, your administrator users will need the skill ID to enable or disable it.

To get the skill ID for your property skill

  1. Open your skill in the developer console.
  2. Find the skill in the list and click View Skill ID below the skill name. Copy the ID from the popup.

Enable or disable skills for a unit

You can use the Skill Management API to enable or disable skills for a property's units. You can enable skills that are published in the Alexa Skills Store. In addition, you can use the Alexa Skills Kit to create and publish property-specific skills.

To enable a skill for a unit, call the enable a skill API.

To enable a skill for multiple units, call the enable a skill for multiple units API.

To disable a skill for a unit, call the disable a skill API.

After you've enabled a skill in a unit, your property's end users can use it on endpoints installed in the unit.

Use account linking and partitions in skill enablements

A skill enablement is a record that a skill is enabled for a unit. When you enable a skill, you can link a skill provider account to the skill for that enablement. For example, suppose a unit has smart light bulbs, and you (as a smart home skill provider) have a smart home skill that controls them. When you enable your skill for the unit, you can link your skill provider account to the skill in the API call. .

How to use delegated account linking

Delegated account linking creates an association between your skill provider account and your Amazon Business account. After you set it up, your account credentials are delegated to the skill enablement API calls you make for your skill, so that you don't need to provide account details in each call.

To set up delegated account linking

  1. Log in to the Alexa Skills Store using your Amazon Business credentials. These credentials must be the same ones you used to register with Alexa Smart Properties for hospitality as a skill provider.

  2. In the Alexa Skills Store, search for your skill and enable it for your Amazon Business account. This links your skill provider account to the skill.
  3. In your app, enable a skill for a unit. You skill provider account is automatically linked to the skill enablement.

How to use partitions to limit the scope of a smart home skill

By using partitions, you can limit the scope of a smart home skill in a unit to just the smart devices installed in that unit. A partition is a logical grouping of Alexa resources, such as devices, endpoints, or skills. Alexa Smart Properties for hospitality, partitions often represent units or groups of units.

The partition name is a string containing a single partition name or a comma-separated list of partition names. A partition name is a single nonempty string that can contain alphanumeric characters and hyphens but not whitespace.

For example, "Room-101" and "Room101, Room202" are valid partition names. The following aren't valid values: "" (empty list), "Room101, ,Room202" (not properly comma-separated), "Room 101" (contains whitespace).

For example, suppose a property has five rooms: Room101, Room102, Room103, Room104, and Room105. To enable a smart home skill that supports partition in Room101, when enabling the skill for Room101, you should specify the partition as follows.

{
   "persistentUnitId": "amzn1.alexa.unit.[unique-value-here]",
   "stage": "live",
   "partitionName": "Room101",
}

For Alexa skills that support partitions, you can include the partitionName parameter in the skill enablement API call to specify which partitions in a property the skill is being enabled for. Using the partitionName field allows you to partition your property into individual units, so that the skill can operate within the scope of that partition.

Specifying the same partitionName in the skill enablement in a unit and in the smart home skill service for Alexa devices installed in that unit ensures that when the end user invokes a smart home skill from an Alexa device in this unit, the skill recognizes only the smart home devices in that unit. See the scope object documentation to understand how the partition appears in the payload.

To use partitions in skill enablements

  1. Set up delegated account linking to link your skill provider account with your Amazon Business account.
  2. Set up the smart devices for each unit using your skill provider service. In each call, pass the partition name for the unit.
  3. Enable your skill for each unit. In each call, pass the same partitionName for the unit that you used when you set up the unit's smart devices in your skill provider service.

Provide a unit-specific response to a skill request

Skill requests now include the unit ID associated with the endpoint that the end user is speaking to. Your skill can use the unit ID to provide a unit-specific response. For details, see the unit field of the System object in the Request and Response JSON Reference.

Use persistent endpoint IDs

To more easily identify the source of requests to your skill, you can enable persistent endpoint IDs. If your account is enabled and configured for this feature, requests to your skill contain the endpoint ID of the device that originated the skill request. This feature is tied to your developer account. That is, endpoint ID values stay the same if you access the IDs through the same developer account for which the feature is enabled.

To enable and use this feature, take the following steps.

To enable and use persistent endpoint IDs

  1. Ask your solutions architect on the Alexa team to add you to the allow list for this feature. Provide them your vendor ID (VID) and skill ID, which you can find by using the following methods:
  2. Enable Persistent Endpoint ID in the developer console as follows by using the following steps:
    1. Log in to the Alexa developer console and navigate to your skill.
    2. Select the Build tab.
    3. On the left, click TOOLS, and then click Permissions.
    4. Turn on Persistent Endpoint ID.
    5. Save the skill.
  3. When your skill receives a request, examine the persistentEndpointId field in the context.System.device object of the request. For details, see System Object.

Last updated: Jan 13, 2023