CINXE.COM
Flexible services - General Transit Feed Specification
<!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/getting-started/features/flexible-services/"> <link rel="prev" href="../pathways/"> <link rel="next" href="../../example-feed/"> <link rel="alternate" href="./" hreflang="en"> <link rel="alternate" href="../../../fr/getting-started/features/flexible-services/" hreflang="fr"> <link rel="alternate" href="../../../es/getting-started/features/flexible-services/" hreflang="es"> <link rel="alternate" href="../../../ja/getting-started/features/flexible-services/" hreflang="ja"> <link rel="alternate" href="../../../de/getting-started/features/flexible-services/" hreflang="de"> <link rel="alternate" href="../../../pt/getting-started/features/flexible-services/" hreflang="pt"> <link rel="alternate" href="../../../ru/getting-started/features/flexible-services/" hreflang="ru"> <link rel="alternate" href="../../../id/getting-started/features/flexible-services/" hreflang="id"> <link rel="alternate" href="../../../ko/getting-started/features/flexible-services/" hreflang="ko"> <link rel="alternate" href="../../../zh/getting-started/features/flexible-services/" hreflang="zh"> <link rel="alternate" href="../../../zh-TW/getting-started/features/flexible-services/" hreflang="zh-TW"> <link rel="icon" href="../../../assets/favicon.ico"> <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.44+insiders-4.53.14"> <title>Flexible services - General Transit Feed Specification</title> <link rel="stylesheet" href="../../../assets/stylesheets/main.12320a83.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"> <a href="#flexible-services" class="md-skip"> Skip to content </a> </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"> Flexible services </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/getting-started/features/flexible-services/" hreflang="fr" class="md-select__link"> Français </a> </li> <li class="md-select__item"> <a href="../../../es/getting-started/features/flexible-services/" hreflang="es" class="md-select__link"> Español </a> </li> <li class="md-select__item"> <a href="../../../ja/getting-started/features/flexible-services/" hreflang="ja" class="md-select__link"> 日本語 </a> </li> <li class="md-select__item"> <a href="../../../de/getting-started/features/flexible-services/" hreflang="de" class="md-select__link"> Deutsch (wird bald verfügbar sein) </a> </li> <li class="md-select__item"> <a href="../../../pt/getting-started/features/flexible-services/" hreflang="pt" class="md-select__link"> Português (em breve) </a> </li> <li class="md-select__item"> <a href="../../../ru/getting-started/features/flexible-services/" hreflang="ru" class="md-select__link"> Русский (будет добавлен позже) </a> </li> <li class="md-select__item"> <a href="../../../id/getting-started/features/flexible-services/" hreflang="id" class="md-select__link"> Bahasa Indonesia (akan segera hadir) </a> </li> <li class="md-select__item"> <a href="../../../ko/getting-started/features/flexible-services/" hreflang="ko" class="md-select__link"> 한국어 (곧 제공 예정) </a> </li> <li class="md-select__item"> <a href="../../../zh/getting-started/features/flexible-services/" hreflang="zh" class="md-select__link"> 中文 - 简体(即将推出) </a> </li> <li class="md-select__item"> <a href="../../../zh-TW/getting-started/features/flexible-services/" 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.6.0 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"> <a href="../../.." class="md-tabs__link"> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href="../../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> <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.6.0 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"> <a href="../../.." class="md-nav__link"> <span class="md-ellipsis"> Home </span> </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" checked> <label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex=""> <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="true"> <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="../../what-is-GTFS/" class="md-nav__link"> <span class="md-ellipsis"> What is GTFS? </span> </a> </li> <li class="md-nav__item"> <a href="../../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="../../create/" class="md-nav__link"> <span class="md-ellipsis"> Create </span> </a> </li> <li class="md-nav__item"> <a href="../../validate/" class="md-nav__link"> <span class="md-ellipsis"> Validate </span> </a> </li> <li class="md-nav__item"> <a href="../../publish/" class="md-nav__link"> <span class="md-ellipsis"> Publish </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4" checked> <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="true"> <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="../overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item"> <a href="../base/" class="md-nav__link"> <span class="md-ellipsis"> Base </span> </a> </li> <li class="md-nav__item"> <a href="../base-add-ons/" class="md-nav__link"> <span class="md-ellipsis"> Base add-ons </span> </a> </li> <li class="md-nav__item"> <a href="../accessibility/" class="md-nav__link"> <span class="md-ellipsis"> Accessibility </span> </a> </li> <li class="md-nav__item"> <a href="../fares/" class="md-nav__link"> <span class="md-ellipsis"> Fares </span> </a> </li> <li class="md-nav__item"> <a href="../pathways/" class="md-nav__link"> <span class="md-ellipsis"> Pathways </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc"> <label class="md-nav__link md-nav__link--active" for="__toc"> <span class="md-ellipsis"> Flexible services </span> <span class="md-nav__icon md-icon"></span> </label> <a href="./" class="md-nav__link md-nav__link--active"> <span class="md-ellipsis"> Flexible services </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class="md-nav__title" for="__toc"> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> <li class="md-nav__item"> <a href="#continuous-stops" class="md-nav__link"> <span class="md-ellipsis"> Continuous Stops </span> </a> </li> <li class="md-nav__item"> <a href="#booking-rules" class="md-nav__link"> <span class="md-ellipsis"> Booking Rules </span> </a> </li> <li class="md-nav__item"> <a href="#predefined-routes-with-deviation" class="md-nav__link"> <span class="md-ellipsis"> Predefined Routes with Deviation </span> </a> </li> <li class="md-nav__item"> <a href="#zone-based-demand-responsive-services" class="md-nav__link"> <span class="md-ellipsis"> Zone-Based Demand Responsive Services </span> </a> </li> <li class="md-nav__item"> <a href="#fixed-stops-demand-responsive-services" class="md-nav__link"> <span class="md-ellipsis"> Fixed-Stops Demand Responsive Services </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../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"> <label class="md-nav__title" for="__toc"> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> <li class="md-nav__item"> <a href="#continuous-stops" class="md-nav__link"> <span class="md-ellipsis"> Continuous Stops </span> </a> </li> <li class="md-nav__item"> <a href="#booking-rules" class="md-nav__link"> <span class="md-ellipsis"> Booking Rules </span> </a> </li> <li class="md-nav__item"> <a href="#predefined-routes-with-deviation" class="md-nav__link"> <span class="md-ellipsis"> Predefined Routes with Deviation </span> </a> </li> <li class="md-nav__item"> <a href="#zone-based-demand-responsive-services" class="md-nav__link"> <span class="md-ellipsis"> Zone-Based Demand Responsive Services </span> </a> </li> <li class="md-nav__item"> <a href="#fixed-stops-demand-responsive-services" class="md-nav__link"> <span class="md-ellipsis"> Fixed-Stops Demand Responsive Services </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-content" data-md-component="content"> <article class="md-content__inner md-typeset"> <h1 id="flexible-services"><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 3a3 3 0 0 0-2.39 1.21A11.5 11.5 0 0 0 13.75 4l.13 2a9.5 9.5 0 0 1 2.12.13A3 3 0 1 0 19 3m0 4a1 1 0 1 1 1-1 1 1 0 0 1-1 1m-10.14.86L7.67 6.25a11.5 11.5 0 0 1 3.93-1.88l.5 1.94a9.5 9.5 0 0 0-3.24 1.55M21 18a3 3 0 1 1-5.31-1.89 9.47 9.47 0 0 0-7.1-2.65c-.22.01-.43.04-.65.08a3 3 0 1 1-3.55-3.48A11.5 11.5 0 0 1 6.04 7.7L7.5 9.06a9.3 9.3 0 0 0-1 1.35 3.04 3.04 0 0 1 1.12 1.15c.29-.06.57-.06.88-.1a11.47 11.47 0 0 1 8.96 3.59A3 3 0 0 1 18 15a3 3 0 0 1 3 3"/></svg></span> Flexible Services<a class="headerlink" href="#flexible-services" title="Permanent link">¶</a></h1> <p>Flexible services, also called demand-responsibe services, are services that do not follow the common behavior of scheduled and/or fixed service. </p> <h2 id="continuous-stops">Continuous Stops<a class="headerlink" href="#continuous-stops" title="Permanent link">¶</a></h2> <p>Continuous Stops is used when riders can be picked up and/or dropped off between scheduled stops. This can be specified either in <code>routes.txt</code>, indicating that riders can be picked up or dropped off at any point along the vehicle’s travel path for every trip of the route, or in <code>stop_times.txt</code> for a specific section of a route. </p> <table> <thead> <tr> <th>Files included</th> <th>Fields included</th> </tr> </thead> <tbody> <tr> <td><a href="../../../documentation/schedule/reference/#stop_timestxt">stop_times.txt</a></td> <td><code>continuous_pickup</code>, <code>continuous_drop_off</code></td> </tr> <tr> <td><a href="../../../documentation/schedule/reference/#routestxt">routes.txt</a></td> <td><code>continuous_pickup</code>, <code>continuous_drop_off</code></td> </tr> </tbody> </table> <p><strong>Prerequisites</strong>: </p> <ul> <li><a href="../base">Base features</a></li> </ul> <details class="note"> <summary>Sample Data</summary> <p><p style="font-size:16px"> The following sample shows two ways of representing Continuous Stop. </p></p> <p><p style="font-size:16px"> The first sample shows that pickups and dropoffs are allowed at any point along route <code>RA</code>. </p></p> <p><p style="font-size:16px"> The second sample shows that pickups and dropoffs are allowed between the third and fifth stops of trip <code>AWE1</code>, accomplished by assigning <code>continuous_pickup</code> and <code>continuous_drop_off</code> values to <code>stop_sequence=3</code> and <code>stop_sequence=4</code>. </p></p> </p> <div class="admonition note"> <p><p style="font-size:16px"> <a href="../../../documentation/schedule/reference/#routestxt"><b>routes.txt</b></a> <br> </p></p> <table> <thead> <tr> <th>route_id</th> <th>route_short_name</th> <th>route_type</th> <th>continuous_pickup</th> <th>continuous_drop_off</th> </tr> </thead> <tbody> <tr> <td>RA</td> <td>17</td> <td>3</td> <td>0</td> <td>0</td> </tr> </tbody> </table> </div> <div class="admonition note"> <p><p style="font-size:16px"> <a href="../../../documentation/schedule/reference/#stop_timestxt"><b>stop_times.txt</b></a> <br> </p></p> <table> <thead> <tr> <th>trip_id</th> <th>arrival_time</th> <th>departure_time</th> <th>stop_id</th> <th>stop_sequence</th> <th>continuous_pickup</th> <th>continuous_drop_off</th> </tr> </thead> <tbody> <tr> <td>AWE1</td> <td>6:10:00</td> <td>6:10:00</td> <td>TAS001</td> <td>1</td> <td></td> <td></td> </tr> <tr> <td>AWE1</td> <td>6:14:00</td> <td>6:14:00</td> <td>TAS002</td> <td>2</td> <td></td> <td></td> </tr> <tr> <td>AWE1</td> <td>6:20:00</td> <td>6:20:00</td> <td>TAS003</td> <td>3</td> <td>0</td> <td>0</td> </tr> <tr> <td>AWE1</td> <td>6:23:00</td> <td>6:23:00</td> <td>TAS004</td> <td>4</td> <td>0</td> <td>0</td> </tr> <tr> <td>AWE1</td> <td>6:25:00</td> <td>6:25:00</td> <td>TAS005</td> <td>5</td> <td></td> <td></td> </tr> </tbody> </table> </div> </details> <h2 id="booking-rules">Booking Rules<a class="headerlink" href="#booking-rules" title="Permanent link">¶</a></h2> <p>Booking Rules can be used to enable users to reserve a trip on a demand-responsive service. These rules outline the necessary prerequisites for successful bookings and provide contact information where users can make trip reservations. This feature should be used in conjunction with <a href="#predefined-routes-with-deviation">Predefined Routes with Deviation</a>, <a href="#zone-based-demand-responsive-services">Zone-Based Demand Responsive Services</a> and <a href="#fixed-stops-demand-responsive-services">Fixed-Stops Demand Responsive Services</a> features, if such services require booking.</p> <table> <thead> <tr> <th>Files included</th> <th>Fields included</th> </tr> </thead> <tbody> <tr> <td><a href="../../../documentation/schedule/reference/#booking_rulestxt">booking_rules.txt</a></td> <td><code>booking_rule_id</code>, <code>booking_type</code>, <code>prior_notice_duration_min</code>, <code>prior_notice_duration_max</code>, <code>prior_notice_last_day</code>, <code>prior_notice_last_time</code>, <code>prior_notice_start_day</code>, <code>prior_notice_start_time</code>, <code>prior_notice_service_id</code>, <code>message</code>, <code>pickup_message</code>, <code>drop_off_message</code>, <code>phone_number</code>, <code>info_url</code>, <code>booking_url</code></td> </tr> </tbody> </table> <p><strong>Prerequisites</strong>: </p> <ul> <li><a href="../base">Base features</a></li> </ul> <details class="note"> <summary>Sample Data</summary> <p><p style="font-size:16px"> The following sample shows two different sets of booking rules, the first one for trips that must be booked at least one day in advance (before 1PM) and no more than 14 days prior, and a second one for trips that can be booked at least 45 minutes prior to the trip and no more than 5 hours before.</p> </p> <div class="admonition note"> <p><p style="font-size:16px"> <a href="../../../documentation/schedule/reference/#booking_rulestxt"><b>booking_rules.txt</b></a> <br> </p></p> <table> <thead> <tr> <th>booking_rule_id</th> <th>booking_type</th> <th>prior_notice_duration_min</th> <th>prior_notice_duration_max</th> <th>prior_notice_last_day</th> <th>prior_notice_last_time</th> <th>prior_notice_start_day</th> <th>prior_notice_start_time</th> <th>prior_notice_service_id</th> <th>message</th> <th>pickup_message</th> <th>drop_off_message</th> <th>phone_number</th> <th>info_url</th> <th>booking_url</th> </tr> </thead> <tbody> <tr> <td>route_br_1818</td> <td>2</td> <td></td> <td></td> <td>1</td> <td>13:00</td> <td>14</td> <td>9:00</td> <td></td> <td>To request a ride, call 123-111-2233 before 1pm at least one business day ahead of your trip. You can book trips up to 14 business days in advace.</td> <td></td> <td></td> <td>(123)-111-2233</td> <td>flexservice.org/info</td> <td>flexservice.org/booking</td> </tr> <tr> <td>route_br_4545</td> <td>1</td> <td>45</td> <td>300</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>To request a ride, use the official booking system in our website, trips must be booked at least 45 min in advance</td> <td></td> <td></td> <td>(123)-111-2233</td> <td>flexservice.org/info</td> <td>flexservice.org/booking</td> </tr> </tbody> </table> </div> </details> <h2 id="predefined-routes-with-deviation">Predefined Routes with Deviation<a class="headerlink" href="#predefined-routes-with-deviation" title="Permanent link">¶</a></h2> <p>Predefined Routes with Deviation can be used to model flexible services where vehicles can briefly deviate from a specific route to pick up users that booked a trip within a specific area along the route. This uses a combination of traditional stops (like a regular scheduled service) and zones using <code>locations.geojson</code>.</p> <table> <thead> <tr> <th>Files included</th> <th>Fields included</th> </tr> </thead> <tbody> <tr> <td><a href="../../../documentation/schedule/reference/#stop_timestxt">stop_times.txt</a></td> <td><code>location_id</code>, <code>start_pickup_drop_off_window</code>, <code>end_pickup_drop_off_window</code>, <code>pickup_booking_rule_id</code>, <code>drop_off_booking_rule_id</code></td> </tr> <tr> <td><a href="../../../documentation/schedule/reference/#locationsgeojson">locations.geojson</a></td> <td><code>Type</code>, <code>Features</code>, <code>Features:Type</code>, <code>Features:Id</code>, <code>Features:Properties</code>, <code>Features:Properties:Stop_name</code>, <code>Features:Properties:Stop_description</code>, <code>Features:Geometry</code>, <code>Features:Geometry:Type</code>, <code>Features:Geometry:Coordinates</code></td> </tr> </tbody> </table> <p><strong>Prerequisites</strong>:</p> <ul> <li><a href="../base">Base features</a></li> <li><a href="#booking-rules">Booking Rules</a> if the service requires booking</li> </ul> <details class="note"> <summary>Sample Data</summary> <p><p style="font-size:16px"> The following sample shows a trip with three fixed stops that can also drop-off passengers anywhere within specific areas defined between the fixed stops. </p></p> <div class="admonition note"> <p><p style="font-size:16px"> <a href="../../../documentation/schedule/reference/#stop_timestxt"><b>stop_times.txt</b></a> <br> </p></p> <table> <thead> <tr> <th>trip_id</th> <th>arrival_time</th> <th>departure_time</th> <th>stop_id</th> <th>location_id</th> <th>stop_sequence</th> <th>start_pickup_drop_off_window</th> <th>end_pickup_drop_off_window</th> <th>pickup_type</th> <th>drop_off_type</th> <th>shape_dist_traveled</th> <th>pickup_booking_rule_id</th> <th>drop_off_booking_rule_id</th> </tr> </thead> <tbody> <tr> <td>4545_001</td> <td>10:00:00</td> <td>10:00:00</td> <td>S50122</td> <td></td> <td>1</td> <td></td> <td></td> <td></td> <td></td> <td>0</td> <td></td> <td></td> </tr> <tr> <td>4545_001</td> <td></td> <td></td> <td></td> <td>zone_S50122_to_S50123</td> <td>2</td> <td>10:00:00</td> <td>10:06:00</td> <td>1</td> <td>3</td> <td></td> <td>br_1234</td> <td>br_1234</td> </tr> <tr> <td>4545_001</td> <td>10:06:00</td> <td>10:06:00</td> <td>S50123</td> <td></td> <td>3</td> <td></td> <td></td> <td></td> <td></td> <td>983</td> <td></td> <td></td> </tr> <tr> <td>4545_001</td> <td></td> <td></td> <td></td> <td>zone_S50123_to_S50124</td> <td>4</td> <td>10:06:00</td> <td>10:15:00</td> <td>1</td> <td>3</td> <td></td> <td>br_1234</td> <td>br_1234</td> </tr> <tr> <td>4545_001</td> <td>10:15:00</td> <td>10:15:00</td> <td>S50124</td> <td></td> <td>5</td> <td></td> <td></td> <td></td> <td></td> <td>2109</td> <td></td> <td></td> </tr> </tbody> </table> </div> <div class="admonition note"> <p><p style="font-size:16px"> <a href="../../../documentation/schedule/reference/#locationsgeojson"><b>locations.geojson</b></a> <br> </p></p> <div class="highlight"><pre><span></span><code>{ "type": "FeatureCollection", "features": [ { "id": "zone_S50122_to_S50123", "type": "Feature", "geometry": { "type": "Polygon", # Simplified, only presenting 3 coordinates here. "coordinates": [ [ [ -73.575952, 45.514974 ], [ -73.577314, 45.513433 ], [ -73.569794, 45.5098370 ] ] ] }, "properties": {} }, { "id": "zone_S50123_to_S50124", "type": "Feature", "geometry": { "type": "Polygon", # Simplified, only presenting 3 coordinates here. "coordinates": [ [ [ -73.561332, 45.5085599 ], [ -73.5701298, 45.5124057 ], [ -73.571302, 45.5105563 ] ] ] }, "properties": {} } ] } </code></pre></div> </div> </details> <h2 id="zone-based-demand-responsive-services">Zone-Based Demand Responsive Services<a class="headerlink" href="#zone-based-demand-responsive-services" title="Permanent link">¶</a></h2> <p>Zone-Based Demand Responsive Services is used to model services that allow pick up and/or drop off at any location within a specific area for users that book a trip. These areas are defined using <code>locations.geojson</code> so it does not require the use of <code>stops.txt</code>, nor <code>stop_times.arrival_time</code> & <code>stop_times.departure_time</code>.</p> <table> <thead> <tr> <th>Files included</th> <th>Fields included</th> </tr> </thead> <tbody> <tr> <td><a href="../../../documentation/schedule/reference/#stop_timestxt">stop_times.txt</a></td> <td><code>location_id</code>, <code>start_pickup_drop_off_window</code>, <code>end_pickup_drop_off_window</code>, <code>pickup_booking_rule_id</code>, <code>drop_off_booking_rule_id</code></td> </tr> <tr> <td><a href="../../../documentation/schedule/reference/#locationsgeojson">locations.geojson</a></td> <td><code>Type</code>, <code>Features</code>, <code>Features:Type</code>, <code>Features:Id</code>, <code>Features:Properties</code>, <code>Features:Properties:Stop_name</code>, <code>Features:Properties:Stop_description</code>, <code>Features:Geometry</code>, <code>Features:Geometry:Type</code>, <code>Features:Geometry:Coordinates</code></td> </tr> </tbody> </table> <p><strong>Prerequisites</strong>:</p> <ul> <li><a href="../base">Base features</a></li> <li><a href="#booking-rules">Booking Rules</a> if the service requires booking</li> </ul> <details class="note"> <summary>Sample Data</summary> <p><p style="font-size:16px"> The following sample shows a service that can pick-up and drop off pre-booked riders anywhere between a specific area between 9am and 6pm. </p></p> <div class="admonition note"> <p><p style="font-size:16px"> <a href="../../../documentation/schedule/reference/#stop_timestxt"><b>stop_times.txt</b></a> <br> </p></p> <table> <thead> <tr> <th>trip_id</th> <th>location_id</th> <th>stop_sequence</th> <th>start_pickup_drop_off_window</th> <th>end_pickup_drop_off_window</th> <th>pickup_type</th> <th>drop_off_type</th> <th>pickup_booking_rule_id</th> <th>drop_off_booking_rule_id</th> </tr> </thead> <tbody> <tr> <td>2708_001</td> <td>area_001</td> <td>1</td> <td>9:00:00</td> <td>18:00:00</td> <td>2</td> <td>1</td> <td>br_3289</td> <td>br_3289</td> </tr> <tr> <td>2708_001</td> <td>area_001</td> <td>2</td> <td>9:00:00</td> <td>18:00:00</td> <td>1</td> <td>2</td> <td>br_3289</td> <td>br_3289</td> </tr> </tbody> </table> </div> <div class="admonition note"> <p><p style="font-size:16px"> <a href="../../../documentation/schedule/reference/#locationsgeojson"><b>locations.geojson</b></a> <br> </p></p> <div class="highlight"><pre><span></span><code>{ "type": "FeatureCollection", "features": [ { "id": "area_001", "type": "Feature", "geometry": { "type": "Polygon", # Simplified, only presenting 3 coordinates here. "coordinates": [ [ [ -73.644437, 45.5023960 ], [ -73.641593, 45.5054392 ], [ -73.636580, 45.5081683 ] ] ] }, "properties": {} } ] } </code></pre></div> </div> </details> <h2 id="fixed-stops-demand-responsive-services">Fixed-Stops Demand Responsive Services<a class="headerlink" href="#fixed-stops-demand-responsive-services" title="Permanent link">¶</a></h2> <p>Fixed-Stops Demand Responsive Services is used to model services that allow pick up and/or drop off at any location within a group of pre-defined stops for users that book a trip. These groups of stops are defined using <code>location_groups.txt</code> and <code>location_group_stops.txt</code>.</p> <table> <thead> <tr> <th>Files included</th> <th>Fields included</th> </tr> </thead> <tbody> <tr> <td><a href="../../../documentation/schedule/reference/#stop_timestxt">stop_times.txt</a></td> <td><code>location_group_id</code>, <code>start_pickup_drop_off_window</code>, <code>end_pickup_drop_off_window</code>, <code>pickup_booking_rule_id</code>, <code>drop_off_booking_rule_id</code></td> </tr> <tr> <td><a href="../../../documentation/schedule/reference/#location_groupstxt">location_groups.txt</a></td> <td><code>location_group_id</code>, <code>location_group_name</code></td> </tr> <tr> <td><a href="../../../documentation/schedule/reference/#location_group_stopstxt">location_group_stops.txt</a></td> <td><code>location_group_id</code>, <code>stop_id</code></td> </tr> </tbody> </table> <p><strong>Prerequisites</strong>:</p> <ul> <li><a href="../base">Base features</a></li> <li><a href="#booking-rules">Booking Rules</a> if the service requires booking</li> </ul> <details class="note"> <summary>Sample Data</summary> <p><p style="font-size:16px"> The following sample shows a service that can pick-up and drop off pre-booked riders at 4 different stops between 7am and 10am.</p> </p> <div class="admonition note"> <p><p style="font-size:16px"> <a href="../../../documentation/schedule/reference/#location_groupstxt"><b>location_groups.txt</b></a> <br> </p></p> <table> <thead> <tr> <th>location_group_id</th> <th>location_group_name</th> </tr> </thead> <tbody> <tr> <td>r27_stops</td> <td>Yellow Borough Route 27 stops</td> </tr> </tbody> </table> </div> <div class="admonition note"> <p><p style="font-size:16px"> <a href="../../../documentation/schedule/reference/#location_group_stopstxt"><b>location_group_stops.txt</b></a> <br> </p></p> <table> <thead> <tr> <th>location_group_id</th> <th>stop_id</th> </tr> </thead> <tbody> <tr> <td>r27_stops</td> <td>syb029</td> </tr> <tr> <td>r27_stops</td> <td>syb030</td> </tr> <tr> <td>r27_stops</td> <td>syb031</td> </tr> <tr> <td>r27_stops</td> <td>syb032</td> </tr> </tbody> </table> </div> <div class="admonition note"> <p><p style="font-size:16px"> <a href="../../../documentation/schedule/reference/#stop_timestxt"><b>stop_times.txt</b></a> <br> </p></p> <table> <thead> <tr> <th>trip_id</th> <th>location_group_id</th> <th>stop_sequence</th> <th>start_pickup_drop_off_window</th> <th>end_pickup_drop_off_window</th> <th>pickup_type</th> <th>drop_off_type</th> <th>pickup_booking_rule_id</th> <th>drop_off_booking_rule_id</th> </tr> </thead> <tbody> <tr> <td>2714_002</td> <td>r27_stops</td> <td>1</td> <td>7:00:00</td> <td>10:00:00</td> <td>2</td> <td>1</td> <td>br_5478</td> <td>br_5478</td> </tr> <tr> <td>2714_002</td> <td>r27_stops</td> <td>2</td> <td>7:00:00</td> <td>10:00:00</td> <td>1</td> <td>2</td> <td>br_5478</td> <td>br_5478</td> </tr> </tbody> </table> </div> </details> </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.6.0 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.6.0 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.6.0 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.6.0 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>