To provision a new Hotel Key, the user must complete an authentication and association flow on their device. This links their external user account to a Google Wallet account. This document describes that process at a high level across different surfaces.
Add to Google Wallet from an Android app
In this section, we describe the flow to save a card to Google Wallet from a Service Provider's Android app.
User flow
These figures illustrate the user flow to provision a Hotel Key from a Google Wallet perspective.
![In first screen, the app connects to Google Wallet. In
the second screen, the user accepts the Terms of Service and continues.](https://developers.google.cn/static/wallet/access/images/hotel-provision-flow-user-1.png?authuser=5)
- A spinning connection animation is shown to the user while network connectivity and initial services configure.
- After this completes, the user accepts the Terms of Service and continues with the flow.
![In the first screen, the app saves the ID to the user's phone. In
the second screen, the ID is saved and a success message appears.](https://developers.google.cn/static/wallet/access/images/hotel-provision-flow-user-2.png?authuser=5)
- A spinning save animation is shown to the user while background services provision the account on the device.
- After the services complete, a success screen appears.
- The user might be prompted in subsequent screens to download the Google Wallet app, if it doesn't already exist on their device.
Key points
- Google only supports an account linking from Android applications. If you need to support other use cases, check with your Google contact.
- If the card is already saved to the selected Google Account, the user is instead shown a link to open the card in the Google Wallet app, where they can view card details.
- If the card is saved to a Google Account other than the one the user is logged into, the user receives a message that indicates another Google Account has already saved that card.
- If the user attempts to add a card and doesn't have a Google Account, a prompt to create an account appears. After creation of the Google Account, the flow continues normally.
- Apps that support Hotel Key flows need to integrate with Google Play services APIs. However, the method calls from the Service Provider app to Google Play services aren't available in the publicly distributed version of Google Play services. The Service Provider app developer must add and get access to custom modules to call certain methods. Check with your Service Provider for more information.
Add to Google Wallet on a Wearable from an Android app
Users can provision to their Wearables by initiating the provisioning flow on their phone and selecting a single Wearable, as seen in this figure:
![UX mock up of a wear-enabled provisioning flow.](https://developers.google.cn/static/wallet/access/images/wear-provisioning-flow.png?authuser=5)
Key points
- Provisioning to a Wearable requires a phone capable of provisioning a card.
- Users can provision to their phone and Wearable in a single flow, or they can restart the flow to add it to a Wearable after the first provisioning to their phone is complete.
- Users should be limited by the Service Provider to provisioning only a single Wearable.
- Inquire with your Service Provider about the availability of Wearable provisioning.
- Apps that support Hotel Key flows need to integrate with Google Play services APIs. However, the method calls from the Service Provider app to Google Play services aren't available in the publicly distributed version of Google Play services. The Service Provider app developer must add and get access to custom modules to call certain methods. Check with your Service Provider for more information.
Add to Google Wallet from a Website
This section describes the flow to save a card to Google Wallet from an issuer's website.
Step 1: Sign in to Website
The first step in the flow is to sign in to the issuer's website and select the Add to Google Wallet button.
![In the first screen, the user logs in to the website. In
the second screen, the user views and selects the Add to Google Wallet
button.](https://developers.google.cn/static/wallet/access/images/web-provisioning-hotel-key-1.png?authuser=5)
Step 2: Sign in with Google
The user completes Sign in with Google and then sees a loading screen on the issuer's website before being redirected to Google Wallet in the next step.
![In the first screen, the user chooses a Google Account to link to
their Hotel Key. In the second screen, the user is shown a
loading screen.](https://developers.google.cn/static/wallet/access/images/web-provisioning-google-sign-in.png?authuser=5)
Step 3: Complete Provisioning
The user completes the provisioning flow within Google Wallet.
![In the first screen, the user is shown a loading screen within
Google Wallet. In the second screen, the user is shown terms
and conditions. In the third screen, the user is shown another loading
screen. In the fourth screen, the user is shown the success screen.](https://developers.google.cn/static/wallet/access/images/web-provisioning-wallet-completion.png?authuser=5)
Account Mismatch Handling
If the Google Account chosen in the Sign in with Google flow does not match their Google Account in Google Wallet, an account mismatch error screen is shown.
![In the second screen, the user is shown the Google Account picker. In
the last screen, the user is shown a 'Can't add to phone' message.](https://developers.google.cn/static/wallet/access/images/web-provisioning-account-mismatch.png?authuser=5)