From 02ab264088ab7f7b582fd36a6f3af4207754deb2 Mon Sep 17 00:00:00 2001 From: ma91n Date: Fri, 4 Oct 2024 14:59:23 +0900 Subject: [PATCH 1/4] Markdown --- .../01_\347\224\273\351\235\242/README.md" | 8 +- .../UIM01/README.md" | 32 +- .../UIM02/README.md" | 18 +- .../UIM03/README.md" | 35 +- .../UIS01/README.md" | 29 ++ .../UIS02/README.md" | 24 +- .../UIS03/README.md" | 31 +- .../UIS04/README.md" | 59 ++- .../docs/02_WebAPI/openapi.yaml | 438 +++++++++++++++++- 9 files changed, 622 insertions(+), 52 deletions(-) diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/README.md" index 7426e49b..996d646a 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/README.md" @@ -15,7 +15,7 @@ | ID | 論理名 | 備考 | |--------------|----------|----| -| [UIM01](UIM01) | xxx | | -| [UIM02](UIM02) | xx | | -| [UIM03](UIM03) | xx | | -| [UIM04](UIM04) | xxx | | +| [UIM01](UIM01) | ログイン | | +| [UIM02](UIM02) | トレーナー検索 | | +| [UIM03](UIM03) | カレンダー予約 | | +| [UIM04](UIM04) | 決済 | | diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM01/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM01/README.md" index e736e8ed..6a68ded4 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM01/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM01/README.md" @@ -13,13 +13,35 @@ ## イベント概要 -| No | イベント名 | イベント分類 | 処理説明 | -|----|-----------|--------|-------------------------------------| -| 1 | 初期表示 | 初期表示 | xxxx | -| 2 | xxx | ボタン押下 | xxx | +| No | イベント名 | イベント分類 | 処理説明 | +|----|--------|--------|------| +| 1 | 初期表示 | 初期表示 | | +| 2 | ログインする | ボタン押下 | | +| 3 | 会員登録 | ボタン押下 | | ## イベント詳細 ### 1. 初期表示 -### 2. xxx +モーダルを起動。初期パラメータは無し。 + +### 2. ログインする + +利用API: + +| ID | URL | Parameter | +|--------|-------------|-------------| +| API001 | POST /login | 入力フォームの値を取得 | + +画面表示制御: + +- HTTPステータスが400系 + - 「IDまたはパスワードが異なります」を表示 +- HTTPステータスが500系 + - メッセージID(MSG_BIZ_111)表示 +- HTTPステータスが200 + - UIS002に遷移 + +### 3. 会員登録 + +... diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM02/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM02/README.md" index 4c0bfcba..557c8120 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM02/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM02/README.md" @@ -15,22 +15,24 @@ ## イベント概要 -| No | イベント名 | イベント分類 | 処理説明 | -|----|-----------|--------|-------------------------------------| -| 1 | 初期表示 | 初期表示 | xxxx | -| 2 | 検索 | 検索ボタン押下 | xxx | +| No | イベント名 | イベント分類 | 処理説明 | +|----|-------|--------|------| +| 1 | 初期表示 | 初期表示 | | +| 2 | 検索 | ボタン押下 | | ## イベント詳細 ### 1. 初期表示 +モーダルを起動。初期パラメータは無し。 + ### 2. 検索 利用API: -| ID | URL | Parameter | -| --- | --- | -- | -| API-007 | GET /trainers | モーダルに指定された値をクエリパラメータに設定する | +| ID | URL | Parameter | +|--------|---------------|---------------------------| +| API007 | GET /trainers | モーダルに指定された値をクエリパラメータに設定する | 画面表示制御: @@ -40,3 +42,5 @@ - 「条件に一致するコーチは存在しませんでした」と表示する - HTTPステータスが200以外 - メッセージID(MSG_BIZ_111)表示 +- HTTPステータスが200 + - UIS003に遷移 diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM03/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM03/README.md" index a6a9e575..480e0cf4 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM03/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM03/README.md" @@ -13,18 +13,43 @@ ## イベント概要 -| No | イベント名 | イベント分類 | 処理説明 | -|----|-----------|--------|-------------------------------------| -| 1 | 初期表示 | 初期表示 | xxxx | -| 2 | 日時設定 | カレンダーを選択 | xxx | -| 3 | 日時指定 | 設定された日時で予約を指定する | xxx | +| No | イベント名 | イベント分類 | 処理説明 | +|----|-------|-----------------|-----------------------------------| +| 1 | 初期表示 | 初期表示 | 指定されたトレーナーと、ログイン中のトレーニーのスケジュールを表示 | +| 2 | 日時設定 | カレンダーを選択 | ドラッグ&ドロップで範囲指定 | +| 3 | 日時指定 | 設定された日時で予約を指定する | | ## イベント詳細 ### 1. 初期表示 +起動パラメータ: + +| Name | Value | Memo | +|------------|-------------------------------|------| +| trainer_id | {"trainer_id":""} | | +| trainee_id | {"trainee_id":""} | | + +利用API: + +| ID | URL | Parameter | +|--------|---------------|---------------------------| +| API011 | トレーナースケジュール取得 | 初期パラメータを設定 | +| API026 | トレー二ーケジュール取得 | 初期パラメータを設定 | + +画面表示制御: + +- API011 + - 0件の場合は何もしない + - 1件以上存在した場合は、カレンダーには「ブロック」と表示する +- API026 + - 0件の場合は何もしない + - 1件以上存在した場合は、カレンダーに「予約あり」と表示する + ### 2. 日時設定 +UIM04を起動 + ### 3. 日時指定 UIM04 を起動する。 diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS01/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS01/README.md" index 9323ab16..8e71845d 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS01/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS01/README.md" @@ -23,6 +23,35 @@ ### 1. 初期表示 +起動パラメータ: + +| Name | Value | Memo | +| --- | --- | --- | +| userState | {"user_id":""} | ログイン状態 | + +初期表示イベント: + +- ログイン済み判定 + +利用API: + +| ID | URL | Parameter | +| --- | --- | -- | +| API-005 | GET /profile/{trainee_id} | trainee_id=userState.user_id | + +画面表示制御: + +- HTTPステータスが500系 + - 何もしない(無視で良い)、初期表示のまま +- HTTPステータスが400系 + - 未ログインとして、初期表示のまま +- HTTPステータスが200 + - すでにログイン中と判断し、(画面表示制御1)へ + +画面表示制御1: + +- 「会員登録/ログイン」表示を、サムネイル画像(thumbnail_url)に書き換える + ### 2. トレーナーを探す UIM02 呼び出し diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS02/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS02/README.md" index 8818ecd5..1917434c 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS02/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS02/README.md" @@ -26,8 +26,8 @@ 起動パラメータ: -| Name | Value | Memo | -| --- | --- | --- | +| Name | Value | Memo | +|-----------|-------------------------|--------| | userState | {"user_id":""} | ログイン状態 | 初期表示イベント: @@ -36,8 +36,8 @@ 利用API: -| ID | URL | Parameter | -| --- | --- | -- | +| ID | URL | Parameter | +|---------|---------------------------|------------------------------| | API-005 | GET /profile/{trainee_id} | trainee_id=userState.user_id | 画面表示制御: @@ -49,14 +49,14 @@ 利用API: -| ID | URL | Parameter | -| --- | --- | -- | -| API-013 | GET /bookings/{trainee_id} | trainee_id=userState.user_id | +| ID | URL | Parameter | +|--------|----------------------------|------------------------------| +| API013 | GET /bookings/{trainee_id} | trainee_id=userState.user_id | 画面表示制御: - 起動条件 - - API-016が有効な場合 + - API016が有効な場合 - HTTPステータスが200以外 - メッセージID(MSG_BIZ_111)表示 @@ -76,8 +76,8 @@ UIM02 を起動。 利用API: -| ID | URL | Parameter | -| --- | --- | -- | +| ID | URL | Parameter | +|---------|----------------------------------|-----------------| | API-016 | PUT /booking/{booking_id}/status | 選択されたトレーニング予約ID | 画面表示制御: @@ -91,8 +91,8 @@ UIM02 を起動。 利用API: -| ID | URL | Parameter | -| --- | --- | -- | +| ID | URL | Parameter | +|---------|----------------------------|------------------------------| | API-012 | GET /bookings/{trainee_id} | trainee_id=userState.user_id | 画面表示制御: diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS03/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS03/README.md" index 34dad51a..46f38a2e 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS03/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS03/README.md" @@ -14,22 +14,35 @@ ## イベント概要 -| No | イベント名 | イベント分類 |     処理説明 | -|--- |-----------------------------------------|---------------|------------------------------------------------| -| 1 | 初期表示 | 初期表示 | 初期検索条件に従いAPIを実行し、履歴表示する | -| 2 | トレーナー詳細 | ボタン押下 | xxxx | -| 3 | トレーナー検索 | ボタン押下 | 入力された条件で検索 | +| No | イベント名 | イベント分類 | 処理説明 | +|----|---------|--------|-----------------------| +| 1 | 初期表示 | 初期表示 | 検索条件に従いAPIを実行し、一覧表示する | +| 2 | トレーナー詳細 | ボタン押下 | UIS04に遷移 | +| 3 | トレーナー検索 | ボタン押下 | 入力された条件で検索 | ## イベント詳細 ### 1. 初期表示 -xxx +利用API: -### 2. 履歴検索 +| ID | URL | Parameter | +|--------|---------------|--------------------------------------------| +| API007 | GET /trainers | favorite_gym_nameなど、各クエリパラメータ指定されたパラメータを設定 | -xxx +画面表示制御: + +- HTTPステータスが200以外 + - メッセージID(MSG_BIZ_111)表示 +- 応答結果が0件の場合 + - 「条件に一致するパーソナルトレーナーが見つかりませんでした。」を表示する +- 応答結果が1件以上の場合 + - リスト表示する(ページングは不要。応答順に最大200件表示する) + +### 2. トレーナー詳細 + +UIS04に遷移(引数: trainer_id) ### 3. トレーナー検索 -xxx +初期表示と同等の処理を実行する。 diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS04/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS04/README.md" index 5bd8ea96..3701fef7 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS04/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS04/README.md" @@ -13,16 +13,65 @@ ## イベント概要 -| No | イベント名 | イベント分類 |     処理説明 | -|--- |-----------------------------------------|---------------|------------------------------------------------| -| 1 | 初期表示 | 初期表示 | 初期検索条件に従いAPIを実行し、履歴表示する | -| 2 | トレーニングコース決定 | ボタン押下 | カレンダーを起動 | +| No | イベント名 | イベント分類 | 処理説明 | +|----|-------------|--------|-------------------------| +| 1 | 初期表示 | 初期表示 | 初期検索条件に従いAPIを実行し、履歴表示する | +| 2 | トレーニングコース決定 | ボタン押下 | 予約のためカレンダーモーダルを起動 | ## イベント詳細 ### 1. 初期表示 -xxx +起動パラメータ: + +| Name | Value | Memo | +|------------|-------------------------------|------| +| trainer_id | {"trainer_id":""} | | + +利用API: + +| ID | URL | Parameter | +|--------|---------------|--------------------------------------------| +| API009 | GET /trainers/{trainer_id}/profile | 起動パラメータを設定 | + +画面表示制御: + +- HTTPステータスが200以外 + - メッセージID(MSG_BIZ_111)表示 +- HTTPステータスが200 + - プロフィールを更新 + - API008を呼び出し + +利用API: + +| ID | URL | Parameter | +|--------|----------------------------------|------------| +| API008 | GET /trainers/{trainer_id}/menus | 起動パラメータを設定 | + +画面表示制御: + +- HTTPステータスが200以外 + - メッセージID(MSG_BIZ_111)表示 +- HTTPステータスが200 + - メニューを一覧表示 + - 0件の場合は「現在、提供できるメニューが存在しません。」と表示 + - API010を呼び出し + +利用API: + +| ID | URL | Parameter | +|--------|--------------------------------|------------| +| API010 | /trainers/{trainer_id}/reviews | 起動パラメータを設定 | + +画面表示制御: + +- HTTPステータスが200以外 + - メッセージID(MSG_BIZ_111)表示 +- HTTPステータスが200 + - 0件の場合は、「レビューがありません」を表示する + - 1件以上存在する場合は、最大5件まで表示する + +レビューを最大6件まで表示する。 ### 2. トレーニングコース決定 diff --git a/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/openapi.yaml b/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/openapi.yaml index 3212cdc2..36aaab34 100644 --- a/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/openapi.yaml +++ b/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/openapi.yaml @@ -150,6 +150,25 @@ paths: $ref: '#/components/responses/InternalServer' '503': $ref: '#/components/responses/ServiceUnavailable' + /profile/{trainee_id}/schedule: + get: + tags: + - profile + summary: API026 トレーニースケジュール取得 + operationId: getTraineeSchedule + responses: + '200': + description: プロフィールの取得に成功しました。 + content: + application/json: + schema: + $ref: '#/components/schemas/TraineeSchedules' + '401': + $ref: '#/components/responses/Unauthorized' + '500': + $ref: '#/components/responses/InternalServer' + '503': + $ref: '#/components/responses/ServiceUnavailable' /trainers: get: tags: @@ -199,14 +218,14 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Trainer' + $ref: '#/components/schemas/Trainers' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServer' '503': $ref: '#/components/responses/ServiceUnavailable' - /trainers/{trainer_id}/menu: + /trainers/{trainer_id}/menus: get: tags: - trainer @@ -226,7 +245,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/TrainingMenu' + $ref: '#/components/schemas/TrainingMenus' '400': $ref: '#/components/responses/BadRequest' '404': @@ -285,7 +304,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Review' + $ref: '#/components/schemas/Reviews' '400': $ref: '#/components/responses/BadRequest' '404': @@ -314,7 +333,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/TrainerSchedule' + $ref: '#/components/schemas/TrainerSchedules' '400': $ref: '#/components/responses/BadRequest' '404': @@ -794,6 +813,9 @@ components: self_introduction: type: string description: 自己紹介 + thumbnail_url: + type: string + description: サムネイル画像URL Bookings: type: object properties: @@ -844,6 +866,16 @@ components: type: string format: date description: トレーニング終了日時 + Trainers: + type: object + properties: + count: + type: integer + description: 検索件数 + items: + type: array + items: + $ref: '#/components/schemas/Trainer' Trainer: type: object properties: @@ -877,6 +909,378 @@ components: gym_name: type: string description: ジム名 + star_count: + type: number + format: float + description: 星の数 + TraineeSchedules: + type: object + properties: + count: + type: integer + description: 検索件数 + items: + type: array + items: + $ref: '#/components/schemas/TraineeSchedule' + TraineeSchedule: + type: object + properties: + trainer_id: + type: string + description: トレーナーID + trainer_name: + type: string + description: トレーナー名 + date: + type: string + format: date + description: 日付け + booking_typ_0000: + type: string + enum: ["0", "1"] + description: | + 予約区分 00:00-00:30 + 0: 未予約 + 1: 予約済み + booking_typ_0030: + type: string + enum: ["0", "1"] + description: | + 予約区分 00:30-01:00 + 0: 未予約 + 1: 予約済み + booking_typ_0100: + type: string + enum: ["0", "1"] + description: | + 予約区分 01:00-01:30 + 0: 未予約 + 1: 予約済み + booking_typ_0130: + type: string + enum: ["0", "1"] + description: | + 予約区分 01:30-02:00 + 0: 未予約 + 1: 予約済み + booking_typ_0200: + type: string + enum: ["0", "1"] + description: | + 予約区分 02:00-02:30 + 0: 未予約 + 1: 予約済み + booking_typ_0230: + type: string + enum: ["0", "1"] + description: | + 予約区分 02:30-03:00 + 0: 未予約 + 1: 予約済み + booking_typ_0300: + type: string + description: | + 予約区分 03:00-03:30 + 0: 未予約 + 1: 予約済み + booking_typ_0330: + type: string + enum: ["0", "1"] + description: | + 予約区分 03:30-04:00 + 0: 未予約 + 1: 予約済み + booking_typ_0400: + type: string + enum: ["0", "1"] + description: | + 予約区分 04:00-04:30 + 0: 未予約 + 1: 予約済み + booking_typ_0430: + type: string + enum: ["0", "1"] + description: | + 予約区分 04:30-05:00 + 0: 未予約 + 1: 予約済み + booking_typ_0500: + type: string + enum: ["0", "1"] + description: | + 予約区分 05:00-05:30 + 0: 未予約 + 1: 予約済み + booking_typ_0530: + type: string + enum: ["0", "1"] + description: | + 予約区分 05:30-06:00 + 0: 未予約 + 1: 予約済み + booking_typ_0600: + type: string + description: | + 予約区分 06:00-06:30 + 0: 未予約 + 1: 予約済み + booking_typ_0630: + type: string + enum: ["0", "1"] + description: | + 予約区分 06:30-07:00 + 0: 未予約 + 1: 予約済み + booking_typ_0700: + type: string + enum: ["0", "1"] + description: | + 予約区分 07:00-07:30 + 0: 未予約 + 1: 予約済み + booking_typ_0730: + type: string + enum: ["0", "1"] + description: | + 予約区分 07:30-08:00 + 0: 未予約 + 1: 予約済み + booking_typ_0800: + type: string + enum: ["0", "1"] + description: | + 予約区分 08:00-08:30 + 0: 未予約 + 1: 予約済み + booking_typ_0830: + type: string + enum: ["0", "1"] + description: | + 予約区分 08:30-09:00 + 0: 未予約 + 1: 予約済み + booking_typ_0900: + type: string + enum: ["0", "1"] + description: | + 予約区分 09:00-09:30 + 0: 未予約 + 1: 予約済み + booking_typ_0930: + type: string + enum: ["0", "1"] + description: | + 予約区分 09:30-10:00 + 0: 未予約 + 1: 予約済み + booking_typ_1000: + type: string + enum: ["0", "1"] + description: | + 予約区分 10:00-10:30 + 0: 未予約 + 1: 予約済み + booking_typ_1030: + type: string + enum: ["0", "1"] + description: | + 予約区分 10:30-11:00 + 0: 未予約 + 1: 予約済み + booking_typ_1100: + type: string + enum: ["0", "1"] + description: | + 予約区分 11:00-11:30 + 0: 未予約 + 1: 予約済み + booking_typ_1130: + type: string + enum: ["0", "1"] + description: | + 予約区分 11:30-12:00 + 0: 未予約 + 1: 予約済み + booking_typ_1200: + type: string + enum: ["0", "1"] + description: | + 予約区分 12:00-12:30 + 0: 未予約 + 1: 予約済み + booking_typ_1230: + type: string + enum: ["0", "1"] + description: | + 予約区分 12:30-13:00 + 0: 未予約 + 1: 予約済み + booking_typ_1300: + type: string + enum: ["0", "1"] + description: | + 予約区分 13:00-13:30 + 0: 未予約 + 1: 予約済み + booking_typ_1330: + type: string + enum: ["0", "1"] + description: | + 予約区分 13:30-14:00 + 0: 未予約 + 1: 予約済み + booking_typ_1400: + type: string + enum: ["0", "1"] + description: | + 予約区分 14:00-14:30 + 0: 未予約 + 1: 予約済み + booking_typ_1430: + type: string + enum: ["0", "1"] + description: | + 予約区分 14:30-15:00 + 0: 未予約 + 1: 予約済み + booking_typ_1500: + type: string + enum: ["0", "1"] + description: | + 予約区分 15:00-15:30 + 0: 未予約 + 1: 予約済み + booking_typ_1530: + type: string + enum: ["0", "1"] + description: | + 予約区分 15:30-16:00 + 0: 未予約 + 1: 予約済み + booking_typ_1600: + type: string + enum: ["0", "1"] + description: | + 予約区分 16:00-16:30 + 0: 未予約 + 1: 予約済み + booking_typ_1630: + type: string + enum: ["0", "1"] + description: | + 予約区分 16:30-17:00 + 0: 未予約 + 1: 予約済み + booking_typ_1700: + type: string + enum: ["0", "1"] + description: | + 予約区分 17:00-17:30 + 0: 未予約 + 1: 予約済み + booking_typ_1730: + type: string + enum: ["0", "1"] + description: | + 予約区分 17:30-18:00 + 0: 未予約 + 1: 予約済み + booking_typ_1800: + type: string + enum: ["0", "1"] + description: | + 予約区分 18:00-18:30 + 0: 未予約 + 1: 予約済み + booking_typ_1830: + type: string + enum: ["0", "1"] + description: | + 予約区分 18:30-19:00 + 0: 未予約 + 1: 予約済み + booking_typ_1900: + type: string + enum: ["0", "1"] + description: | + 予約区分 19:00-19:30 + 0: 未予約 + 1: 予約済み + booking_typ_1930: + type: string + description: | + 予約区分 19:30-20:00 + 0: 未予約 + 1: 予約済み + booking_typ_2000: + type: string + enum: ["0", "1"] + description: | + 予約区分 20:00-20:30 + 0: 未予約 + 1: 予約済み + booking_typ_2030: + type: string + enum: ["0", "1"] + description: | + 予約区分 20:30-21:00 + 0: 未予約 + 1: 予約済み + booking_typ_2100: + type: string + enum: ["0", "1"] + description: | + 予約区分 21:00-21:30 + 0: 未予約 + 1: 予約済み + booking_typ_2130: + type: string + enum: ["0", "1"] + description: | + 予約区分 21:30-22:00 + 0: 未予約 + 1: 予約済み + booking_typ_2200: + type: string + enum: ["0", "1"] + description: | + 予約区分 22:00-22:30 + 0: 未予約 + 1: 予約済み + booking_typ_2230: + type: string + enum: ["0", "1"] + description: | + 予約区分 22:30-23:00 + 0: 未予約 + 1: 予約済み + booking_typ_2300: + type: string + enum: ["0", "1"] + description: | + 予約区分 23:00-23:30 + 0: 未予約 + 1: 予約済み + booking_typ_2330: + type: string + enum: ["0", "1"] + description: | + 予約区分 23:30-24:00 + 0: 未予約 + 1: 予約済み + + + TrainerSchedules: + type: object + properties: + count: + type: integer + description: 検索件数 + items: + type: array + items: + $ref: '#/components/schemas/TrainerSchedule' TrainerSchedule: type: object properties: @@ -1223,6 +1627,16 @@ components: 予約区分 23:30-24:00 0: 未予約 1: 予約済み + TrainingMenus: + type: object + properties: + count: + type: integer + description: 検索件数 + items: + type: array + items: + $ref: '#/components/schemas/TrainingMenu' TrainingMenu: type: object properties: @@ -1246,6 +1660,16 @@ components: price: type: integer description: 料金 + Reviews: + type: object + properties: + count: + type: integer + description: 検索件数 + items: + type: array + items: + $ref: '#/components/schemas/Review' Review: type: object properties: @@ -1265,6 +1689,10 @@ components: type: string format: date description: 投稿日時 + star_count: + type: number + format: float + description: 星の数 responses: BadRequest: description: 400 Bad Request From 551c161bd7850b1333763c55dbbb7b888c11e183 Mon Sep 17 00:00:00 2001 From: ma91n Date: Fri, 4 Oct 2024 15:03:44 +0900 Subject: [PATCH 2/4] Add item --- .../UIM03/README.md" | 2 +- .../UIM04/README.md" | 27 +++++++++++++++---- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM03/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM03/README.md" index 480e0cf4..cf20a5b2 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM03/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM03/README.md" @@ -48,7 +48,7 @@ ### 2. 日時設定 -UIM04を起動 +選択された日付がカレンダーに追加される。 ### 3. 日時指定 diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM04/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM04/README.md" index 2c6e5b0c..3d9898b0 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM04/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM04/README.md" @@ -14,16 +14,33 @@ ## イベント概要 -| No | イベント名 | イベント分類 | 処理説明 | -|----|-----------|--------|-------------------------------------| -| 1 | 初期表示 | 初期表示 | xxxx | -| 2 | 日時指定に戻る | ボタン押下 | xxx | -| 2 | 決済する | ボタン押下 | xxx | +| No | イベント名 | イベント分類 | 処理説明 | +|----|---------|--------|-----------| +| 1 | 初期表示 | 初期表示 | | +| 2 | 日時指定に戻る | ボタン押下 | UIM003に遷移 | +| 2 | 決済する | ボタン押下 | | ## イベント詳細 ### 1. 初期表示 +起動パラメータ: + +| Name | Value | Memo | +|------------|-------------------------------|------| +| trainer_id | {"trainer_id":""} | | +| menu_id | {"menu_id":""} | | + +利用API: + +| ID | URL | Parameter | +|--------|---------------|---------------------------| +| APIxxx | トレーニングメニュー取得 | 初期パラメータを設定 | + ### 2. 日時指定に戻る +UIM003に遷移 + ### 3. 決済 + +... From ccb371f50d192170806cf5412c39f2e63bde90c3 Mon Sep 17 00:00:00 2001 From: ma91n Date: Fri, 4 Oct 2024 15:53:56 +0900 Subject: [PATCH 3/4] Update Review --- documents/forMarkdown/README.md | 39 +++++++----- .../01_\347\224\273\351\235\242/README.md" | 2 +- .../UIM01/README.md" | 2 +- .../UIM02/README.md" | 2 +- .../UIM03/README.md" | 2 +- .../UIM04/README.md" | 2 +- .../UIS01/README.md" | 12 ++-- .../UIS02/README.md" | 6 +- .../UIS03/README.md" | 4 +- .../UIS04/README.md" | 4 +- .../docs/02_WebAPI/openapi.yaml | 2 +- ...42\350\250\255\350\250\210\346\233\270.md" | 62 ------------------- 12 files changed, 41 insertions(+), 98 deletions(-) delete mode 100644 "documents/forMarkdown/\347\224\273\351\235\242\350\250\255\350\250\210\346\233\270.md" diff --git a/documents/forMarkdown/README.md b/documents/forMarkdown/README.md index e68ab85b..98324327 100644 --- a/documents/forMarkdown/README.md +++ b/documents/forMarkdown/README.md @@ -20,7 +20,7 @@ Markdown に限った話では無いが、どういった内容を設計書に 本規約は以下の前提で作成されている -- チーム/プロジェクトが 3 ~ 30 名程度規模程度 +- チーム/プロジェクトが 3 ~ 10 名程度の規模 - Git(GitHub, GitLab)で管理され、コードと設計書が同一リポジトリで管理される - システム開発で必要なアプリケーション開発 @@ -28,8 +28,6 @@ Markdown に限った話では無いが、どういった内容を設計書に リポジトリ直下に `docs` フォルダを作成し、その配下に設計ドキュメントとなる Markdown ファイルを配備する。 - - 次はバックエンド、フロントエンド、インフラのコードをモノリポで管理している例である。 ```sh @@ -67,39 +65,48 @@ docs ## システム構成図 -TODO 論理, 物理, etc. +図は基本的に変更差分がGitと相性が良い、PlantUML(またはMermaid.js)で作成すること。 + +システム構成図などは上記では対応しにくいことが多いため、diagrams.net(draw.io)で作成する。 + +拡張子は以下のいずれかで作成する。 + +- `.drawio.png` +- `.drawio.jpg` +- `.drawio.svg` ## フロントエンド -- UI設計(Figma) -- [](画面設計書.md) +以下の方針を取る。 + +- Figmaを用いて、画面遷移、画面表示項目を定義する +- Markdown設計書には、Figmaで判断可能な見た目の情報は記載しない +- Markdown設計書には、Web APIの呼び出しやイベントの定義、パラメータの受け渡し、バリデーションロジックなどを定義する。 + +[サンプル設計書](future_muscle_partner)を参考にする。 ## バックエンド ### テーブル定義書 -A5ER +[A5:SQL Mk-2](https://a5m2.mmatsubara.com/)を用い、`erd.a5er` という名称で管理する。 -以下の情報の管理 +以下の情報の管理は `erd.a5er` で行えないため、別で定義する。 - 保持期限 - 個人情報有無 -パーティションなどはa5erで管理想定 - ### 区分値 -TODO JSON/YAML で管理推奨など +[区分値設計書](区分値設計書.md) を参考にする。 ### Web API 設計書 -API 定義書は OpenAPI.yaml で記載する - -TODO 各エンドポイント毎のプログラム設計 +API 定義書は `openapi.yaml` で記載すること。 ### プログラム設計書 -TODO +[プログラム設計書](プログラム設計書.md)を参考にする。 ### I/F 定義書 @@ -107,7 +114,7 @@ I/F 定義書は、システム間の連携について定義と、その受信/ システム I/F は連携先の対向システムが存在するため、認識齟齬が無いように、どのようなプロトコル・項目であるかを定義する必要があります。 -- [レイアウト](IF定義書.md) +[IF定義書](IF定義書.md)を参考にする。 # Resources diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/README.md" index 996d646a..a8f7bfce 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/README.md" @@ -1,6 +1,6 @@ # 画面 -* Figma URL: xxx +* Figma URL: <準備中> ## 標準画面 diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM01/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM01/README.md" index 6a68ded4..6709a081 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM01/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM01/README.md" @@ -40,7 +40,7 @@ - HTTPステータスが500系 - メッセージID(MSG_BIZ_111)表示 - HTTPステータスが200 - - UIS002に遷移 + - [UIS02](../UIS02)に遷移 ### 3. 会員登録 diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM02/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM02/README.md" index 557c8120..a959b202 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM02/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM02/README.md" @@ -43,4 +43,4 @@ - HTTPステータスが200以外 - メッセージID(MSG_BIZ_111)表示 - HTTPステータスが200 - - UIS003に遷移 + - [UIS03](../UIS03)に遷移 diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM03/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM03/README.md" index cf20a5b2..3edbd945 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM03/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM03/README.md" @@ -52,4 +52,4 @@ ### 3. 日時指定 -UIM04 を起動する。 +[UIM04](../UIM04) を起動する。 diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM04/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM04/README.md" index 3d9898b0..85e7b4a9 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM04/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM04/README.md" @@ -39,7 +39,7 @@ ### 2. 日時指定に戻る -UIM003に遷移 +[UIM03](../UIM03)に遷移 ### 3. 決済 diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS01/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS01/README.md" index 8e71845d..5b90d923 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS01/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS01/README.md" @@ -25,8 +25,8 @@ 起動パラメータ: -| Name | Value | Memo | -| --- | --- | --- | +| Name | Value | Memo | +|-----------|-------------------------|--------| | userState | {"user_id":""} | ログイン状態 | 初期表示イベント: @@ -35,8 +35,8 @@ 利用API: -| ID | URL | Parameter | -| --- | --- | -- | +| ID | URL | Parameter | +|---------|---------------------------|------------------------------| | API-005 | GET /profile/{trainee_id} | trainee_id=userState.user_id | 画面表示制御: @@ -54,8 +54,8 @@ ### 2. トレーナーを探す -UIM02 呼び出し +[UIM002](../UIM02) 呼び出し ### 3. 会員登録/ログイン -UIM01 呼び出し +[UIM001](../UI001) 呼び出し diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS02/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS02/README.md" index 1917434c..5b9d4127 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS02/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS02/README.md" @@ -62,7 +62,7 @@ ### 2. トレーナーを探す -UIM02 を起動。 +[UIM002](../UIM002) を起動。 ### 3. 受講完了確認 @@ -78,7 +78,7 @@ UIM02 を起動。 | ID | URL | Parameter | |---------|----------------------------------|-----------------| -| API-016 | PUT /booking/{booking_id}/status | 選択されたトレーニング予約ID | +| API016 | PUT /booking/{booking_id}/status | 選択されたトレーニング予約ID | 画面表示制御: @@ -98,6 +98,6 @@ UIM02 を起動。 画面表示制御: - 起動条件 - - API-016が有効な場合 + - API016が有効な場合 - HTTPステータスが200以外 - メッセージID(MSG_BIZ_111)表示 diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS03/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS03/README.md" index 46f38a2e..e607c271 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS03/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS03/README.md" @@ -37,11 +37,11 @@ - 応答結果が0件の場合 - 「条件に一致するパーソナルトレーナーが見つかりませんでした。」を表示する - 応答結果が1件以上の場合 - - リスト表示する(ページングは不要。応答順に最大200件表示する) + - リスト表示する(ページングは不要。応答順に最大100件表示する) ### 2. トレーナー詳細 -UIS04に遷移(引数: trainer_id) +[UIS04](../UIS04)に遷移 ### 3. トレーナー検索 diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS04/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS04/README.md" index 3701fef7..24bda13d 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS04/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIS04/README.md" @@ -71,8 +71,6 @@ - 0件の場合は、「レビューがありません」を表示する - 1件以上存在する場合は、最大5件まで表示する -レビューを最大6件まで表示する。 - ### 2. トレーニングコース決定 -UIM03 を起動する。 +[UIM03](../UIM03) を起動する。 diff --git a/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/openapi.yaml b/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/openapi.yaml index 36aaab34..e7d5ded7 100644 --- a/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/openapi.yaml +++ b/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/openapi.yaml @@ -154,7 +154,7 @@ paths: get: tags: - profile - summary: API026 トレーニースケジュール取得 + summary: API026 トレーニーzスケジュール取得 operationId: getTraineeSchedule responses: '200': diff --git "a/documents/forMarkdown/\347\224\273\351\235\242\350\250\255\350\250\210\346\233\270.md" "b/documents/forMarkdown/\347\224\273\351\235\242\350\250\255\350\250\210\346\233\270.md" deleted file mode 100644 index d2ccb378..00000000 --- "a/documents/forMarkdown/\347\224\273\351\235\242\350\250\255\350\250\210\346\233\270.md" +++ /dev/null @@ -1,62 +0,0 @@ -# [機能ID] xxx売上履歴表示 - -## 概要 - -機能目的: - -- 確認ステータス、スキップステータスをもとに、過去のxxx売上履歴を確認する - -機能概要: - -- 過去1年分の売上履歴を対象に、検索表示する -- スキップ設定や確認ステータスの更新を行う - -## イベント概要 - -| No | イベント名 | イベント分類 |     処理説明 | -|--- |-----------------------------------------|---------------|------------------------------------------------| -| 1 | 初期表示 | 初期表示 | 初期検索条件に従いAPIを実行し、履歴表示する | -| 2 | 履歴検索 | ボタン押下 | 検索条件エリアの条件に従い、履歴の検索を行う | -| 3 | 保存 | ボタン押下 | 履歴テーブルで書き込んだ、スキップ、確認済の保存を行う | -| 4 | 検索結果 ページ送り/戻し | ボタン押下 | テーブルあたりの行数プルダウンで設定された行数に応じて表示切替する | -| 5 | 検索結果 ページ送り(100件以降データ) | ボタン押下 | 検索結果の表で、ページ送りする際、100件以降のデータの場合は再度APIに問い合わせ描画する | -| 6 | 画面入力値チェック | ボタン押下 | 検索条件のバリデーションチェックを行う | - -## イベント詳細 - -### 1. 初期表示 - -起動パラメータ: - -| Name | Value | Memo | -| --- | --- | --- | -| userState | {/* 略 */} | xxx状態 | - -初期表示イベント: - -- xxx - -利用API: - -| ID | オプション | -| --- | --- | -| API031 | /v1/salesresult?q=xxxx&date=${current_ymd} | - -画面表示制御: - -- 0件時 - - 空テーブル表示(メッセージは表示しない) -- HTTPステータスが200以外 - - メッセージID(MSG_BIZ_111)表示 - -### 2. 履歴検索 - -/v1/salesresult?q=xxxx&date=${current_ymd} - -### 3. 保存 - -### 4. 検索結果 ページ送り/戻し - -### 5. 検索結果 ページ送り(100件以降データ) - -### 6. 画面入力値チェック From e6a4e0c66a6ef4d82590f99eed4a372d74f9c9a5 Mon Sep 17 00:00:00 2001 From: ma91n Date: Fri, 4 Oct 2024 15:58:58 +0900 Subject: [PATCH 4/4] fix api --- .../UIM03/README.md" | 8 +- .../docs/02_WebAPI/README.md | 33 -- .../docs/02_WebAPI/openapi.yaml | 377 ------------------ 3 files changed, 4 insertions(+), 414 deletions(-) delete mode 100644 documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/README.md diff --git "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM03/README.md" "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM03/README.md" index 3edbd945..e8e11a24 100644 --- "a/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM03/README.md" +++ "b/documents/forMarkdown/future_muscle_partner/docs/01_\347\224\273\351\235\242/UIM03/README.md" @@ -32,10 +32,10 @@ 利用API: -| ID | URL | Parameter | -|--------|---------------|---------------------------| -| API011 | トレーナースケジュール取得 | 初期パラメータを設定 | -| API026 | トレー二ーケジュール取得 | 初期パラメータを設定 | +| ID | URL | Parameter | +|--------|-------------------------------------|------------| +| API011 | GET /trainers/{trainer_id}/schedule | 初期パラメータを設定 | +| API013 | GET /bookings/{trainee_id} | 初期パラメータを設定 | 画面表示制御: diff --git a/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/README.md b/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/README.md deleted file mode 100644 index b2564194..00000000 --- a/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/README.md +++ /dev/null @@ -1,33 +0,0 @@ -# Web API設計 - -## 一覧 - - - -| ID | 機能名 | メソッド | 詳細 | -| -- | --- | --| --| -| API01 | xxxx | GET | [設計書](API01)| -| API02 | xxxx | GET | 設計書| -| API03 | xxxx | GET | 設計書| -| API04 | xxxx | GET | 設計書| -| API05 | xxxx | GET | 設計書| -| API06 | xxxx | GET | 設計書| -| API07 | xxxx | GET | 設計書| -| API08 | xxxx | GET | 設計書| -| API09 | xxxx | GET | 設計書| -| API10 | xxxx | GET | 設計書| -| API11 | xxxx | GET | 設計書| -| API12 | xxxx | GET | 設計書| -| API13 | xxxx | GET | 設計書| -| API14 | xxxx | GET | 設計書| -| API15 | xxxx | GET | 設計書| -| API16 | xxxx | GET | 設計書| -| API17 | xxxx | GET | 設計書| -| API18 | xxxx | GET | 設計書| -| API19 | xxxx | GET | 設計書| -| API20 | xxxx | GET | 設計書| -| API21 | xxxx | GET | 設計書| -| API22 | xxxx | GET | 設計書| -| API23 | xxxx | GET | 設計書| -| API24 | xxxx | GET | 設計書| -| API25 | xxxx | GET | 設計書| diff --git a/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/openapi.yaml b/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/openapi.yaml index e7d5ded7..5ed81f80 100644 --- a/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/openapi.yaml +++ b/documents/forMarkdown/future_muscle_partner/docs/02_WebAPI/openapi.yaml @@ -150,25 +150,6 @@ paths: $ref: '#/components/responses/InternalServer' '503': $ref: '#/components/responses/ServiceUnavailable' - /profile/{trainee_id}/schedule: - get: - tags: - - profile - summary: API026 トレーニーzスケジュール取得 - operationId: getTraineeSchedule - responses: - '200': - description: プロフィールの取得に成功しました。 - content: - application/json: - schema: - $ref: '#/components/schemas/TraineeSchedules' - '401': - $ref: '#/components/responses/Unauthorized' - '500': - $ref: '#/components/responses/InternalServer' - '503': - $ref: '#/components/responses/ServiceUnavailable' /trainers: get: tags: @@ -913,364 +894,6 @@ components: type: number format: float description: 星の数 - TraineeSchedules: - type: object - properties: - count: - type: integer - description: 検索件数 - items: - type: array - items: - $ref: '#/components/schemas/TraineeSchedule' - TraineeSchedule: - type: object - properties: - trainer_id: - type: string - description: トレーナーID - trainer_name: - type: string - description: トレーナー名 - date: - type: string - format: date - description: 日付け - booking_typ_0000: - type: string - enum: ["0", "1"] - description: | - 予約区分 00:00-00:30 - 0: 未予約 - 1: 予約済み - booking_typ_0030: - type: string - enum: ["0", "1"] - description: | - 予約区分 00:30-01:00 - 0: 未予約 - 1: 予約済み - booking_typ_0100: - type: string - enum: ["0", "1"] - description: | - 予約区分 01:00-01:30 - 0: 未予約 - 1: 予約済み - booking_typ_0130: - type: string - enum: ["0", "1"] - description: | - 予約区分 01:30-02:00 - 0: 未予約 - 1: 予約済み - booking_typ_0200: - type: string - enum: ["0", "1"] - description: | - 予約区分 02:00-02:30 - 0: 未予約 - 1: 予約済み - booking_typ_0230: - type: string - enum: ["0", "1"] - description: | - 予約区分 02:30-03:00 - 0: 未予約 - 1: 予約済み - booking_typ_0300: - type: string - description: | - 予約区分 03:00-03:30 - 0: 未予約 - 1: 予約済み - booking_typ_0330: - type: string - enum: ["0", "1"] - description: | - 予約区分 03:30-04:00 - 0: 未予約 - 1: 予約済み - booking_typ_0400: - type: string - enum: ["0", "1"] - description: | - 予約区分 04:00-04:30 - 0: 未予約 - 1: 予約済み - booking_typ_0430: - type: string - enum: ["0", "1"] - description: | - 予約区分 04:30-05:00 - 0: 未予約 - 1: 予約済み - booking_typ_0500: - type: string - enum: ["0", "1"] - description: | - 予約区分 05:00-05:30 - 0: 未予約 - 1: 予約済み - booking_typ_0530: - type: string - enum: ["0", "1"] - description: | - 予約区分 05:30-06:00 - 0: 未予約 - 1: 予約済み - booking_typ_0600: - type: string - description: | - 予約区分 06:00-06:30 - 0: 未予約 - 1: 予約済み - booking_typ_0630: - type: string - enum: ["0", "1"] - description: | - 予約区分 06:30-07:00 - 0: 未予約 - 1: 予約済み - booking_typ_0700: - type: string - enum: ["0", "1"] - description: | - 予約区分 07:00-07:30 - 0: 未予約 - 1: 予約済み - booking_typ_0730: - type: string - enum: ["0", "1"] - description: | - 予約区分 07:30-08:00 - 0: 未予約 - 1: 予約済み - booking_typ_0800: - type: string - enum: ["0", "1"] - description: | - 予約区分 08:00-08:30 - 0: 未予約 - 1: 予約済み - booking_typ_0830: - type: string - enum: ["0", "1"] - description: | - 予約区分 08:30-09:00 - 0: 未予約 - 1: 予約済み - booking_typ_0900: - type: string - enum: ["0", "1"] - description: | - 予約区分 09:00-09:30 - 0: 未予約 - 1: 予約済み - booking_typ_0930: - type: string - enum: ["0", "1"] - description: | - 予約区分 09:30-10:00 - 0: 未予約 - 1: 予約済み - booking_typ_1000: - type: string - enum: ["0", "1"] - description: | - 予約区分 10:00-10:30 - 0: 未予約 - 1: 予約済み - booking_typ_1030: - type: string - enum: ["0", "1"] - description: | - 予約区分 10:30-11:00 - 0: 未予約 - 1: 予約済み - booking_typ_1100: - type: string - enum: ["0", "1"] - description: | - 予約区分 11:00-11:30 - 0: 未予約 - 1: 予約済み - booking_typ_1130: - type: string - enum: ["0", "1"] - description: | - 予約区分 11:30-12:00 - 0: 未予約 - 1: 予約済み - booking_typ_1200: - type: string - enum: ["0", "1"] - description: | - 予約区分 12:00-12:30 - 0: 未予約 - 1: 予約済み - booking_typ_1230: - type: string - enum: ["0", "1"] - description: | - 予約区分 12:30-13:00 - 0: 未予約 - 1: 予約済み - booking_typ_1300: - type: string - enum: ["0", "1"] - description: | - 予約区分 13:00-13:30 - 0: 未予約 - 1: 予約済み - booking_typ_1330: - type: string - enum: ["0", "1"] - description: | - 予約区分 13:30-14:00 - 0: 未予約 - 1: 予約済み - booking_typ_1400: - type: string - enum: ["0", "1"] - description: | - 予約区分 14:00-14:30 - 0: 未予約 - 1: 予約済み - booking_typ_1430: - type: string - enum: ["0", "1"] - description: | - 予約区分 14:30-15:00 - 0: 未予約 - 1: 予約済み - booking_typ_1500: - type: string - enum: ["0", "1"] - description: | - 予約区分 15:00-15:30 - 0: 未予約 - 1: 予約済み - booking_typ_1530: - type: string - enum: ["0", "1"] - description: | - 予約区分 15:30-16:00 - 0: 未予約 - 1: 予約済み - booking_typ_1600: - type: string - enum: ["0", "1"] - description: | - 予約区分 16:00-16:30 - 0: 未予約 - 1: 予約済み - booking_typ_1630: - type: string - enum: ["0", "1"] - description: | - 予約区分 16:30-17:00 - 0: 未予約 - 1: 予約済み - booking_typ_1700: - type: string - enum: ["0", "1"] - description: | - 予約区分 17:00-17:30 - 0: 未予約 - 1: 予約済み - booking_typ_1730: - type: string - enum: ["0", "1"] - description: | - 予約区分 17:30-18:00 - 0: 未予約 - 1: 予約済み - booking_typ_1800: - type: string - enum: ["0", "1"] - description: | - 予約区分 18:00-18:30 - 0: 未予約 - 1: 予約済み - booking_typ_1830: - type: string - enum: ["0", "1"] - description: | - 予約区分 18:30-19:00 - 0: 未予約 - 1: 予約済み - booking_typ_1900: - type: string - enum: ["0", "1"] - description: | - 予約区分 19:00-19:30 - 0: 未予約 - 1: 予約済み - booking_typ_1930: - type: string - description: | - 予約区分 19:30-20:00 - 0: 未予約 - 1: 予約済み - booking_typ_2000: - type: string - enum: ["0", "1"] - description: | - 予約区分 20:00-20:30 - 0: 未予約 - 1: 予約済み - booking_typ_2030: - type: string - enum: ["0", "1"] - description: | - 予約区分 20:30-21:00 - 0: 未予約 - 1: 予約済み - booking_typ_2100: - type: string - enum: ["0", "1"] - description: | - 予約区分 21:00-21:30 - 0: 未予約 - 1: 予約済み - booking_typ_2130: - type: string - enum: ["0", "1"] - description: | - 予約区分 21:30-22:00 - 0: 未予約 - 1: 予約済み - booking_typ_2200: - type: string - enum: ["0", "1"] - description: | - 予約区分 22:00-22:30 - 0: 未予約 - 1: 予約済み - booking_typ_2230: - type: string - enum: ["0", "1"] - description: | - 予約区分 22:30-23:00 - 0: 未予約 - 1: 予約済み - booking_typ_2300: - type: string - enum: ["0", "1"] - description: | - 予約区分 23:00-23:30 - 0: 未予約 - 1: 予約済み - booking_typ_2330: - type: string - enum: ["0", "1"] - description: | - 予約区分 23:30-24:00 - 0: 未予約 - 1: 予約済み - - TrainerSchedules: type: object properties: