このセクションに進む前に、まだ確認していない場合は、フィードを作成するサポート対象のマイクロモビリティ システムを確認してください。
以降のセクションでは、各ヘッダーの形式は Required|Optional|Conditionally required: Feed name (System supported)
です。次のシステムがサポートされています。
- ドッキング システム
- ドックレス システム
- ドック型システムとドックレス型システム
Google との統合を成功させるには、フィードで説明するシステムに必要なファイルのみを指定し、関連するセクションに含まれる必須フィールドを指定します。条件付き必須フィールドについては、フィールドの説明でガイダンスを確認してください。情報を追加してユーザー エクスペリエンスを向上させる省略可能なフィールドを指定することもできます。
マイクロモビリティ フィードの必須ヘッダー
マイクロモビリティ フィードとは、この記事で定義されているドッキング式またはドッキングなしのマイクロモビリティの構造化データを含むフィードです。
すべてのフィードでは、次の表に含まれるフィールドを JSON オブジェクトの最上位レベルで常に指定する必要があります。これらのフィールドは、まとめて 共通の GBFS ヘッダーと呼ばれます。
フィールド名 | タイプ | 要件 | 説明 |
---|---|---|---|
last_updated |
タイムスタンプ | 必須 | POSIX タイムスタンプ。1970 年 1 月 1 日 00:00:00 UTC からの経過秒数を指定します。 フィード内のデータが最後に更新された時刻に設定します。 |
ttl |
非負整数 | 必須 | フィードを更新するまでの残り時間を秒単位で表す負でない整数。 データを一定のレートで更新する必要がある場合は、この値を |
data |
JSON | 必須 | 個々のフィードのデータフィールドを含む JSON。 |
たとえば、共通の GBFS ヘッダーを指定する集約された free_bike_status.json
フィードは次のようになります。
{
"ttl": 30,
"last_updated": 1576123774,
"data": {
"bikes": [ ... ] // GBFS free bike status objects.
}
}
必須: system_information.json(ドッキング システムとドックレス システム)
必要に応じて、GBFS 仕様を参照してください。
このフィードには、システム オペレーターに関する詳細情報が記載されています。
フィールド名 | タイプ | 要件 | 説明 |
---|---|---|---|
system_id |
ID | 必須 | 車両共有システムのグローバルに一意の識別子。この値は、システムのライフサイクル全体を通して同じ値が維持されることを想定しています。車両が運行される個別のシステムまたは地理的エリアには、それぞれ独自の system_id を設定すべきです。システム ID は、ランダムな文字列ではなく、特定のシステムに属するものとして認識できるべきです(例: bcycle_austin、biketown_pdx)。 |
name |
文字列 | 必須 | お客様に表示されるシステムの名前。 |
rental_apps |
オブジェクト | 必須 | Android と iOS のレンタルアプリの情報をそれぞれのフィールドに含む JSON オブジェクト。 |
rental_apps.android |
オブジェクト | 条件付き必須 |
store_uri フィールドと discovery_uri フィールドに、Android プラットフォームのレンタルアプリのダウンロードとアプリの検出に関する情報が含まれます。システム プロバイダに Android レンタルアプリがある場合、このフィールドは必須です。
|
rental_apps.android.store_uri |
URI | 必須 | レンタル Android アプリをダウンロードできる URI。通常は、Google Play などのアプリストアの URI です。URI が Google Play などのアプリストアを指している場合は、Android のベスト プラクティスに沿って URI を設定することをおすすめします。そうすることで、閲覧アプリはウェブサイトではなく、ネイティブのアプリストア アプリに URI を直接開くことができます。 |
rental_apps.android.discovery_uri |
URI | 必須 | your_custom_scheme://your/path/here の形式の URI。この URI は、PackageManager.queryIntentActivities() がデバイスにレンタル Android アプリがインストールされているかどうかを検出するために使用できます。
|
rental_apps.ios |
オブジェクト | 条件付き必須 | store_uri フィールドと discovery_uri フィールドに、iOS プラットフォームのレンタルアプリのダウンロードとアプリの検出に関する情報が含まれます。システム プロバイダに iOS レンタルアプリがある場合、このフィールドは必須です。
|
rental_apps.ios.store_uri |
URI | 必須 | レンタル iOS アプリをダウンロードできる URI。通常は、Apple App Store などのアプリストアの URI です。URI が Apple App Store などのアプリストアを指している場合は、URI が iOS のベスト プラクティスに準拠していることを確認することをおすすめします。これにより、閲覧アプリはウェブサイトではなく、ネイティブのアプリストア アプリに URI を直接開くことができます。 |
rental_apps.ios.discovery_uri |
URI | 必須 | your_custom_scheme:// の形式の URI。URI は、UIApplication canOpenURL: でレンタル iOS アプリがデバイスにインストールされているかどうかを検出するために使用できます。
|
必須: free_bike_status.json(ドックレス システム)
必要に応じて、GBFS 仕様を参照してください。
このフィードでは、利用可能な独立型車両の場所と属性を定義します。プライバシー上の理由から、アクティブなレンタルの対象となる車両はこのフィードに表示されません。
フィールド名 | タイプ | 要件 | 説明 |
---|---|---|---|
bikes |
配列 | 必須 | 現在利用可能な停止中の自転車の配列。各自転車はオブジェクトです。 |
bikes[].bike_id |
ID | 必須 | 自転車の識別子。 プライバシーを保護するため、ID は乗車ごとにランダムな文字列に変更できます。 |
bikes[].lat |
緯度 | 必須 | 自転車の WGS 84 緯度(10 進数形式)。 |
bikes[].lon |
経度 | 必須 | 自転車の WGS 84 経度(10 進数形式)。 |
bikes[].is_reserved |
ブール値 | 必須 | 自転車が現在予約されているかどうか(次のとおり)。
|
bikes[].is_disabled |
ブール値 | 必須 | 自転車が現在無効になっているか故障しているか。次のいずれかになります。
|
bikes[].rental_uris |
オブジェクト | 必須 | Android、iOS、ウェブのレンタル URI をそれぞれのフィールドに含む JSON オブジェクト。 |
bikes[].rental_uris.android |
URI | 条件付き必須 |
Android ディープリンクをサポートするために、android.intent.action.VIEW Android インテントで Android アプリに渡すことができる URI。提供される rental_uris は
Android アプリリンクである必要があります。これにより、ユーザーがプロバイダ アプリケーションをインストールしていない場合に、ユーザーをアプリストアにリダイレクトする処理を閲覧アプリが手動で管理する必要がなくなります。この URI は、複数の自転車の情報を含む一般的なレンタル ページではなく、個々の自転車に固有のディープリンクである必要があります。ディープリンクは、プロンプトや、インタースティシャル ページ、ログインなしで、ユーザーを自転車に直接誘導する必要があります。ユーザーがアプリを開いたことがない場合でも、自転車を表示できるようにします。 パートナーがそれぞれの自転車を識別する他の手段を有している限り、自転車の パートナーが Android レンタルアプリを持っている場合、このフィールドは必須です。 Android アプリリンクの例:
|
bikes[].rental_uris.ios |
URI | 条件付き必須 | iOS で自転車のレンタルアプリを起動するために使用できる URI。詳しくは、Apple の
iOS カスタム URL スキームに関する記事をご覧ください。ユーザーがプロバイダ アプリケーションをインストールしていない場合に、閲覧アプリがユーザーをアプリストアにリダイレクトする処理を手動で管理する必要がないように、提供される rental_uris は
iOS ユニバーサル リンクである必要があります。この URI は、複数の自転車の情報を含む一般的なレンタル ページではなく、個々の自転車に固有のディープリンクである必要があります。ディープリンクは、プロンプトや、インタースティシャル ページ、ログインなしで、ユーザーを自転車に直接誘導する必要があります。ユーザーがアプリを開いたことがない場合でも、自転車を表示できるようにします。 パートナーがそれぞれの自転車を識別する他の手段を有している限り、自転車の URI に bike_id を含める必要はありません。たとえば、レンタルアプリは URI 内の他の識別子を使用して、自転車を一意に識別できます。 パートナーが iOS レンタルアプリを持っている場合、このフィールドは必須です。 iOS ユニバーサル リンクの例:
|
bikes[].rental_uris.web |
URL | 省略可 | この車両でのレンタカーに関する詳細情報を表示するためにウェブブラウザで使用できる URL。 この URL は、複数の自転車の情報を含む一般的なレンタル ページではなく、個々の自転車に固有のディープリンクである必要があります。ディープリンクは、プロンプトや、インタースティシャル ページ、ログインなしで、ユーザーを自転車に直接誘導する必要があります。ユーザーがアプリを開いたことがない場合でも、自転車を表示できるようにします。 自転車の このフィールドが設定されていない場合、ウェブブラウザでディープリンクがサポートされていないことを意味します。 値の例:
|
bikes[].vehicle_type_id |
ID | 必須 | vehicle_types.json セクションで説明されている車両の vehicle_type_id 。 |
bikes[].pricing_plan_id |
ID | 必須 | system_pricing_plans.json セクションで説明されているように、この車両タイプがレンタルされるときに適用される料金プランの識別子。 |
bikes[].current_range_meters |
非負の浮動小数 | 条件付き必須 | 車両に対応する vehicle_type 定義にモーターがある場合、このフィールドは必須です。車両の現在の充電量または燃料残量で、充電や給油なしで走行できる最長距離をメートル単位で設定します。 |
bikes[].last_reported |
タイムスタンプ | 省略可 | 車両がオペレーターのバックエンドにステータスを最後に報告した時刻に設定します。 |
以下は、free_bike_status.json
の例です。
"bikes": [{
"bike_id": "xyz123",
"lat": 12.34,
"lon": 56.78,
"is_reserved": true,
"is_disabled": false,
"rental_uris":{
"android": "https://www.example.com/app?sid=1234567890&platform=android",
"ios": "https://www.example.com/app?sid=1234567890&platform=ios",
"web": "https://www.example.com/app?sid=1234567890"
},
"vehicle_type_id": "scooter_electric",
"pricing_plan_id": "sydneyPlan1",
"current_range_meters": 4500,
"last_reported": 1434054678
},
{
"bike_id": "abc123",
"lat": 1.34,
"lon": 146.78,
"is_reserved": false,
"is_disabled": true,
"rental_uris":{
"android": "https://www.example.com/app?sid=1234567890&platform=android",
"ios": "https://www.example.com/app?sid=1234567890&platform=ios",
"web": "https://www.example.com/app?sid=1234567890"
},
"vehicle_type_id": "bike_manual",
"pricing_plan_id": "sydneyPlan1",
"last_reported": 1434054241
}
]
必須: vehicle_types.json(サイクルポートあり、サイクルポートなしのシステム)
必要に応じて、GBFS 仕様を参照してください。
このフィードでは、free_bike_status.json
セクションで参照される個々の車両タイプの詳細を定義します。
フィールド名 | タイプ | 要件 | 説明 |
---|---|---|---|
vehicle_types |
配列 | 必須 | オブジェクトの配列。各オブジェクトは、プロバイダのカタログ内の個別の車両タイプを定義します。特定の車両タイプに設定できるオブジェクトは 1 つのみです。 |
vehicle_types[].vehicle_type_id |
ID | 必須 | 特定の車種の一意の識別子。 |
vehicle_types[].form_factor |
列挙型 | 必須 | 現在有効な値の次のリストから、車両の一般的なフォーム ファクタを表す列挙型。
|
vehicle_types[].propulsion_type |
列挙型 | 必須 | 車両の主な推進タイプを表す列挙型。現在有効な値のリストは次のとおりです。
|
vehicle_types[].max_range_meters |
非負の浮動小数 | 条件付き必須 | propulsion_type が human に設定されていない場合、車両にはモーターが搭載されているため、このフィールドは必須です。車両が満タンまたは満充電の状態で、充電や給油なしで走行できる最長距離(メートル単位)に設定します。 |
以下は、vehicle_types.json
の例です。
"vehicle_types": [
{
"vehicle_type_id": "bike_manual",
"form_factor": "bicycle",
"propulsion_type": "human"
},
{
"vehicle_type_id": "scooter_electric",
"form_factor": "scooter",
"propulsion_type": "electric",
"max_range_meters": 10000
}
]
必須: system_pricing_plans.json(ドックレス システム)
必要に応じて、GBFS 仕様を参照してください。
このフィードでは、独立した車両の料金プランを定義します。プロバイダは、独立した車両の価格情報を表示する必要があります。
フィールド名 | タイプ | 要件 | 説明 |
---|---|---|---|
plans |
配列 | 必須 | 各オブジェクトが特定の料金プランを定義するオブジェクトの配列。 |
plans[].plan_id |
ID | 必須 | プロバイダが提供する特定の料金プランの一意の識別子を表す文字列。 |
plans[].url |
URL | 省略可 | 料金プランの詳細情報にエンドユーザーを誘導する URL。 |
plans[].currency |
文字列 | 必須 | 料金プランの ISO 4217 規格。 |
plans[].price |
非負の浮動小数点数 | 必須 |
料金プランは、レートなしの料金プランまたはレートありの料金プランとして定義する必要があります。
|
plans[].per_km_pricing |
配列 | 条件付き必須 |
価格が走行距離(キロメートル単位)の関数である場合は、このフィールドが必須になります。 オブジェクトの配列。各オブジェクトは、特定の距離で分割されたセグメントを定義します。各セグメントの 指定されたプランの合計価格を決定するには、指定されたプランの このフィールドが設定されていない場合、距離に基づく変動料金はないため、合計料金の一部として含まれません。 |
plans[].per_km_pricing[].start |
非負整数 | 必須 |
セグメント料金の課金が開始される距離(キロメートル単位)。このフィールドは、セグメントの範囲の開始となる包括的な値に設定されます。そのため、走行距離が一定の距離に達すると、rate が 1 回課金されます。 |
plans[].per_km_pricing[].rate |
浮動小数点数 | 必須 | 各 interval に課金されるレート。セグメントの start (この値を含む)から始まります。このフィールドに負の数を設定すると、旅行者は割引を受けられます。 |
plans[].per_km_pricing[].interval |
非負整数 | 必須 |
セグメントの
セグメントの このフィールドが |
plans[].per_km_pricing[].end |
非負整数 | 省略可 |
セグメントの このフィールドが設定されていないか空の場合、セグメントの |
plans[].per_min_pricing |
配列 | 条件付き必須 |
価格が経過時間(分単位で表示)の関数である場合は、このフィールドが必須になります。 オブジェクトの配列。各オブジェクトは、特定の時間で分割されたセグメントを定義します。各セグメントの 指定されたプランの合計価格を決定するには、指定されたプランの このフィールドが設定されていない場合、時間に基づく変動価格はないため、合計価格に含まれません。 |
plans[].per_min_pricing[].start |
浮動小数点数 | 必須 |
セグメント料金の課金が開始されるまでの時間(分単位)。このフィールドは、セグメントの範囲の開始となる包括的な値に設定されます。したがって、設定された時間が経過すると、rate は 1 回課金されます。 |
plans[].per_min_pricing[].rate |
浮動小数点数 | 必須 | 各 interval に請求される料金。レートはセグメントの start (この値を含む)から始まります。このフィールドに負の数を設定すると、旅行者は割引を受けられます。 |
plans[].per_min_pricing[].interval |
非負整数 | 必須 |
セグメントの
セグメントの このフィールドが |
plans[].per_min_pricing[].end |
非負整数 | 省略可 |
セグメントの このフィールドが設定されていないか空の場合、セグメントの |
system_pricing_plans.json の例
このセクションでは、有益な system_pricing_plans.json
コードサンプルを提供します。各例の関連する詳細と結果も提供されます。
system_pricing_plans.json の例 1
次の料金プランのコードサンプルは、次の間隔の乗車時間に基づく料金を示しています。
- [0,1): $2 USD
- 乗車時間が 1 分未満の場合、ユーザーは 2 米ドルを支払います。
- 例: 59 秒間の旅行
- [1,2): $3 USD
- 乗車時間が 1 分以上 2 分未満の場合、お客様は $2 + $1 = $3 米ドルを支払います。
- 例: 1 分間の乗車、1 分 45 秒間の乗車
- x が 2 以上の分数: $3 + (($2 + $1) * (x - 2 + 1))
USD
- 乗車時間が 2 分以上の場合は、2 分未満の部分に対して 3 ドル、2 分以降の部分に対して(
per_min_pricing
リストの最初の項目から継続して)1 ドル +(per_min_pricing
リストの 2 番目の項目)2 ドルを支払います。 - 例:
- 2 分間の乗車料金は $3 + ($2 + $1) = $6 USD
- 2 分 30 秒の乗車料金は 3 米ドル +(2 米ドル + 1 米ドル)= 6 米ドル
- 3 分間の乗車料金は $3 + (($2 + $1) * 2) = $9 USD
- 10 分間の乗車料金は 3 米ドル + (($2 + $1) * 9) = 30 米ドル
{
"plans": {
"plan_id": "plan1",
"currency": "USD",
"price": 2,
"per_min_pricing": [
{
"interval": 1,
"rate": 1,
"start": 1
},
{
"interval": 1,
"rate": 2,
"start": 2
}
],
}
}
system_pricing_plans.json の例 2
この例では、分とキロメートルの両方のレートで課金される料金プランのコードサンプルを示します。
- 具体的には、エンドユーザーには 1 km あたり $0.25 CAD と 1 分あたり $0.50 CAD が請求されます。
- これらのレートは同時に発生し、互いに依存していません。
- したがって、1 km の乗車で 10 分間かかった場合の料金は 9 カナダドルです。料金の内訳は次のとおりです。
- 基本料金 $3
- $0.25 * 2。乗車開始時と 1 km 地点で 1 回ずつ課金されます。
- $0.5 * 11。毎分の開始時に 1 回請求されます。料金は 0 秒から始まり、最後の間隔は 10 分で請求されます。
{
"plans": {
"plan_id": "plan2",
"currency": "CAD",
"price": 3,
"per_km_pricing": [{
"start": 0,
"rate": 0.25,
"interval": 1
}],
"per_min_pricing": [{
"start": 0,
"rate": 0.50,
"interval": 1
}]
}
}
条件付きで必須: geofencing_zones.json(ドッキング システムとドックレス システム)
必要に応じて、GBFS 仕様を参照してください。
このフィードでは、自立型車両のジオフェンシング データを定義します。ジオフェンシング データには、車両が乗車を開始および終了できる場所を指定する地理的境界と、車両が走行できる速度が含まれます。この速度は、車両の最高速度または車両が走行している道路の制限速度のいずれか低い方です。運転手は地域の法律と条例を遵守する必要があります。
このデータは、ユーザーが特定のルートを検索したときに、旅行の終了地点が特定のジオフェンスの外にある場合、マイクロモビリティの結果が除外されるようにするために使用されます。ジオフェンスが指定されていない場合、Google はサービスに境界制限がないものとして扱います。
フィールド名 | タイプ | 要件 | 説明 |
---|---|---|---|
geofencing_zones |
オブジェクト | 必須 |
IETF RFC 7946 で説明されている FeatureCollection オブジェクトは、features という名前のフィールドを持つオブジェクトです。features の値は JSON 配列です。JSON 配列の各要素は Feature オブジェクトです。ジオフェンスで囲まれた各ゾーン、関連するルールと属性、 |
geofencing_zones.type |
文字列 | 必須 |
IETF RFC 7946 で説明されているように、FeatureCollection に設定します。 |
geofencing_zones.features |
配列 | 必須 | JSON 配列。JSON 配列の各要素は Feature オブジェクトです。 |
geofencing_zones.features[].type |
文字列 | 必須 |
IETF RFC 7946 で説明されているように、Feature に設定します。 |
geofencing_zones.features[].geometry |
GeoJSON マルチポリゴン | 必須 | 乗車を開始、終了、通過できない場所やその他の制限を記述する GeoJSON マルチポリゴン。ポイントの時計回りの配置はポリゴンで囲まれた領域を定義し、反時計回りの順序はポリゴンの外側の領域を定義します。詳細については、 右手の法則をご覧ください。 |
geofencing_zones.features[].properties |
オブジェクト | 必須 | 出張手当と制限を定義するオブジェクト。 |
geofencing_zones.features[].properties.rules |
配列 | 省略可 | オブジェクトの配列。各オブジェクトは 1 つのルールのみを定義します。2 つ以上のルールが重複している、競合している、または何らかの形で競合している場合、JSON ファイルの順序で最初に定義されたルールが優先されます。 |
geofencing_zones.features[].properties.rules[].vehicle_type_id |
配列 | 省略可 | 車両タイプ ID の配列。各要素は、制限を適用する必要がある vehicle_type_id です。vehicle_type_id が指定されていない場合、制限はすべての車種に適用されます。 |
geofencing_zones.features[].properties.rules[].ride_allowed |
ブール値 | 必須 | 自立型の「ドッキングされていない」自転車の乗車をゾーン内で開始および終了できるかどうかを、次のように示します。
|
以下は、geofencing_zones.json
の例です。
"geofencing_zones":{
"type":"FeatureCollection",
"features":[{
"type":"Feature",
"properties":{
"rules":[{
"vehicle_type_id":"scooter",
"ride_allowed": false
}]
},
"geometry":{
"type":"MultiPolygon",
"coordinates":[[[
[-122.66780376434326, 45.49896266763551],
[-122.66810417175292, 45.49824825558575],
[-122.66830801963805, 45.49632305799116],
[-122.66780376434326, 45.49896266763551]
]]]
}
}]
}
必須: station_information.json(ドッキング システム)
必要に応じて、GBFS 仕様を参照してください。
このフィードでは、公共の自転車シェアリング ステーションに関する一般的な情報を定義します。
フィールド名 | タイプ | 要件 | 説明 |
---|---|---|---|
stations |
配列 | 必須 | 各オブジェクトが 1 つのステーションのみを定義するオブジェクトの配列。 |
stations[].station_id |
文字列 | 必須 | 駅の識別子。 |
stations[].name |
文字列 | 必須 |
駅がある都市の現地語での駅の正式名称。name は、駅の標識で使用されているもの(利用可能な場合)に準拠するか、交差点や地域のランドマークを使用して駅の位置を反映したものにする必要があります。標識で明示的に使用されている場合を除き、「Street」の略語「St.」は使用しないでください。また、name は、地名の大文字と小文字の使用について各地の慣習に従い、大文字のみではなく、大文字と小文字を併用します。
|
stations[].lat |
緯度 | 必須 | ステーションの WGS 84 緯度(10 進数形式)。 |
stations[].lon |
経度 | 必須 | ステーションの WGS 84 経度(10 進数形式)。 |
stations[].capacity |
非負整数 | 省略可 | ステーションに設置されているドッキング ポイントの総数(使用可能なものと使用できないものの両方)を表す非負の整数。 |
stations[].rental_uris |
オブジェクト | 必須 |
Android、iOS、ウェブのレンタル URI をそれぞれのフィールドに含む JSON オブジェクト。 これらの URI が指定されている場合、プロバイダのオンボーディング時に設定されたデフォルトのディープリンクがオーバーライドされます。 |
stations[].rental_uris.android |
URI | 条件付き必須 |
Android ディープリンクをサポートするために、 この URI は、複数のステーションの情報を含む一般的なレンタル ページではなく、個々のステーションに固有のディープリンクである必要があります。ディープリンクは、プロンプトや、インタースティシャル ページ、ログインなしで、ユーザーをステーションに直接誘導する必要があります。ユーザーがそのアプリを以前に開いたことがない場合でも、ステーションを表示できるようにしてください。 パートナーがそれぞれのラジオ局を識別する他の手段を持っている限り、ラジオ局の パートナーが Android レンタルアプリを持っている場合、このフィールドは必須です。 Android アプリリンクの例:
|
stations[].rental_uris.ios |
URI | 条件付き必須 |
iOS でステーションのレンタルアプリを起動するために使用できる URI。詳しくは、Apple の iOS カスタム URL スキームに関する記事をご覧ください。提供される この URI は、複数のステーションの情報を含む一般的なレンタル ページではなく、個々のステーションに固有のディープリンクである必要があります。ディープリンクは、プロンプトや、インタースティシャル ページ、ログインなしで、ユーザーをステーションに直接誘導する必要があります。ユーザーがそのアプリを以前に開いたことがない場合でも、ステーションを表示できるようにしてください。 URI にステーションの パートナーが iOS レンタルアプリを持っている場合、このフィールドは必須です。 iOS ユニバーサル リンクの例:
|
stations[].rental_uris.web |
URL | 省略可 | このステーションで車両をレンタルする方法に関する詳細情報を表示するためにウェブブラウザで使用できる URL。 この URL は、複数のステーションの情報を含む一般的なレンタル ページではなく、個々のステーションに固有のディープリンクである必要があります。ディープリンクは、プロンプトや、インタースティシャル ページ、ログインなしで、ユーザーをステーションに直接誘導する必要があります。ユーザーがそのアプリを以前に開いたことがない場合でも、ステーションを表示できるようにしてください。 URL にステーションの このフィールドが設定されていない場合、ウェブブラウザでディープリンクがサポートされていないことを意味します。 値の例:
|
以下は、station_information.json
の例です。
"stations": [
{
"station_id": "597",
"name": "Silverthorne Road, Battersea",
"lat": 51.472865,
"lon": -0.148059,
"capacity": 10,
"rental_uris": {
"android": "https://www.example.com/app?sid=1234567890&platform=android",
"ios": "https://www.exampleexample.com/app?sid=1234567890&platform=ios",
"web": "https://www.example.com/app?sid=1234567890&platform=web"
}
},
]
必須: station_status.json(ドッキング システム)
必要に応じて、GBFS 仕様を参照してください。
このフィードは、公共のシェアサイクル ステーションの最新のステータスを定義します。
フィールド名 | タイプ | 要件 | 説明 |
---|---|---|---|
stations |
配列 | 必須 | オブジェクトの配列。各オブジェクトは 1 つのステーションのみを定義します。 |
stations[].station_id |
文字列 | 必須 | 駅の識別子。 |
stations[].num_bikes_available |
非負整数 | 必須 |
ステーションに物理的に存在し、レンタル用に提供される可能性がある機能的な自転車の数を表す 0 以上の整数。 ステーションで現在自転車をレンタルしているかどうかを判断するには、ステーションの |
stations[].vehicle_types_available |
配列 | 省略可 |
駅で利用可能な個々の車両タイプごとに分類された車両の総数を定義するオブジェクトの配列。各オブジェクトは、関連付けられた車両タイプの車両の総数をモデル化します。これらの各オブジェクトの車両の合計数は、 |
stations[].vehicle_types_available[].vehicle_type_id |
ID | 必須 |
vehicle_types.json で説明されているように、駅で利用可能な各車種の |
stations[].vehicle_types_available[].count |
非負整数 | 必須 |
vehicle_types.json で定義されている、駅の対応する |
stations[].num_docks_available |
非負整数 | 条件付き必須 |
ステーションのドッキング容量が無制限でない限り、このフィールドは必須です。たとえば、仮想ステーションのドッキング容量は無制限であるため、このフィールドは必須ではありません。 ステーションに物理的に設置され、車両の返却を受け入れることができる機能的なドックの総数を表す非負の整数。 ステーションで現在自転車の返却を受け付けているかどうかを判断するには、ステーションの |
stations[].is_installed |
ブール値 | 必須 |
ステーションが現在路上に設置されているかどうかを示すブール値。 ステーションが道路に設置されている場合は、 ステーションが街路に設置されていない場合は、 |
stations[].is_renting |
ブール値 | 必須 |
ステーションで現在自転車をレンタルしているかどうかを示すブール値。 ステーションで現在自転車をレンタルしている場合は、 現在、ステーションで自転車のレンタルを行っていない場合は、 |
stations[].is_returning |
ブール値 | 必須 |
ステーションが現在自転車の返却を受け付けているかどうかを示すブール値。 ステーションが現在自転車の返却を受け付けている場合は、 ステーションで現在自転車の返却を受け付けていない場合は、 |
station_status.json
の例を次に示します。
"stations": [
{
"station_id": "2",
"num_bikes_available": 6,
"vehicle_types_available": [
{
"vehicle_type_id" : "scooter_electric",
"count" : 2
},
{
"vehicle_type_id" : "bike_manual",
"count" : 4
}
],
"num_docks_available": 30,
"is_installed": true,
"is_renting": true,
"is_returning": true,
"last_reported": 1576119631
},
]