<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Bluebikes on homelab</title>
    <link>https://homelab.nbkelley.com/tags/bluebikes/</link>
    <description>Recent content in Bluebikes on homelab</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Fri, 01 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://homelab.nbkelley.com/tags/bluebikes/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>BlueBikes API Feeds Guide</title>
      <link>https://homelab.nbkelley.com/docs/services/bluebikes-api/</link>
      <pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab.nbkelley.com/docs/services/bluebikes-api/</guid>
      <description>&lt;h1 id=&#34;bluebikes-api-feeds-guide&#34;&gt;BlueBikes API Feeds Guide&lt;a class=&#34;anchor&#34; href=&#34;#bluebikes-api-feeds-guide&#34;&gt;#&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;h2 id=&#34;what-was-established&#34;&gt;What Was Established&lt;a class=&#34;anchor&#34; href=&#34;#what-was-established&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Comprehensive breakdown of BlueBikes GBFS (General Bikeshare Feed Specification) endpoints.&lt;/li&gt;&#xA;&lt;li&gt;JSON structure analysis for static (&lt;code&gt;station_information&lt;/code&gt;) and real-time (&lt;code&gt;station_status&lt;/code&gt;) feeds.&lt;/li&gt;&#xA;&lt;li&gt;JavaScript patterns for fetching, joining, and displaying station data.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;key-decisions&#34;&gt;Key Decisions&lt;a class=&#34;anchor&#34; href=&#34;#key-decisions&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Base URL&lt;/strong&gt;: &lt;code&gt;https://gbfs.lyft.com/gbfs/1.1/bos/en/&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Primary Feeds&lt;/strong&gt;: &lt;code&gt;station_information&lt;/code&gt; (static map/location data) and &lt;code&gt;station_status&lt;/code&gt; (live availability) are the core feeds for real-time tracking.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Join Strategy&lt;/strong&gt;: Match &lt;code&gt;station_id&lt;/code&gt; fields between static and status feeds to combine location metadata with live bike/dock counts.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;current-configuration&#34;&gt;Current Configuration&lt;a class=&#34;anchor&#34; href=&#34;#current-configuration&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;core-gbfs-endpoints&#34;&gt;Core GBFS Endpoints&lt;a class=&#34;anchor&#34; href=&#34;#core-gbfs-endpoints&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Feed&lt;/th&gt;&#xA;          &lt;th&gt;Purpose&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;station_information&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Static station list, names, IDs, coordinates, capacity, kiosk info&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;station_status&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Real-time bike/dock counts, station active/inactive status, last reported timestamp&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;system_information&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;System metadata (operator, name, URLs)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;system_regions&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Regional breakdowns for color-coding/mapping&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;system_hours&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Operating hours&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;system_calendar&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Start/end years, holidays&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;gbfs_versions&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Available GBFS versions&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;free_bike_status&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Free-floating bike locations&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;ebikes_at_stations&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Real-time e-bike counts per station&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;system_pricing_plans&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Membership &amp;amp; pricing details&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;system_alerts&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Current advisories&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;data-structure-examples&#34;&gt;Data Structure Examples&lt;a class=&#34;anchor&#34; href=&#34;#data-structure-examples&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;station_information&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
