国内線JAL座席指定制限の解析レポート

機材ごとの指定制限マップ

各機材ごとの指定制限マップを下記記事に貼り付けた.間違いがあれば@sosoruまで連絡して欲しい.たぶん2~3個はある.指定制限は2018/8月頃に調査した.

sosoru.hatenablog.jp
sosoru.hatenablog.jp

座席表マッピングスクリプト

JALの国内線予約システムの座席表に指定制限をマッピングするスクリプトSafari Extensionを準備した・・・が,林檎デベロッパー申請中なので,もう少し公開まで時間を欲しい
(本当に欲しいのはJALアプリの座席表にマッピングするヤツだよね)

指定制限とは

JALのチケットを購入すると,どこの座席に座りたいか指定できる.座席マップが出てきて,座れるところはカラー表示され,座れないところは白く見えて選択できない.なろほど,白いところは誰か人が居るんだろうと考える.
しかし,飛行機の場合,座席選択できない理由は数種類存在する.

  • すでに人がいるから

人の席とったらどろぼう

  • 座ると飛行機が傾くから(予備席)

飛行機の機体バランス調整などの理由で指定できない座席がある.本記事では予備席と呼称する.機体の後方や前方に存在し,搭乗前日まで指定できない.予備席が占める割合が大きいのは,主に小さな飛行機で,地方から離島に向かう便は注意が必要.

  • ステータスが足りないから(ステータス席)

JGCプレミアJGP)・ダイヤモンドのステータスがないと指定できない座席がある.普通席・クラスJの最前席や,ファーストクラスの窓側席などが該当する.

  • 運賃が安すぎるから(運賃制限席)

普通運賃以外で予約すると,指定可能な座席に制限がかかる.往復割引・ビジネスきっぷは未検証.先得や特便割引のチケットでは制限がかかる.この制限は,前方の座席や非常口座席にかかっている.

JGCステータス(JMBサファイア含)は上記の運賃制限がかからなくなり,割引運賃でも普通運賃の扱いになる.

なお.予備席と運賃制限とステータス制限がかかる座席は,搭乗前日の朝5時までには制限が解除され,選択可能になる.これらの制限は機材ごとに存在しており,路線ごとの違いは今のところ見当たらない.

また,これらはシステムが自動的にかける制限であり,人の手の操作により例外が発生しうる.
上記の制限を下記表にまとめる.

条件 選択可能な座席
搭乗前日朝5時頃以降 全ての席(一部予備席は除く?)
ステータスJGP以上 予備席以外
ステータスJGC以上 or 普通運賃 予備席+ステータス席以外
それ以外 予備席+ステータス席+運賃制限席以外

これらの制限を座席テーブルにマッピングすると,複雑な形状をしている場合があって,たとえば767-300ERの普通席が面白い.
f:id:sosoru_m:20180901020852p:plain:w200
真ん中のE列にのみ制限がかかっておらず,隣に人が居ると錯覚しやすいため,指定しにくい.グループの人たちが割り当てられやすそうな配置になっている.また,MissingWindowな19Kだけポツッと制限がかかっていない.
予備席の配置も独特である.

いわゆる,JGC持ちだと非常口を指定しやすいというのは,28列目に運賃制約がかかっているからと思われる.他の非常口座席は予備席の扱いになっているようで,搭乗前日まで指定できない.

調査ツールを用いた検証

飛行機の空席を調査するツールが世の中には存在する.主に特典航空券(award)の空きをチェックするために使われるらしいが,空席状況をチェックする用途にも使用できる.
調査ツールの一つであるKVSToolを見ていたときに,上記の指定席制限を発見した.

調査ツールの空席状況表示は,ステータスが必要な座席や,ブロックされている座席を教えてくれる.ブロックされている座席とは,空席の扱いにかかわらず何らかの理由により,選択できない座席のことである.下記は画面の一例で,XEと表示されている座席はステータスがないと選択できない.

f:id:sosoru_m:20180406074755j:plain

KVSToolでブロック表示[X]が表示される理由は,予備席か,運賃制約がかかっているかのどちらかである.運賃制約は,空席状況を表示する際に予約クラス(Booking Class)を変更すれば確認できる.予約クラスについては下記参照.

Fare basis code - Wikipedia

国内線JALの座席クラス+運賃と,予約クラスの対照表を下記に示す.KVSToolを用いる際に参照して欲しい.

座席クラス 予約クラス 予約クラス(運賃制約あり)
ファーストクラス F A(未検証.ファーストクラスに運賃制約ないため)
クラスJ J C
普通席 Y W

予備席と運賃制約を見るには,制約がかかっていない予約クラスの空席状況と比較すれば良い.ステータス席は[E]として表示されるため,判別はたやすい.

KVSTool表記と状況を下記表にまとめる

予約クラス 表記 状況
FJY + 選択可能席
FJY +X 予備席
FJY +XE ステータス席
FJY - すでに選択されている席
FJY -X すでに選択されている席.ブロック状態の理由は不明(修学旅行的な団体予約?)
FJY -E ステータス席ですでに指定されている席
ACW + 選択可能席
ACW +X 予備席 or 運賃制約
ACW +XE ステータス席
ACW - すでに選択されている席.運賃制約席も選択されるとこの状態
ACW -X すでに選択されている席.ブロック状態の理由は不明(修学旅行的な団体予約?)
ACW -E ステータス席ですでに指定されている席

空席状況の表記には未解決点がある,いくつかの機材にはステータス席の扱いのまま,予備席の扱いになっており,通常の予備席との区別がつかない.KVSTool上の表記は -XE である.(人で埋まっていれば,-E表記).

国内線JAL指定席制限・座席表(デカい機材編)

凡例:
赤枠・・・ステータス制約
緑枠・・・運賃制約
グレー・・・予備席

sosoru.hatenablog.jp

w16(777-200;772;777;)

f:id:sosoru_m:20180901020359p:plain:w400
f:id:sosoru_m:20180901020409p:plain:w400
f:id:sosoru_m:20180901020418p:plain:w400

w24(777-300;773)

f:id:sosoru_m:20180901021546p:plain:w400
f:id:sosoru_m:20180901021555p:plain:w400
f:id:sosoru_m:20180901021626p:plain:w400

a25(767-300ER;763)

f:id:sosoru_m:20180901020842p:plain:w400
f:id:sosoru_m:20180901020852p:plain:w400
f:id:sosoru_m:20180901020902p:plain:w400

a26(767-300;763;)

f:id:sosoru_m:20180901022122p:plain:w400
f:id:sosoru_m:20180901022130p:plain:w400
f:id:sosoru_m:20180901022139p:plain:w400

a27(767-300ER;763;767;)

f:id:sosoru_m:20180901025338p:plain:w400
f:id:sosoru_m:20180901025351p:plain:w400
f:id:sosoru_m:20180901025402p:plain:w400

v32(737-800;738;73H;)

f:id:sosoru_m:20180901025719p:plain:w400
f:id:sosoru_m:20180901025734p:plain:w400

v35(737-800;738;73H;) JTAの便など

f:id:sosoru_m:20180901030753p:plain:w400
f:id:sosoru_m:20180901030802p:plain:w400

v51/55(737-400;734;)

f:id:sosoru_m:20180901031105p:plain:w400
f:id:sosoru_m:20180901031121p:plain:w400

国内線JAL指定席制限・座席表(小さい機材編)

凡例:
赤枠・・・ステータス制約
緑枠・・・運賃制約
グレー・・・予備席

sosoru.hatenablog.jp

q01(DHC8-Q400[CC];DH4)

f:id:sosoru_m:20180901142730p:plain

m01(EMBRAER170;E70;)

f:id:sosoru_m:20180901115501p:plain:w400

m11(EMBRAER190;E90;)

f:id:sosoru_m:20180901115256p:plain:w400
f:id:sosoru_m:20180901115304p:plain:w400

p01(SAAB340B;SFS3;SF3;)

f:id:sosoru_m:20180901115748p:plain:w400

t41(ATR42-600;ATR)

f:id:sosoru_m:20180901120009p:plain:w400

国内線ファーストクラスのロックされている窓側座席を抑えるには?

非常に,アフィリエイトっぽい記事
座席制限はちゃんと調べた↓
sosoru.hatenablog.jp

経緯

KVS tool(飛行機の空き座席等々を調べるソフト)でJAL便羽田→沖縄の空き座席を見ていると、ファーストクラスの窓側座席だけ「Elite」と書いてある.JAL公式サイトで座席をチェックすると、選択不可となっているが、KVS toolで調べると空席の扱いで、座席が上級会員向けにロックされているかも?と疑い始めた.

f:id:sosoru_m:20180406074746j:plain

国内線ファーストクラスについて

JAL便で展開されている座席クラスで、機内食が出たり、革張りの大きなイスに座れたりする.マイルが150%貯まる.上級会員向けラウンジにも入れる.普通席+8000円.
暇をつぶしやすい(私見).うまい酒が飲める(私見).青汁がおいしい(私見).グランクラスよりも安くてサービスがいいじゃないか(私見).

B767-300ER(763)とB777-200(772)の2機種に座席が設定されており、1便につき、5席〜16席程度.全席空いていても△表示.羽田〜那覇便だと競争率が高かったりする.

f:id:sosoru_m:20180407174808p:plain
https://www.jal.co.jp/dom/service/f/seat/ より引用

運航路線は羽田→新千歳・伊丹・福岡・那覇間.
羽田→那覇間はファーストクラスの設定された763の運航はない?

座席ロックについて

まず、KVS toolの結果を抜粋する.763、772のシートマップを示す.XEと表示されている箇所がロックされている座席である

f:id:sosoru_m:20180406074746j:plain
f:id:sosoru_m:20180406074755j:plain

  • KVS toolによれば、772は窓側全て(4席)、763は進行方向右側の窓側(1A)がロックされている.つまり、普通会員のアカウントで座席指定を試みると、窓側は763の1Kしか取ることは出来ない.
  • ロックされている座席でも空き座席として扱われる.ロックされている座席しかない場合でも、チケットを購入出来るが、座席指定を行えない.
  • 座席のロックは搭乗前日の朝5時に解除される.(2018/06/20追記 朝5時までに解除される.解除されるタイミングは便によって異なる?)

下記は,上記の1枚目のシートマップ(763)をJALのWeb予約で調べた場合の座席指定状況である.KVS ToolでXEと表示されたシートは選択できないことが分かる.
f:id:sosoru_m:20180407174445j:plain

窓側を抑えるには?

Web上の旅行記の情報を踏まえつつ、窓側座席を抑えるには次の方法がある:

1、JAL上級会員になる

早い話がJALの上級会員になれば良い.JMBサファイア以上だと前方座席指定が可能なはずなので、きっとロックされている座席も取れるはず.(2018/08/21追記 JGCプレミア以上でないと窓側はとれない)

下記は上級会員の旅行記.当日予約の場合もある

http://horsebit.cocolog-nifty.com/blog/2017/04/jaljl512-201732.html
新千歳→羽田 772 1K,JGC ダイアモンド,クーポン利用

http://kara3.ldblog.jp/archives/51833880.html
伊丹ー羽田 772 2A,JGC,予約方法言及無し

http://takuan636.blog75.fc2.com/blog-entry-2197.html
羽田→伊丹 763 1A,ステータス不明(JGC?),事前座席指定(JGCの特典か?)

2、763の1K狙い

763で運航される便は、唯一ロックされていない1K席を指定できる.空いている時間帯を狙えば可能.

下記は1K座席の旅行記・・・といいたいところだが.上級会員ではない証拠を示したまま、3日前以上にWeb予約で窓側を抑えた記事を見つけられなかった.763の1Kの記事を見つけても、よく見るとJGCだったりして悲しい.

というわけで、上級会員ではない自分のアカウントで座席が抑えられる証拠として、下記画像を示す.2018/5/31 羽田→伊丹間 JL119便のファーストクラスの空き状況である(4/3閲覧).

f:id:sosoru_m:20180407174445j:plain

3、搭乗前日朝5時以降に座席を抑える

前日朝5時を過ぎると座席ロックは解除されるので、普通会員でも指定できる、ただし、チケットを購入しないと座席を指定できない.旅行記で見られるのは当日の窓口でアップグレードできたケースが多い.

https://anajal-mileage.com/jal-first-domestic-8000/
羽田→伊丹? 763 1A,ステータス言及なし,当日アップグレード

https://shackinba2.exblog.jp/26946030/
? 763 1A,ステータス言及無し,当日指定(クーポン使用)

(4、クラスJとして開放されているファーストクラスの場合)

羽田→鹿児島の便だとファーストクラスをクラスJとして開放しているケースがある.この場合、窓側がアサインされるかどうかは運次第だが、座席ロックの枠組みからは外れているはずだ.
ただし、ステータスで優先とも書いてあるので、カッコ書きとしておく.

https://news-blog.jp/jal-firstclass/
羽田→鹿児島 763 1G(通路),ステータスあり?,事前指定不可で当日指定

5、クレジットカードの予約代行サービス利用(推測)

少し信じがたいが、クレジットカードの予約サービスを経由すると、JALの上級会員でない場合でも、ロックされている座席を予約できるケースが、いくつかの旅行記で見られる.
ただし、これらの記事を書いている人間は、ANAダイヤモンドだったり、マイルを80万マイル持っていたり、かなりのフライトジャンキーなので、カードにかなり貢献している人間しか配慮されないかもしれない.

http://www.ccdm.jp/al/jal-domestic-first/
羽田→福岡 772 1K,ステータス無し?(ANAあり),AMEXで予約(ただし,記事の日付が古い)

https://tabi-mile.com/jal-firstclass-domestic-jgc/
羽田ー那覇 772 2K,ステータスなし(JGC修行),予約言及なし(AMEX記事あり)

http://www.anamileagefreak.com/entry/2017JGC_singapore_2
羽田ー伊丹 772 1K,ステータス無し(JGC修行、ANAあり),詳細言及なし(取れていたと書いてあるから依頼?)

結論

楽に窓側に乗る方法(少し追記):
1,ファーストクラスを備えた763な便の1Kを抑える.Web予約で残席数5と表示されていれば誰も取っていないので,確実に抑えられる.
2、平日昼間などの空いている便の窓側座席を前日以降に抑える.運次第だが,正攻法で772を狙うにはこれしかない.
3、クレジットカードのプラチナ会員あたりになって、チケットを抑えさせる
4、JGCプレミア会員になって、事前座席指定サービスを使う.ちなみに、那覇行き便は平日でも、事前座席指定で埋まってる.つらい. (2018/08/21追記 ファーストクラスは事前座席指定では抑えられない)

ちなみに、A社のプレミアムクラスは見た感じ座席ロックされてないよ.健全.

謝辞:もりやん (@Protect_Valley) | Twitterの勘

0.5mm厚アルミ板の切削(熱収縮チューブ用ヒートガンの治具)

概要

ヒートガンで50mm径以上の熱収縮チューブを加熱するために,0.5mm厚のアルミ板を切削して治具を作成した.(市販の治具は最大45mm径までで,径が足らないので)
アルミ板をT字型に削り出して,適当なビンで丸みをつけて形を作る.ふにゃふにゃで頼りないけど,太い熱収縮チューブを縮める役目はちゃんと果たしてくれた.
f:id:sosoru_m:20170324193449j:plain:w200f:id:sosoru_m:20170324193544j:plain:w200

切削条件

主軸回転数S10000rpm,送り速度F75mm/min,Z方向切り込み0.1mm/パスで,0.5mm厚のアルミ板を切断する.この条件は,エンドミルの推奨切削条件の各パラメータの比率を参考に,切削部の過加熱を防ぐために主軸回転数を落として決定した.
切削対象には霧吹きで定期的に水溶性切削油をかけておき,エンドミルへのアルミ材溶着を防ぐ.
エンドミルはミスミの(XAL-PEM2S2)を使用する.
ワークへの固定は0.8mm厚の両面テープを用いる.Z方向のズレは不問とする.

流れ

最初はS20000・F150・Z切り込み0.5mmで試みたが,どうやらエンドミルにアルミ材が溶着し,切削性能が落ちたようで,切断面のバリが非常に多く出ていた.
f:id:sosoru_m:20170324194721j:plain:w200

バリを防ぐために条件だしを行い,Z切り込み量を減らしたが,0.05mm/パスでも効果はなかった.10mm程度の直線部であっても,1〜2mm削ったところで大きなバリが発生する.
主軸回転数を落とし,S2000・F15・Z切り込み0.1mm/パスで切削して,ようやくバリの減少が見られた.ただし,これでも完全にバリがなくなった訳ではなかった.
f:id:sosoru_m:20170324194047j:plain:w200
↑条件出しで使った板(上:F15 下:F150).上のパスは裏に両面テープがあって削りきれていない.

最終的には切削油を垂らさなければ,目立ったバリをなくすことはできなかった.最終的に,S10000 F75 Z切り込み0.1mm/パスで決定.
f:id:sosoru_m:20170324194633j:plain:w200

設計と成果物

成果物は設計寸法と比べて0.1mm程度短い.これは,アルミ板が撓んだ状態になったままワークに固定され,斜めに板材が切断されたためと考えている.ワーク固定時に少し撓んでいることは目視で分かっていたが,切断目的で削っているのでZ方向の歪みは不問としていた.Z方向の歪みはXY方向にも意外と効いてくるらしい.XY方向もシビアな長さ制約はないので,このまま成果物を使用する.
以下,OpenSCADのコード(後処理で角をR=1mmで丸めている):

L1 = 31 * PI; // ヒートガンのノズル径の円周
L2 = 60 * PI * 0.6;  //引き出す板の長さ,チューブの円周長さー余白

s1 = 6;    //板を曲げる起点の長さ
s2 = s1/2;

Wg = 15;    //ヒートガンノズルの幅
Wn = 20;    //引き出す板の幅

module p() {
    polygon(points=[[L1/2,0],[L1/2,Wg],[Wn/2, Wg],[Wn/2,Wg+s1+s2+L2],[0,Wg+s1+s2+L2],[0,0]]);
    
    polygon(points=[[Wn/2, Wg+s1],[0, Wg+s1],[0, Wg+s1+s2],[Wn/2, Wg+s1+s2]]);
    }

union(){p(); mirror() {p();}}

VCarveのモデル位置決定の罠(?)

はじめに

VCarveでは,Z軸方向に対するモデル位置の決定に2つの変数を用いる.
位置決定には2通りの組み合わせがあるが,両者の生み出す切削パスは異なる.
以下の目的によって,組み合わせを絞り込めばよい:

  • 端部を縁取りたい,など,通常の場合:

①にてモデルをゼロ平面より上に設定する

  • 表札のように,モデルを沈み込ませた図形を彫りたい:

f:id:sosoru_m:20170221211222p:plain
①にてモデルをゼロ平面より下に設定する
f:id:sosoru_m:20170221211231p:plain

記事を書いていて分かったけれども,両者のパラメータは連携しているらしい?事実上,①のみ変更すればいい気がする.

VCarve Proの見えない平面について

VCarveでは一つだけ3Dコンポーネントを読み込むことができる.
ただ,読み込み時に2つのモデルゼロ平面座標を考慮する必要がある.

①モデルのゼロ平面設定
読み込まれたモデルデータのZ座標のオフセット量.切削の都合で,どこから上の形状を使用するかを調整する際に使用する.モデルが読み込まれたときにスケーリング倍率と共に設定できる.

②素材内部へのゼロ平面設置座標
読み込んだモデルのゼロ平面と,素材中の座標と対応づけるオフセット量.既定では素材中央となっている.切削パスの設定で一度設定するのみ?モデルが読み込まれたときに聞いてこない量.

2変数を設定してモデルと素材形状の位置を決める.どちらもZ軸に対するオフセット量で,2変数であることから,モデル位置の決定には解が2通りありそうに見える.実際,Z軸位置とモデルの対応は取れるが,両者の切削パスが異なる場合があるので注意が必要.
特に,角を面取るような,Z軸方向ベクトルに近い形状を刈り込むと,切削パスが描画されない組み合わせがある(パスが描かれないところはプレビューで緑色に表示される)

②の素材内部のゼロ平面の中に,モデルが沈み込むような設定をすると,②で設定されたZ座標に対応した平面が「崖」のような働きをする.このとき,外周部がZ軸方向ベクトルに近いと境界部が急峻な形状となって,太さを持つエンドミルが刈り込むことができない.これが切削パスの異なる原因である.

注意すべきは,②で設定された平面は素材の大きさによらず発生することで,板の端部を縁取るような目的の場合,素材サイズと3Dモデルが同じにしたいが,モデルがゼロ平面に沈むように設定すると,「見えない平面」に阻まれて切削パスが生成されない.
さらに,モデルが①のゼロ平面より上である場合と,両者の見た目が変わらないので,切削パスが生成されない原因の追及に時間を取られる.