予約管理API(Reservations API)の使い方
API
OAuth
予約
Reservations
予約枠
テーブル
Android
iOS
このガイドについて
レシートローラーの予約管理API(
レシートローラーの予約管理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= | 予約一覧(status・from・to で絞り込み) |
| 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経由で作成した予約は bookingSource が API として記録されます(リクエストで明示的に指定した場合はその値が優先されます)。
ステータスの更新
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
}
perResource を true にすると、店舗レイアウトに登録された予約可能な席(テーブル・個室・カウンター)ごとに予約枠が生成されます。席単位での予約受付を行う場合に使用してください。
席(テーブル)情報の取得
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 (22)
OAuth (15)
Android (10)
iOS (9)
Webhook (8)
api (6)
oauth (5)
トラブル (5)
POS連携 (4)
getting-started (4)
関連記事
-
店舗情報API(Store Information API)の使い方店舗の基本情報(店舗名・店舗種別・連絡先・住所)を取得・更新する REST API のガイドです。スタッフアプリなどのトークン認証クライアントから店舗情報の編集を実装できます。
-
営業時間API(Business Hours API)の使い方レシートローラーの営業時間API(/api/v1/stores/{storeId}/business-hours)のガイドです。曜日ごとの営業時間の取得・更新、特例営業日(臨時休業・営業時間変更)の登録、店舗の就業可能時間(シフト作成時の上限となる業務時間)の設定、現在営業中かどうかの判定までを解説します。
-
リクエストとレスポンスの基本(JSON)レシートローラーAPIのリクエスト形式、必須ヘッダー、レスポンス構造、ページネーション、フィルタリング、日時形式の規則を解説します。
-
ネイティブモバイルアプリ向けガイド: 複数ビジネスアカウントアクセスと OAuth フローAndroid / iOS のネイティブアプリ向け実装ガイド。アプリ登録時に「認可時に1つのビジネスアカウントへトークンを紐付ける」をオフにすると、user-scoped OAuth トークンが発行されます。/api/v1/me/organizations + ?organizationId= パターンで複数ビジネスアカウントを横断アクセスできます。
-
取引一覧API(Transactions API:POS+OMS統合フィード)の使い方レシートローラーのTransactions APIは、レジ売上(PosTransactions)と販売管理注文(OmsOrders)を1つのフィードに統合した読み取り専用APIです。Android/iOSアプリで「ビジネスアカウント全体の取引」を一覧表示する際の入り口になります。