宅配の冷凍総菜の「旬すぐ」を定期的に買っているのですが、パッケージのQRを読み取るたびに流れる抽選ルーレットの演出を眺めている時間が、どう考えても人生の無駄遣いだと思えてきました。

そこで、パッケージのQRをまとめて読み取って、クーポンコードだけを一覧で取り出す 旬パス というツールを作りました。

旬すぐの運営とは一切関係がなく、提供・許諾・推奨を受けたものでもありません。
通常の手順を分解してみる
旬すぐの冷凍総菜には、パッケージにQRコードが印字されています。これを読み取ると抽選が行われて、当たりだと冷凍ごはんと引き換えできるクーポンコードがもらえる、という仕組みです。

ごはんはありがたいので、タダならもらっておきたいところ
やることは単純なのですが、実際の流れを分解すると以下のようになります。
1. QRを読み取ってページが開くまで:約10秒
スマホのカメラをQRに向けて、リンクをタップして、ページが表示されるまで。ここがなぜか高確率で読み込みに失敗します。失敗するとリロードするので、実際にはもう少しかかっている気がします。
回線側なのか、サイト側なのか、切り分けはしていません。
2. 抽選ルーレットの演出:約20秒
ここが本題です。ルーレットがくるくる回って、結果が確定するまで待たされます。

時々〇NE PIECEや北〇の拳などをイメージした茶番劇が流れることもある
結果はサーバー側ですでに確定しているはずなので、この20秒は演出以外の何物でもありません。待つだけなら、1回くらいは「まあ、こういうものか」で済む話です。
しかも、待たされる中身も良くありません。有名な少年漫画のキャラクターを思わせる格好をした人が、著作権に抵触すれすれのお粗末な茶番劇を演じる回があります。長いだけでも十分つらいのに、加えて不快でした。
これで10秒ほど短縮できるのですが、そのぶん操作が増えるので、毎回やるには面倒でした。
後述の計算では、この裏技を使わない通常の手順で数えています。
3. コードを控える:約15秒
当たりだったらクーポンコードが表示されるので、コピーしてメモアプリなりに貼り付けます。
合計すると 1個あたり約45秒。そしてこれを、買ってきた個数だけ繰り返します。
年単位で計算してみたら結構な数字になった
私は隔週で10個ずつ買っています。つまり年間で26回、260個。
45秒 × 260個 = 11,700秒 = 3時間15分
1回の配送分あたりで見ても、10個を順番に処理すれば7分30秒です。座って黙々とQRを読んではルーレットを眺める7分30秒。
買う量が多い人ほど、この数字はそのまま比例して増えます。
年3時間15分ということは、10年で32時間半です。丸一日以上をルーレットの前で溶かしている計算になります。さすがに作ったほうが早いと思いました。
旬パスを使うとどうなるか
旬パスは、QRを連続でスキャンして溜め込み、まとめて処理するという作りにしています。
flowchart LR
subgraph s0_before["通常手順(1個ごとに繰り返し)"]
direction TB
s0_a["QRを読み取る<br/>約10秒"] --> s0_b["抽選演出を眺める<br/>約20秒"]
s0_b --> s0_c["コードを控える<br/>約15秒"]
s0_c -->|次の1個へ| s0_a
end
subgraph s1_after["旬パス(10個まとめて)"]
direction TB
s1_a["旬パスを開く<br/>約5秒"] --> s1_b["QRを連続スキャン<br/>1個あたり約3秒"]
s1_b --> s1_c["まとめて実行<br/>あとは放置"]
s1_c --> s1_d["Google Tasksへ一括登録<br/>約5秒"]
end
s0_before ~~~ s1_after
ポイントは、演出を待つ時間が「拘束される時間」ではなくなることです。
旬パスも旬すぐ側への問い合わせ自体は1件5秒ほどかかりますし、サーバーの負荷に配慮して1件ずつ順番に処理しています。ただ、実行ボタンを押したあとは画面を見ている必要がありません。放置して他のことをしていれば終わっています。
拘束される時間だけを数えると、10個あたりこうなります。
| 通常手順 | 旬パス | |
|---|---|---|
| 旬パスを開く | ― | 5秒 |
| QRの読み取り | 10秒 × 10個 | 3秒 × 10個 |
| 抽選演出 | 20秒 × 10個 | 0秒(放置) |
| コードの記録 | 15秒 × 10個 | 5秒(一括) |
| 合計 | 7分30秒 | 40秒 |
年間に換算すると、こうなります。
| 通常手順 | 旬パス | 差分 | |
|---|---|---|---|
| 年間(260個) | 3時間15分 | 17分20秒 | 2時間57分40秒 |
| 10年 | 32時間30分 | 2時間53分 | 29時間36分 |
| 30年 | 97時間30分 | 8時間40分 | 88時間50分 |
30年で約3.7日分。人生から3日以上が返ってきました。

冷凍庫に詰める際に一括スキャンして、段ボールを片付けてる間に抽選完了!
できること
旬パスの機能はこれだけです。
- カメラでQRを連続スキャンする
- QRのURLをテキストで貼り付けて一括処理する
- 取れたクーポンコードを一括コピー、または Google Tasks へ書き出す
Google Tasks への書き出しは、クーポンの有効期限を忘れないようにするために付けました。結構使い忘れが発生しやすいので重要なポイントだと思っています。
使い方は、スマホで旬パスを開いてカメラを起動し、パッケージのQRを順番にかざしていくだけです。スキャンし終わったら実行ボタンを押して放置します。
ご利用にあたって説明したいこと
非公式ツールなので、後ろ暗いところがないことは明示しておきたいと思っています。
抽選結果は書き換えていません。 当落は旬すぐ側のサーバーで確定しているもので、旬パスはその結果を読み取って表示しているだけです。クーポンを使用済みにする操作も行いません。
データは保存していません。 ブラウザから旬すぐへ直接アクセスすることはCORSの制約でできないため、旬パスのサーバーが通信を中継しています。そのためQRに含まれる商品コードとシリアル、取得したクーポンコードはサーバーを通過しますが、データベースを持たず、メモリ上で処理して応答後に破棄しています。ログにも出力していません。
このあたりは実際のコードで確認できるようにソースを公開しています。

免責事項やデータの取り扱いの詳細は、アプリ内のページにまとめています。
おわりに
当選確率は体感で20個に1個あるかどうか、当たっても248円の冷凍ごはんが1個です。この労力は本当に妥当なのかと前からずっと疑問だったのですが、計算してみたらやはりかなり損をしていました。
年260個なら当たりは13個ほど、金額にすると約3,200円。これを得るために3時間15分を使っていたので、時給に換算すると1,000円弱ということになります。旬パスなら同じ3,200円が17分20秒で手に入るので、時給換算では11,000円を超えます。
というより、45秒もかかるなら読み取る気にならず、スキャンしないままパッケージを捨てている人のほうが大勢いるのではないかと思っています。1個あたり4秒なら、捨てる理由はなくなります。
旬すぐのQRをまとめて抱えている方、あるいは面倒で捨ててしまっている方にこそ、使って時間の節約を実感できると思います。
なお、旬すぐ側の仕様変更で予告なく動かなくなる可能性はあります。そのときはまた記事にします。
以上!



コメント