CINXE.COM

Overview  |  Closed loop transit  |  Google for Developers

<!doctype html> <html lang="en" dir="ltr"> <head> <meta name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award"> <meta property="og:site_name" content="Google for Developers"> <meta property="og:type" content="website"><meta name="theme-color" content="#1a73e8"><meta charset="utf-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="/_pwa/developers/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//www.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.googleapis.com" crossorigin> <link rel="preconnect" href="//apis.google.com" crossorigin> <link rel="preconnect" href="//www.google-analytics.com" crossorigin><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"> <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Material+Icons&family=Material+Symbols+Outlined&display=block"><link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/favicon-new.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/touchicon-180-new.png"><link rel="canonical" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview"><link rel="search" type="application/opensearchdescription+xml" title="Google for Developers" href="https://developers.google.com/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview" /><link rel="alternate" hreflang="x-default" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview" /><link rel="alternate" hreflang="ar" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=ar" /><link rel="alternate" hreflang="bn" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=fa" /><link rel="alternate" hreflang="fr" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=fr" /><link rel="alternate" hreflang="de" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=de" /><link rel="alternate" hreflang="he" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=he" /><link rel="alternate" hreflang="hi" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=hi" /><link rel="alternate" hreflang="id" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=id" /><link rel="alternate" hreflang="it" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=it" /><link rel="alternate" hreflang="ja" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=ja" /><link rel="alternate" hreflang="ko" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=ko" /><link rel="alternate" hreflang="pl" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=pt-br" /><link rel="alternate" hreflang="ru" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=ru" /><link rel="alternate" hreflang="es-419" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=es-419" /><link rel="alternate" hreflang="th" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=th" /><link rel="alternate" hreflang="tr" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=tr" /><link rel="alternate" hreflang="vi" href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview?hl=vi" /><title>Overview &nbsp;|&nbsp; Closed loop transit &nbsp;|&nbsp; Google for Developers</title> <meta property="og:title" content="Overview &nbsp;|&nbsp; Closed loop transit &nbsp;|&nbsp; Google for Developers"><meta name="description" content="Enable closed loop payment methods for transit agencies."> <meta property="og:description" content="Enable closed loop payment methods for transit agencies."><meta property="og:url" content="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview"><meta property="og:image" content="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/opengraph/google-blue.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="675"><meta property="og:locale" content="en"><meta name="twitter:card" content="summary_large_image"><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Overview" } </script><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Google Wallet", "item": "https://developers.google.com/wallet" },{ "@type": "ListItem", "position": 2, "name": "Closed loop transit", "item": "https://developers.google.com/wallet/tickets/closed-loop/get-started/overview" }] } </script> <!-- Define name of title that you must set in the files that use this template --> <link rel="stylesheet" href="/extras.css"></head> <body class="" template="page" theme="google-blue" type="article" layout="docs" concierge='closed' display-toc pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <section class="devsite-wrapper"> <devsite-cookie-notification-bar></devsite-cookie-notification-bar><devsite-header role="banner"> <div class="devsite-header--inner nocontent"> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"> <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"> <a href="https://developers.google.com/wallet"> <div class="devsite-product-logo-container" size="medium" > <picture> <img class="devsite-product-logo" alt="Google Wallet" src="https://developers.google.com/static/wallet/images/wallet-icon.png" srcset="https://developers.google.com/static/wallet/images/wallet-icon_36.png 36w, https://developers.google.com/static/wallet/images/wallet-icon_48.png 48w, https://developers.google.com/static/wallet/images/wallet-icon_72.png 72w, https://developers.google.com/static/wallet/images/wallet-icon_96.png 96w, https://developers.google.com/static/wallet/images/wallet-icon_480.png 480w, https://developers.google.com/static/wallet/images/wallet-icon_720.png 720w, https://developers.google.com/static/wallet/images/wallet-icon_856.png 856w, https://developers.google.com/static/wallet/images/wallet-icon_960.png 960w, https://developers.google.com/static/wallet/images/wallet-icon_1440.png 1440w, https://developers.google.com/static/wallet/images/wallet-icon_1920.png 1920w, https://developers.google.com/static/wallet/images/wallet-icon_2880.png 2880w" sizes="64px" loading="lazy" > </picture> </div> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> <a href="https://developers.google.com/wallet" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Google Wallet" > <svg class="devsite-google-wordmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 148 48"> <title>Google</title> <path class="devsite-google-wordmark-svg-path" d="M19.58,37.65c-9.87,0-18.17-8.04-18.17-17.91c0-9.87,8.3-17.91,18.17-17.91c5.46,0,9.35,2.14,12.27,4.94l-3.45,3.45c-2.1-1.97-4.93-3.49-8.82-3.49c-7.21,0-12.84,5.81-12.84,13.02c0,7.21,5.64,13.02,12.84,13.02c4.67,0,7.34-1.88,9.04-3.58c1.4-1.4,2.32-3.41,2.66-6.16H19.58v-4.89h16.47c0.18,0.87,0.26,1.92,0.26,3.06c0,3.67-1.01,8.21-4.24,11.44C28.93,35.9,24.91,37.65,19.58,37.65z M61.78,26.12c0,6.64-5.1,11.53-11.36,11.53s-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53S61.78,19.43,61.78,26.12z M56.8,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C53.84,33.11,56.8,30.22,56.8,26.12z M87.25,26.12c0,6.64-5.1,11.53-11.36,11.53c-6.26,0-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53C82.15,14.59,87.25,19.43,87.25,26.12zM82.28,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C79.32,33.11,82.28,30.22,82.28,26.12z M112.09,15.29v20.7c0,8.52-5.02,12.01-10.96,12.01c-5.59,0-8.95-3.76-10.22-6.81l4.41-1.83c0.79,1.88,2.71,4.1,5.81,4.1c3.8,0,6.16-2.36,6.16-6.77v-1.66h-0.18c-1.14,1.4-3.32,2.62-6.07,2.62c-5.76,0-11.05-5.02-11.05-11.49c0-6.51,5.28-11.57,11.05-11.57c2.75,0,4.93,1.22,6.07,2.58h0.18v-1.88H112.09z M107.64,26.16c0-4.06-2.71-7.03-6.16-7.03c-3.49,0-6.42,2.97-6.42,7.03c0,4.02,2.93,6.94,6.42,6.94C104.93,33.11,107.64,30.18,107.64,26.16z M120.97,3.06v33.89h-5.07V3.06H120.97z M140.89,29.92l3.93,2.62c-1.27,1.88-4.32,5.11-9.61,5.11c-6.55,0-11.28-5.07-11.28-11.53c0-6.86,4.77-11.53,10.71-11.53c5.98,0,8.91,4.76,9.87,7.34l0.52,1.31l-15.42,6.38c1.18,2.31,3.01,3.49,5.59,3.49C137.79,33.11,139.58,31.84,140.89,29.92zM128.79,25.77l10.31-4.28c-0.57-1.44-2.27-2.45-4.28-2.45C132.24,19.04,128.66,21.31,128.79,25.77z"/> </svg>Wallet </a> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> <devsite-tabs class="upper-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Upper tabs"> <tab class="devsite-dropdown devsite-dropdown-full devsite-active "> <a href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview" track-metadata-eventdetail="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - documentation" track-metadata-module="primary nav" aria-label="Documentation, selected" data-category="Site-Wide Custom Events" data-label="Tab: Documentation" track-name="documentation" > Documentation </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Documentation" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview" track-metadata-position="nav - documentation" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Documentation" track-name="documentation" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Access</li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/access" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/access" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="access" tooltip data-category="wallet" data-label="/wallet/access" data-action="upper-tab-dropdown-click" > <div class="devsite-nav-item-title"> Overview </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/access/digital-car-key/overview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/access/digital-car-key/overview" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="access" tooltip data-label="/wallet/access/digital-car-key/overview" data-category="wallet" data-action="upper-tab-dropdown-click" > <div class="devsite-nav-item-title"> Digital Car Keys </div> <div class="devsite-nav-item-description"> Lock, unlock, and start your car from an Android-powered device </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/access/campus-id/get-started/overview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/access/campus-id/get-started/overview" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="access" tooltip data-category="wallet" data-label="/wallet/access/campus-id/get-started/overview" data-action="upper-tab-dropdown-click" > <div class="devsite-nav-item-title"> Campus IDs </div> <div class="devsite-nav-item-description"> Identify users, grant building access, and enable payment </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/access/corporate-badge/get-started/overview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/access/corporate-badge/get-started/overview" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="access" tooltip data-category="wallet" data-action="upper-tab-dropdown-click" data-label="/wallet/access/corporate-badge/get-started/overview" > <div class="devsite-nav-item-title"> Corporate Badges </div> <div class="devsite-nav-item-description"> Identify employees and grant them access to workplace resources </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/access/hotel-key/get-started/overview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/access/hotel-key/get-started/overview" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="access" tooltip data-action="upper-tab-dropdown-click" data-category="wallet" data-label="/wallet/access/hotel-key/get-started/overview" > <div class="devsite-nav-item-title"> Hotel Keys </div> <div class="devsite-nav-item-description"> Enable digital hotel key experiences for guests </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Health</li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/health" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/health" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="health" tooltip data-label="/wallet/health" data-category="wallet" data-action="upper-tab-dropdown-click" > <div class="devsite-nav-item-title"> Overview </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/generic-private-pass" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/generic-private-pass" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="health" tooltip data-label="/wallet/health/vaccine-cards" data-category="wallet" data-action="upper-tab-dropdown-click" > <div class="devsite-nav-item-title"> Health Insurance Cards </div> <div class="devsite-nav-item-description"> Users can store a digital copy of their health insurance card in Google Wallet on their Android-powered device </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/health/test-records" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/health/test-records" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="health" tooltip data-label="/wallet/health/test-records" data-category="wallet" data-action="upper-tab-dropdown-click" > <div class="devsite-nav-item-title"> Test Records </div> <div class="devsite-nav-item-description"> Securely store and display COVID-19 testing records </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/health/vaccine-cards" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/health/vaccine-cards" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="health" tooltip data-category="wallet" data-label="/wallet/health/vaccine-cards" data-action="upper-tab-dropdown-click" > <div class="devsite-nav-item-title"> COVID Cards </div> <div class="devsite-nav-item-description"> Securely store and display COVID-19 vaccination records </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Identity</li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/identity" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/identity" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="identity" tooltip data-category="wallet" data-action="upper-tab-dropdown-click" data-label="/wallet/identity" > <div class="devsite-nav-item-title"> Overview </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/identity" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/identity" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="identity" tooltip data-label="/wallet/identity/mobile-drivers-license/issuers" data-action="upper-tab-dropdown-click" data-category="wallet" > <div class="devsite-nav-item-title"> Verify with Google Wallet </div> <div class="devsite-nav-item-description"> Provision, manage, and present driver&#39;s licenses on Android-powered devices </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Retail</li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/retail" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/retail" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="retail" tooltip data-label="/wallet/retail" data-action="upper-tab-dropdown-click" data-category="wallet" > <div class="devsite-nav-item-title"> Overview </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/retail/gift-cards" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/retail/gift-cards" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="retail" tooltip data-category="wallet" data-action="upper-tab-dropdown-click" data-label="/wallet/retail/gift-cards" > <div class="devsite-nav-item-title"> Gift Cards </div> <div class="devsite-nav-item-description"> Add and redeem gift cards in-store and online </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/retail/loyalty-cards" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/retail/loyalty-cards" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="retail" tooltip data-label="/wallet/retail/loyalty-cards" data-category="wallet" data-action="upper-tab-dropdown-click" > <div class="devsite-nav-item-title"> Loyalty Cards </div> <div class="devsite-nav-item-description"> Access rewards and purchase history </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/retail/offers" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/retail/offers" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="retail" tooltip data-action="upper-tab-dropdown-click" data-label="/wallet/retail/offers" data-category="wallet" > <div class="devsite-nav-item-title"> Offers </div> <div class="devsite-nav-item-description"> Add offers from your web site or app </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/pay/issuers" track-type="nav" track-metadata-eventdetail="https://developers.google.com/pay/issuers" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="retail" tooltip data-category="wallet" data-action="upper-tab-dropdown-click" data-label="/pay/issuers" > <div class="devsite-nav-item-title"> In-store payments </div> <div class="devsite-nav-item-description"> Enable fast, simple checkout experiences </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Tickets and transit</li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/tickets" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/tickets" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="tickets and transit" tooltip data-category="wallet" data-action="upper-tab-dropdown-click" data-label="/wallet/tickets" > <div class="devsite-nav-item-title"> Overview </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/tickets/boarding-passes" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/tickets/boarding-passes" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="tickets and transit" tooltip data-action="upper-tab-dropdown-click" data-label="/wallet/tickets/boarding-passes" data-category="wallet" > <div class="devsite-nav-item-title"> Boarding Passes </div> <div class="devsite-nav-item-description"> Add boarding passes and receive real-time flight updates </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/tickets/events" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/tickets/events" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="tickets and transit" tooltip data-action="upper-tab-dropdown-click" data-category="wallet" data-label="/wallet/tickets/events" > <div class="devsite-nav-item-title"> Event Tickets </div> <div class="devsite-nav-item-description"> Enter venues using barcodes, QR codes, or NFC </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="tickets and transit" tooltip data-label="/wallet/tickets/closed-loop/get-started/overview" data-action="upper-tab-dropdown-click" data-category="wallet" > <div class="devsite-nav-item-title"> Closed Loop Transit Passes </div> <div class="devsite-nav-item-description"> Use virtual transit cards to travel and manage account balances </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/tickets/open-loop/get-started/overview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/tickets/open-loop/get-started/overview" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="tickets and transit" tooltip data-label="/wallet/tickets/open-loop/get-started/overview" data-category="wallet" data-action="upper-tab-dropdown-click" > <div class="devsite-nav-item-title"> Open Loop Transit Passes </div> <div class="devsite-nav-item-description"> Use credit and debit cards with rich transit receipts </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/tickets/transit-passes" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/tickets/transit-passes" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="tickets and transit" tooltip data-action="upper-tab-dropdown-click" data-category="wallet" data-label="/wallet/tickets/transit-passes" > <div class="devsite-nav-item-title"> Transit Passes </div> <div class="devsite-nav-item-description"> Replace paper tickets and reduce fraud </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Generic</li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/generic-overview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/generic-overview" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="generic" tooltip data-category="wallet" data-action="upper-tab-dropdown-click" data-label="/wallet/generic-overview" > <div class="devsite-nav-item-title"> Overview </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/generic" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/generic" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="generic" tooltip data-action="upper-tab-dropdown-click" data-label="/wallet/generic" data-category="wallet" > <div class="devsite-nav-item-title"> Generic pass </div> <div class="devsite-nav-item-description"> Create your own unique pass experiences in Google Wallet </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/generic-private-pass" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/generic-private-pass" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="generic" tooltip data-label="/wallet/generic-private-pass" data-action="upper-tab-dropdown-click" data-category="wallet" > <div class="devsite-nav-item-title"> Generic private pass </div> <div class="devsite-nav-item-description"> Create a generic private pass for more sensitive user data, such as health insurance cards </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Other Resources</li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/smart-tap" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/smart-tap" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="other resources" tooltip data-action="upper-tab-click" data-label="/wallet/smart-tap" data-category="wallet" > <div class="devsite-nav-item-title"> Smart Tap </div> <div class="devsite-nav-item-description"> Enable pass redemption via NFC tap </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/wallet/docs/release-notes" track-type="nav" track-metadata-eventdetail="https://developers.google.com/wallet/docs/release-notes" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="other resources" tooltip data-action="upper-tab-click" data-label="/wallet/docs/release-notes" data-category="wallet" > <div class="devsite-nav-item-title"> Release Notes </div> <div class="devsite-nav-item-description"> View Google Wallet release notes </div> </a> </li> </ul> </div> </div> </div> </tab> <tab > <a href="https://developers.googleblog.com/search/?query=wallet" track-metadata-eventdetail="https://developers.googleblog.com/search/?query=wallet" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - blog" track-metadata-module="primary nav" data-category="wallet" data-label="https://developers.googleblog.com/search/?query=wallet" track-name="blog" data-action="upper-tab-click" > Blog </a> </tab> <tab class="devsite-dropdown "> <span class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - community" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" > Community </span> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Community" track-type="nav" track-metadata-eventdetail="" track-metadata-position="nav - community" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://stackoverflow.com/questions/tagged/google-wallet" track-type="nav" track-metadata-eventdetail="https://stackoverflow.com/questions/tagged/google-wallet" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip data-label="https://stackoverflow.com/questions/tagged/google-wallet" data-action="upper-tab-dropdown-click" data-category="wallet" > <div class="devsite-nav-item-title"> StackOverflow </div> </a> </li> <li class="devsite-nav-item"> <a href="https://github.com/google-wallet" track-type="nav" track-metadata-eventdetail="https://github.com/google-wallet" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip data-category="wallet" data-label="https://github.com/google-wallet" data-action="upper-tab-dropdown-click" > <div class="devsite-nav-item-title"> GitHub </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.youtube.com/@GooglePay" track-type="nav" track-metadata-eventdetail="https://www.youtube.com/@GooglePay" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip data-label="https://www.youtube.com/@GooglePay" data-action="upper-tab-dropdown-click" data-category="wallet" > <div class="devsite-nav-item-title"> YouTube </div> </a> </li> <li class="devsite-nav-item"> <a href="https://twitter.com/googlepaydevs" track-type="nav" track-metadata-eventdetail="https://twitter.com/googlepaydevs" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip data-category="wallet" data-label="https://twitter.com/googlepaydevs" data-action="upper-tab-dropdown-click" > <div class="devsite-nav-item-title"> X (Twitter) </div> </a> </li> <li class="devsite-nav-item"> <a href="https://goo.gle/payments-dev-community" track-type="nav" track-metadata-eventdetail="https://goo.gle/payments-dev-community" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip data-action="upper-tab-dropdown-click" data-category="wallet" data-label="https://goo.gle/payments-dev-community" > <div class="devsite-nav-item-title"> Discord </div> </a> </li> </ul> </div> </div> </div> </tab> </nav> </devsite-tabs> </div> <devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="Closed loop transit" tenant-name="Google for Developers" project-scope="/wallet/tickets/closed-loop/get-started/overview" url-scoped="https://developers.google.com/s/results/wallet/tickets/closed-loop/get-started/overview" > <form class="devsite-search-form" action="https://developers.google.com/s/results" method="GET"> <div class="devsite-search-container"> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-expanded="false" aria-haspopup="listbox" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="combobox" type="text" value="" > <div class="devsite-search-image material-icons" aria-hidden="true"> </div> <div class="devsite-search-shortcut-icon-container" aria-hidden="true"> <kbd class="devsite-search-shortcut-icon">/</kbd> </div> </div> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> <devsite-user enable-profiles fp-auth id="devsite-user"> <span class="button devsite-top-button" aria-hidden="true" visually-hidden>Sign in</span> </devsite-user> </div> </div> </div> <div class="devsite-collapsible-section devsite-header-no-lower-tabs "> <div class="devsite-header-background"> <div class="devsite-product-id-row" > <div class="devsite-product-description-row"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Closed loop transit" > Closed loop transit </a> </li> </ul> </div> <div class="devsite-product-button-row"> <a href="https://goo.gle/wallet-console" class="button gc-analytics-event " data-category="wallet" data-label="go-to-console" data-action="upper-tab-button-click" >Go to console</a> </div> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars > <div class="devsite-book-nav-filter" > <span class="filter-list-icon material-icons" aria-hidden="true"></span> <input type="text" placeholder="Filter" aria-label="Type to filter" role="searchbox"> <span class="filter-clear-button hidden" data-title="Clear filter" aria-label="Clear filter" role="button" tabindex="0"></span> </div> <nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu"> <div class="devsite-mobile-header"> <button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation"> </button> <div class="devsite-product-name-wrapper"> <a href="https://developers.google.com/wallet"> <div class="devsite-product-logo-container" size="medium" > <picture> <img class="devsite-product-logo" alt="Google Wallet" src="https://developers.google.com/static/wallet/images/wallet-icon.png" srcset="https://developers.google.com/static/wallet/images/wallet-icon_36.png 36w, https://developers.google.com/static/wallet/images/wallet-icon_48.png 48w, https://developers.google.com/static/wallet/images/wallet-icon_72.png 72w, https://developers.google.com/static/wallet/images/wallet-icon_96.png 96w, https://developers.google.com/static/wallet/images/wallet-icon_480.png 480w, https://developers.google.com/static/wallet/images/wallet-icon_720.png 720w, https://developers.google.com/static/wallet/images/wallet-icon_856.png 856w, https://developers.google.com/static/wallet/images/wallet-icon_960.png 960w, https://developers.google.com/static/wallet/images/wallet-icon_1440.png 1440w, https://developers.google.com/static/wallet/images/wallet-icon_1920.png 1920w, https://developers.google.com/static/wallet/images/wallet-icon_2880.png 2880w" sizes="64px" loading="lazy" > </picture> </div> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> <a href="https://developers.google.com/wallet" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Google Wallet" > <svg class="devsite-google-wordmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 148 48"> <title>Google</title> <path class="devsite-google-wordmark-svg-path" d="M19.58,37.65c-9.87,0-18.17-8.04-18.17-17.91c0-9.87,8.3-17.91,18.17-17.91c5.46,0,9.35,2.14,12.27,4.94l-3.45,3.45c-2.1-1.97-4.93-3.49-8.82-3.49c-7.21,0-12.84,5.81-12.84,13.02c0,7.21,5.64,13.02,12.84,13.02c4.67,0,7.34-1.88,9.04-3.58c1.4-1.4,2.32-3.41,2.66-6.16H19.58v-4.89h16.47c0.18,0.87,0.26,1.92,0.26,3.06c0,3.67-1.01,8.21-4.24,11.44C28.93,35.9,24.91,37.65,19.58,37.65z M61.78,26.12c0,6.64-5.1,11.53-11.36,11.53s-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53S61.78,19.43,61.78,26.12z M56.8,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C53.84,33.11,56.8,30.22,56.8,26.12z M87.25,26.12c0,6.64-5.1,11.53-11.36,11.53c-6.26,0-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53C82.15,14.59,87.25,19.43,87.25,26.12zM82.28,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C79.32,33.11,82.28,30.22,82.28,26.12z M112.09,15.29v20.7c0,8.52-5.02,12.01-10.96,12.01c-5.59,0-8.95-3.76-10.22-6.81l4.41-1.83c0.79,1.88,2.71,4.1,5.81,4.1c3.8,0,6.16-2.36,6.16-6.77v-1.66h-0.18c-1.14,1.4-3.32,2.62-6.07,2.62c-5.76,0-11.05-5.02-11.05-11.49c0-6.51,5.28-11.57,11.05-11.57c2.75,0,4.93,1.22,6.07,2.58h0.18v-1.88H112.09z M107.64,26.16c0-4.06-2.71-7.03-6.16-7.03c-3.49,0-6.42,2.97-6.42,7.03c0,4.02,2.93,6.94,6.42,6.94C104.93,33.11,107.64,30.18,107.64,26.16z M120.97,3.06v33.89h-5.07V3.06H120.97z M140.89,29.92l3.93,2.62c-1.27,1.88-4.32,5.11-9.61,5.11c-6.55,0-11.28-5.07-11.28-11.53c0-6.86,4.77-11.53,10.71-11.53c5.98,0,8.91,4.76,9.87,7.34l0.52,1.31l-15.42,6.38c1.18,2.31,3.01,3.49,5.59,3.49C137.79,33.11,139.58,31.84,140.89,29.92zM128.79,25.77l10.31-4.28c-0.57-1.44-2.27-2.45-4.28-2.45C132.24,19.04,128.66,21.31,128.79,25.77z"/> </svg>Wallet </a> </li> </ul> </span> </div> </div> <div class="devsite-book-nav-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"> <a href="/wallet/tickets/closed-loop/get-started/overview" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Documentation" track-name="documentation" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Documentation" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Documentation </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Documentation" track-name="documentation" > <span class="devsite-nav-text" tooltip menu="Documentation"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Documentation"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="https://developers.googleblog.com/search/?query=wallet" class="devsite-nav-title gc-analytics-event " data-category="wallet" data-label="https://developers.googleblog.com/search/?query=wallet" track-name="blog" data-action="upper-tab-click" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Blog" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Blog </span> </a> </li> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" > <span class="devsite-nav-text" tooltip > Community </span> </span> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" > <span class="devsite-nav-text" tooltip menu="Community"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Community"> </span> </span> </li> </ul> </li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item"><a href="/wallet/tickets/closed-loop/get-started/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /wallet/tickets/closed-loop/get-started/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/wallet/tickets/closed-loop/get-started/overview" data-category="wallet"data-label="/wallet/tickets/closed-loop/get-started/overview"data-action="left-nav-click"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="/wallet/tickets/closed-loop/get-started/supported-ticket-types" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /wallet/tickets/closed-loop/get-started/supported-ticket-types" track-type="bookNav" track-name="click" track-metadata-eventdetail="/wallet/tickets/closed-loop/get-started/supported-ticket-types" data-category="wallet"data-label="/wallet/tickets/closed-loop/get-started/supported-ticket-types"data-action="left-nav-click"><span class="devsite-nav-text" tooltip>Supported ticket types</span></a></li> <li class="devsite-nav-item"><a href="/wallet/tickets/closed-loop/get-started/prerequisites" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /wallet/tickets/closed-loop/get-started/prerequisites" track-type="bookNav" track-name="click" track-metadata-eventdetail="/wallet/tickets/closed-loop/get-started/prerequisites" data-category="wallet"data-label="/wallet/tickets/closed-loop/get-started/prerequisites"data-action="left-nav-click"><span class="devsite-nav-text" tooltip>Prerequisites</span></a></li> <li class="devsite-nav-item"><a href="/wallet/tickets/closed-loop/get-started/terms-of-service" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /wallet/tickets/closed-loop/get-started/terms-of-service" track-type="bookNav" track-name="click" track-metadata-eventdetail="/wallet/tickets/closed-loop/get-started/terms-of-service" data-category="wallet"data-label="/wallet/tickets/closed-loop/get-started/terms-of-service"data-action="left-nav-click"><span class="devsite-nav-text" tooltip>Terms of Service guidelines</span></a></li> </ul> <ul class="devsite-nav-list" menu="Documentation" aria-label="Side menu" hidden> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Access </span> </span> </li> <li class="devsite-nav-item"> <a href="/wallet/access" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Overview </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/access/digital-car-key/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Digital Car Keys" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Digital Car Keys </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/access/campus-id/get-started/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Campus IDs" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Campus IDs </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/access/corporate-badge/get-started/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Corporate Badges" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Corporate Badges </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/access/hotel-key/get-started/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Hotel Keys" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Hotel Keys </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Health </span> </span> </li> <li class="devsite-nav-item"> <a href="/wallet/health" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Overview </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/generic-private-pass" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Health Insurance Cards" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Health Insurance Cards </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/health/test-records" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Test Records" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Test Records </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/health/vaccine-cards" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: COVID Cards" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > COVID Cards </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Identity </span> </span> </li> <li class="devsite-nav-item"> <a href="/wallet/identity" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Overview </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/identity" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Verify with Google Wallet" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Verify with Google Wallet </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Retail </span> </span> </li> <li class="devsite-nav-item"> <a href="/wallet/retail" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Overview </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/retail/gift-cards" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Gift Cards" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Gift Cards </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/retail/loyalty-cards" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Loyalty Cards" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Loyalty Cards </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/retail/offers" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Offers" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Offers </span> </a> </li> <li class="devsite-nav-item"> <a href="/pay/issuers" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: In-store payments" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > In-store payments </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Tickets and transit </span> </span> </li> <li class="devsite-nav-item"> <a href="/wallet/tickets" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Overview </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/tickets/boarding-passes" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Boarding Passes" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Boarding Passes </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/tickets/events" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Event Tickets" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Event Tickets </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/tickets/closed-loop/get-started/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Closed Loop Transit Passes" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Closed Loop Transit Passes </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/tickets/open-loop/get-started/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Open Loop Transit Passes" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Open Loop Transit Passes </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/tickets/transit-passes" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Transit Passes" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Transit Passes </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Generic </span> </span> </li> <li class="devsite-nav-item"> <a href="/wallet/generic-overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Overview </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/generic" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Generic pass" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Generic pass </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/generic-private-pass" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Generic private pass" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Generic private pass </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Other Resources </span> </span> </li> <li class="devsite-nav-item"> <a href="/wallet/smart-tap" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Smart Tap" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Smart Tap </span> </a> </li> <li class="devsite-nav-item"> <a href="/wallet/docs/release-notes" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Release Notes" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Release Notes </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Community" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="https://stackoverflow.com/questions/tagged/google-wallet" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: StackOverflow" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > StackOverflow </span> </a> </li> <li class="devsite-nav-item"> <a href="https://github.com/google-wallet" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: GitHub" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > GitHub </span> </a> </li> <li class="devsite-nav-item"> <a href="https://www.youtube.com/@GooglePay" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: YouTube" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > YouTube </span> </a> </li> <li class="devsite-nav-item"> <a href="https://twitter.com/googlepaydevs" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: X (Twitter)" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > X (Twitter) </span> </a> </li> <li class="devsite-nav-item"> <a href="https://goo.gle/payments-dev-community" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Discord" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Discord </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" has-book-nav > <devsite-content> <article class="devsite-article"> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="" > Home </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/products" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail="" > Products </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/wallet" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="3" track-type="globalNav" track-name="breadcrumb" track-metadata-position="3" track-metadata-eventdetail="Google Wallet" > Google Wallet </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/wallet/tickets/closed-loop/get-started/overview" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="4" track-type="globalNav" track-name="breadcrumb" track-metadata-position="4" track-metadata-eventdetail="Closed loop transit" > Closed loop transit </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <h1 class="devsite-page-title" tabindex="-1"> Overview </h1> <devsite-feature-tooltip ack-key="AckCollectionsBookmarkTooltipDismiss" analytics-category="Site-Wide Custom Events" analytics-action-show="Callout Profile displayed" analytics-action-close="Callout Profile dismissed" analytics-label="Create Collection Callout" class="devsite-page-bookmark-tooltip nocontent" dismiss-button="true" id="devsite-collections-dropdown" dismiss-button-text="Dismiss" close-button-text="Got it"> <devsite-bookmark></devsite-bookmark> <span slot="popout-heading"> Stay organized with collections </span> <span slot="popout-contents"> Save and categorize content based on your preferences. </span> </devsite-feature-tooltip> <div class="devsite-page-title-meta"><devsite-view-release-notes></devsite-view-release-notes></div> <devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded > </devsite-toc> <div class="devsite-article-body clearfix "> <!-- Define name of the body that you define in the files that use this template --> <figure class="attempt-right"> <img src="/static/wallet/tickets/closed-loop/images/closed-loop-tall.png" alt="" width=70%> </figure> <p>Google Wallet for Transit has two different solutions that are termed <i>closed loop</i>:</p> <ol> <li>The emulation of closed loop cards</li> <li>The ability to save and convey a token that represents a backend account</li> </ol> <p>In both cases, these transit cards can only be used within the transit agency's network.</p> <h2 id="closed-loop-emulation" data-text="Emulation of closed loop cards" tabindex="-1">Emulation of closed loop cards</h2> <p>Google Wallet for Transit enables the emulation of closed loop cards for public transit agencies with popular protocols such as MIFARE DESFire and MIFARE Plus, CMD2 (ITSO), and others. This solution acts the same way as a physical card, where the phone is the source of truth and the phone simply emulates the behavior of a typical closed loop plastic card.</p> <p>This lets Public Transit Operators (PTOs) issue virtual cards with the same protocols used by their existing fare validators. This is most suitable for agencies with complex fare rules on the gate terminals who don't plan to enable an account-based system.</p> <p>For more details, see <a href="/wallet/tickets/closed-loop/get-started/prerequisites">Prerequisites</a>.</p> <h2 id="account-based-cards" data-text="Account-based cards with tokens on the phone" tabindex="-1">Account-based cards with tokens on the phone</h2> <p>Google Wallet for Transit enables new account-based solutions, where the transit agency maintains a backend account for each user. In this case, the phone only holds an account identifier, and the source of truth is on the transit agency server. This is similar to a typical bank account model.</p> <p>Google Wallet supports EMVCo-based transit tokens, described here as a Private Label Card (PLC), and acts as the account identifier. This solution uses the same technology as open loop payments for the conveyance to the terminal, but the PLC is usable only within the network of the transit agency.</p> <p>Public Transit Operators (PTOs) who already support open loop payments can use the same EMVCo-based technology on their fare validators.</p> <p>For more details, see <a href="/wallet/tickets/closed-loop/get-started/prerequisites?protocol=private-label">Prerequisites</a>.</p> <h2 id="solution" data-text="Solution" tabindex="-1">Solution</h2> <p>Transit agencies that integrate with one of the preceding solutions can let users purchase and store a virtual transit card on their mobile device. These cards can have a prepaid balance, passes, or both. The cards show important information, such as available balance, and ticket details like expiry, validity of pass, recent transactions, or travel history.</p> <p>Users can also top-up their balance or purchase additional tickets directly through Google Wallet or through a transit agency's own app. There is minimal visual UI difference between a closed loop card and an account-based card.</p> <devsite-hats-survey class="nocontent" hats-id="9Q8rXGwp80txz2edqks0U5nfewzu" listnr-id="5165057"></devsite-hats-survey> </div> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <div class="devsite-floating-action-buttons"> </div> </article> <devsite-content-footer class="nocontent"> <p>Except as otherwise noted, the content of this page is licensed under the <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 License</a>, and code samples are licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a>. For details, see the <a href="https://developers.google.com/site-policies">Google Developers Site Policies</a>. Java is a registered trademark of Oracle and/or its affiliates.</p> <p>Last updated 2024-10-16 UTC.</p> </devsite-content-footer> <devsite-notification > </devsite-notification> <div class="devsite-content-data"> <template class="devsite-content-data-template"> [[["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 2024-10-16 UTC."],[],[]] </template> </div> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Connect</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//googledevelopers.blogspot.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Blog </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.instagram.com/googlefordevs/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Instagram </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.linkedin.com/showcase/googledevelopers/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > LinkedIn </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//twitter.com/googledevs" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > X (Twitter) </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//www.youtube.com/user/GoogleDevelopers" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > YouTube </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Programs</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//www.womentechmakers.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Women Techmakers </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/community/gdg" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Google Developer Groups </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/community/experts" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Google Developer Experts </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/community/accelerators" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Accelerators </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/community/gdsc" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > Google Developer Student Clubs </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Developer consoles</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//console.developers.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Google API Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.cloud.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Google Cloud Platform Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//play.google.com/apps/publish" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Google Play Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.firebase.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Firebase Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.actions.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > Actions on Google Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//cast.google.com/publish" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" > Cast SDK Developer Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//chrome.google.com/webstore/developer/dashboard" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" > Chrome Web Store Dashboard </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.home.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 8)" > Google Home Developer Console </a> </li> </ul> </li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-sites" aria-label="Other Google Developers websites"> <a href="https://developers.google.com/" class="devsite-footer-sites-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Developers Link"> <picture> <img class="devsite-footer-sites-logo" src="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/lockup-google-for-developers.svg" loading="lazy" alt="Google Developers"> </picture> </a> <ul class="devsite-footer-sites-list"> <li class="devsite-footer-sites-item"> <a href="//developer.android.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Android Link" > Android </a> </li> <li class="devsite-footer-sites-item"> <a href="//developer.chrome.com/home" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Chrome Link" > Chrome </a> </li> <li class="devsite-footer-sites-item"> <a href="//firebase.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Firebase Link" > Firebase </a> </li> <li class="devsite-footer-sites-item"> <a href="//cloud.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Cloud Platform Link" > Google Cloud Platform </a> </li> <li class="devsite-footer-sites-item"> <a href="//ai.google.dev/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google AI Link" > Google AI </a> </li> <li class="devsite-footer-sites-item"> <a href="/products" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer All products Link" > All products </a> </li> </ul> </nav> <nav class="devsite-footer-utility-links" aria-label="Utility links"> <ul class="devsite-footer-utility-list"> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="/terms/site-terms" data-category="Site-Wide Custom Events" data-label="Footer Terms link" > Terms </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link" > Privacy </a> </li> <li class="devsite-footer-utility-item glue-cookie-notification-bar-control"> <a class="devsite-footer-utility-link gc-analytics-event" href="#" data-category="Site-Wide Custom Events" data-label="Footer Manage cookies link" aria-hidden="true" > Manage cookies </a> </li> <li class="devsite-footer-utility-item devsite-footer-utility-button"> <span class="devsite-footer-utility-description">Sign up for the Google for Developers newsletter</span> <a class="devsite-footer-utility-link gc-analytics-event" href="/newsletter/subscribe" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link" > Subscribe </a> </li> </ul> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> </nav> </div> </devsite-footer-utility> <devsite-panel></devsite-panel> <devsite-concierge data-info-panel data-ai-panel data-api-explorer-panel > </devsite-concierge> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip ></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics> <script type="application/json" analytics>[{&#34;dimensions&#34;: {&#34;dimension6&#34;: &#34;en&#34;, &#34;dimension1&#34;: &#34;Signed out&#34;, &#34;dimension11&#34;: false, &#34;dimension3&#34;: false, &#34;dimension5&#34;: &#34;en&#34;, &#34;dimension4&#34;: &#34;Closed loop transit&#34;}, &#34;gaid&#34;: &#34;UA-24532603-1&#34;, &#34;metrics&#34;: {&#34;ratings_value&#34;: &#34;metric1&#34;, &#34;ratings_count&#34;: &#34;metric2&#34;}, &#34;purpose&#34;: 1}]</script> <script type="application/json" tag-management>{&#34;at&#34;: &#34;True&#34;, &#34;ga4&#34;: [{&#34;id&#34;: &#34;G-272J68FCRF&#34;, &#34;purpose&#34;: 1}], &#34;ga4p&#34;: [{&#34;id&#34;: &#34;G-272J68FCRF&#34;, &#34;purpose&#34;: 1}], &#34;gtm&#34;: [], &#34;parameters&#34;: {&#34;internalUser&#34;: &#34;False&#34;, &#34;language&#34;: {&#34;machineTranslated&#34;: &#34;False&#34;, &#34;requested&#34;: &#34;en&#34;, &#34;served&#34;: &#34;en&#34;}, &#34;pageType&#34;: &#34;article&#34;, &#34;projectName&#34;: &#34;Closed loop transit&#34;, &#34;signedIn&#34;: &#34;False&#34;, &#34;tenant&#34;: &#34;developers&#34;, &#34;recommendations&#34;: {&#34;sourcePage&#34;: &#34;&#34;, &#34;sourceType&#34;: 0, &#34;sourceRank&#34;: 0, &#34;sourceIdenticalDescriptions&#34;: 0, &#34;sourceTitleWords&#34;: 0, &#34;sourceDescriptionWords&#34;: 0, &#34;experiment&#34;: &#34;&#34;}, &#34;experiment&#34;: {&#34;ids&#34;: &#34;&#34;}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="SSsPzgkQCNtsHcvvYFLoqbJZi1m5uL"> (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; E.parentNode.insertBefore(t,E);})(window, document, 'script', 'https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/js/app_loader.js', '[1,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers","https://developers-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/developers/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/favicon-new.png","https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,112,113,116,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,147,148,149,151,152,156,157,158,159,161,163,164,168,169,170,179,180,182,183,186,191,193,196],"AIzaSyAP-jjEJBzmIyKR4F-3XITp8yM9T1gEEI8","AIzaSyB6xiKGDR5O3Ak2okS4rLkauxGUG7XP0hg","developers.google.com","AIzaSyAQk0fBONSGUqCNznf6Krs82Ap1-NV6J4o","AIzaSyCCxcqdrZ_7QMeLCRY20bh_SXdAYqy70KY",null,null,null,["Profiles__enable_complete_playlist_endpoint","Experiments__reqs_query_experiments","Profiles__enable_public_developer_profiles","MiscFeatureFlags__enable_view_transitions","EngEduTelemetry__enable_engedu_telemetry","Concierge__enable_concierge","TpcFeatures__enable_mirror_tenant_redirects","Search__enable_ai_search_summaries","CloudShell__cloud_code_overflow_menu","MiscFeatureFlags__emergency_css","Cloud__enable_cloudx_ping","Cloud__enable_cloud_dlp_service","Profiles__enable_dashboard_curated_recommendations","MiscFeatureFlags__enable_firebase_utm","Profiles__require_profile_eligibility_for_signin","TpcFeatures__enable_required_headers","Profiles__enable_page_saving","MiscFeatureFlags__enable_explain_this_code","Search__enable_ai_search_summaries_restricted","Profiles__enable_profile_collections","Profiles__enable_developer_profiles_callout","MiscFeatureFlags__enable_variable_operator","Significatio__enable_by_tenant","Cloud__enable_cloudx_experiment_ids","Concierge__enable_pushui","Search__enable_dynamic_content_confidential_banner","MiscFeatureFlags__developers_footer_dark_image","DevPro__enable_cloud_innovators_plus","BookNav__enable_tenant_cache_key","Search__enable_ai_eligibility_checks","Cloud__enable_free_trial_server_call","Cloud__enable_cloud_facet_chat","Profiles__enable_release_notes_notifications","Profiles__enable_completecodelab_endpoint","Cloud__enable_cloud_shell","Search__enable_suggestions_from_borg","MiscFeatureFlags__developers_footer_image","MiscFeatureFlags__enable_project_variables","Search__enable_page_map","CloudShell__cloud_shell_button","Cloud__enable_llm_concierge_chat","Profiles__enable_recognition_badges","Cloud__enable_legacy_calculator_redirect","Analytics__enable_clearcut_logging","Cloud__enable_cloud_shell_fte_user_flow","Concierge__enable_concierge_restricted","DevPro__enable_developer_subscriptions","Profiles__enable_awarding_url"],null,null,"AIzaSyBLEMok-5suZ67qRPzx0qUtbnLmyT_kCVE","https://developerscontentserving-pa.clients6.google.com","AIzaSyCM4QpTRSqP5qI4Dvjt4OAScIN8sOUlO-k","https://developerscontentsearch-pa.clients6.google.com",1,4,null,"https://developerprofiles-pa.clients6.google.com",[1,"developers","Google for Developers","developers.google.com",null,"developers-dot-devsite-v2-prod.appspot.com",null,null,[1,1,[1],null,null,null,null,null,null,null,null,[1],null,null,null,null,null,null,[1],[1,null,null,[1,20],"/recommendations/information"],null,null,null,[1,1,1],[1,1,null,1,1]],null,[null,null,null,null,null,null,"/images/lockup-new.svg","/images/touchicon-180-new.png",null,null,null,null,1,null,null,null,null,null,null,null,null,1,null,null,null,"/images/lockup-dark-theme-new.svg",[]],[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[6,1,14,15,20,22,23,29,32,36],null,[[null,null,null,[3,7,10,2,39,17,4,32,24,11,12,13,34,15,25],null,null,[1,[["docType","Choose a content type",[["Tutorial",null,null,null,null,null,null,null,null,"Tutorial"],["Guide",null,null,null,null,null,null,null,null,"Guide"],["Sample",null,null,null,null,null,null,null,null,"Sample"]]],["product","Choose a product",[["Android",null,null,null,null,null,null,null,null,"Android"],["ARCore",null,null,null,null,null,null,null,null,"ARCore"],["ChromeOS",null,null,null,null,null,null,null,null,"ChromeOS"],["Firebase",null,null,null,null,null,null,null,null,"Firebase"],["Flutter",null,null,null,null,null,null,null,null,"Flutter"],["Assistant",null,null,null,null,null,null,null,null,"Google Assistant"],["GoogleCloud",null,null,null,null,null,null,null,null,"Google Cloud"],["GoogleMapsPlatform",null,null,null,null,null,null,null,null,"Google Maps Platform"],["GooglePay",null,null,null,null,null,null,null,null,"Google Pay & Google Wallet"],["GooglePlay",null,null,null,null,null,null,null,null,"Google Play"],["Tensorflow",null,null,null,null,null,null,null,null,"TensorFlow"]]],["category","Choose a topic",[["AiAndMachineLearning",null,null,null,null,null,null,null,null,"AI and Machine Learning"],["Data",null,null,null,null,null,null,null,null,"Data"],["Enterprise",null,null,null,null,null,null,null,null,"Enterprise"],["Gaming",null,null,null,null,null,null,null,null,"Gaming"],["Mobile",null,null,null,null,null,null,null,null,"Mobile"],["Web",null,null,null,null,null,null,null,null,"Web"]]]]]],[1,1],null,1],[[["UA-24532603-1"],["UA-22084204-5"],null,null,["UA-24532603-5"],null,null,[["G-272J68FCRF"],null,null,[["G-272J68FCRF",2]]],[["UA-24532603-1",2]],null,[["UA-24532603-5",2]],null,1],[[4,3],[5,4],[13,10],[12,9],[16,13],[15,12],[6,5],[3,2],[1,1],[11,8],[14,11]],[[1,1],[2,2]]],null,4,null,null,null,null,null,null,null,null,null,null,null,null,null,"developers.devsite.google"],null,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m"]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10