AI にフライト予約を作らせてみた — 昨日作った ListCard を翌日もう使い、座席表の穴が2回目になった(やってみた #112)
/flight-booking375px のビューポートで撮影。縦長のページはフレーム内をスクロールします。
解説記事
AI にフライト予約を作らせてみた — 昨日作った ListCard を翌日もう使い、座席表の穴が2回目になった(やってみた #112)
やってみたシリーズ: 自作のデザインシステム
@gunjo/ui(群青)を、文脈ゼロの cold な AI に実 UI で作らせる連載。航空の利用者側(toC)1枚目——国内線フライト予約(便検索・座席指定・運賃内訳・予約フロー)。
鉄道 toC(特急券/乗換案内/運行情報)に続く、交通モード2つ目の利用者側。観測2つ——#111 で build した ListCard を別 cold AI が便一覧で自力発見するか+座席表(SeatMap)が2回目の手組みになるか(#109 鉄道座席に続く)。
結果 — 3.5/5。法則がまた1ラウンドで閉じ、SeatMap が 2/3 に。
tsc/build 緑・375px mobile-first・0 console error・5ステップ予約フロー。cold AI(群青を一度も触っていない設定)のレポート:
ListCard— これのために作られていた。便の結果行。 docstring が使用例(「検索結果・経路/商品/listing 比較」)と必要なタグ(「最速/最安/おすすめ」)まで名指し。leading/title/description/tags/status/meta/severity/onSelect(≥44px の本物ボタン)。zero-friction・kit の旗艦『物の一覧』primitive。AmountBreakdown— kit 全体で最良のフィット(運賃→諸税・料金→座席指定料→割引→総額をそのまま)。Stepper— これのために作られていた(5ステップ・モバイル決済)。
#111 で ListCard を build した、その次の #112 で、航空の別 cold AI が便一覧で自力発見し zero-friction で使った。 AmountBreakdown(#103→#104)・ActionQueue(#106→#107)に続き、build→翌画面で発掘の法則が ListCard でも1ラウンドで閉じた——universal な床は作れば必ず翌画面で裏付く。
そして Stepper——cold AI が「5ステップが375pxで graceful に degrade しページを壊さない」と書いた。#109 で「決済が見えない」と報告された 375px clip を #355 で直した、その fix がここで機能した。
観測の核 — SeatMap が 2回目(2/3)
座席指定(機内座席表)=完全に手組み(~190行)。
SeatMapは無く、近いものすら無い。 /docs/by-use-case は座席選択をHeatmapChart(読み取り専用 data-viz)に誤誘導。cabin/section モデル・通路 gap・4状態(空席/予約済/選択中/選択不可)・4種別(普通/非常口/足元ゆったり/プレミアム)・座席毎の指定料・上限ガード・grid a11y を全部手書き。「これが追加されれば kit が航空/イベント/映画/スタジアムの座席選択を所有する。単一最大の追加。」
#109 鉄道座席+#112 機内座席=SeatMap 2/3(#356 追記)。cold AI が cabin/aisle モデル("3-3"/"2-4-2"/"2-2")・per-seat {type,fee,state,窓側/通路側}・capacity cap・375px の横スクロール必須まで設計。あと1回(映画/スタジアム/イベント/レストラン席)で 3-confirm → build。 SeatMap build 時に索引の HeatmapChart 誤誘導も是正する。
今回 src build なし(3.5/5・ListCard 越境発掘+SeatMap 2/3 が成果)。AmountBreakdown が運賃に5回目越境・ListCard が2業種目。
学び — universal な床は翌モードで効き、モード固有の床は積み上がる
toC の universal な床 ListCard は、鉄道で作って航空で即発掘された——toB で見た「universal な床は業界をまたいで翌画面で裏付く」が、toC でも、しかも交通モードをまたいで起きた。 一方 SeatMap は toC のモード固有の床(座席選択)で、鉄道→航空で 2/3 まで積み上がった。universal な床(StatGroup/AmountBreakdown/ActionQueue/ListCard)は3回ルールで一気に効き、モード固有の床(SeatMap/TransitItinerary/Stringline)はモードをまたいで証拠が貯まる——両方を 3回ルールが選り分け続けている。残る i18n(NumberInput の英語 aria-label)は #326 LocaleProvider 待ち。
次回予告(やってみた #113)
- 航空 toB(フライト運航ボード・機材繰り Gantt)で Gantt rich-bar 3回目を狙う、あるいは SeatMap 3回目(映画/イベント席)で build トリガー、あるいは次モード。
試す
- gunjo.jp / リストカード ListCard / 金額内訳 AmountBreakdown / 逆引き索引 /docs/by-use-case / npm
@gunjo/ui/ GitHub / 前回まで #1〜#111 - GunjoUI by UIXHERO
昨日作った部品を翌日もう使い、座席表の穴が2回目に。universal な床は翌モードで効き、モード固有の床は積み上がる。
<!-- 公開前: 相互URL差込/スクショ確定/EN(dev.to)ミラー -->
使用した @gunjo/ui コンポーネント
この画面のソースが直接 import している部品です。
cold AI が組み上げた実コード
ファイル名をクリックでソースを展開できます。