Skip to content
Pepinby SHIN
予約システム2026-03-282026-07-217分で読めます
予約オプション単発イベント

Shopify予約オプションの設定方法【受注会・料理教室・飲み比べ会・ポップアップ向けチュートリアル】

Shopify予約オプションの設定方法【受注会・料理教室・飲み比べ会・ポップアップ向けチュートリアル】
予約オプション設定のイメージ

「人数で料金が変わる」「平日と週末で価格が違う」「アレルギー申告は必須にしたい」。アパレル受注会・料理教室・飲み比べ会・ポップアップなど、単発イベントの予約フォームには オプション設計の細かな要件 がつきものです。

わたしは予約アプリ まるっと予約 を開発しています。現行のまるっと予約は日時・定員・スタッフ・部屋・設備・デポジットを管理しますが、任意の有料オプションや質問項目を何でも作れる「オプション機能」は掲載していません。追加料金やコース差はShopifyの商品設計と組み合わせます。

この記事では予約アプリ開発者の視点から、 4タイプを「予約アプリ・バリアント・別商品・注文後確認」のどこへ置くか を紹介します。機能名を決め打ちせず、現行のShopifyとまるっと予約で再現できる構成に絞ります。

予約オプションとは?

本記事では、日時以外に選んでもらう料金・人数・コース・申告事項をまとめて「予約オプション」と呼びます。実装先は1つではなく、Shopify商品、バリアント、別商品、予約メニュー、注文後の連絡へ分けます。

完成イメージ:オプション設定後の予約画面

最終的に作りたいのは、お客様が迷わず 「コースを選ぶ → 日時を選ぶ → 必要な追加商品をカートへ入れる → 決済する」 流れです。料理教室を例にすると、こんな構成になります。

  1. 01

    日時を選ぶ

    空き枠カレンダーから希望日時を選択。
  2. 02

    コースを選ぶ

    90分と120分は別商品または別予約メニューに分ける。
  3. 03

    参加人数を反映する

    1名券・2名券など価格の違う商品バリアント、または人数別商品を選ぶ。
  4. 04

    追加商品を選ぶ

    食材アップグレードなど、価格が変わる項目は別商品としてカートへ追加。
  5. 05

    申告事項を確認する

    アレルギーなど安全上重要な情報は、対応可能なフォームまたは予約後の確認フローで回収。

予約フォームのイメージ

この流れをShopify側で組み立てるために、4タイプの扱いを順番に決めます。

価格・所要時間・安全上の申告を1つの選択欄へ混ぜると、どのシステムが料金と枠を管理するか曖昧になります。タイプを切り分け、公開前にカート金額・定員・通知をテストします。

前提条件

設定を始める前に、以下が揃っているか確認してください。

  • Shopifyストアが開設済み(無料体験中でもOK)
  • 予約アプリ(まるっと予約など)がインストール済み
  • メインの予約メニューが1つ以上登録済み(例: 料理教室・受注会・テイスティング会・ポップアップ)
  • 受け付ける時間帯と定員が決まっている

予約アプリの選定がまだの方は、先に Shopify予約アプリ5つを比較 を読んでください。必要な入力欄や価格計算がアプリの現行機能にない場合は、別商品や対応する商品オプションアプリを比較します。

Shopify管理画面

手順1: 追加料金は別商品として設定する

最初に整理するのは 追加料金 です。現行のまるっと予約に汎用の有料オプション作成画面はないため、料金を確実にShopify注文へ残したい項目は別商品として登録します。

例: アパレル受注会の「スタイリスト指名 +1,000円」、料理教室の「食材アップグレード +500円」、飲み比べ会の「銘柄追加 +800円」、ポップアップの「貸切オプション +5,000円」。

  1. 1

    追加料金の商品を作る

    Shopify管理画面の「商品」で、食材アップグレードや備品レンタルを個別の商品として登録します。
  2. 2

    配送不要の扱いを確認する

    物理配送しないサービスなら、商品設定と配送プロファイルを確認し、不要な送料が加算されないようにします。
  3. 3

    予約商品から案内する

    予約商品の説明欄や関連商品セクションから追加商品へ案内し、同じカートで購入できるか確認します。
  4. 4

    所要時間が変わる場合は別メニューにする

    追加内容で所要時間が延びる場合は、料金だけを足さず、所要時間の異なる予約メニューを別に作ります。

追加料金に一律の「選ばれやすい比率」はありません。原価、追加作業時間、購入率を記録し、予約本体の粗利を崩さない価格にします。

手順2: 人数はバリアントまたは人数別商品にする

次は 参加人数で価格が変わる場合 です。Shopifyの商品バリアントには価格を設定できますが、人数と予約枠の定員が同じとは限りません。料金と定員を別々に確認します。

  1. 1

    人数ごとの価格を決める

    1名券・2名券など、料金と参加人数の組み合わせを先に確定します。
  2. 2

    商品バリアントまたは別商品を作る

    同じ所要時間なら人数バリアント、所要時間や対象枠が違うなら人数別商品へ分けます。
  3. 3

    予約枠の定員を設定する

    まるっと予約側で開催枠の定員を設定し、複数人券が定員へどう反映されるかを実際にテストします。
  4. 4

    複数注文で上限を試す

    別アカウントまたは別ブラウザから同じ枠へ予約し、合計人数が上限を超えない運用になっているか確認します。

料理教室の予約イメージ

商品数量や人数バリアントが、予約枠の定員を同じ単位で減らすとは限りません。グループ予約がある場合は公開前に上限付近までテストし、現行機能で安全に管理できなければ「1予約=1枠」の商品設計へ分けてください。

手順3: 所要時間・曜日で予約メニューを分ける

3つ目は 時間枠バリエーション。同じ題材でも「90分コース vs 120分コース」「平日 vs 週末料金」のように、時間や曜日で料金を変えたい場合に使います。

例: 料理教室「90分スタンダード4,000円 / 120分プレミアム6,000円」、ポップアップ「平日入場無料 / 週末1,000円」、飲み比べ会「スタンダード3種3,000円 / プレミアム5種5,000円」。

  1. 1

    メニューを「コース別」で複製する

    「90分コース」「120分コース」のように、コース単位で別メニューを作るのが運用上シンプルです。1メニューで時間を可変にすると、カレンダー側の枠管理が複雑になります。
  2. 2

    それぞれに所要時間と料金を設定

    90分コース → 所要時間90分・4,000円、120分コース → 所要時間120分・6,000円のように個別に登録します。
  3. 3

    曜日別料金は対象枠を分ける

    平日と週末で料金が変わる場合は、「平日メニュー」「週末メニュー」を別商品または別メニューとして登録し、対象外の枠を選べないか確認します。
  4. 4

    お客様側の選択順を確認

    商品ページでコースを選び、その後に対応する日時を選べるか確認します。名称に所要時間と価格を入れると比較しやすくなります。
1メニューで時間を可変にする
  • 設定はラク、メニュー数が増えない
  • ただし所要時間が動的に変わるためカレンダー枠が崩れやすい
  • お客様にも料金差が伝わりにくい
コース別にメニューを分ける
  • 90分・120分を別商品として並べられる
  • カレンダー側で枠ごとの所要時間が固定され、ダブルブッキング防止
  • お客様が料金差を視覚的に比較できる

手順4: 必須情報は対応するフォームで回収する

最後は 料金に影響しない申告事項 です。現行のまるっと予約に任意の質問項目を追加する汎用フォーム機能は掲載していません。必要情報は、Shopifyの商品フォームを拡張できるアプリ、問い合わせフォーム、または予約後の確認連絡で回収します。

例: 必須 → アレルギー申告、参加者氏名(人数分)、年齢確認(飲み比べ会の20歳以上チェック)。任意 → 写真撮影OK、SNS投稿可否、来店動機。

  1. 1

    情報を3段階に分ける

    安全・法令上必要、当日運営に必要、マーケティング目的の任意情報へ分けます。
  2. 2

    回収手段を決める

    必須情報を予約前に取得できる対応アプリを使うか、予約後に個別確認して確定する運用を選びます。
  3. 3

    保存先と閲覧権限を決める

    回答が注文・顧客・予約のどこに保存されるか、当日スタッフが確認できるかを決めます。
  4. 4

    通知とエクスポートをテストする

    テスト回答が管理画面・通知・CSVへ正しく残るか、不要な個人情報を集めていないか確認します。

飲み比べ会のように 酒類を扱うイベントは年齢確認の方法を事前に決めてください。 フォームの自己申告だけに頼らず、当日の本人確認、酒類提供に必要な免許・地域のルールを所管窓口へ確認します。

任意項目は最小限にします。「予約を成立させるために必要か」を1項目ずつ確認し、それ以外は予約後の案内やアンケートへ分けます。

応用:4業種のオプション設計パターン

ここまでの4タイプを、業種別にどう切り分けるかをまとめました。表は「必要になりやすい項目」の例であり、まるっと予約単体ですべての入力UIを作れるという意味ではありません。

アパレル受注会は 試着体験のグレードアップ をオプションにすると客単価が伸びます。

タイプ設定例
追加料金スタイリスト指名 +1,000円・採寸サービス +500円
数量バリエーション同伴者人数(1名/2名)
時間枠30分試着枠 / 60分じっくり枠
必須普段のサイズ・身長
任意スタイリングの希望テイスト

アパレル受注会のイメージ

4タイプを全部盛りにする必要はありません。最初は 予約商品・日時・定員 の最小構成でテストし、追加商品や申告フォームは運用上必要なものだけ足します。

トラブルシューティング

設定中によく詰まるポイントをまとめました。

人数券の価格とカート数量の両方で人数分を掛けていないか確認します。「2名券」は数量1で購入するなど、商品名・説明・購入上限をそろえます。

1メニューで料金を可変にせず、「平日」「週末」を別商品または別予約メニューに分けます。対象外の曜日を選べないことと、商品名に料金条件が表示されることを確認します。

利用している商品フォーム・オプションアプリ側の必須設定と、テーマへの埋め込み状態を確認します。まるっと予約の標準機能として作った項目ではないため、提供元の手順に従ってください。

別商品として作った場合は、予約商品からのリンク、関連商品セクション、カートへの追加方法を確認します。商品オプションアプリを使う場合は、対象商品への割当を提供元の管理画面で確認します。

所要時間が変わる追加内容を別商品だけで販売すると、予約枠の長さは変わりません。所要時間の異なる予約メニューを作り、対象リソースとバッファを設定してください。

公開前チェックリスト

設定が一通り終わったら、公開前に以下を必ず確認してください。テスト予約を実際に1回完了させると、ほとんどの設定漏れはここで気づけます。

  • 追加商品を含むカート合計と送料が正しい
  • 人数券とカート数量で二重計上されない
  • 所要時間ごとの予約メニューと価格が一致する
  • 必須情報を回収できない予約は確定扱いにしない
  • 予約・注文・申告情報の保存先をスタッフが確認できる
  • 同じ枠へ複数予約し、定員上限の運用を確認する

追加商品はShopify注文、申告情報は利用したフォームやアプリに保存されます。お客様と当日スタッフが同じ内容を確認できるよう、予約後の案内に必要事項をまとめます。通知設計は 予約自動メールの設定方法 も参照してください。

まとめ

予約オプションは 料金・人数・所要時間・申告情報を別々に設計する と、どのシステムが何を管理するか明確になります。

  • 追加料金は別商品。所要時間も変わるなら別予約メニュー
  • 人数券は「枠の定員」と「1注文の人数」を別々にテスト
  • 時間枠はコース別にメニューを分け、価格と所要時間を固定
  • 申告情報は対応するフォーム・アプリ・予約後連絡で最小限を回収

最初から複雑なフォームを目指さず、予約商品・日時・定員の最小構成から始めます。追加料金や申告事項を足すたびに、カート合計、定員、通知、返金をテストしてください。

受注会・料理教室・飲み比べ会・ポップアップは、どれも「単発イベント × 多様な参加形態」が共通項です。本記事のチュートリアルをそのまま当てはめれば、最低限の運営事故は防げる構成になります。実際の運用で困ったタイプがあれば、まずは該当する手順だけを見直すところから始めてみてください。

→ まるっと予約を7日間無料で試す

→ Shopifyを無料で試してみる

→ Shopify予約アプリ5つを比較

この記事は、時間予約・来店予約・イベント予約に対応するShopify予約システム「まるっと予約」の開発元であるPepinが執筆しています。

Share
SHIN

この記事の執筆者

SHIN

Pepin代表、Webエンジニアとして10年以上の経歴を持ち、
Shopifyアプリ・ストア開発 / webサービス開発 / メディア運営などマルチに活動。

Contact

まずは、課題の共有から。

Shopifyのこと、ECのこと、まずは気軽にご相談ください。