予約管理API(Reservations API)の使い方

API OAuth 予約 Reservations 予約枠 テーブル Android iOS
このガイドについて
レシートローラーの予約管理API(/api/v1/reservations)の使い方をまとめています。Web管理画面の予約管理と同じ予約エンジンをOAuth経由で操作できるため、モバイルアプリや外部の予約システムから予約の取得・作成・ステータス更新、予約枠の生成までを行えます。

予約管理API(Reservations API)の使い方

必要なスコープ

スコープ付与される権限
store.reservations.read予約・予約枠・席情報・統計の参照
store.reservations.write予約の作成・変更・ステータス更新、予約枠の作成・生成・削除

アプリ編集画面の「APIスコープ」でチェックを入れたうえで、認可URLの scope パラメータに含めてください。

認証

他のv1 APIと同じトークン規約です。

  • ビジネスアカウントに紐付いたトークン — そのまま呼び出せます
  • ユーザースコープのトークン(ネイティブモバイルアプリ向け) — クエリに ?organizationId= を付与してください

エンドポイント一覧

メソッドパス内容
GET/api/v1/reservations?storeId=予約一覧(statusfromto で絞り込み)
GET/api/v1/reservations/{reservationId}予約の詳細
POST/api/v1/reservations予約の作成
PUT/api/v1/reservations/{reservationId}予約内容の更新・ステータス変更
GET/api/v1/reservations/slots予約枠一覧(既定で今日から7日分)
POST/api/v1/reservations/slots予約枠を1件作成
POST/api/v1/reservations/slots/generate予約設定から予約枠を一括生成
DELETE/api/v1/reservations/slots/{slotId}予約枠の削除
GET/api/v1/reservations/config店舗の予約設定(枠の長さ・受付期間・自動確定・カスタム項目など)
GET/api/v1/reservations/tables予約可能な席(テーブル・個室・カウンターなど)の一覧
GET/api/v1/reservations/stats?month=月次の予約統計(ステータス別件数・本日/明日の件数)

いずれも storeId をクエリまたはボディで指定します。

予約の作成

POST /api/v1/reservations
Authorization: Bearer {token}
Content-Type: application/json

{
  "storeId": "store-001",
  "customerName": "山田 太郎",
  "customerPhone": "090-0000-0000",
  "partySize": 4,
  "slotId": "slot-xxxx",
  "note": "窓際の席を希望"
}

API経由で作成した予約は bookingSourceAPI として記録されます(リクエストで明示的に指定した場合はその値が優先されます)。

ステータスの更新

PUT /api/v1/reservations/{reservationId} のボディで status を変更すると、Web管理画面と同じステータス遷移処理が実行されます。予約枠の残席計算や確認・キャンセル通知も管理画面での操作と同じように動作します。

指定できるステータス:

  • Pending(承認待ち)
  • Confirmed(確定)
  • Completed(来店済み)
  • Cancelled(キャンセル)
  • NoShow(無断キャンセル)

予約枠の一括生成

POST /api/v1/reservations/slots/generate は、店舗の予約設定(枠の長さ・営業時間・定休日)にもとづいて指定期間の予約枠をまとめて生成します。

POST /api/v1/reservations/slots/generate
Authorization: Bearer {token}
Content-Type: application/json

{
  "storeId": "store-001",
  "from": "2026-06-15",
  "to": "2026-06-21",
  "perResource": true
}

perResourcetrue にすると、店舗レイアウトに登録された予約可能な席(テーブル・個室・カウンター)ごとに予約枠が生成されます。席単位での予約受付を行う場合に使用してください。

席(テーブル)情報の取得

GET /api/v1/reservations/tables?storeId= は、店舗レイアウトに登録された予約可能なリソースを返します。

{
  "items": [
    { "id": "table-01", "name": "テーブル1", "type": "table", "typeDisplayName": "テーブル", "capacity": 4 },
    { "id": "room-01",  "name": "個室A",     "type": "room",  "typeDisplayName": "個室",     "capacity": 8 }
  ]
}

ここで返る id は、予約枠や予約の assignedResource にそのまま指定できます。席レイアウト自体の編集はWeb管理画面のレイアウトエディタで行ってください。

関連ガイド

公開日: 2026-06-10 更新日: 2026-06-10
このトピックについて
開発者API
機能の詳細を見る
タグ
API (22) OAuth (15) Android (10) iOS (9) Webhook (8) api (6) oauth (5) トラブル (5) POS連携 (4) getting-started (4)
関連記事