CINXE.COM
Home - General Transit Feed Specification
<!-- Custom HTML site displayed as the Home chapter --> <!doctype html> <html lang="en" class="no-js"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <link rel="canonical" href="https://gtfs.org/"> <link rel="next" href="getting-started/what-is-GTFS/"> <link rel="alternate" href="/" hreflang="en"> <link rel="alternate" href="/fr/" hreflang="fr"> <link rel="alternate" href="/es/" hreflang="es"> <link rel="alternate" href="/ja/" hreflang="ja"> <link rel="alternate" href="/de/" hreflang="de"> <link rel="alternate" href="/pt/" hreflang="pt"> <link rel="alternate" href="/ru/" hreflang="ru"> <link rel="alternate" href="/id/" hreflang="id"> <link rel="alternate" href="/ko/" hreflang="ko"> <link rel="alternate" href="/zh/" hreflang="zh"> <link rel="alternate" href="/zh-TW/" hreflang="zh-TW"> <link rel="icon" href="assets/favicon.ico"> <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.46+insiders-4.53.14"> <title>Home - General Transit Feed Specification</title> <link rel="stylesheet" href="assets/stylesheets/main.d0dfab1c.min.css"> <link rel="stylesheet" href="assets/stylesheets/palette.ab4e12ef.min.css"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Mulish:300,300i,400,400i,700,700i%7CSF+Mono:400,400i,700,700i&display=fallback"> <style>:root{--md-text-font:"Mulish";--md-code-font:"SF Mono"}</style> <link rel="stylesheet" href="assets/stylesheets/extra.css"> <link rel="stylesheet" href="assets/stylesheets/footer.css"> <script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script> <script id="__analytics">function __md_analytics(){function e(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],e("js",new Date),e("config","G-DRBTC7SSDT"),document.addEventListener("DOMContentLoaded",(function(){document.forms.search&&document.forms.search.query.addEventListener("blur",(function(){this.value&&e("event","search",{search_term:this.value})}));document$.subscribe((function(){var t=document.forms.feedback;if(void 0!==t)for(var a of t.querySelectorAll("[type=submit]"))a.addEventListener("click",(function(a){a.preventDefault();var n=document.location.pathname,d=this.getAttribute("data-md-value");e("event","feedback",{page:n,data:d}),t.firstElementChild.disabled=!0;var r=t.querySelector(".md-feedback__note [data-md-value='"+d+"']");r&&(r.hidden=!1)})),t.hidden=!1})),location$.subscribe((function(t){e("config","G-DRBTC7SSDT",{page_path:t.pathname})}))}));var t=document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtag/js?id=G-DRBTC7SSDT",document.getElementById("__analytics").insertAdjacentElement("afterEnd",t)}</script> <script>if("undefined"!=typeof __md_analytics){var consent=__md_get("__consent");consent&&consent.analytics&&__md_analytics()}</script> </head> <body dir="ltr" data-md-color-scheme="gtfs" data-md-color-primary="custom" data-md-color-accent="custom"> <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> <label class="md-overlay" for="__drawer"></label> <div data-md-component="skip"> </div> <div data-md-component="announce"> </div> <header class="md-header" data-md-component="header"> <nav class="md-header__inner md-grid" aria-label="Header"> <a href="." title="General Transit Feed Specification" class="md-header__button md-logo" aria-label="General Transit Feed Specification" data-md-component="logo"> <img id="logo_light_mode" src="assets/logo.png" alt="logo"> <img id="logo_dark_mode" src="." alt="logo"> </a> <label class="md-header__button md-icon" for="__drawer"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class="md-header__title" data-md-component="header-title"> <div class="md-header__ellipsis"> <div class="md-header__topic"> <span class="md-ellipsis"> General Transit Feed Specification </span> </div> <div class="md-header__topic" data-md-component="header-topic"> <span class="md-ellipsis"> Home </span> </div> </div> </div> <form class="md-header__option" data-md-component="palette"> <input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="gtfs" data-md-color-primary="custom" data-md-color-accent="custom" aria-hidden="true" type="radio" name="__palette" id="__palette_0"> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <div class="md-header__option"> <div class="md-select"> <button class="md-header__button md-icon" aria-label="Select language"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"/></svg> </button> <div class="md-select__inner"> <ul class="md-select__list"> <li class="md-select__item"> <a href="/" hreflang="en" class="md-select__link"> English </a> </li> <li class="md-select__item"> <a href="/fr/" hreflang="fr" class="md-select__link"> Français </a> </li> <li class="md-select__item"> <a href="/es/" hreflang="es" class="md-select__link"> Español </a> </li> <li class="md-select__item"> <a href="/ja/" hreflang="ja" class="md-select__link"> 日本語 </a> </li> <li class="md-select__item"> <a href="/de/" hreflang="de" class="md-select__link"> Deutsch (wird bald verfügbar sein) </a> </li> <li class="md-select__item"> <a href="/pt/" hreflang="pt" class="md-select__link"> Português (em breve) </a> </li> <li class="md-select__item"> <a href="/ru/" hreflang="ru" class="md-select__link"> Русский (будет добавлен позже) </a> </li> <li class="md-select__item"> <a href="/id/" hreflang="id" class="md-select__link"> Bahasa Indonesia (akan segera hadir) </a> </li> <li class="md-select__item"> <a href="/ko/" hreflang="ko" class="md-select__link"> 한국어 (곧 제공 예정) </a> </li> <li class="md-select__item"> <a href="/zh/" hreflang="zh" class="md-select__link"> 中文 - 简体(即将推出) </a> </li> <li class="md-select__item"> <a href="/zh-TW/" hreflang="zh-TW" class="md-select__link"> 中文 - 繁體(即將推出) </a> </li> </ul> </div> </div> </div> <label class="md-header__button md-icon" for="__search"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class="md-search" data-md-component="search" role="dialog"> <label class="md-search__overlay" for="__search"></label> <div class="md-search__inner" role="search"> <form class="md-search__form" name="search"> <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required> <label class="md-search__icon md-icon" for="__search"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class="md-search__options" aria-label="Search"> <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class="md-search__suggest" data-md-component="search-suggest"></div> </form> <div class="md-search__output"> <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix> <div class="md-search-result" data-md-component="search-result"> <div class="md-search-result__meta"> Initializing search </div> <ol class="md-search-result__list" role="presentation"></ol> </div> </div> </div> </div> </div> <div class="md-header__source"> <a href="https://github.com/google/transit" title="Go to repository" class="md-source" data-md-component="source" target="_blank" rel="noopener"> <div class="md-source__icon md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class="md-source__repository"> GTFS Repository </div> </a> </div> </nav> </header> <div class="md-container" data-md-component="container"> <nav class="md-tabs" aria-label="Tabs" data-md-component="tabs"> <div class="md-grid"> <ul class="md-tabs__list"> <li class="md-tabs__item md-tabs__item--active"> <a href="." class="md-tabs__link"> Home </a> </li> <li class="md-tabs__item"> <a href="getting-started/what-is-GTFS/" class="md-tabs__link"> Getting started </a> </li> <li class="md-tabs__item"> <a href="documentation/overview/" class="md-tabs__link"> Technical Documentation </a> </li> <li class="md-tabs__item"> <a href="community/get-involved/" class="md-tabs__link"> Community </a> </li> <li class="md-tabs__item"> <a href="resources/overview/" class="md-tabs__link"> Resources </a> </li> <li class="md-tabs__item"> <a href="about/" class="md-tabs__link"> About </a> </li> <li class="md-tabs__item"> <a href="blog/" class="md-tabs__link"> Blog </a> </li> </ul> </div> </nav> <head> <link rel="stylesheet" href="./assets/landing/home.css"> <link rel="stylesheet" href="./assets/landing/spotlight.css"> <link rel="stylesheet" href="./assets/landing/socials.css"> <script src="./assets/landing/home.js"></script> <script src="./assets/javascript/redirections.js"></script> </head> <!-- Main site Entry button descriptions --> <section class="tx-container no-js"> <div class="hero-dark-gradient"></div> <div class="hero-content md-typeset"> <div class="tx-hero"> <div> <p class="hero-text"> GTFS is a community-driven open standard for rider-facing transit information. </p> <a href="getting_started/what_is_GTFS/" title="What is GTFS?" class="md-button md-button--primary" style="margin-right: 40px;"> Get Started </a> <a href="documentation/overview/" title="source.link.title" class="md-button md-button--primary"> Documentation </a> </div> </div> </div> </section> <section class="content-container"> <div class="content-inner"> <header class="md-typeset"> <h1>Why use GTFS?</h1> </header> <ul class="mdx-list md-typeset"> <li class="mdx-list-item fade-in"> <div class="icon-holder"> <svg width="84" height="84" viewBox="0 0 84 84" fill="none" xmlns="http://www.w3.org/2000/svg"> <circle cx="42" cy="42" r="42" fill="#FFFF00"/> <path d="M28.7842 37V23C28.7842 20.7909 30.575 19 32.7842 19H50.7842C52.9933 19 54.7842 20.7909 54.7842 23.0001C54.7842 28.0347 54.7842 32.9919 54.7842 37M28.7842 61.1667V61.1667C28.7842 63.2838 30.5004 65 32.6175 65H50.7842C52.9933 65 54.7842 63.2111 54.7842 61.002C54.7842 55.2033 54.7842 47.7069 54.7842 44" stroke="black" stroke-width="2"/> <circle cx="42" cy="59" r="3" fill="black"/> <rect x="22.2969" y="37" width="12.973" height="6" rx="3" stroke="black" stroke-width="2"/> <rect x="22.2969" y="55" width="12.973" height="6" rx="3" stroke="black" stroke-width="2"/> <rect x="21" y="43" width="15.5676" height="6" rx="3" stroke="black" stroke-width="2"/> <rect x="21" y="49" width="15.5676" height="6" rx="3" stroke="black" stroke-width="2"/> <rect x="52" y="37" width="7" height="7" rx="3.5" stroke="black" stroke-width="2"/> </svg> </div> <div class="text-content"> <h3>Improved Rider Experience</h3> <p class="mdx-list-item content"> GTFS empowers riders with accurate schedules, and real-time updates, leading to reduced wait times and informed travel decisions. </p> </div> </li> <li class="mdx-list-item fade-in"> <div class="icon-holder"> <svg width="84" height="84" viewBox="0 0 84 84" fill="none" xmlns="http://www.w3.org/2000/svg"> <circle cx="42" cy="42" r="42" fill="#FFFF00"/> <g clip-path="url(#clip0_138_764)"> <path d="M42.0005 64.9565C54.679 64.9565 64.957 54.6785 64.957 42C64.957 29.3214 54.679 19.0435 42.0005 19.0435C29.3219 19.0435 19.0439 29.3214 19.0439 42C19.0439 54.6785 29.3219 64.9565 42.0005 64.9565Z" stroke="#080808" stroke-width="2" stroke-miterlimit="10"/> <path d="M58.0175 25.5548C53.8853 28.7792 48.2297 30.7722 42.0001 30.7722C35.7706 30.7722 30.1253 28.7792 25.9932 25.5548" stroke="#080808" stroke-width="2" stroke-miterlimit="10"/> <path d="M25.9932 59.3739C30.1253 56.1495 35.781 54.1565 42.0106 54.1565C48.2401 54.1565 53.8853 56.1495 58.0175 59.3739" stroke="#080808" stroke-width="2" stroke-miterlimit="10"/> <path d="M42 19.0435V64.9565" stroke="#080808" stroke-width="2" stroke-miterlimit="10"/> <path d="M64.957 42H19.0439" stroke="#080808" stroke-width="2" stroke-miterlimit="10"/> <path d="M41.9795 18.96C49.7325 24.9078 54.5012 33.0365 54.5012 42C54.5012 50.9635 49.7325 59.0818 41.9795 65.04" stroke="#080808" stroke-width="2" stroke-miterlimit="10"/> <path d="M41.9788 65.04C34.2257 59.0922 29.457 50.9635 29.457 42C29.457 33.0365 34.2257 24.9183 41.9788 18.96" stroke="#080808" stroke-width="2" stroke-miterlimit="10"/> </g> <defs> <clipPath id="clip0_138_764"> <rect width="48" height="48" fill="white" transform="translate(18 18)"/> </clipPath> </defs> </svg> </div> <div class="text-content"> <h3>Global Reach & Seamless Trips</h3> <p class="mdx-list-item content"> Over 10,000 agencies in 100+ countries use GTFS, ensuring consistent data for multi-agency trips and simplifying travel across regions. </div> </li> <li class="mdx-list-item fade-in"> <div class="icon-holder"> <svg width="84" height="84" viewBox="0 0 84 84" fill="none" xmlns="http://www.w3.org/2000/svg"> <circle cx="42" cy="42" r="42" fill="#FFFF00"/> <path d="M41.0937 56.037H40.7928L40.5419 56.2031L29.0715 63.7923L30.5491 57.2576L30.8251 56.037H29.5737H22.0537C20.3969 56.037 19.0537 54.6939 19.0537 53.037V24C19.0537 22.3431 20.3969 21 22.0537 21H62.0537C63.7106 21 65.0537 22.3431 65.0537 24V53.037C65.0537 54.6939 63.7106 56.037 62.0537 56.037H41.0937Z" stroke="black" stroke-width="2"/> <path d="M30.1747 40.7162C31.5671 40.7162 32.696 39.5403 32.696 38.0898C32.696 36.6393 31.5671 35.4634 30.1747 35.4634C28.7822 35.4634 27.6533 36.6393 27.6533 38.0898C27.6533 39.5403 28.7822 40.7162 30.1747 40.7162Z" fill="black"/> <path d="M41.9588 40.7162C43.3513 40.7162 44.4802 39.5403 44.4802 38.0898C44.4802 36.6393 43.3513 35.4634 41.9588 35.4634C40.5663 35.4634 39.4375 36.6393 39.4375 38.0898C39.4375 39.5403 40.5663 40.7162 41.9588 40.7162Z" fill="black"/> <path d="M53.7381 40.7162C55.1306 40.7162 56.2595 39.5403 56.2595 38.0898C56.2595 36.6393 55.1306 35.4634 53.7381 35.4634C52.3456 35.4634 51.2168 36.6393 51.2168 38.0898C51.2168 39.5403 52.3456 40.7162 53.7381 40.7162Z" fill="black"/> <path d="M34.6613 47H32.5684L37.6898 29H39.7827L34.6613 47Z" fill="black"/> <path d="M46.4454 47H44.3525L49.474 29H51.5669L46.4454 47Z" fill="black"/> </svg> </div> <div class="text-content"> <h3>Simple and Easy to Use</h3> <p class="mdx-list-item content"> GTFS makes it easy for transit agencies by relying on a simple data structure, fostering collaboration and interoperability. </p> </div> </li> <li class="mdx-list-item fade-in"> <div class="icon-holder"> <svg width="84" height="84" viewBox="0 0 84 84" fill="none" xmlns="http://www.w3.org/2000/svg"> <circle cx="42" cy="42" r="42" fill="#FFFF00"/> <g clip-path="url(#clip0_138_769)"> <path d="M34.3134 30.475C37.4932 30.475 40.0711 27.8972 40.0711 24.7173C40.0711 21.5374 37.4932 18.9596 34.3134 18.9596C31.1335 18.9596 28.5557 21.5374 28.5557 24.7173C28.5557 27.8972 31.1335 30.475 34.3134 30.475Z" stroke="black" stroke-width="2" stroke-miterlimit="10"/> <path d="M28.7959 32.8261C30.1969 31.3771 32.1546 30.475 34.3137 30.475C38.536 30.475 41.9906 33.9297 41.9906 38.152" stroke="black" stroke-width="2" stroke-miterlimit="10"/> <path d="M49.6669 30.475C52.8468 30.475 55.4246 27.8972 55.4246 24.7173C55.4246 21.5374 52.8468 18.9596 49.6669 18.9596C46.487 18.9596 43.9092 21.5374 43.9092 24.7173C43.9092 27.8972 46.487 30.475 49.6669 30.475Z" stroke="black" stroke-width="2" stroke-miterlimit="10"/> <path d="M41.9902 38.152C41.9902 33.9297 45.4449 30.475 49.6672 30.475C51.8647 30.475 53.8511 31.4059 55.2521 32.9029" stroke="black" stroke-width="2" stroke-miterlimit="10"/> <path d="M41.9901 49.6865C45.17 49.6865 47.7478 47.1087 47.7478 43.9288C47.7478 40.749 45.17 38.1711 41.9901 38.1711C38.8102 38.1711 36.2324 40.749 36.2324 43.9288C36.2324 47.1087 38.8102 49.6865 41.9901 49.6865Z" stroke="black" stroke-width="2" stroke-miterlimit="10"/> <path d="M41.9906 49.6865C46.2321 49.6865 49.6675 53.1219 49.6675 57.3635V63.7641C49.6675 64.4742 49.0917 65.0404 48.3912 65.0404H35.5995C34.8894 65.0404 34.3232 64.4646 34.3232 63.7641V57.3635C34.3232 53.1219 37.7587 49.6865 42.0002 49.6865H41.9906Z" stroke="black" stroke-width="2" stroke-miterlimit="10"/> <path d="M26.6366 43.9192C29.8165 43.9192 32.3943 41.3414 32.3943 38.1615C32.3943 34.9816 29.8165 32.4038 26.6366 32.4038C23.4567 32.4038 20.8789 34.9816 20.8789 38.1615C20.8789 41.3414 23.4567 43.9192 26.6366 43.9192Z" stroke="black" stroke-width="2" stroke-miterlimit="10"/> <path d="M26.6369 43.9193C30.8784 43.9193 34.3138 47.3547 34.3138 51.5962V57.9968C34.3138 58.7069 33.738 59.2731 33.0375 59.2731H20.2363C19.5261 59.2731 18.96 58.6973 18.96 57.9968V51.5962C18.96 47.3547 22.3954 43.9193 26.6369 43.9193Z" stroke="black" stroke-width="2" stroke-miterlimit="10"/> <path d="M57.3446 43.9192C60.5245 43.9192 63.1023 41.3414 63.1023 38.1615C63.1023 34.9816 60.5245 32.4038 57.3446 32.4038C54.1647 32.4038 51.5869 34.9816 51.5869 38.1615C51.5869 41.3414 54.1647 43.9192 57.3446 43.9192Z" stroke="black" stroke-width="2" stroke-miterlimit="10"/> <path d="M57.3441 43.9193C61.5856 43.9193 65.021 47.3547 65.021 51.5962V57.9968C65.021 58.7069 64.4453 59.2731 63.7447 59.2731H50.953C50.2429 59.2731 49.6768 58.6973 49.6768 57.9968V51.5962C49.6768 47.3547 53.1122 43.9193 57.3537 43.9193H57.3441Z" stroke="black" stroke-width="2" stroke-miterlimit="10"/> </g> <defs> <clipPath id="clip0_138_769"> <rect width="47.9808" height="48" fill="white" transform="translate(18 18)"/> </clipPath> </defs> </svg> </div> <div class="text-content"> <h3>Access to a Wide Range of Applications</h3> <p class="mdx-list-item content"> By adopting GTFS, agencies reach a wider audience through the vast pool of app developers utilizing the standardized data format. </p> </div> </li> <li class="mdx-list-item fade-in"> <div class="icon-holder"> <svg width="84" height="84" viewBox="0 0 84 84" fill="none" xmlns="http://www.w3.org/2000/svg"> <circle cx="42" cy="42" r="42" fill="#FFFF00"/> <path d="M42 49.766L59 40V57.234L42 67V49.766Z" stroke="black" stroke-width="2" stroke-linejoin="round"/> <path d="M42 49.766L25 40V57.234L42 67V49.766Z" stroke="black" stroke-width="2" stroke-linejoin="round"/> <path d="M25 40L41.0642 31.4954C41.6496 31.1855 42.3504 31.1855 42.9358 31.4954L59 40" stroke="black" stroke-width="2"/> <path d="M44 49V27C44 24.7909 45.7909 23 48 23H58" stroke="black" stroke-width="2"/> <circle cx="55" cy="22" r="3" fill="black"/> <path d="M40 49V27C40 24.7909 38.2091 23 36 23H26" stroke="black" stroke-width="2"/> <circle cx="3" cy="3" r="3" transform="matrix(-1 0 0 1 32 19)" fill="black"/> <path d="M36 46V37C36 34.7909 34.2091 33 32 33H22" stroke="black" stroke-width="2"/> <circle cx="3" cy="3" r="3" transform="matrix(-1 0 0 1 25 29)" fill="black"/> <path d="M48 45.5V37C48 34.7909 49.7909 33 52 33H62" stroke="black" stroke-width="2"/> <circle cx="62" cy="32" r="3" fill="black"/> </svg> </div> <div class="text-content"> <h3>Open Source Community</h3> <p class="mdx-list-item content"> GTFS thrives on community collaboration, ensuring its continuous evolution and relevance, with a primary focus on passenger-facing information within the specification. </p> </div> </li> <li class="mdx-list-item fade-in"> <div class="icon-holder"> <svg width="84" height="84" viewBox="0 0 84 84" fill="none" xmlns="http://www.w3.org/2000/svg"> <circle cx="42" cy="42" r="42" fill="#FFFF00"/> <path d="M62.9683 38.8027C65.4296 40.2237 65.4296 43.7763 62.9683 45.1973L29.538 64.4984C27.0766 65.9194 24 64.1431 24 61.301L24 22.699C24 19.8569 27.0766 18.0806 29.538 19.5016L62.9683 38.8027Z" stroke="#080808" stroke-width="2"/> <circle cx="33" cy="42" r="2" fill="black" stroke="black" stroke-width="2"/> <circle cx="45" cy="42" r="2" fill="black" stroke="black" stroke-width="2"/> </svg> </div> <div class="text-content"> <h3>More than just Schedules</h3> <p class="mdx-list-item content"> While schedule information is at its core, GTFS also offers additional features that enhance the transit experience, such as fares, flexible services, and real-time updates. </p> </div> </li> </ul> <div class="learn-more-button-container "> <a href="getting_started/what_is_GTFS/" title="What is GTFS?" class="md-button md-button--primary"> Learn more about GTFS </a> </div> </div> </section> <section class="content-container dark"> <div class="content-inner"> <header class="md-typeset"> <h1>Two Formats in One Standard</h1> </header> <div class="mdx-spotlight md-typeset"> <div class="mdx-spotlight__feature reverse"> <a href="getting_started/what_is_GTFS/" tabindex="-1" title="Why GTFS" class="fade-in-2"> <img src="./assets/landing/gtfs-static.png" alt="GTFS Static" loading="lazy" width="500" height="327"> </a> <div class="md-typeset spotlight-content fade-in-2"> <p class="mdx-spotlight__header"> <span class="mdx-spotlight__header--highlight">GTFS Schedule</span> forms the foundation of rider-facing transit information, providing essential, static data. </p> <ul class="mdx-spotlight__list"> <li><span class="highlighted-text">Routes & Stops</span>: Know exactly where to catch your bus or train.</li> <li><span class="highlighted-text">Schedules & Frequencies</span>: Plan trips confidently with clear timetables.</li> <li><span class="highlighted-text">Fares</span>: See journey costs upfront in apps.</li> <li><span class="highlighted-text">Flex Routes</span>: Display demand responsive transportation.</li> <li><span class="highlighted-text">And more...</span></li> </ul> <div class="mdx-spotlight__links"> <a href="documentation/schedule/reference/">Reference Documentation</a> <span class="highlighted-text">/</span> <a href="documentation/schedule/schedule_best_practices/">Best Practices</a> </div> <a href="documentation/overview/#gtfs-schedule" title="What is GTFS?" class="md-button md-button--primary"> Learn more about GTFS Schedule </a> </div> </div> </div> <div class="mdx-spotlight md-typeset"> <div class="mdx-spotlight__feature mdx-spotlight__feature--no-button-margin"> <a href="setup/setting-up-site-search/" tabindex="-1" title="Built-in search" class="fade-in-2"> <img src="./assets/landing/gtfs-realtime.png" alt="GTFS Realtime" loading="lazy" width="500" height="327"> </a> <div class="md-typeset spotlight-content fade-in-2"> <p class="mdx-spotlight__header"> <span class="mdx-spotlight__header--highlight">GTFS Realtime</span> focuses on the ever-changing world of public transit, providing live updates that keep riders informed. </p> <ul class="mdx-spotlight__list"> <li><span class="highlighted-text">Vehicle Locations</span>: Track your bus or train in real-time and see exactly where it is. No more waiting at the stop wondering when it will arrive!</li> <li><span class="highlighted-text">Arrival Times</span>: Get a more accurate idea of when your ride will arrive, eliminating the frustration of missed connections.</li> <li><span class="highlighted-text">Service Alerts</span>: Receive notifications about any service disruptions on the network, allowing you to adjust your plans accordingly.</li> </ul> <div class="mdx-spotlight__links"> <a href="documentation/realtime/reference/">Reference Documentation</a> <span class="highlighted-text">/</span> <a href="documentation/realtime/realtime_best_practices/">Best Practices</a> </div> <a href="documentation/overview/#gtfs-realtime" title="What is GTFS?" class="md-button md-button--primary"> Learn more about GTFS Realtime </a> </div> </div> </div> </section> <section class="content-container"> <div class="content-inner"> <header class="md-typeset"> <h1>Help develop the future of GTFS</h1> </header> <div class="mdx-socials md-typeset"> <figure class="mdx-socials__element fade-in-3"> <svg width="221" height="220" viewBox="0 0 221 220" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <circle cx="110.5" cy="110" r="110" fill="#FFFF00"/> <rect x="50.5" y="50" width="120" height="120" fill="url(#pattern0_138_725)"/> <defs> <pattern id="pattern0_138_725" patternContentUnits="objectBoundingBox" width="1" height="1"> <use xlink:href="#image0_138_725" transform="scale(0.00389105)"/> </pattern> <image id="image0_138_725" width="257" height="257" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQEAAAEBCAYAAAB47BD9AAAACXBIWXMAABcSAAAXEgFnn9JSAAAE9GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDIgNzkuYTZhNjM5NjhhLCAyMDI0LzAzLzA2LTExOjUyOjA1ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjUuOSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjQtMDUtMjdUMDg6NTk6MTQtMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI0LTA1LTI4VDE2OjA1OjQ2LTA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI0LTA1LTI4VDE2OjA1OjQ2LTA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpmMzhlYzdiNy0zYTZjLTQzNjctOTEwZS1lZjg4YmUzYzRjNGYiIHhtcE1NOkRvY3VtZW50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"/> </defs> </svg> <div class="md-typeset mdx-socials__content"> <h3>Slack</h3> <p class="">Join the official slack channel and participate in live chat with other GTFS contributors.</p> <a href="https://share.mobilitydata.org/slack" target="_blank" title="What is GTFS?" class="md-button md-button--primary" rel="noopener"> Join Slack </a> </div> </figure> <figure class="mdx-socials__element fade-in-3"> <svg width="220" height="220" viewBox="0 0 220 220" fill="none" xmlns="http://www.w3.org/2000/svg"> <circle cx="110" cy="110" r="110" fill="#FFFF00"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M109.585 50C75.2536 50 47.5 77.9582 47.5 112.546C47.5 140.194 65.2827 163.598 89.952 171.881C93.0363 172.504 94.1661 170.536 94.1661 168.88C94.1661 167.43 94.0644 162.459 94.0644 157.281C76.7939 161.009 73.1974 149.825 73.1974 149.825C70.4219 142.576 66.3095 140.713 66.3095 140.713C60.6569 136.881 66.7213 136.881 66.7213 136.881C72.9915 137.296 76.2817 143.302 76.2817 143.302C81.8314 152.828 90.7742 150.136 94.372 148.479C94.8854 144.44 96.5311 141.645 98.2785 140.092C84.504 138.642 70.0114 133.257 70.0114 109.232C70.0114 102.398 72.4769 96.8059 76.3834 92.4571C75.767 90.9041 73.6079 84.4827 77.001 75.888C77.001 75.888 82.2432 74.2309 94.0631 82.3083C99.1237 80.9392 104.343 80.2427 109.585 80.2368C114.827 80.2368 120.171 80.9625 125.106 82.3083C136.927 74.2309 142.169 75.888 142.169 75.888C145.562 84.4827 143.402 90.9041 142.785 92.4571C146.795 96.8059 149.159 102.398 149.159 109.232C149.159 133.257 134.666 138.537 120.789 140.092C123.051 142.059 125.003 145.786 125.003 151.689C125.003 160.077 124.901 166.808 124.901 168.878C124.901 170.536 126.032 172.504 129.115 171.883C153.784 163.597 171.567 140.194 171.567 112.546C171.669 77.9582 143.814 50 109.585 50Z" fill="#080808"/> </svg> <div class="md-typeset mdx-socials__content"> <h3>GitHub</h3> <p>The google/transit repository on GitHub is where the standard lives. Propose ideas and engage in discussions.</p> <a href="https://github.com/google/transit" target="_blank" title="What is GTFS?" class="md-button md-button--primary" rel="noopener"> Visit Github </a> </div> </figure> <figure class="mdx-socials__element fade-in-3"> <svg width="220" height="220" viewBox="0 0 220 220" fill="none" xmlns="http://www.w3.org/2000/svg"> <circle cx="110" cy="110" r="110" fill="#FFFF00"/> <path d="M121.062 144.341C107.266 144.341 93.4705 144.352 79.675 144.318C78.5981 144.316 77.8293 144.606 77.0645 145.378C70.8481 151.653 64.5894 157.885 58.3462 164.134C57.3504 165.13 56.2994 166.024 54.8113 166.147C51.6896 166.404 49.5278 164.254 49.5186 160.764C49.4944 151.434 49.4884 142.103 49.5336 132.772C49.5443 130.546 49.7729 128.323 50.2469 126.129C52.9676 113.542 60.1892 104.454 72.029 99.5489C84.9077 94.213 97.1565 96.0675 108.399 104.324C109.144 104.871 109.591 105.113 110.496 104.41C131.887 87.8002 163.115 99.3213 168.729 125.87C169.619 130.079 169.58 134.359 169.386 138.618C169.235 141.949 166.371 144.31 162.748 144.331C157.686 144.36 152.624 144.34 147.562 144.341C138.729 144.341 129.895 144.341 121.062 144.341ZM109.334 144.108C109.334 144.106 109.334 144.103 109.334 144.101C111.762 144.101 114.191 144.123 116.619 144.095C119.45 144.061 121.762 142.232 122.373 139.454C123.173 135.821 122.78 132.123 122.298 128.535C121.099 119.604 117.168 112 110.328 105.995C109.777 105.511 109.467 105.441 108.86 105.948C102.522 111.229 98.8504 118.063 97.0939 126.017C96.2103 130.017 96.4966 134.087 96.4875 138.135C96.4794 141.62 98.9783 144.081 102.495 144.106C104.774 144.121 107.054 144.108 109.334 144.108Z" fill="#080808"/> <path d="M86.0001 53.0001C96.4854 52.9701 105.073 61.4652 105.12 71.9151C105.168 82.487 96.6658 91.0834 86.1334 91.1127C75.5879 91.1419 67.0099 82.5886 67.0137 72.0484C67.0176 61.5695 75.529 53.0303 86.0001 53.0001Z" fill="#080808"/> <path d="M133.646 53.0001C144.13 52.9721 152.716 61.4697 152.761 71.9199C152.807 82.4917 144.303 91.0856 133.77 91.1126C123.225 91.1396 114.649 82.5841 114.655 72.0435C114.661 61.5649 123.174 53.028 133.646 53.0001Z" fill="#080808"/> <path d="M109.334 144.109C107.054 144.109 104.774 144.121 102.495 144.106C98.9782 144.081 96.4793 141.619 96.4874 138.135C96.4966 134.087 96.2102 130.017 97.0938 126.016C98.8505 118.062 102.522 111.229 108.86 105.947C109.467 105.441 109.777 105.511 110.328 105.995C117.168 112 121.099 119.604 122.298 128.535C122.78 132.123 123.172 135.82 122.373 139.454C121.762 142.232 119.45 144.061 116.619 144.094C114.191 144.123 111.762 144.1 109.334 144.1C109.334 144.103 109.334 144.106 109.334 144.109Z" fill="#535353"/> </svg> <div class="md-typeset mdx-socials__content"> <h3>GTFS Digest</h3> <p>Stay up to date with the GTFS world by reading the latest GTFS Digest.</p> <a href="https://blog.gtfs.org/" title="What is GTFS?" class="md-button md-button--primary" target="_blank" rel="noopener"> Read the Digest </a> </div> </figure> </div> <div class="md-typeset mdx-resource__container"> <div class="mdx-resource__element"> <h3>Community Resources</h3> <p> Make sure to check out the Resources section for an extensive selection of tips, tools, and tricks. </p> <a href="resources/overview/" title="What is GTFS?" class="md-button md-button--primary"> Checkout the Resources </a> </div> <div class="mdx-resource__element"> <h3>Active Projects</h3> <p> Discover the developing new additions to the specification that could require your help. </p> <a href="community/get_involved/#active-projects" title="What is GTFS?" class="md-button md-button--primary"> Discover the projects </a> </div> </div> </div> </section> <main class="md-main" data-md-component="main"> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" > <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0"> <label class="md-nav__title" for="__drawer"> <a href="." title="General Transit Feed Specification" class="md-nav__button md-logo" aria-label="General Transit Feed Specification" data-md-component="logo"> <img id="logo_light_mode" src="assets/logo.png" alt="logo"> <img id="logo_dark_mode" src="." alt="logo"> </a> General Transit Feed Specification </label> <div class="md-nav__source"> <a href="https://github.com/google/transit" title="Go to repository" class="md-source" data-md-component="source" target="_blank" rel="noopener"> <div class="md-source__icon md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class="md-source__repository"> GTFS Repository </div> </a> </div> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc"> <a href="." class="md-nav__link md-nav__link--active"> <span class="md-ellipsis"> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" > <label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0"> <span class="md-ellipsis"> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_2"> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="getting-started/what-is-GTFS/" class="md-nav__link"> <span class="md-ellipsis"> What is GTFS? </span> </a> </li> <li class="md-nav__item"> <a href="getting-started/why-use-GTFS/" class="md-nav__link"> <span class="md-ellipsis"> Why use GTFS? </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3" > <label class="md-nav__link" for="__nav_2_3" id="__nav_2_3_label" tabindex="0"> <span class="md-ellipsis"> How to produce GTFS? </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_2_3"> <span class="md-nav__icon md-icon"></span> How to produce GTFS? </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="getting-started/create/" class="md-nav__link"> <span class="md-ellipsis"> Create </span> </a> </li> <li class="md-nav__item"> <a href="getting-started/validate/" class="md-nav__link"> <span class="md-ellipsis"> Validate </span> </a> </li> <li class="md-nav__item"> <a href="getting-started/publish/" class="md-nav__link"> <span class="md-ellipsis"> Publish </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4" > <label class="md-nav__link" for="__nav_2_4" id="__nav_2_4_label" tabindex="0"> <span class="md-ellipsis"> What can GTFS do? </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_2_4"> <span class="md-nav__icon md-icon"></span> What can GTFS do? </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="getting-started/features/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item"> <a href="getting-started/features/base/" class="md-nav__link"> <span class="md-ellipsis"> Base </span> </a> </li> <li class="md-nav__item"> <a href="getting-started/features/base-add-ons/" class="md-nav__link"> <span class="md-ellipsis"> Base add-ons </span> </a> </li> <li class="md-nav__item"> <a href="getting-started/features/accessibility/" class="md-nav__link"> <span class="md-ellipsis"> Accessibility </span> </a> </li> <li class="md-nav__item"> <a href="getting-started/features/fares/" class="md-nav__link"> <span class="md-ellipsis"> Fares </span> </a> </li> <li class="md-nav__item"> <a href="getting-started/features/pathways/" class="md-nav__link"> <span class="md-ellipsis"> Pathways </span> </a> </li> <li class="md-nav__item"> <a href="getting-started/features/flexible-services/" class="md-nav__link"> <span class="md-ellipsis"> Flexible services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="getting-started/example-feed/" class="md-nav__link"> <span class="md-ellipsis"> Example GTFS feed </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" > <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0"> <span class="md-ellipsis"> Technical Documentation </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3"> <span class="md-nav__icon md-icon"></span> Technical Documentation </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="documentation/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2" > <label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0"> <span class="md-ellipsis"> Schedule </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_2"> <span class="md-nav__icon md-icon"></span> Schedule </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="documentation/schedule/reference/" class="md-nav__link"> <span class="md-ellipsis"> Reference </span> </a> </li> <li class="md-nav__item"> <a href="documentation/schedule/schedule-best-practices/" class="md-nav__link"> <span class="md-ellipsis"> Best Practices </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_3" > <label class="md-nav__link" for="__nav_3_2_3" id="__nav_3_2_3_label" tabindex="0"> <span class="md-ellipsis"> Data examples </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_2_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_2_3"> <span class="md-nav__icon md-icon"></span> Data examples </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="documentation/schedule/examples/attributions/" class="md-nav__link"> <span class="md-ellipsis"> Attributions </span> </a> </li> <li class="md-nav__item"> <a href="documentation/schedule/examples/continuous-stops/" class="md-nav__link"> <span class="md-ellipsis"> Continuous stops </span> </a> </li> <li class="md-nav__item"> <a href="documentation/schedule/examples/flex/" class="md-nav__link"> <span class="md-ellipsis"> Demand responsive services </span> </a> </li> <li class="md-nav__item"> <a href="documentation/schedule/examples/fares-v1/" class="md-nav__link"> <span class="md-ellipsis"> Fares v1 </span> </a> </li> <li class="md-nav__item"> <a href="documentation/schedule/examples/fares-v2/" class="md-nav__link"> <span class="md-ellipsis"> Fares v2 </span> </a> </li> <li class="md-nav__item"> <a href="documentation/schedule/examples/feed-info/" class="md-nav__link"> <span class="md-ellipsis"> Feed information </span> </a> </li> <li class="md-nav__item"> <a href="documentation/schedule/examples/frequencies/" class="md-nav__link"> <span class="md-ellipsis"> Frequencies </span> </a> </li> <li class="md-nav__item"> <a href="documentation/schedule/examples/pathways/" class="md-nav__link"> <span class="md-ellipsis"> Pathways </span> </a> </li> <li class="md-nav__item"> <a href="documentation/schedule/examples/routes-stops-trips/" class="md-nav__link"> <span class="md-ellipsis"> Routes, Stops & Trips </span> </a> </li> <li class="md-nav__item"> <a href="documentation/schedule/examples/text-to-speech/" class="md-nav__link"> <span class="md-ellipsis"> Text-to-speech </span> </a> </li> <li class="md-nav__item"> <a href="documentation/schedule/examples/transfers/" class="md-nav__link"> <span class="md-ellipsis"> Transfers </span> </a> </li> <li class="md-nav__item"> <a href="documentation/schedule/examples/translations/" class="md-nav__link"> <span class="md-ellipsis"> Translations </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_4" > <label class="md-nav__link" for="__nav_3_2_4" id="__nav_3_2_4_label" tabindex="0"> <span class="md-ellipsis"> Change history </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_2_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_2_4"> <span class="md-nav__icon md-icon"></span> Change history </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="documentation/schedule/change-history/recent-additions/" class="md-nav__link"> <span class="md-ellipsis"> Recent additions </span> </a> </li> <li class="md-nav__item"> <a href="documentation/schedule/change-history/revision-history/" class="md-nav__link"> <span class="md-ellipsis"> Full revision history </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3" > <label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0"> <span class="md-ellipsis"> Realtime </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_3"> <span class="md-nav__icon md-icon"></span> Realtime </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="documentation/realtime/reference/" class="md-nav__link"> <span class="md-ellipsis"> Reference </span> </a> </li> <li class="md-nav__item"> <a href="documentation/realtime/realtime-best-practices/" class="md-nav__link"> <span class="md-ellipsis"> Best Practices </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_3" > <label class="md-nav__link" for="__nav_3_3_3" id="__nav_3_3_3_label" tabindex="0"> <span class="md-ellipsis"> Feed Entities </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_3_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_3_3"> <span class="md-nav__icon md-icon"></span> Feed Entities </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="documentation/realtime/feed-entities/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item"> <a href="documentation/realtime/feed-entities/trip-updates/" class="md-nav__link"> <span class="md-ellipsis"> Trip Updates </span> </a> </li> <li class="md-nav__item"> <a href="documentation/realtime/feed-entities/service-alerts/" class="md-nav__link"> <span class="md-ellipsis"> Service Alerts </span> </a> </li> <li class="md-nav__item"> <a href="documentation/realtime/feed-entities/vehicle-positions/" class="md-nav__link"> <span class="md-ellipsis"> Vehicle Positions </span> </a> </li> <li class="md-nav__item"> <a href="documentation/realtime/feed-entities/trip-modifications/" class="md-nav__link"> <span class="md-ellipsis"> Trip Modifications </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="documentation/realtime/proto/" class="md-nav__link"> <span class="md-ellipsis"> Protobuf </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_5" > <label class="md-nav__link" for="__nav_3_3_5" id="__nav_3_3_5_label" tabindex="0"> <span class="md-ellipsis"> Language Bindings </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_3_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_3_5"> <span class="md-nav__icon md-icon"></span> Language Bindings </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="documentation/realtime/language-bindings/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item"> <a href="documentation/realtime/language-bindings/dotnet/" class="md-nav__link"> <span class="md-ellipsis"> .NET </span> </a> </li> <li class="md-nav__item"> <a href="documentation/realtime/language-bindings/java/" class="md-nav__link"> <span class="md-ellipsis"> Java </span> </a> </li> <li class="md-nav__item"> <a href="documentation/realtime/language-bindings/nodejs/" class="md-nav__link"> <span class="md-ellipsis"> JavaScript/Node.js </span> </a> </li> <li class="md-nav__item"> <a href="documentation/realtime/language-bindings/python/" class="md-nav__link"> <span class="md-ellipsis"> Python </span> </a> </li> <li class="md-nav__item"> <a href="documentation/realtime/language-bindings/golang/" class="md-nav__link"> <span class="md-ellipsis"> Golang </span> </a> </li> <li class="md-nav__item"> <a href="documentation/realtime/language-bindings/ruby/" class="md-nav__link"> <span class="md-ellipsis"> Ruby </span> </a> </li> <li class="md-nav__item"> <a href="documentation/realtime/language-bindings/php/" class="md-nav__link"> <span class="md-ellipsis"> PHP </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_6" > <label class="md-nav__link" for="__nav_3_3_6" id="__nav_3_3_6_label" tabindex="0"> <span class="md-ellipsis"> Data examples </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_3_6_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_3_6"> <span class="md-nav__icon md-icon"></span> Data examples </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="documentation/realtime/examples/service-alerts/" class="md-nav__link"> <span class="md-ellipsis"> Service alerts </span> </a> </li> <li class="md-nav__item"> <a href="documentation/realtime/examples/trip-updates/" class="md-nav__link"> <span class="md-ellipsis"> Trip updates </span> </a> </li> <li class="md-nav__item"> <a href="documentation/realtime/examples/migration-duplicated/" class="md-nav__link"> <span class="md-ellipsis"> Migration duplicated </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_7" > <label class="md-nav__link" for="__nav_3_3_7" id="__nav_3_3_7_label" tabindex="0"> <span class="md-ellipsis"> Change history </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_3_7_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_3_7"> <span class="md-nav__icon md-icon"></span> Change history </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="documentation/realtime/change-history/recent-additions/" class="md-nav__link"> <span class="md-ellipsis"> Recent Additions </span> </a> </li> <li class="md-nav__item"> <a href="documentation/realtime/change-history/revision-history/" class="md-nav__link"> <span class="md-ellipsis"> Full revision history </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" > <label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0"> <span class="md-ellipsis"> Community </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4"> <span class="md-nav__icon md-icon"></span> Community </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="community/get-involved/" class="md-nav__link"> <span class="md-ellipsis"> Get involved </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_2" > <label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0"> <span class="md-ellipsis"> Governance </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_2"> <span class="md-nav__icon md-icon"></span> Governance </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="community/governance/gtfs-schedule-amendment-process/" class="md-nav__link"> <span class="md-ellipsis"> GTFS Schedule Amendment Process </span> </a> </li> <li class="md-nav__item"> <a href="community/governance/gtfs-realtime-amendment-process/" class="md-nav__link"> <span class="md-ellipsis"> GTFS Realtime Amendment Process </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3" > <label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0"> <span class="md-ellipsis"> Extensions </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_3"> <span class="md-nav__icon md-icon"></span> Extensions </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="community/extensions/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item"> <a href="community/extensions/fares-v2/" class="md-nav__link"> <span class="md-ellipsis"> Fares v2 </span> </a> </li> <li class="md-nav__item"> <a href="community/extensions/flex/" class="md-nav__link"> <span class="md-ellipsis"> Flex </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > <label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0"> <span class="md-ellipsis"> Resources </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_5"> <span class="md-nav__icon md-icon"></span> Resources </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="resources/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item"> <a href="resources/getting-started/" class="md-nav__link"> <span class="md-ellipsis"> Getting Started </span> </a> </li> <li class="md-nav__item"> <a href="resources/community/" class="md-nav__link"> <span class="md-ellipsis"> Community </span> </a> </li> <li class="md-nav__item"> <a href="resources/data/" class="md-nav__link"> <span class="md-ellipsis"> Data </span> </a> </li> <li class="md-nav__item"> <a href="resources/software-for-creating-apis/" class="md-nav__link"> <span class="md-ellipsis"> Software for Creating APIs </span> </a> </li> <li class="md-nav__item"> <a href="resources/agency-tools/" class="md-nav__link"> <span class="md-ellipsis"> Agency Tools </span> </a> </li> <li class="md-nav__item"> <a href="resources/hardware/" class="md-nav__link"> <span class="md-ellipsis"> Hardware </span> </a> </li> <li class="md-nav__item"> <a href="resources/apps/" class="md-nav__link"> <span class="md-ellipsis"> Apps </span> </a> </li> <li class="md-nav__item"> <a href="resources/sdk/" class="md-nav__link"> <span class="md-ellipsis"> SDKs </span> </a> </li> <li class="md-nav__item"> <a href="resources/visualizations/" class="md-nav__link"> <span class="md-ellipsis"> Visualizations </span> </a> </li> <li class="md-nav__item"> <a href="resources/gtfs/" class="md-nav__link"> <span class="md-ellipsis"> GTFS </span> </a> </li> <li class="md-nav__item"> <a href="resources/gtfs-realtime/" class="md-nav__link"> <span class="md-ellipsis"> GTFS Realtime </span> </a> </li> <li class="md-nav__item"> <a href="resources/siri/" class="md-nav__link"> <span class="md-ellipsis"> SIRI </span> </a> </li> <li class="md-nav__item"> <a href="resources/multimodal/" class="md-nav__link"> <span class="md-ellipsis"> Multimodal </span> </a> </li> <li class="md-nav__item"> <a href="resources/other/" class="md-nav__link"> <span class="md-ellipsis"> Other </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" > <div class="md-nav__link md-nav__container"> <a href="about/" class="md-nav__link "> <span class="md-ellipsis"> About </span> </a> </div> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6"> <span class="md-nav__icon md-icon"></span> About </label> <ul class="md-nav__list" data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" > <div class="md-nav__link md-nav__container"> <a href="blog/" class="md-nav__link "> <span class="md-ellipsis"> Blog </span> </a> </div> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_7"> <span class="md-nav__icon md-icon"></span> Blog </label> <ul class="md-nav__list" data-md-scrollfix> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" > <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> </nav> </div> </div> </div> <div class="md-content" data-md-component="content"> <article class="md-content__inner md-typeset"> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type="button" class="md-top md-icon" data-md-component="top" hidden> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class="md-footer"> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class="md-footer-copyright"> <c>Maintained by </c> <a class="footer-link" href="https://mobilitydata.org/" target="_blank" rel="noopener"> <svg class="only-light" width="26%" height="26%" style="vertical-align:middle" style="float:left" version="1.1" id="Calque_1" x="0px" y="0px" viewBox="0 0 850.40002 205.24001" xml:space="preserve" sodipodi:docname="md-white.svg" inkscape:version="1.1.1 (c3084ef, 2021-09-22)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><defs id="defs39" /><sodipodi:namedview id="namedview37" pagecolor="#505050" bordercolor="#ffffff" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="1" showgrid="false" inkscape:zoom="0.44880624" inkscape:cx="355.38721" inkscape:cy="387.69514" inkscape:window-width="1277" inkscape:window-height="847" inkscape:window-x="0" inkscape:window-y="25" inkscape:window-maximized="0" inkscape:current-layer="Calque_1" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" /> <style type="text/css" id="style2"> .st0{fill:#19132D;} </style> <g id="g32" style="fill:#ffffff" transform="translate(-31.33,-15.87)"> <path class="st0" d="m 322.73,81.87 h -12.08 c -0.37,0 -0.7,0.19 -0.89,0.51 L 287.48,115.86 265.1,82.37 c -0.19,-0.31 -0.52,-0.51 -0.89,-0.51 h -12.08 c -0.55,0 -1,0.45 -1,1 v 72.39 c 0,0.55 0.45,1 1,1 h 13.42 c 0.55,0 1,-0.45 1,-1 v -43.7 c 0,-0.14 0.18,-0.19 0.25,-0.07 l 19.81,28.8 c 0.19,0.3 0.52,0.46 0.87,0.47 0.35,0 0.67,-0.18 0.87,-0.48 l 19.59,-29.19 c 0.07,-0.12 0.25,-0.07 0.25,0.07 l 0.22,44.05 c 0,0.58 0.47,1.05 1.04,1.05 h 13.28 c 0.55,0 1,-0.45 1,-1 V 82.86 c 0,-0.55 -0.45,-0.99 -1,-0.99 z" id="path4" style="fill:#ffffff" /> <path class="st0" d="m 360.01,101.15 c -16.28,0 -29.03,12.42 -29.03,28.28 0,15.86 12.75,28.28 29.03,28.28 16.34,0 29.14,-12.42 29.14,-28.28 0,-15.86 -12.8,-28.28 -29.14,-28.28 z m 13.58,28.28 c 0,7.76 -5.71,13.4 -13.58,13.4 -7.81,0 -13.47,-5.64 -13.47,-13.4 0,-7.76 5.67,-13.4 13.47,-13.4 7.87,0 13.58,5.63 13.58,13.4 z" id="path6" style="fill:#ffffff" /> <path class="st0" d="m 427.6,101.15 c -6.77,0 -12.25,2.05 -16.35,6.11 v -24.4 c 0,-0.55 -0.45,-1 -1,-1 h -13.56 c -0.55,0 -1,0.45 -1,1 v 72.39 c 0,0.55 0.45,1 1,1 h 13.56 c 0.55,0 1,-0.45 1,-1 v -3.66 c 4.1,4.06 9.59,6.11 16.35,6.11 7.2,0 13.95,-2.9 19,-8.17 5.09,-5.31 7.9,-12.45 7.9,-20.11 0,-7.66 -2.8,-14.8 -7.9,-20.11 -5.06,-5.26 -11.81,-8.16 -19,-8.16 z m 11.34,28.28 c 0,8.07 -5.72,13.71 -13.9,13.71 -8.12,0 -13.79,-5.64 -13.79,-13.71 0,-8.07 5.67,-13.71 13.79,-13.71 8.18,0 13.9,5.63 13.9,13.71 z" id="path8" style="fill:#ffffff" /> <path class="st0" d="m 469.41,80.31 c -4.83,0 -8.9,4.02 -8.9,8.79 0,4.71 4.08,8.69 8.9,8.69 4.96,0 9,-3.9 9,-8.69 0,-4.77 -4.12,-8.79 -9,-8.79 z" id="path10" style="fill:#ffffff" /> <path class="st0" d="m 476.24,102.6 h -13.56 c -0.55,0 -1,0.45 -1,1 v 51.66 c 0,0.55 0.45,1 1,1 h 13.56 c 0.55,0 1,-0.45 1,-1 V 103.6 c 0,-0.55 -0.45,-1 -1,-1 z" id="path12" style="fill:#ffffff" /> <path class="st0" d="m 504.74,78.76 h -13.56 c -0.55,0 -1,0.45 -1,1 v 75.5 c 0,0.55 0.45,1 1,1 h 13.56 c 0.55,0 1,-0.45 1,-1 v -75.5 c 0,-0.56 -0.45,-1 -1,-1 z" id="path14" style="fill:#ffffff" /> <path class="st0" d="m 532.65,102.6 h -13.56 c -0.55,0 -1,0.45 -1,1 v 51.66 c 0,0.55 0.45,1 1,1 h 13.56 c 0.55,0 1,-0.45 1,-1 V 103.6 c 0,-0.55 -0.45,-1 -1,-1 z" id="path16" style="fill:#ffffff" /> <path class="st0" d="m 525.82,80.31 c -4.83,0 -8.9,4.02 -8.9,8.79 0,4.71 4.08,8.69 8.9,8.69 4.96,0 9,-3.9 9,-8.69 0.01,-4.77 -4.12,-8.79 -9,-8.79 z" id="path18" style="fill:#ffffff" /> <path class="st0" d="M 576.69,102.6 H 565.65 V 89.08 c 0,-0.55 -0.45,-1 -1,-1 h -13.56 c -0.55,0 -1,0.45 -1,1 v 13.52 h -8.27 c -0.55,0 -1,0.45 -1,1 v 12.67 c 0,0.55 0.45,1 1,1 h 8.27 v 20.66 c 0,6.93 1.56,11.56 4.91,14.57 3.13,2.81 7.86,4.18 14.64,4.18 2.17,0 4.55,-0.14 7.15,-0.42 0.51,-0.05 0.89,-0.48 0.89,-0.99 v -11.95 c 0,-0.27 -0.11,-0.54 -0.31,-0.72 -0.2,-0.19 -0.47,-0.29 -0.74,-0.27 -4.86,0.25 -8.41,0.32 -9.95,-1.14 -0.71,-0.67 -1.04,-1.7 -1.04,-3.25 v -20.66 h 11.04 c 0.55,0 1,-0.45 1,-1 V 103.6 c 0.01,-0.55 -0.44,-1 -0.99,-1 z" id="path20" style="fill:#ffffff" /> <path class="st0" d="M 676.43,81.87 H 646.9 c -0.55,0 -1,0.45 -1,1 v 72.39 c 0,0.55 0.45,1 1,1 h 29.53 c 10.15,0 19.49,-3.82 26.31,-10.76 6.77,-6.89 10.5,-16.28 10.5,-26.44 0,-10.16 -3.73,-19.55 -10.5,-26.44 -6.82,-6.93 -16.16,-10.75 -26.31,-10.75 z m 20.93,37.19 c 0,12.77 -8.61,21.69 -20.93,21.69 H 662.42 V 97.37 h 14.01 c 12.32,0 20.93,8.92 20.93,21.69 z" id="path22" style="fill:#ffffff" /> <path class="st0" d="M 775.16,102.6 H 761.6 c -0.55,0 -1,0.45 -1,1 v 3.7 c -4.15,-4.03 -9.8,-6.15 -16.46,-6.15 -7.15,0 -13.87,2.9 -18.91,8.17 -5.08,5.31 -7.88,12.45 -7.88,20.1 0,7.65 2.8,14.79 7.88,20.11 5.04,5.27 11.76,8.17 18.91,8.17 6.66,0 12.3,-2.12 16.46,-6.15 v 3.7 c 0,0.55 0.45,1 1,1 h 13.56 c 0.55,0 1,-0.45 1,-1 V 103.6 c 0,-0.55 -0.45,-1 -1,-1 z m -14.56,26.83 c 0,8.07 -5.72,13.71 -13.9,13.71 -8.12,0 -13.79,-5.64 -13.79,-13.71 0,-8.07 5.67,-13.71 13.79,-13.71 8.19,0 13.9,5.63 13.9,13.71 z" id="path24" style="fill:#ffffff" /> <path class="st0" d="M 818.36,102.6 H 807.32 V 89.08 c 0,-0.55 -0.45,-1 -1,-1 h -13.56 c -0.55,0 -1,0.45 -1,1 v 13.52 h -8.27 c -0.55,0 -1,0.45 -1,1 v 12.67 c 0,0.55 0.45,1 1,1 h 8.27 v 20.66 c 0,6.93 1.56,11.56 4.91,14.57 3.13,2.81 7.86,4.18 14.64,4.18 2.17,0 4.55,-0.14 7.15,-0.42 0.51,-0.05 0.89,-0.48 0.89,-0.99 v -11.95 c 0,-0.27 -0.11,-0.54 -0.31,-0.72 -0.2,-0.19 -0.47,-0.29 -0.74,-0.27 -4.85,0.25 -8.41,0.32 -9.95,-1.14 -0.71,-0.67 -1.04,-1.7 -1.04,-3.25 v -20.66 h 11.04 c 0.55,0 1,-0.45 1,-1 V 103.6 c 0.01,-0.55 -0.44,-1 -0.99,-1 z" id="path26" style="fill:#ffffff" /> <path class="st0" d="m 880.73,102.6 h -13.56 c -0.55,0 -1,0.45 -1,1 v 3.7 c -4.15,-4.03 -9.8,-6.15 -16.46,-6.15 -7.15,0 -13.87,2.9 -18.91,8.17 -5.08,5.31 -7.88,12.45 -7.88,20.1 0,7.65 2.8,14.79 7.88,20.11 5.04,5.27 11.76,8.17 18.91,8.17 6.66,0 12.31,-2.12 16.46,-6.15 v 3.7 c 0,0.55 0.45,1 1,1 h 13.56 c 0.55,0 1,-0.45 1,-1 V 103.6 c -0.01,-0.55 -0.45,-1 -1,-1 z m -14.56,26.83 c 0,8.07 -5.72,13.71 -13.9,13.71 -8.12,0 -13.79,-5.64 -13.79,-13.71 0,-8.07 5.67,-13.71 13.79,-13.71 8.18,0 13.9,5.63 13.9,13.71 z" id="path28" style="fill:#ffffff" /> <path class="st0" d="m 637.94,102.65 h -14.4 c -0.49,0 -0.92,0.31 -1.08,0.77 l -11.13,33.32 -13.05,-33.37 c -0.17,-0.44 -0.59,-0.72 -1.06,-0.72 h -14.71 c -0.38,0 -0.74,0.19 -0.95,0.51 -0.21,0.32 -0.25,0.72 -0.1,1.07 l 21.83,50.99 c -2.51,6.69 -6.12,9.31 -12.78,9.31 -0.05,0 -0.1,0 -0.14,0 -0.3,0 -0.59,0.12 -0.8,0.33 -0.22,0.21 -0.33,0.5 -0.33,0.8 v 12.36 c 0,0.61 0.48,1.11 1.08,1.14 0.63,0.03 1.25,0.05 1.87,0.05 6.25,0 11.45,-1.62 15.85,-4.92 4.83,-3.63 8.57,-9.21 11.43,-17.07 L 639,104.17 c 0.13,-0.35 0.08,-0.74 -0.13,-1.04 -0.21,-0.3 -0.56,-0.48 -0.93,-0.48 z" id="path30" style="fill:#ffffff" /> </g> <path class="st0" d="m 215.93,168.67 -9.88,-9.88 -3.3,3.3 5.03,5.03 h -22.43 c -0.93,-2.53 -2.93,-4.55 -5.45,-5.51 V 35.56 c 0,-2.16 -1.75,-3.91 -3.91,-3.91 h -27.18 c -1.8,0 -3.49,0.95 -4.42,2.49 L 108.64,90.65 72.71,34.12 C 71.77,32.59 70.09,31.65 68.3,31.65 H 49.2 C 48.24,29.13 46.23,27.13 43.7,26.2 V 0 h -6.4 v 26.2 c -2.56,0.94 -4.6,2.98 -5.54,5.54 H 8.83 l 5.03,-5.03 -3.3,-3.3 -9.88,9.88 C 0.24,33.73 0,34.32 0,34.94 c 0,0.62 0.25,1.21 0.68,1.65 l 9.88,9.88 3.3,-3.3 -5.03,-5.03 h 22.91 c 0.93,2.54 2.93,4.56 5.46,5.52 V 169.7 c 0,2.16 1.75,3.91 3.91,3.91 h 28.82 c 2.16,0 3.91,-1.75 3.91,-3.91 v -68.08 l 30.47,46.42 c 0.92,1.41 2.5,2.29 4.23,2.35 0.04,0 0.08,0 0.12,0 1.75,0 3.37,-0.89 4.34,-2.39 l 30.1,-46.99 0.35,67.38 c 0,2.87 2.32,5.21 5.18,5.21 h 19.26 c 0.96,2.52 2.97,4.52 5.51,5.45 v 26.19 h 6.4 v -26.19 c 2.56,-0.94 4.6,-2.98 5.54,-5.54 h 22.43 l -5.03,5.03 3.3,3.3 9.88,-9.88 c 0.92,-0.91 0.92,-2.38 0.01,-3.29 z M 40.49,39.6 c -0.16,0 -0.32,-0.01 -0.48,-0.02 -0.03,0 -0.06,-0.01 -0.09,-0.01 -0.13,-0.02 -0.25,-0.03 -0.37,-0.06 -0.02,0 -0.04,-0.01 -0.07,-0.02 -0.13,-0.03 -0.26,-0.06 -0.38,-0.1 -0.01,0 -0.03,-0.01 -0.04,-0.02 -0.13,-0.04 -0.26,-0.09 -0.39,-0.14 0,0 0,0 0,0 -0.14,-0.06 -0.27,-0.12 -0.4,-0.19 -0.4,-0.22 -0.76,-0.49 -1.07,-0.8 -0.03,-0.03 -0.05,-0.06 -0.08,-0.09 -0.2,-0.21 -0.38,-0.43 -0.53,-0.68 0,0 0,0 0,0 -0.08,-0.12 -0.15,-0.24 -0.22,-0.37 0,-0.01 -0.01,-0.02 -0.01,-0.03 -0.06,-0.12 -0.12,-0.24 -0.17,-0.36 -0.01,-0.02 -0.02,-0.05 -0.03,-0.07 -0.04,-0.11 -0.09,-0.22 -0.12,-0.34 -0.01,-0.04 -0.02,-0.09 -0.03,-0.14 -0.03,-0.1 -0.05,-0.2 -0.07,-0.3 -0.02,-0.08 -0.02,-0.15 -0.04,-0.23 -0.01,-0.07 -0.03,-0.15 -0.03,-0.22 -0.02,-0.15 -0.02,-0.31 -0.02,-0.46 0,0 0,0 0,0 0,-0.16 0.01,-0.31 0.02,-0.47 0.01,-0.08 0.02,-0.15 0.03,-0.22 0.01,-0.08 0.02,-0.15 0.03,-0.23 0.02,-0.1 0.05,-0.2 0.08,-0.3 0.01,-0.04 0.02,-0.09 0.03,-0.13 0.04,-0.12 0.08,-0.23 0.12,-0.35 0.01,-0.02 0.02,-0.04 0.02,-0.07 0.05,-0.13 0.11,-0.25 0.17,-0.37 0,-0.01 0.01,-0.02 0.01,-0.02 0.2,-0.39 0.46,-0.74 0.76,-1.05 0.05,-0.05 0.1,-0.1 0.15,-0.15 0.21,-0.2 0.44,-0.38 0.68,-0.54 0,0 0,0 0,0 0.12,-0.08 0.24,-0.15 0.37,-0.22 0.01,0 0.02,-0.01 0.02,-0.01 0.12,-0.06 0.24,-0.12 0.37,-0.17 0.02,-0.01 0.05,-0.02 0.07,-0.02 0.11,-0.04 0.23,-0.09 0.34,-0.12 0.04,-0.01 0.09,-0.02 0.13,-0.03 0.1,-0.03 0.2,-0.05 0.3,-0.07 0.08,-0.02 0.15,-0.02 0.23,-0.04 0.07,-0.01 0.14,-0.03 0.22,-0.03 0.15,-0.02 0.31,-0.02 0.47,-0.02 0.16,0 0.31,0.01 0.47,0.02 0.07,0.01 0.15,0.02 0.22,0.03 0.08,0.01 0.16,0.02 0.23,0.04 0.1,0.02 0.2,0.05 0.3,0.07 0.04,0.01 0.09,0.02 0.13,0.03 0.12,0.04 0.23,0.08 0.34,0.12 0.02,0.01 0.05,0.02 0.07,0.02 0.13,0.05 0.25,0.11 0.37,0.17 0.01,0 0.02,0.01 0.02,0.01 0.13,0.07 0.25,0.14 0.37,0.22 0,0 0,0 0,0 0.24,0.16 0.47,0.34 0.68,0.54 0.02,0.02 0.05,0.04 0.07,0.06 0.32,0.32 0.59,0.68 0.81,1.07 0,0 0,0 0,0 0.07,0.13 0.13,0.26 0.19,0.39 0,0.01 0.01,0.01 0.01,0.02 0.05,0.13 0.1,0.25 0.14,0.38 0,0.02 0.01,0.03 0.02,0.05 0.04,0.12 0.07,0.24 0.1,0.37 0.01,0.03 0.02,0.05 0.02,0.08 0.02,0.12 0.04,0.24 0.06,0.36 0,0.04 0.01,0.07 0.02,0.11 0.02,0.16 0.02,0.31 0.02,0.47 0,0 0,0 0,0 0.01,2.57 -2.07,4.65 -4.64,4.65 z m 109.13,50.25 c -0.01,-1.46 -0.97,-2.74 -2.37,-3.14 -1.4,-0.41 -2.9,0.16 -3.69,1.39 L 108.63,142.63 73.3,88.8 c -0.8,-1.22 -2.3,-1.76 -3.69,-1.35 -1.39,0.42 -2.35,1.7 -2.35,3.15 v 76.42 H 43.79 V 43.66 c 2.49,-0.95 4.48,-2.93 5.42,-5.43 h 18.3 l 38.35,60.33 c 0.6,0.95 1.65,1.53 2.78,1.53 0,0 0,0 0,0 1.13,0 2.18,-0.58 2.78,-1.53 l 38.16,-60.32 h 23.72 v 123.37 c -2.49,0.94 -4.47,2.93 -5.42,5.42 h -17.87 z m 30.18,83.83 v 0 c -0.21,0.2 -0.44,0.38 -0.68,0.54 0,0 0,0 0,0 -0.12,0.08 -0.24,0.15 -0.37,0.22 -0.01,0 -0.02,0.01 -0.03,0.01 -0.12,0.06 -0.24,0.12 -0.37,0.17 -0.02,0.01 -0.05,0.02 -0.07,0.02 -0.11,0.04 -0.23,0.09 -0.34,0.12 -0.04,0.01 -0.09,0.02 -0.13,0.03 -0.1,0.03 -0.2,0.05 -0.3,0.07 -0.07,0.01 -0.15,0.02 -0.23,0.03 -0.07,0.01 -0.15,0.03 -0.22,0.03 -0.15,0.02 -0.31,0.02 -0.47,0.02 -0.16,0 -0.31,-0.01 -0.47,-0.02 -0.07,-0.01 -0.15,-0.02 -0.22,-0.03 -0.08,-0.01 -0.15,-0.02 -0.23,-0.03 -0.1,-0.02 -0.2,-0.05 -0.3,-0.07 -0.04,-0.01 -0.09,-0.02 -0.13,-0.03 -0.12,-0.04 -0.23,-0.08 -0.34,-0.12 -0.02,-0.01 -0.05,-0.02 -0.07,-0.03 -0.12,-0.05 -0.25,-0.11 -0.36,-0.17 -0.01,0 -0.02,-0.01 -0.03,-0.01 -0.13,-0.07 -0.25,-0.14 -0.37,-0.22 0,0 0,0 0,0 -0.24,-0.16 -0.47,-0.34 -0.68,-0.54 -0.03,-0.02 -0.05,-0.05 -0.08,-0.07 -0.32,-0.32 -0.59,-0.68 -0.8,-1.07 0,0 0,0 0,0 -0.07,-0.13 -0.13,-0.26 -0.19,-0.4 0,0 0,-0.01 -0.01,-0.01 -0.05,-0.12 -0.1,-0.25 -0.14,-0.38 -0.01,-0.02 -0.01,-0.03 -0.02,-0.05 -0.04,-0.12 -0.07,-0.24 -0.09,-0.36 -0.01,-0.03 -0.02,-0.06 -0.02,-0.08 -0.02,-0.11 -0.04,-0.22 -0.05,-0.34 -0.01,-0.04 -0.01,-0.08 -0.02,-0.13 -0.02,-0.16 -0.02,-0.31 -0.02,-0.48 0,-2.56 2.09,-4.65 4.65,-4.65 0.16,0 0.32,0.01 0.48,0.02 0.04,0 0.08,0.01 0.13,0.02 0.11,0.01 0.22,0.03 0.33,0.05 0.03,0.01 0.06,0.02 0.09,0.02 0.12,0.03 0.24,0.06 0.36,0.09 0.02,0.01 0.04,0.02 0.06,0.02 0.12,0.04 0.25,0.08 0.37,0.14 0.01,0 0.02,0.01 0.03,0.01 0.13,0.06 0.25,0.12 0.38,0.18 0,0 0.01,0 0.01,0.01 0.39,0.21 0.75,0.48 1.06,0.8 0.02,0.03 0.05,0.05 0.07,0.08 v 0 c 0.2,0.21 0.38,0.44 0.54,0.68 0,0 0,0 0,0 0.08,0.12 0.15,0.24 0.22,0.37 0,0.01 0.01,0.02 0.01,0.03 0.06,0.12 0.12,0.24 0.17,0.37 0.01,0.02 0.02,0.05 0.03,0.07 0.04,0.11 0.09,0.23 0.12,0.34 0.01,0.04 0.02,0.09 0.03,0.13 0.03,0.1 0.05,0.2 0.07,0.3 0.01,0.07 0.02,0.15 0.03,0.23 0.01,0.07 0.03,0.15 0.03,0.22 0.02,0.15 0.02,0.31 0.02,0.47 0,0.16 -0.01,0.31 -0.02,0.47 -0.01,0.08 -0.02,0.15 -0.03,0.22 -0.01,0.08 -0.02,0.15 -0.03,0.23 -0.02,0.1 -0.05,0.2 -0.07,0.3 -0.01,0.04 -0.02,0.09 -0.03,0.13 -0.04,0.12 -0.08,0.23 -0.12,0.34 -0.01,0.02 -0.02,0.05 -0.03,0.07 -0.05,0.12 -0.11,0.25 -0.17,0.37 0,0.01 -0.01,0.02 -0.01,0.03 -0.07,0.13 -0.14,0.25 -0.22,0.37 0,0 0,0 0,0 -0.16,0.24 -0.34,0.47 -0.54,0.68 v 0 c -0.06,0.06 -0.11,0.12 -0.17,0.17 z" id="path34" style="fill:#ffffff" /> </svg> </a> </div> <div class="md-social"> <a href="https://gtfs.org/blog/feed_rss_created.xml" target="_blank" rel="noopener" title="GTFS Digest RSS feed" class="md-social__link"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M64 32C28.7 32 0 60.7 0 96v320c0 35.3 28.7 64 64 64h320c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64zm32 104c0-13.3 10.7-24 24-24 137 0 248 111 248 248 0 13.3-10.7 24-24 24s-24-10.7-24-24c0-110.5-89.5-200-200-200-13.3 0-24-10.7-24-24m0 96c0-13.3 10.7-24 24-24 83.9 0 152 68.1 152 152 0 13.3-10.7 24-24 24s-24-10.7-24-24c0-57.4-46.6-104-104-104-13.3 0-24-10.7-24-24m0 120a32 32 0 1 1 64 0 32 32 0 1 1-64 0"/></svg> </a> <a href="https://github.com/MobilityData" target="_blank" rel="noopener" title="github.com" class="md-social__link"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href="https://www.linkedin.com/company/mobilitydata" target="_blank" rel="noopener" title="www.linkedin.com" class="md-social__link"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3M135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5m282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9z"/></svg> </a> <a href="https://share.mobilitydata.org/slack" target="_blank" rel="noopener" title="share.mobilitydata.org" class="md-social__link"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1s21.16-47.06 47.06-47.06h47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06S448 171 448 196.9s-21.16 47.06-47.06 47.06h-47.06zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06S309 480 283.1 480s-47.06-21.16-47.06-47.06v-47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06s21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06z"/></svg> </a> </div> </div> </div> </footer> </div> <div class="md-dialog" data-md-component="dialog"> <div class="md-dialog__inner md-typeset"></div> </div> <div class="md-consent" data-md-component="consent" id="__consent" hidden> <div class="md-consent__overlay"></div> <aside class="md-consent__inner"> <form class="md-consent__form md-grid md-typeset" name="consent"> <h4>Cookie Consent</h4> <p>We use cookies to track visits, stored anonymously. With your consent, you're helping us to make our documentation better. See our <a href="https://mobilitydata.org/privacy-policy/" target="_blank" rel="noopener">Privacy Policy</a>.</p> <input class="md-toggle" type="checkbox" id="__settings" > <div class="md-consent__settings"> <ul class="task-list"> <li class="task-list-item"> <label class="task-list-control"> <input type="checkbox" name="analytics" checked> <span class="task-list-indicator"></span> Google Analytics </label> </li> <li class="task-list-item"> <label class="task-list-control"> <input type="checkbox" name="github" checked> <span class="task-list-indicator"></span> GitHub </label> </li> </ul> </div> <div class="md-consent__controls"> <button class="md-button md-button--primary">Accept</button> <button type="reset" class="md-button md-button--primary">Reject</button> <label class="md-button" for="__settings">Manage settings</label> </div> </form> </aside> </div> <script>var consent=__md_get("__consent");if(consent)for(var input of document.forms.consent.elements)input.name&&(input.checked=consent[input.name]||!1);else"file:"!==location.protocol&&setTimeout((function(){document.querySelector("[data-md-component=consent]").hidden=!1}),250);var form=document.forms.consent;for(var action of["submit","reset"])form.addEventListener(action,(function(e){if(e.preventDefault(),"reset"===e.type)for(var n of document.forms.consent.elements)n.name&&(n.checked=!1);__md_set("__consent",Object.fromEntries(Array.from(new FormData(form).keys()).map((function(e){return[e,!0]})))),location.hash="",location.reload()}))</script> <script id="__config" type="application/json">{"base": ".", "features": ["navigation.tabs", "navigation.indexes", "navigation.top", "navigation.footer", "content.tabs.link", "search.suggest"], "search": "assets/javascripts/workers/search.c7c1ca2c.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src="assets/javascripts/bundle.203fd0bc.min.js"></script> </body> </html>