commit 4de0ac94f2f063d5e6c467fee79d6690f9a61e28 Author: ry-yamafuji Date: Fri Aug 11 21:55:16 2023 +0900 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..35bfc4d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +docs/ diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..dc0fb80 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "robberphex.php-debug" + ] +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..19814d0 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,18 @@ +{ + "version": "0.2.0", + "configurations": [ + + { + "name": "Listen for Xdebug", + "type": "php", + "request": "launch", + "port": 9003, + + // ADD + "pathMappings": { + "/var/www/html/":"${workspaceRoot}/src" + }, + + } + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..a4f76c6 --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +# php_testcase_create + +PHPによりテストケース作成を支援するライブラリ + +Author : ry.yamafuji +Crateddate : 2023/08/11 +lisence : MIT + +--- + +## Function + +* OpenAPIを読み込みMD形式のテストケースに変換する + * YAMLファイルを読み込む機能 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..ae7adca --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +version: '3' + +services: + php: + build: + context: ./docker + container_name: php-xdebug + stdin_open: true + tty: true + ports: + - '80:80' + volumes: + - ./src:/var/www/html + - ./docker/php.ini:/usr/local/etc/php/php.ini + diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..ee9d727 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,16 @@ +FROM php:7.4-apache + + +RUN apt-get update && apt-get install -y \ + vim \ + zip \ + unzip + +# composerのインストール +RUN cd /usr/bin && curl -s http://getcomposer.org/installer | php && ln -s /usr/bin/composer.phar /usr/bin/composer + + +# install xdebug +RUN pecl install xdebug-2.9.8 \ + && docker-php-ext-enable xdebug + diff --git a/docker/php.ini b/docker/php.ini new file mode 100644 index 0000000..0a76c34 --- /dev/null +++ b/docker/php.ini @@ -0,0 +1,9 @@ +[xdebug] +; ホストを指定 +xdebug.remote_host = host.docker.internal +; リモートデバッグを有効化 +xdebug.remote_enable = 1 + +xdebug.remote_autostart = 1 +; ホスト側のポート指定 +xdebug.remote_port = 9003 diff --git a/src/.gitignore b/src/.gitignore new file mode 100644 index 0000000..93f6ca3 --- /dev/null +++ b/src/.gitignore @@ -0,0 +1 @@ +vendor/ diff --git a/src/composer.json b/src/composer.json new file mode 100644 index 0000000..0318a88 --- /dev/null +++ b/src/composer.json @@ -0,0 +1,5 @@ +{ + "require": { + "symfony/yaml": "^5.4" + } +} diff --git a/src/composer.lock b/src/composer.lock new file mode 100644 index 0000000..0978f8e --- /dev/null +++ b/src/composer.lock @@ -0,0 +1,243 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "0c3ba147c0e4705e712772699329c079", + "packages": [ + { + "name": "symfony/deprecation-contracts", + "version": "v2.5.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-01-02T09:53:40+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/yaml", + "version": "v5.4.23", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "4cd2e3ea301aadd76a4172756296fe552fb45b0b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/4cd2e3ea301aadd76a4172756296fe552fb45b0b", + "reference": "4cd2e3ea301aadd76a4172756296fe552fb45b0b", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<5.3" + }, + "require-dev": { + "symfony/console": "^5.3|^6.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Loads and dumps YAML files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v5.4.23" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-04-23T19:33:36+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [], + "plugin-api-version": "2.3.0" +} diff --git a/src/index.php b/src/index.php new file mode 100644 index 0000000..3e94fc1 --- /dev/null +++ b/src/index.php @@ -0,0 +1,18 @@ +\?_]+)$' + password: + type: string + maxLength: 20 + minimum: 8 + example: パスワード + pattern: | + ^(?=([a-zA-Z0-9!#@\-\+\$\&]+)$) + (?=(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!#@\-\+\$\&])([a-zA-Z0-9!#@\-\+\$\&]*)$) + addrRegion: + type: string + maxLength: 5 + example: 大阪府 + description: 都道府県 + addr: + type: string + example: 大阪市大阪町1-1-1 + description: 住所 + maxLength: 100 + pattern: '^([^!"#\$%&\''\(\)=~\|\^\\\+\*@`\{\};:\[\],\.\/<>\?_]+)$' + phoneNumber: + type: string + description: 電話番号 + example: 06-1234-5678 + pattern: '^(([0-9]{2,4}-[0-9]{2,4}-[0-9]{3,4})|([0-9]{8,11}))$' + birthday: + type: string + description: 誕生日 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + vehicleMakerCode: + type: integer + description: 車種メーカー + example: 1 + vehicleTypeCode: + type: integer + description: 車種タイプ + example: 1 + sexCode: + type: integer + description: '性別コード(1:男 2:女性 3:その他)' + example: 1 + enum: + - 1 + - 2 + shopId: + type: integer + description: 最寄り店舗 + example: 1 + donationId: + type: integer + description: 寄付先コード + example: 1 + paymentCode: + type: integer + example: 1 + description: 支払方法コード + responses: + '200': + description: OK + '202': + $ref: '#/paths/~1api~1reserves/post/responses/202' + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: 会員更新 + operationId: put-members-member_id + description: | + - 会員アプリからの場合はmailAddrは必須、管理アプリの場合はNULLとなる + tags: + - Member + - PH1.0 + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + maxLength: 30 + example: 大阪太郎 + description: 氏名 + pattern: '^([^!"#\$%&\''\(\)=~\|\^\\\+\*@`\{\};:\[\],\.\/<>\?_]+)$' + mailAddr: + type: string + format: email + description: 'メールアドレス(email:rfc)' + pattern: '^[a-zA-Z0-9.!#$%&''*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$' + maxLength: 255 + addrRegion: + type: string + maxLength: 5 + example: 大阪府 + description: 都道府県 + addr: + type: string + example: 大阪市大阪町1-1-1 + description: 住所 + maxLength: 100 + pattern: '^([^!"#\$%&\''\(\)=~\|\^\\\+\*@`\{\};:\[\],\.\/<>\?_]+)$' + phoneNumber: + type: string + description: 電話番号 + example: 06-1234-5678 + pattern: '^(([0-9]{2,4}-[0-9]{2,4}-[0-9]{3,4})|([0-9]{8,11}))$' + birthday: + type: string + description: 誕生日 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + vehicleMakerCode: + type: integer + description: 車種メーカー + example: 1 + vehicleTypeCode: + type: integer + description: 車種タイプ + example: 1 + sexCode: + type: integer + description: '性別コード(1:男 2:女性 3:その他)' + example: 1 + enum: + - 1 + - 2 + shopId: + type: integer + description: 最寄り店舗 + example: 1 + donationId: + type: integer + description: 寄付先コード + example: 1 + paymentCode: + type: integer + example: 1 + description: 支払方法コード + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + delete: + summary: 会員削除(退会処理) + operationId: delete-api-sys-mst-donations-donationId + description: | + * 予約中、充電中または待機中は削除を制限する(エラー:400) + * 会員IDに紐づく会員お知らせ情報、会員決済情報、利用メンバ管理、利用メンバ_管理を削除する + * 利用メンバ管理、利用メンバ_チャージャ管理を削除する + * 退会時に名前、住所、誕生日はマスキング処理する + * 退会処理完了時に会員へメール通知する + tags: + - Member + - PH1.0 + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/members/collation: + post: + summary: 会員照合 + operationId: post-members-collation + tags: + - Member + - PH1.0 + requestBody: + description: |- + 下記のいずれかをパラメータにする + 1. 名前、住所、生年月日(NULL許容) + 1. バーコードトークン + content: + application/json: + schema: + type: object + properties: + name: + type: string + maxLength: 30 + description: 会員氏名 検索(部分一致)する + addr: + type: string + maxLength: 50 + description: 会員の住所 検索(部分一致)する + birthday: + type: string + format: date + description: 会員の生年月日 検索(部分一致)する + barcodeToken: + type: string + description: バーコードトークン 検索 + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + list: + type: array + uniqueItems: true + items: + type: object + properties: + id: + type: integer + description: 会員ID + example: 1 + name: + type: string + example: 大阪太郎 + description: 会員氏名 + addrRegion: + type: string + example: 大阪府 + description: 都道府県 + addr: + type: string + example: 大阪市大阪町1-1-1 + description: 住所 + birthday: + type: string + format: date + description: 生年月日 + example: '2019-08-24' + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/members/registry: + post: + summary: 会員仮登録 + operationId: post-members-registry + tags: + - MemberAuth + - PH1.0 + description: |- + 1. 会員のステータスが登録済、ブラックリストの場合は処理終了(ステータス:200) + 1. メールトークンを生成する + 1. 会員登録ページをメール通知する + requestBody: + content: + application/json: + schema: + type: object + properties: + mailAddr: + type: string + format: email + description: 'メールアドレス(email:rfc)' + pattern: '^[a-zA-Z0-9.!#$%&''*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$' + maxLength: 255 + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/members/verifyemail: + post: + summary: 会員仮登録メール認証 + operationId: post-members-registry + tags: + - MemberAuth + - PH1.0 + description: '' + requestBody: + content: + application/json: + schema: + type: object + properties: + memberId: + type: integer + description: 会員ID + example: 1 + mailToken: + type: string + description: メールトークン + example: 67825c10D099aS49c9-bad9A95072db4e769 + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + mailAddr: + type: string + description: メールアドレス + format: email + example: user@example.com + '202': + $ref: '#/paths/~1api~1reserves/post/responses/202' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/members/login: + post: + summary: 会員ログイン + operationId: post-members-login + tags: + - MemberAuth + - PH1.0 + description: '' + requestBody: + description: | + - 自動ログインの場合は会員IDとユーザトークン + - 手動ログインの場合はメールアドレスとパスワード + content: + application/json: + schema: + type: object + properties: + memberId: + type: integer + description: 会員ID + example: 1 + userToken: + type: string + description: ユーザトークン + example: 1|xXuSEKkONsrCC75QPtJALvbuToH8o9x2HwrogYGQ + deviceToken: + type: string + description: デバイストークン + example: cdfdfdsssddfsafjodifjodaa + nullable: true + mailAddr: + type: string + format: email + description: 'メールアドレス(email:rfc)' + pattern: '^[a-zA-Z0-9.!#$%&''*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$' + maxLength: 255 + example: user@example.com + password: + type: string + description: パスワード + maxLength: 20 + minimum: 8 + example: pa$$ss1Word + pattern: | + ^(?=([a-zA-Z0-9!#@\-\+\$\&]+)$) + (?=(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!#@\-\+\$\&])([a-zA-Z0-9!#@\-\+\$\&]*)$) + examples: + 自動ログイン: + value: + memberId: 5 + userToken: 1|xXuSEKkONsrCC75QPtJALvbuToH8o9x2HwrogYGQ + 手動ログイン: + value: + mailAddr: user@example.com + password: pa$$ss1Word + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + memberId: + type: integer + description: 会員ID + example: 5 + userToken: + type: string + description: ユーザトークン + example: 1|xXuSEKkONsrCC75QPtJALvbuToH8o9x2HwrogYGQ + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/members/password: + post: + summary: 会員パスワード更新 + operationId: post-member-password + tags: + - Member + - PH1.0 + description: '' + requestBody: + content: + application/json: + schema: + type: object + properties: + password: + type: string + description: パスワード(現在) + maxLength: 20 + minimum: 8 + example: pa$$ss1Word + pattern: | + ^(?=([a-zA-Z0-9!#@\-\+\$\&]+)$) + (?=(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!#@\-\+\$\&])([a-zA-Z0-9!#@\-\+\$\&]*)$) + newPassword: + type: string + description: パスワード(新規) + maxLength: 20 + minimum: 8 + example: pa$$ss2Word + pattern: | + ^(?=([a-zA-Z0-9!#@\-\+\$\&]+)$) + (?=(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!#@\-\+\$\&])([a-zA-Z0-9!#@\-\+\$\&]*)$) + required: + - memberId + - password + - newPassword + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/members/forgot-password: + post: + summary: 会員パスワード再設定-URL取得 + operationId: post-member-forgot-password + tags: + - Member + - PH1.0 + description: '' + requestBody: + content: + application/json: + schema: + type: object + properties: + mailAddr: + type: string + format: email + description: 'メールアドレス(email:rfc)' + pattern: '^[a-zA-Z0-9.!#$%&''*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$' + maxLength: 255 + example: user@example.com + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/members/reset-password: + post: + summary: 会員パスワード再設定-更新 + operationId: post-member-reset-password + tags: + - Member + - PH1.0 + description: '' + requestBody: + content: + application/json: + schema: + type: object + properties: + memberId: + type: integer + description: 会員ID + example: 1 + password: + type: string + description: パスワード + maxLength: 20 + minimum: 8 + example: pa$$ss1Word + pattern: | + ^(?=([a-zA-Z0-9!#@\-\+\$\&]+)$) + (?=(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!#@\-\+\$\&])([a-zA-Z0-9!#@\-\+\$\&]*)$) + resetToken: + type: string + description: ユーザトークン + example: xXuSEKkONsrCC75QPtJALvbuToH8o9x2HwrogYGQ + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/members/{memberId}/notices': + parameters: + - schema: + type: integer + name: memberId + in: path + required: true + get: + operationId: get-api-members-member_id_notices + summary: 会員-お知らせ一覧 + description: '' + tags: + - MemberNotice + - PH1.0 + security: + - MEMBER-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + list: + type: array + items: + type: object + properties: + id: + type: integer + description: 会員お知らせID + example: 1 + noticeId: + type: integer + description: お知らせID + example: 1 + title: + type: string + description: お知らせ題名 + example: 新形コロナウィルスに対する感染予防について + body: + type: string + description: お知らせ内容 + example: テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。 + imgUrl: + type: string + format: uri + description: お知らせ画像URL + example: 'http://localhost/images/notices/001.png' + checkAt: + type: string + description: 確認日時 + nullable: true + example: '2022-07-31 00:00:00' + createAt: + type: string + description: 登録日時(配信日時) + example: '2022-07-31 00:00:00' + required: + - id + - noticeId + - title + - body + - imgUrl + - createAt + examples: + example: + value: + list: + - id: 1 + noticeId: 1 + title: 新形コロナウィルスに対する感染予防について + body: テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。 + imgUrl: 'http://localhost/images/notices/001.png' + checkAt: null + createAt: '2022-08-21 00:00:00' + - id: 13 + noticeId: 2 + title: キャンペーンが始まりました1 + body: テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。 + imgUrl: 'http://localhost/images/notices/002.png' + checkAt: null + createAt: '2022-07-31 00:00:00' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/members/{memberId}/notices/{noticeId}': + parameters: + - schema: + type: integer + description: 会員ID + name: memberId + in: path + required: true + - schema: + type: integer + description: お知らせID + name: noticeId + in: path + required: true + put: + operationId: put-members-memberId-notices-noticeId + summary: 会員-お知らせ更新 + description: お知らせ既読処理 + tags: + - MemberNotice + - PH1.0 + security: + - MEMBER-APP: [] + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/members/{memberId}/notices/noread-num': + parameters: + - schema: + type: integer + description: 会員ID + name: memberId + in: path + required: true + get: + operationId: get-members-memberId-notices-noread-num + summary: 会員-お知らせ情報未読数 + description: '' + tags: + - MemberNotice + - PH1.0 + security: + - MEMBER-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + noReadNum: + description: お知らせの未読数 + example: 2 + type: integer + required: + - noReadNum + examples: + example: + value: + noReadNum: 3 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/members/{memberId}/coupons': + parameters: + - schema: + type: integer + name: memberId + in: path + required: true + get: + operationId: get-api-members-member_id_coupons + summary: 会員-クーポン一覧 + description: '' + tags: + - MemberCoupon + - PH1.0 + security: + - MEMBER-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + list: + type: array + items: + type: object + properties: + id: + type: integer + description: クーポンID(会員クーポン情報) + example: 1 + couponCode: + type: integer + description: クーポンコード(会員クーポン情報) + example: 320 + couponTitle: + type: string + description: クーポン題名(会員クーポン情報) + example: コーヒー半額クーポン + couponBody: + type: string + description: クーポン本文(会員クーポン情報) + example: 店内のお会計から50%OFF + couponImgUrl: + type: string + description: クーポン画像(会員クーポン情報) + useShopId: + type: integer + description: 利用店舗ID(会員クーポン情報) + example: 1 + nullable: true + useShopStr: + type: string + description: 利用店舗名(店舗.店舗名) + example: 茨木本店 + nullable: true + useAt: + type: string + description: クーポン使用日時(会員クーポン情報) + nullable: true + example: '2022-08-10 10:00:00' + giveAt: + type: string + description: クーポン付与日時(会員クーポン情報) + example: '2022-07-31 00:00:00' + valid_to: + type: string + description: クーポン有効期限(会員クーポン情報) + format: date + required: + - id + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + operationId: put-members-memberId-notices-noticeId + summary: 会員-クーポン更新 + description: クーポン使用処理・取消処理 + tags: + - MemberCoupon + - PH1.0 + security: + - ADMIN-APP: [] + requestBody: + description: | + * クーポン履歴の登録時 + * クーポン履歴の削除時 + content: + application/json: + schema: + type: object + properties: + type: + type: integer + description: | + 処理タイプ + 1:クーポン利用(登録)時 + 2:クーポン更新(削除)時 + example: 1 + couponCode: + type: integer + description: クーポンコード + example: 320 + couponId: + type: integer + description: クーポンID + example: 1 + required: + - type + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/members/{memberId}/coupons/{CouponId}': + parameters: + - schema: + type: integer + description: 会員ID + name: memberId + in: path + required: true + - schema: + type: integer + description: クーポンID + name: noticeId + in: path + required: true + get: + operationId: get-members-memberId-coupons-couponsId + summary: 会員-クーポン詳細 + description: '' + tags: + - MemberCoupon + - PH1.0 + security: + - MEMBER-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + id: + type: integer + description: 会員クーポン情報ID(会員クーポン情報) + example: 1 + couponId: + type: integer + description: クーポンID(会員クーポン情報) + example: 1 + couponCode: + type: integer + description: クーポンコード(会員クーポン情報) + example: 320 + couponTitle: + type: string + description: クーポン題名(会員クーポン情報) + example: コーヒー半額クーポン + couponBody: + type: string + description: クーポン本文(会員クーポン情報) + example: 店内のお会計から50%OFF + couponWarning: + type: string + description: クーポン注意事項(会員クーポン情報.クーポン備考) + example: 対象店舗でのみご利用いただけます。事前にご確認ください + couponImgUrl: + type: string + description: クーポン画像URL(会員クーポン情報) + example: 'http://example.com/img.png' + statusCode: + type: integer + description: 'ステータス(未使用:0 使用済:1/会員クーポン情報T)' + example: 1 + useShopId: + type: integer + description: 利用店舗ID(会員クーポン情報) + example: 1 + nullable: true + useShopName: + type: string + description: 利用店舗名(店舗.店舗名) + example: 茨木本店 + nullable: true + valid_to: + type: string + description: クーポン有効期限(会員クーポン情報) + format: date + useAt: + type: string + description: クーポン使用日時(会員クーポン情報) + nullable: true + example: '2022-08-10 10:00:00' + giveAt: + type: string + description: クーポン付与日時(会員クーポン情報) + example: '2022-07-31 00:00:00' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/members/{memberId}/points': + parameters: + - schema: + type: integer + name: memberId + in: path + required: true + get: + operationId: get-api-members-member_id_points + summary: 会員ポイント情報一覧 + description: '' + tags: + - MemberPoint + - PH1.0 + security: + - MEMBER-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + list: + type: array + items: + type: object + properties: + id: + type: integer + description: 会員ポイント履歴ID( 会員ポイント履歴) + memberId: + type: integer + description: 会員ID(会員ポイント履歴) + historyId: + type: integer + description: 履歴ID(会員ポイント履歴) + shopId: + type: integer + description: 店舗ID(会員ポイント履歴) + example: 1 + shopStr: + type: string + description: 店舗名 + example: 茨木店 + type: + type: integer + description: '処理タイプ(付与:0 使用:1/会員ポイント履歴)' + serviceCategoryId: + type: integer + description: サービスカテゴリ(処理タイプが付与の場合のみ/会員ポイント履歴) + example: 4 + nullable: true + serviceCategoryStr: + type: string + description: サービスカテゴリ名(サービスカテゴリ) + example: 工事 + nullable: true + paymentAmount: + type: integer + description: 支払金額(サービスカテゴリ) + example: 5000 + nullable: true + point: + type: integer + description: ポイント数(サービスカテゴリ) + example: 100 + processDate: + type: string + format: date + description: 処理日付(会員ポイント履歴.処理日時の日付) + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + post: + operationId: get-api-members-member_id_points + summary: 会員ポイント情報登録 + description: '' + tags: + - MemberPoint + - PH1.0 + security: + - MEMBER-APP: [] + requestBody: + description: | + * 付与時=処理タイプ(1)、サービスカテゴリ、支払金額、ポイント + * 使用時=処理タイプ(2)、ポイント + content: + application/json: + schema: + type: object + properties: + type: + type: integer + description: '処理タイプ(付与:0 使用:1/会員ポイント履歴)' + minimum: 0 + example: 1 + serviceCategory: + type: integer + description: サービスカテゴリ(会員ポイント履歴) + example: 4 + paymentAmount: + type: integer + description: 支払金額(会員ポイント履歴) + point: + type: integer + description: ポイント数(会員ポイント履歴) + example: -1500 + required: + - type + - point + examples: + 付与: + value: + type: 1 + serviceCategory: 1 + paymentAmount: 1000 + point: 10 + 使用: + value: + type: 2 + point: 500 + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/members/{memberId}/points/{pointId}': + parameters: + - schema: + type: integer + description: 会員ID + name: memberId + in: path + required: true + - schema: + type: integer + description: 履歴ID + name: points + in: path + required: true + delete: + summary: 会員ポイント情報削除 + operationId: delete-members-memberId-points-historyId + description: '' + tags: + - MemberPoint + - PH1.0 + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/members/{memberId}/payments': + parameters: + - schema: + type: integer + name: memberId + in: path + required: true + get: + operationId: get-members-memberId-payments + summary: 会員決済情報一覧取得 + description: '' + tags: + - MemberPayment + - PH1.0 + security: + - MEMBER-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + nowCode: + type: integer + example: 1 + description: 現在の決済種類(会員基本情報.決済コード) + list: + type: array + items: + type: object + properties: + paymentCode: + type: integer + description: 決済種類コード + example: 2 + paymentStr: + type: string + description: '決済種類(区分マスタ:決済手段.値1)' + example: PayPay + typeImageUrl: + type: string + example: 'http://localhost/images/payments/img1.png' + description: '決済画像URL(区分マスタ:決済手段.値2)' + alignmentFlg: + description: 連携フラグ(会員決済情報.ステータス) + type: boolean + examples: + example-1: + value: + nowCode: 0 + list: + - paymentCode: 1 + paymentStr: クレジットカード + typeImageUrl: 'http://localhost/images/payments/img1.png' + alignmentFlg: true + - paymentCode: 2 + paymentStr: PayPay + typeImageUrl: 'http://localhost/images/payments/img2.png' + alignmentFlg: false + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/members/{memberId}/reserves': + parameters: + - schema: + type: integer + name: memberId + in: path + required: true + get: + operationId: get-api-members-member_id_reserves + summary: 会員充電予約情報取得 + description: '' + tags: + - MemberReserves + - PH1.0 + security: + - ADMIN-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + reserveId: + type: integer + description: 予約ID + example: 6 + startAt: + type: string + description: 予約開始日時 + example: '2022-02-28 17:00:00' + examples: + example: + value: + reserveId: 6 + startAt: '2022-08-31 13:00:00' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/shops: + get: + operationId: get-api-shops + summary: 店舗一覧 + description: '' + tags: + - Shop + - PH1.0 + parameters: + - schema: + type: integer + example: 1 + in: query + name: category + description: '1 or 空:ステーションのみ、2:本部のみ 0:全体' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + list: + type: array + items: + type: object + properties: + id: + type: integer + description: 店舗ID + name: + type: string + description: 店舗名 + example: 茨木本店 + category: + type: integer + description: '店舗種別(1:ステーション 2:管理本部)' + example: 1 + '500': + description: Internal Server Error 想定外エラー + content: + application/json: + schema: + type: object + title: Error500 + description: エラー(500)の共通スキーマ + properties: + status: + type: integer + example: 500 + msg: + type: string + example: Internal Server Error + required: + - status + - msg + /api/sys/mst/shops: + get: + operationId: api-get-sys-mst_shops + summary: 店舗マスタ一覧(ステーション・管理本部) + description: | + * 店舗責任者=店舗IDに紐づく社員.権限が店舗責任者の社員 + * 店舗スタッフ人数=店舗IDに紐づく社員.権限が店舗スタッフの社員の個数 + tags: + - Shop + - PH1.0 + security: + - ADMIN-APP: [] + parameters: + - schema: + type: integer + example: 1 + in: query + name: category + description: '1 or 空:ステーションのみ、2:本部のみ 0:全体' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + list: + type: array + items: + type: object + properties: + id: + type: integer + description: 店舗ID + example: 1 + name: + type: string + description: 店舗名 + example: 茨木本店 + phoneNumber: + type: string + description: 店舗電話番号 + example: 06-1234-5678 + category: + type: integer + description: '店舗種別(1:ステーション 2:管理本部)' + example: 1 + shopManager: + type: integer + example: 1 + description: 店舗責任者 + nullable: true + shopManagerName: + type: string + description: 店舗責任者氏名 + example: 店舗管理太郎 + nullable: true + staffTotal: + type: integer + description: 店舗スタッフ人数 + nullable: true + examples: + example: + value: + list: + - id: 1 + code: M01 + name: 本社 + phoneNumber: 000-1234-5436 + category: 2 + staffTotal: null + shopManager: null + shopManagerName: null + - id: 2 + code: S01 + name: 茨木本店 + phoneNumber: 000-1234-5436 + category: 1 + staffTotal: 1 + shopManager: 3 + shopManagerName: 店舗管理者 + - id: 3 + code: S02 + name: 神戸支店 + phoneNumber: 000-1234-5436 + category: 1 + staffTotal: null + shopManager: null + shopManagerName: null + - id: 4 + code: S03 + name: テスト支店 + phoneNumber: 000-1234-5436 + category: 1 + staffTotal: 2 + shopManager: 7 + shopManagerName: UATユーザー04 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + post: + summary: 店舗マスタ登録(ステーション・管理本部) + operationId: api-post-sys-mst_shops + description: '' + tags: + - Shop + - PH1.0 + - PH3.0 + security: + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + properties: + code: + type: string + description: コード + example: S0001 + maxLength: 5 + pattern: '^[a-zA-Z0-9]+$' + category: + type: integer + description: 店舗種別 + example: 1 + name: + type: string + description: 店舗名 + example: ステーション茨木店 + minLength: 0 + maxLength: 20 + postNumber: + type: integer + description: 郵便番号 + example: 1234567 + minimum: 1 + maximum: 9999999 + addrRegion: + type: string + description: 都道府県 + example: 大阪府 + maxLength: 5 + addr1: + type: string + description: 住所1 + example: 茨木市 + maxLength: 30 + addr2: + type: string + description: 住所2 + example: 松が本町8-30 + maxLength: 30 + nullable: true + phoneNumber: + type: string + description: 電話番号 + example: 090-1234-5678 + maxLength: 15 + pattern: '^(([0-9]{2,4}-[0-9]{2,4}-[0-9]{3,4})|([0-9]{8,11}))$' + faxNumber: + type: string + description: FAX番号 + example: 090-1234-5678 + maxLength: 15 + pattern: '^(([0-9]{2,4}-[0-9]{2,4}-[0-9]{3,4})|([0-9]{8,11}))$' + nullable: true + shopInfo: + type: string + description: 店舗情報 + example: 店舗情報 + maxLength: 255 + nullable: true + imageDetail: + type: string + description: 画像説明 + example: 画像説明 + maxLength: 255 + nullable: true + shopImages: + type: array + description: 店舗画像(配列) + items: + type: string + example: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYII=' + isWorkWeekSun: + type: boolean + description: 営業_日_稼働フラグ + example: true + nullable: true + weekSunStartTime: + type: string + description: 営業_日_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekSunCloseTime: + type: string + description: 営業_日_終了時間 + example: '18:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekMon: + type: boolean + description: 営業_月_稼働フラグ + example: true + nullable: true + weekMonStartTime: + type: string + description: 営業_月_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekMonCloseTime: + type: string + description: 営業_月_終了時間 + example: '18:10:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekTue: + type: boolean + description: 営業_火_稼働フラグ + example: true + nullable: true + weekTueStartTime: + type: string + description: 営業_火_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekTueCloseTime: + type: string + description: 営業_火_終了時間 + example: '18:20:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekWed: + type: boolean + description: 営業_水_稼働フラグ + example: true + nullable: true + weekWedStartTime: + type: string + description: 営業_水_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekWedCloseTime: + type: string + description: 営業_水_終了時間 + example: '18:30:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekThu: + type: boolean + description: 営業_木_稼働フラグ + example: true + nullable: true + weekThuStartTime: + type: string + description: 営業_木_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekThuCloseTime: + type: string + description: 営業_木_終了時間 + example: '18:40:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekFri: + type: boolean + description: 営業_金_稼働フラグ + example: true + nullable: true + weekFriStartTime: + type: string + description: 営業_金_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekFriCloseTime: + type: string + description: 営業_金_終了時間 + example: '18:50:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekSat: + type: boolean + description: 営業_土_稼働フラグ + example: true + nullable: true + weekSatStartTime: + type: string + description: 営業_土_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekSatCloseTime: + type: string + description: 営業_土_終了時間 + example: '19:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkHoliday: + type: boolean + description: 営業_祝日_稼働フラグ + example: true + nullable: true + holidayStartTime: + type: string + description: 営業_祝日_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + holidayCloseTime: + type: string + description: 営業_祝日_終了時間 + example: '19:00:00' + nullable: true + lateUnitPrice: + type: integer + example: 10 + description: 遅延単価 + minimum: 0 + maximum: 999 + nullable: true + required: + - code + - category + - name + - postNumber + - addrRegion + - addr1 + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/sys/mst/shops/{shopId}': + parameters: + - schema: + type: integer + in: path + name: shopId + description: 店舗ID + required: true + get: + summary: 店舗マスタ詳細(ステーション・管理本部) + operationId: get-api-sys-mst-shops-shop-id + description: '' + tags: + - Shop + - PH1.0 + - PH3.0 + security: + - ADMIN-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + code: + type: string + description: 店舗コード + example: S001 + category: + type: integer + description: '店舗種別(1:ステーション 2:管理本部)' + example: 2 + name: + type: string + description: 店舗名 + example: 茨木支店 + postNumber: + type: string + description: 郵便番号 + example: 〒583-0001 + nullable: true + addrRegion: + type: string + description: 都道府県 + example: 大阪府 + nullable: true + addr1: + type: string + description: 住所1 + example: 茨木市駅前一丁目1番1号 + nullable: true + addr2: + type: string + description: 住所2 + example: null + nullable: true + phoneNumber: + type: string + description: 電話番号 + example: 090-1234-5678 + nullable: true + faxNumber: + type: string + description: FAX番号 + example: 090-1234-5678 + nullable: true + shopInfo: + type: string + description: 店舗情報 + example: 店舗情報 + nullable: true + imageDetail: + type: string + description: 画像説明 + example: 画像説明がはいります + nullable: true + shopImages: + type: array + description: 店舗画像(配列) + items: + type: string + example: 'http://localhost/images/shops/001.png' + isWorkWeekSun: + type: boolean + description: 営業_日_稼働フラグ + example: true + nullable: true + weekSunStartTime: + type: string + description: 営業_日_開始時間 + example: '09:00:00' + nullable: true + weekSunCloseTime: + type: string + description: 営業_日_終了時間 + example: '18:00:00' + nullable: true + isWorkWeekMon: + type: boolean + description: 営業_月_稼働フラグ + example: true + nullable: true + weekMonStartTime: + type: string + description: 営業_月_開始時間 + example: '09:00:00' + nullable: true + weekMonCloseTime: + type: string + description: 営業_月_終了時間 + example: '18:10:00' + nullable: true + isWorkWeekTue: + type: boolean + description: 営業_火_稼働フラグ + example: true + nullable: true + weekTueStartTime: + type: string + description: 営業_火_開始時間 + example: '09:00:00' + nullable: true + weekTueCloseTime: + type: string + description: 営業_火_終了時間 + example: '18:20:00' + nullable: true + isWorkWeekWed: + type: boolean + description: 営業_水_稼働フラグ + example: true + nullable: true + weekWedStartTime: + type: string + description: 営業_水_開始時間 + example: '09:00:00' + nullable: true + weekWedCloseTime: + type: string + description: 営業_水_終了時間 + example: '18:30:00' + nullable: true + isWorkWeekThu: + type: boolean + description: 営業_木_稼働フラグ + example: true + nullable: true + weekThuStartTime: + type: string + description: 営業_木_開始時間 + example: '09:00:00' + nullable: true + weekThuCloseTime: + type: string + description: 営業_木_終了時間 + example: '18:40:00' + nullable: true + isWorkWeekFri: + type: boolean + description: 営業_金_稼働フラグ + example: true + nullable: true + weekFriStartTime: + type: string + description: 営業_金_開始時間 + example: '09:00:00' + nullable: true + weekFriCloseTime: + type: string + description: 営業_金_終了時間 + example: '18:50:00' + nullable: true + isWorkWeekSat: + type: boolean + description: 営業_土_稼働フラグ + example: true + nullable: true + weekSatStartTime: + type: string + description: 営業_土_開始時間 + example: '09:00:00' + nullable: true + weekSatCloseTime: + type: string + description: 営業_土_終了時間 + example: '19:00:00' + nullable: true + isWorkHoliday: + type: boolean + description: 営業_祝日_稼働フラグ + example: true + nullable: true + holidayStartTime: + type: string + description: 営業_祝日_開始時間 + example: '09:00:00' + nullable: true + holidayCloseTime: + type: string + description: 営業_祝日_終了時間 + example: '19:00:00' + nullable: true + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: 店舗マスタ更新(ステーション・管理本部) + operationId: put-api-shops-shop-id + description: '' + tags: + - Shop + - PH1.0 + - PH3.0 + security: + - ADMIN-APP: [] + requestBody: + $ref: '#/paths/~1api~1sys~1mst~1shops/post/requestBody' + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + delete: + summary: 店舗マスタ削除 + operationId: put-api-shops-shop-id + description: | + * 子テーブルを連鎖削除する(チャージャ) + * 管理本部、ステーション、オーナーのすべての店舗共通処理 + security: + - ADMIN-APP: [] + tags: + - Shop + - PH1.0 + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/sys/mst/shops/owners: + get: + operationId: get-api-sys-mst-shops-owners + summary: 店舗マスタ(オーナー)一覧 + description: '' + tags: + - ShopsOwner + - PH2.0 + security: + - ADMIN-TOKEN: [] + parameters: + - schema: + type: string + in: query + name: kw + description: キーワード + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + list: + type: array + items: + type: object + properties: + id: + type: integer + description: 店舗ID + example: 1 + customerNumber: + type: string + description: 取引先番号 + example: CO00001 + ownerName: + type: string + description: 取引先名 + example: イオンモール + name: + type: string + description: 店舗名 + example: イオンモール茨木 + phoneNumber: + type: string + description: 電話番号 + example: 090-1234-5436 + addrRegion: + type: string + example: 大阪府 + description: 都道府県 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + post: + summary: 店舗マスタ(オーナー)登録 + operationId: post-api-sys-mst-shops-owners + description: '' + tags: + - ShopsOwner + - PH2.0 + - PH3.0 + security: + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + ownerId: + type: integer + description: オーナーID + example: 1 + name: + type: string + description: 店舗名 + maxLength: 20 + example: オーナー店舗名 + postNumber: + type: integer + description: 郵便番号 + example: 1234567 + addrRegion: + type: string + description: 都道府県 + example: 大阪府 + maxLength: 5 + addr1: + type: string + description: 住所1 + example: 茨木市 + maxLength: 30 + addr2: + type: string + description: 住所2 + example: 松が本町8-30 + maxLength: 30 + nullable: true + phoneNumber: + type: string + description: 電話番号 + example: 090-1234-5678 + maxLength: 15 + pattern: '^(([0-9]{2,4}-[0-9]{2,4}-[0-9]{3,4})|([0-9]{8,11}))$' + faxNumber: + type: string + description: FAX番号 + example: 090-1234-5678 + maxLength: 15 + pattern: '^(([0-9]{2,4}-[0-9]{2,4}-[0-9]{3,4})|([0-9]{8,11}))$' + nullable: true + shopInfo: + type: string + description: 店舗情報 + example: 店舗情報 + maxLength: 255 + nullable: true + imageDetail: + type: string + description: 画像説明 + example: 画像説明 + maxLength: 255 + nullable: true + shopImages: + type: array + description: 店舗画像(配列) + items: + type: string + example: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYII=' + isWorkWeekSun: + type: boolean + description: 営業_日_稼働フラグ + example: true + weekSunStartTime: + type: string + description: 営業_日_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekSunCloseTime: + type: string + description: 営業_日_終了時間 + example: '18:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekMon: + type: boolean + description: 営業_月_稼働フラグ + example: true + weekMonStartTime: + type: string + description: 営業_月_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekMonCloseTime: + type: string + description: 営業_月_終了時間 + example: '18:10:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekTue: + type: boolean + description: 営業_火_稼働フラグ + example: true + weekTueStartTime: + type: string + description: 営業_火_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekTueCloseTime: + type: string + description: 営業_火_終了時間 + example: '18:20:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekWed: + type: boolean + description: 営業_水_稼働フラグ + example: true + weekWedStartTime: + type: string + description: 営業_水_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekWedCloseTime: + type: string + description: 営業_水_終了時間 + example: '18:30:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekThu: + type: boolean + description: 営業_木_稼働フラグ + example: true + weekThuStartTime: + type: string + description: 営業_木_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekThuCloseTime: + type: string + description: 営業_木_終了時間 + example: '18:40:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekFri: + type: boolean + description: 営業_金_稼働フラグ + example: true + weekFriStartTime: + type: string + description: 営業_金_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekFriCloseTime: + type: string + description: 営業_金_終了時間 + example: '18:50:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekSat: + type: boolean + description: 営業_土_稼働フラグ + example: true + weekSatStartTime: + type: string + description: 営業_土_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekSatCloseTime: + type: string + description: 営業_土_終了時間 + example: '19:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkHoliday: + type: boolean + description: 営業_祝日_稼働フラグ + example: true + holidayStartTime: + type: string + description: 営業_祝日_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + holidayCloseTime: + type: string + description: 営業_祝日_終了時間 + example: '19:00:00' + nullable: true + basePrice: + type: integer + minimum: 0 + maximum: 999 + description: 基準料金単価 + example: 60 + profitRate: + type: number + description: 利益率 + example: 0.3 + format: float + minimum: 0 + maximum: 1 + maintenanceAmount: + type: integer + description: 保守代 + minimum: 0 + maximum: 9999999 + example: 30000 + nullable: true + lateUnitPrice: + type: integer + example: 10 + minimum: 0 + maximum: 999 + description: 遅延単価 + nullable: true + nighttimeFromTime: + type: string + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + example: '23:00:00' + description: 深夜時間帯_開始時間 + nullable: true + nighttimeToTime: + type: string + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + example: '07:00:00' + description: 深夜時間帯_終了時間 + nullable: true + nighttimeBasePrice: + type: integer + example: 20 + minimum: 0 + maximum: 999 + description: 深夜基準料金単価 + nullable: true + nighttimeProfitRate: + type: number + example: 0.2 + description: 深夜利益率 + format: float + minimum: 0 + maximum: 1 + nullable: true + required: + - ownerId + - name + - postNumber + - addrRegion + - addr1 + - basePrice + - profitRate + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/sys/mst/shops/{shopId}/owners': + parameters: + - schema: + type: integer + in: query + name: shopId + description: 店舗ID(オーナー) + required: true + get: + summary: 店舗マスタ(オーナー)詳細 + operationId: get-api-sys-mst-shops-shop-id-owners + description: '' + tags: + - ShopsOwner + - PH2.0 + - PH3.0 + security: + - ADMIN-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + name: + type: string + description: 店舗名 + example: 本店 + ownerId: + type: integer + description: オーナーID + example: 1 + customerNumber: + type: string + description: 取引先番号 + example: CO00001 + ownerName: + type: string + description: 取引先名 + example: イオンモール + postNumber: + type: string + description: 郵便番号 + example: 〒583-0001 + nullable: true + addrRegion: + type: string + description: 都道府県 + example: 大阪府 + nullable: true + addr1: + type: string + description: 住所1 + example: 茨木市駅前一丁目1番1号 + nullable: true + addr2: + type: string + description: 住所2 + example: null + nullable: true + phoneNumber: + type: string + description: 電話番号 + example: 090-1234-5678 + nullable: true + faxNumber: + type: string + description: FAX番号 + example: 090-1234-5678 + nullable: true + shopInfo: + type: string + description: 店舗情報 + example: 店舗情報 + nullable: true + imageDetail: + type: string + description: 画像説明 + example: 画像説明がはいります + nullable: true + shopImages: + type: array + description: 店舗画像(配列) + items: + type: string + example: 'http://localhost/images/shops/001.png' + isWorkWeekSun: + type: boolean + description: 営業_日_稼働フラグ + example: true + weekSunStartTime: + type: string + description: 営業_日_開始時間 + example: '09:00:00' + nullable: true + weekSunCloseTime: + type: string + description: 営業_日_終了時間 + example: '18:00:00' + nullable: true + isWorkWeekMon: + type: boolean + description: 営業_月_稼働フラグ + example: true + weekMonStartTime: + type: string + description: 営業_月_開始時間 + example: '09:00:00' + nullable: true + weekMonCloseTime: + type: string + description: 営業_月_終了時間 + example: '18:10:00' + nullable: true + isWorkWeekTue: + type: boolean + description: 営業_火_稼働フラグ + example: true + weekTueStartTime: + type: string + description: 営業_火_開始時間 + example: '09:00:00' + nullable: true + weekTueCloseTime: + type: string + description: 営業_火_終了時間 + example: '18:20:00' + isWorkWeekWed: + type: boolean + description: 営業_水_稼働フラグ + example: true + weekWedStartTime: + type: string + description: 営業_水_開始時間 + example: '09:00:00' + nullable: true + weekWedCloseTime: + type: string + description: 営業_水_終了時間 + example: '18:30:00' + nullable: true + isWorkWeekThu: + type: boolean + description: 営業_木_稼働フラグ + example: true + weekThuStartTime: + type: string + description: 営業_木_開始時間 + example: '09:00:00' + nullable: true + weekThuCloseTime: + type: string + description: 営業_木_終了時間 + example: '18:40:00' + nullable: true + isWorkWeekFri: + type: boolean + description: 営業_金_稼働フラグ + example: true + weekFriStartTime: + type: string + description: 営業_金_開始時間 + example: '09:00:00' + nullable: true + weekFriCloseTime: + type: string + description: 営業_金_終了時間 + example: '18:50:00' + nullable: true + isWorkWeekSat: + type: boolean + description: 営業_土_稼働フラグ + example: true + weekSatStartTime: + type: string + description: 営業_土_開始時間 + example: '09:00:00' + nullable: true + weekSatCloseTime: + type: string + description: 営業_土_終了時間 + example: '19:00:00' + nullable: true + isWorkHoliday: + type: boolean + description: 営業_祝日_稼働フラグ + example: true + holidayStartTime: + type: string + description: 営業_祝日_開始時間 + example: '09:00:00' + nullable: true + holidayCloseTime: + type: string + description: 営業_祝日_終了時間 + example: '19:00:00' + nullable: true + basePrice: + type: integer + minimum: 0 + maximum: 999 + description: 基準料金単価 + example: 60 + profitRate: + type: number + description: 利益率 + example: 0.3 + format: float + minimum: 0 + maximum: 1 + maintenanceAmount: + type: integer + description: 保守代 + minimum: 0 + maximum: 9999999 + example: 30000 + nullable: true + lateUnitPrice: + type: integer + example: 10 + description: 遅延単価 + minimum: 0 + maximum: 999 + nullable: true + nighttimeFromTime: + type: string + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + example: '23:00:00' + description: 深夜時間帯_開始時間 + nullable: true + nighttimeToTime: + type: string + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + example: '07:00:00' + description: 深夜時間帯_終了時間 + nullable: true + nighttimeBasePrice: + type: integer + example: 20 + minimum: 0 + maximum: 999 + description: 深夜基準料金単価 + nullable: true + nighttimeProfitRate: + type: number + example: 0.2 + description: 深夜利益率 + format: float + minimum: 0 + maximum: 1 + nullable: true + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: 店舗マスタ(オーナー)更新 + operationId: put-api-sys-mst-shops-shop-id-owners + description: '' + tags: + - ShopsOwner + - PH2.0 + - PH3.0 + security: + - ADMIN-APP: [] + requestBody: + $ref: '#/paths/~1api~1sys~1mst~1shops~1owners/post/requestBody' + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/sys/mst/chargers: + get: + operationId: get-api-sys-mst-chargers + summary: チャージャマスタ一覧(ステーション・管理本部) + description: '' + tags: + - Charger + - PH1.0 + security: + - ADMIN-APP: [] + responses: + '200': + description: OK + $ref: '#/paths/~1api~1chargers/get/responses/200' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + post: + summary: チャージャマスタ登録(ステーション・管理本部) + operationId: post-api-sys-mst-chargers + description: '' + tags: + - Charger + - PH1.0 + security: + - ADMIN-APP: [] + requestBody: + $ref: '#/paths/~1api~1chargers/post/requestBody' + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/sys/mst/chargers/{chargerId}': + parameters: + - schema: + type: integer + in: query + name: chargerId + description: チャージャID + get: + summary: チャージャマスタ詳細(ステーション・管理本部・オーナー) + operationId: get-api-sys-mst-chargers-charger-id + description: '' + tags: + - Charger + - PH1.0 + security: + - ADMIN-APP: [] + responses: + '200': + description: OK + $ref: '#/paths/~1api~1chargers~1%7BchargerId%7D/get/responses/200' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: チャージャマスタ更新(ステーション・管理本部) + operationId: put-api-sys-mst-chargers-charger-id + description: '' + tags: + - Charger + - PH1.0 + security: + - ADMIN-APP: [] + requestBody: + $ref: '#/paths/~1api~1chargers~1%7BchargerId%7D/put/requestBody' + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + delete: + summary: チャージャマスタ削除(ステーション・管理本部・オーナー) + operationId: put-api-sys-mst-chargers-charger-id + description: '' + security: + - ADMIN-APP: [] + tags: + - Charger + - PH1.0 + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/chargers: + get: + operationId: get-api-chargers + summary: チャージャ一覧 + description: | + * チャージャマスタ一覧(ステーション・管理本部)と処理が重複しているので削除予定(実装確認未) // :TASK + tags: + - Charger + - PH1.0 + - PH3.0 + security: + - ADMIN-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + dataCount: + type: integer + list: + type: array + items: + type: object + properties: + id: + type: integer + description: チャージャID + example: 1 + isEnable: + type: boolean + description: 使用可フラグ + example: true + status: + type: integer + description: 'ステータス(0:接続 1:未接続 2:エラー)' + example: 0 + shopId: + type: integer + description: 店舗ID + example: 1 + chargeName: + type: string + description: チャージャ名 + example: 茨木急速1番 + chargeTypeName: + type: string + description: 充電タイプ + example: 急速 + chargerOutput: + type: string + description: 充電出力名 + example: ~50kW + chargerOutlet: + type: string + description: 差込口タイプ + example: CHAdeM0 + imageUrl: + type: string + description: チャージャ画像 + example: 'http://localhost/storage/chargers/img1.png' + unitPrice: + type: number + description: 料金単価 + example: 90 + workStartDate: + type: string + description: 稼働開始日 + example: '2022-07-31' + format: date + maintFromAt: + type: string + description: メンテナンス開始日時 + example: '2022-07-31 12:30:00' + nullable: true + maintToAt: + type: string + description: メンテナンス終了日時 + example: '2022-07-31 16:00:00' + nullable: true + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + post: + summary: チャージャ登録 + operationId: post-api-chargers + description: | + * チャージャマスタ登録(ステーション・管理本部)と処理が重複しているので削除予定(実装確認未) // :TASK + tags: + - Charger + - PH1.0 + - PH3.0 + security: + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + shopId: + type: integer + description: 店舗ID + example: 2 + name: + type: string + description: チャージャ名 + example: 茨木急速1番 + maxLength: 30 + chargeType: + description: 充電タイプ + type: integer + example: 1 + chargerOutputValue: + description: 充電出力値 + pattern: '^[0-9]{0,2}?[0-9](\.[0-9][1-9]?)?$' + type: number + example: 50 + chargerOutlet: + type: string + description: 差込口タイプ + example: CHAdeM0 + unitPrice: + type: number + description: 料金単価 + example: 40.5 + pattern: '^[0-9]{0,2}?[0-9](\.[0-9][1-9]?)?$' + chargeControlUnitPrice: + type: number + description: 制御料金単価 + example: 3.5 + pattern: '^[0-9]{0,2}?[0-9](\.[0-9][1-9]?)?$' + nullable: true + ocppCpId: + type: string + description: OCPPチャージポイントID + example: TEST01CHARGER + pattern: '^[a-zA-Z0-9\-\_]+$' + maxLength: 30 + workStartDate: + type: string + description: 稼働開始日 + example: '2023-05-01' + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + nullable: true + imageUrl: + type: string + description: チャージャ画像 + example: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYII=' + nullable: true + maintFromAt: + type: string + description: メンテナンス開始日時(10分単位で入力) + example: '2023-05-10 12:00:00' + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + maintToAt: + type: string + description: メンテナンス終了日時(10分単位で入力) + example: '2023-05-10 12:30:00' + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + connectors: + type: array + items: + type: object + properties: + connectorName: + description: コネクタ名 + type: string + example: 1番 + maxLength: 10 + required: + - shopId + - name + - chargeType + - chargerOutputValue + - chargerOutlet + - unitPrice + - ocppCpId + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/chargers/{chargerId}': + parameters: + - schema: + type: integer + in: path + name: chargerId + description: チャージャID + required: true + get: + summary: チャージャ詳細 + operationId: get-api-chargers-charger-id + description: | + * チャージャマスタ詳細(ステーション・管理本部)と処理が重複しているので削除予定(実装確認未) // :TASK + tags: + - Charger + - PH1.0 + - PH3.0 + security: + - ADMIN-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + id: + type: integer + description: チャージャID + example: 1 + isEnable: + type: boolean + description: 使用可フラグ + example: true + status: + type: integer + description: 'ステータス(0:接続 1:未接続 2:エラー)' + example: 0 + shopId: + type: integer + description: 店舗ID + example: 1 + shopName: + type: string + description: 店舗名 + example: 茨木本店 + chargeName: + type: string + description: チャージャ名 + example: 茨木急速1番 + chargeType: + description: 充電タイプ + type: integer + example: 1 + chargeTypeName: + type: string + description: 充電タイプ + example: 急速 + chargerOutputValue: + type: integer + chargerOutput: + type: number + description: 充電出力値 + example: 50 + chargerOutlet: + type: string + description: 差込口タイプ + example: CHAdeM0 + imageUrl: + type: string + description: チャージャ画像 + example: 'http://localhost/storage/chargers/img1.png' + unitPrice: + type: number + description: 料金単価 + example: 90 + chargeControlUnitPrice: + type: number + description: 制御料金単価 + example: 3.5 + nullable: true + workStartDate: + type: string + description: 稼働開始日 + example: '2022-07-31' + format: date + ocppCpId: + type: string + description: OCPPチャージポイントID + example: TEST01CHARGER + ocppCpVendor: + type: string + description: OCPPベンダー + example: VENDER_NAME + nullable: true + ocppCpModel: + type: string + description: OCPPモデル + example: MODEL_NAME + nullable: true + ocppStatus: + type: string + description: OCPPステータス + example: Available + nullable: true + ocppErrMessage: + type: string + description: OCPPエラーステータス + example: チャージポイントの高温検知 + nullable: true + ocppStatusNotificationAt: + type: string + description: OCPPステータス通知日時 + example: '2022-07-31 12:34:13' + nullable: true + ocppHertbeatAt: + type: string + description: OCPP接続確認日時 + example: '2022-07-31 12:34:13' + nullable: true + connectors: + type: array + description: コネクタ情報 + items: + type: object + properties: + connectorId: + type: integer + description: コネクタID + example: 1 + connectorStatus: + type: integer + description: コネクタステータス + example: 0 + connectorName: + type: string + description: コネクタ名(充電場所、車室名) + example: 2-1番 + ocppConnectorId: + type: integer + description: OCPPコネクタ認識ID + example: 0 + connectorOcppStatus: + type: string + description: OCPPコネクタステータス + example: Preparing + nullable: true + connectorOcppErrMessage: + type: string + description: OCPPエラーステータス + example: ハードまたはソフトウェアコンポーネントエラー + nullable: true + connectorOcpp_statusNotificationAt: + type: string + description: OCPPコネクタステータス通知日時 + example: '2022-07-31 12:34:13' + nullable: true + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: チャージャ更新 + operationId: put-api-chargers-charger-id + description: | + * チャージャマスタ更新(ステーション・管理本部)と処理が重複しているので削除予定(実装確認未) // :TASK + tags: + - Charger + - PH1.0 + - PH3.0 + security: + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + shopId: + type: integer + description: 店舗ID + example: 2 + name: + type: string + description: チャージャ名 + example: 茨木急速1番 + maxLength: 30 + chargeType: + type: integer + example: 1 + chargerOutputValue: + description: 充電出力値 + pattern: '^[0-9]{0,2}?[0-9](\.[0-9][1-9]?)?$' + type: number + example: 50 + chargerOutlet: + type: string + description: 差込口タイプ + example: CHAdeM0 + unitPrice: + type: integer + description: 料金単価 + example: 40 + pattern: '^[0-9]{0,2}?[0-9](\.[0-9][1-9]?)?$' + chargeControlUnitPrice: + type: number + description: 制御料金単価 + example: 3.5 + pattern: '^[0-9]{0,2}?[0-9](\.[0-9][1-9]?)?$' + nullable: true + ocppCpId: + type: string + description: OCPPチャージポイントID + example: TEST01CHARGER + pattern: '^[a-zA-Z0-9\-\_]+$' + maxLength: 30 + nullable: true + workStartDate: + type: string + description: 稼働開始日 + example: '2023-05-01' + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + nullable: true + imageUrl: + type: string + description: チャージャ画像 + example: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYII=' + nullable: true + connectors: + type: array + items: + type: object + properties: + connectorName: + description: コネクタ名 + type: string + example: 1番 + maxLength: 10 + nullable: true + required: + - shopId + - name + - chargeType + - chargerOutputValue + - chargerOutlet + - unitPrice + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + delete: + summary: チャージャ削除 + operationId: put-api-chargers-charger-id + description: | + * チャージャマスタ削除(ステーション・管理本部)と処理が重複しているので削除予定(実装確認未) // :TASK + security: + - ADMIN-APP: [] + tags: + - Charger + - PH1.0 + - PH3.0 + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/chargers/{chargerId}/maintenance': + put: + summary: チャージャ-メンテナンス更新 + operationId: put-api-chargers-charger-id-maintenance + description: '' + tags: + - Charger + - PH1.0 + security: + - ADMIN-APP: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + maintFromAt: + type: string + description: メンテナンス開始日時(10分単位で入力) + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + maintToAt: + type: string + description: メンテナンス終了日時(10分単位で入力) + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + examples: + example-1: + value: + maintFromAt: '2019-10-24 14:10:00' + maintToAt: '2019-10-24 14:50:00' + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/sys/mst/chargers/owners: + get: + operationId: get-api-sys-mst-chargers-owners + summary: チャージャ(オーナー)一覧 + description: '' + tags: + - ChargersOwner + - PH2.0 + security: + - ADMIN-APP: [] + parameters: + - schema: + type: string + in: query + name: kw + description: キーワード + - schema: + type: string + in: query + name: searchCustomerNumber + description: 取引先番号 + - schema: + type: integer + in: query + name: shopId + description: 店舗 + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + dataCount: + type: integer + example: 1 + list: + type: array + items: + type: object + properties: + id: + type: integer + description: チャージャID + example: 1 + isEnable: + type: boolean + description: 有効フラグ + default: true + status: + type: integer + description: ステータス + example: 0 + shopId: + type: integer + description: 店舗ID + example: 1 + chargeName: + type: string + description: チャージャ名 + maxLength: 30 + example: チャージャ名 + chargeTypeName: + type: string + description: 充電タイプ名 + maxLength: 30 + example: 普通 + chargerOutput: + type: string + description: 充電出力 + maxLength: 10 + example: 2kW + chargerOutlet: + type: string + description: 差込口タイプ + maxLength: 20 + example: CHAdeMO + unitPrice: + type: integer + description: 料金単価 + example: 20 + workStartDate: + type: string + description: 稼働開始日 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + example: '2023-06-30' + customerNumber: + type: string + description: 取引先番号 + minLength: 7 + maxLength: 7 + example: CO00001 + ownerName: + type: string + description: オーナー名 + maxLength: 30 + example: オーナー名 + shopName: + type: string + description: 店舗名 + maxLength: 20 + example: 店舗名 + groupId: + type: integer + description: チャージャグループID + example: 1 + groupName: + type: string + description: チャージャグループ名 + maxLength: 20 + example: グループ名 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + post: + summary: チャージャ(オーナー)登録 + operationId: post-api-sys-mst-chargers-owners + description: '' + tags: + - ChargersOwner + - PH2.0 + security: + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + shopId: + type: integer + example: 1 + description: 店舗ID + isEnable: + type: boolean + default: true + description: 有効ステータス + name: + type: string + example: 北側駐車場1番 + description: チャージャ名 + maxLength: 30 + groupId: + type: string + example: '1' + description: チャージャグループID + maxLength: 20 + nullable: true + chargeType: + type: integer + description: 充電タイプ + example: 1 + chargerOutputValue: + type: number + example: 50 + description: 充電出力 + chargerOutlet: + type: string + example: CHAdeM0 + description: 充電差込口 + maxLength: 20 + ocppCpId: + type: string + example: TEST01CHARGER + description: OCPPチャージポイント + maxLength: 30 + workStartDate: + type: string + example: '2023-05-01' + description: 稼働開始日 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + nullable: true + connectors: + type: array + description: チャージャコネクタ情報 + items: + type: object + properties: + connectorName: + type: string + example: 北1番 + description: コネクタ名称 + required: + - shopId + - isEnable + - name + - groupId + - chargeType + - chargerOutputValue + - chargerOutlet + - ocppCpId + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/sys/mst/chargers/{chargerId}/owners': + parameters: + - schema: + type: integer + in: path + name: chargerId + description: チャージャID(オーナー) + required: true + put: + summary: チャージャ(オーナー)更新 + operationId: put-api-sys-mst-chargers-owners-owner-id + description: '' + tags: + - ChargersOwner + - PH2.0 + security: + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + shopId: + type: integer + example: 1 + description: 店舗ID + isEnable: + type: boolean + default: true + description: 有効ステータス + name: + type: string + example: 北側駐車場1番 + description: チャージャ名 + maxLength: 30 + groupId: + type: integer + example: 1 + description: チャージャグループID + nullable: true + chargeType: + type: integer + description: 充電タイプ + example: 1 + chargerOutputValue: + type: number + example: 50 + description: 充電出力 + chargerOutlet: + type: string + example: CHAdeM0 + description: 差込口タイプ + maxLength: 20 + ocppCpId: + type: string + example: TEST01CHARGER + description: OCPPチャージポイント + maxLength: 30 + nullable: true + workStartDate: + type: string + example: '2023-05-01' + description: 稼働開始日 + nullable: true + connectors: + type: array + description: チャージャコネクタ情報 + nullable: true + items: + type: object + properties: + connectorName: + type: string + example: 北1番 + description: コネクタ名称 + maxLength: 10 + required: + - shopId + - isEnable + - name + - groupId + - chargeType + - chargerOutputValue + - chargerOutlet + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/chargers/groups: + get: + operationId: get-api-chargers-groups + summary: チャージャグループ一覧 + description: '' + tags: + - ChargersGroup + - PH2.0 + security: + - ADMIN-APP: [] + parameters: + - schema: + type: string + in: query + name: searchCustomerNumber + description: 検索取引先番号 + - schema: + type: string + in: query + name: keyword + description: 'キーワード(取引先番号、店舗名、チャージャグループ名:部分一致)' + - schema: + type: integer + in: query + name: page + description: 表示ページ + - schema: + type: integer + in: query + name: limit + description: 表示件数 + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + dataCount: + type: integer + example: 1 + list: + description: チャージャグループ一覧 + type: array + items: + type: object + properties: + id: + type: integer + description: グループID + example: 1 + customerNumber: + type: string + description: 取引先番号 + example: CO00001 + minLength: 7 + maxLength: 7 + ownerName: + type: string + description: 取引先名 + example: イオンモール + minLength: 1 + maxLength: 30 + shopName: + type: string + description: 店舗名 + example: イオンモール茨木店 + minLength: 1 + maxLength: 20 + name: + type: string + description: グループ名 + example: 北駐車場 + minLength: 1 + maxLength: 20 + chargerNum: + type: integer + description: 台数 + example: 5 + demandType: + type: integer + description: 'デマンドタイプ(0:オープンド 1:リミテッド 2:来客)' + example: 1 + nullable: true + controlCurrent: + type: number + description: 制御電流(A) + example: 60 + nullable: true + operationType: + type: integer + example: 1 + description: '運用タイプ(0:オープンド 1:リミテッド 2:来客)' + sharedFlg: + type: boolean + default: false + description: 共用フラグ + required: + - customerNumber + - ownerName + - shopName + - name + - chargerNum + - operationType + - sharedFlg + required: + - dataCount + examples: + Example: + value: + dataCount: 3 + list: + - id: 1 + customerNumber: CO00001 + ownerName: イオンモール + shopName: イオンモール茨城 + name: Aグループ + chargerNum: 5 + chargerTypeName: 急速 + demandType: 1 + controlCurrent: 60 + operationType: 1 + sharedFlg: false + - id: 2 + customerNumber: CO00001 + ownerName: イオンモール + shopName: イオンモール茨城 + name: Bグループ + chargerNum: 5 + chargerTypeName: 急速 + demandType: 1 + controlCurrent: 60 + operationType: 1 + sharedFlg: true + - id: 3 + customerNumber: CO00002 + ownerName: イオンモール2 + shopName: イオンモール栃木 + name: Cグループ + chargerNum: 5 + chargerTypeName: 急速 + demandType: 1 + controlCurrent: 60 + operationType: 0 + sharedFlg: false + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + post: + summary: チャージャグループ登録 + operationId: post-api-chargers-groups + description: '' + tags: + - ChargersGroup + - PH2.0 + security: + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + ownerId: + type: integer + description: オーナーID + example: 15 + shopId: + type: integer + description: 店舗ID + example: 5 + name: + type: string + description: グループ名 + maxLength: 20 + example: 南駐車場グループ + demandType: + type: integer + description: 'デマンドタイプ(0:スタンドアロン 1:ラウンドシフト 2:イーブンシェア)' + example: 3 + controlCurrent: + type: number + description: 制御電流(A) + example: 60 + nullable: true + voltage: + type: number + description: 電圧(V) + example: 200 + nullable: true + enableChargeHours: + type: integer + description: 最大充電可能時間 + example: 3 + nullable: true + operationType: + description: '運用タイプ(0:オープンド 1:リミテッド 2:来客)' + type: integer + example: 1 + sharedFlg: + type: boolean + description: 共用フラグ + example: false + isRestart: + type: boolean + description: リスタート機能 + example: false + chargerInfo: + type: array + description: チャージャ情報 + items: + type: object + nullable: true + properties: + chargerId: + type: integer + example: 11 + description: チャージャID + required: + - ownerId + - shopId + - name + - demandType + - operationType + - sharedFlg + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/chargers/groups/{groupId}': + parameters: + - schema: + type: integer + in: path + name: groupId + description: チャージャグループID + required: true + get: + summary: チャージャグループ詳細 + operationId: get-api-chargers-groups-group-id + description: '' + tags: + - ChargersGroup + - PH2.0 + security: + - ADMIN-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + ownerId: + type: integer + description: オーナーID + example: 7 + customerNumber: + type: string + description: 取引先番号 + example: CO00007 + maxLength: 7 + ownerName: + type: string + description: 取引先名 + example: イオンモール + maxLength: 30 + shopId: + type: integer + description: 店舗ID + example: 3 + shopName: + type: string + description: 店舗名 + example: イオンモール茨城 + maxLength: 20 + name: + type: string + description: グループ名 + example: 南口駐車場 + maxLength: 20 + chargerInfo: + type: array + description: チャージャ情報 + items: + type: object + nullable: true + properties: + chargerId: + type: integer + description: チャージャID + chargerName: + type: string + example: 1番、2番 + description: チャージャ名 + maxLength: 30 + demandType: + type: integer + description: 'デマンドタイプ(0:スタンドアロン 1:ラウンドシフト 2:イーブンシェア)' + example: 1 + nullable: true + controlCurrent: + type: number + description: 制御電流(A) + example: 60 + nullable: true + voltage: + type: number + description: 電圧(V) + example: 200 + nullable: true + enableChargeHours: + type: integer + description: 最大充電可能時間 + example: 3 + nullable: true + operationType: + type: integer + description: '運用タイプ(0:オープンド 1:リミテッド 2:来客)' + example: 1 + sharedFlg: + type: boolean + description: 共用フラグ + example: false + default: false + isRestart: + type: boolean + example: false + default: false + description: リスタート機能 + required: + - ownerId + - customerNumber + - ownerName + - shopId + - shopName + - name + - operationType + - sharedFlg + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: チャージャグループ更新 + operationId: put-api-chargers-groups-group-id + description: '' + tags: + - ChargersGroup + - PH2.0 + security: + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + name: + type: string + description: グループ名 + maxLength: 20 + example: 南駐車場グループ + demandType: + type: integer + description: 'デマンドタイプ(0:スタンドアロン 1:ラウンドシフト 2:イーブンシェア)' + example: 3 + controlCurrent: + type: number + description: 制御電流(A) + example: 60 + nullable: true + voltage: + type: number + description: 電圧(V) + example: 200 + nullable: true + enableChargeHours: + type: integer + description: 最大充電可能時間 + example: 3 + nullable: true + operationType: + description: '運用タイプ(0:オープンド 1:リミテッド 2:来客)' + type: integer + example: 1 + sharedFlg: + type: boolean + description: 共用フラグ + example: false + isRestart: + type: boolean + description: リスタート機能 + example: false + chargerInfo: + type: array + description: チャージャ情報 + items: + type: object + nullable: true + properties: + chargerId: + type: integer + example: 11 + description: チャージャID + required: + - name + - demandType + - operationType + - sharedFlg + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + delete: + summary: チャージャグループ削除 + operationId: put-api-chargers-groups-group-id + description: '' + security: + - ADMIN-APP: [] + tags: + - ChargersGroup + - PH2.0 + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/shops/calendar: + get: + operationId: get-api-shops-calendar + summary: 店舗予約カレンダ取得 + description: '' + tags: + - ShopsCalendar + - PH1.0 + security: + - ADMIN-APP: [] + parameters: + - schema: + type: string + in: query + name: reserveDate + required: true + description: 予約対象日(指定日から7日分取得する) + - schema: + type: integer + in: query + name: chargerType + description: '充電タイプ(1:急速 2:普通)' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + list: + type: array + items: + type: object + properties: + reserveDate: + type: string + format: date + example: '2022-02-11' + description: 予約日付(充電予約カレンダ.予約日時の日付) + connectors: + type: array + description: チャージャコネクタ情報 + items: + type: object + properties: + connectorId: + type: integer + example: 1 + description: コネクタID(充電予約カレンダ) + connectorName: + type: string + example: 2番 + description: コネクタ名(充電予約カレンダ) + chargerType: + type: integer + example: 1 + description: 充電タイプ(充電予約カレンダ) + reserves: + type: array + description: 予約情報 + items: + type: object + properties: + reserveId: + example: 11 + description: 予約ID(充電予約カレンダ) + type: integer + time: + type: string + example: '13:10:00' + description: 予約時間(充電予約カレンダ.予約日時の時間) + status: + type: integer + description: 'ステータス(1:予約中 2:クールタイム 3:メンテナンス/充電予約カレンダ)' + examples: + example-1: + value: + list: + - reserveDate: '2022-10-12' + connectors: + - connectorId: 1 + connectorName: 1番 + chargerType: 1 + reserves: + - reserveId: 2 + time: '12:50:00' + status: 2 + - reserveId: 2 + time: '12:40:00' + status: 1 + - reserveId: 2 + time: '12:30:00' + status: 1 + - reserveId: 1 + time: '12:10:00' + status: 2 + - reserveId: 1 + time: '12:00:00' + status: 1 + - reserveId: 1 + time: '11:50:00' + status: 1 + - reserveId: 1 + time: '11:40:00' + status: 1 + - reserveId: 1 + time: '11:30:00' + status: 1 + - reserveId: 1 + time: '11:20:00' + status: 1 + - connectorId: 2 + connectorName: 2番 + chargerType: 1 + reserves: + - reserveId: 3 + time: '12:30:00' + status: 2 + - reserveId: 3 + time: '12:20:00' + status: 1 + - reserveId: 3 + time: '12:10:00' + status: 1 + - reserveId: 3 + time: '12:00:00' + status: 1 + - reserveId: 3 + time: '11:50:00' + status: 1 + - reserveId: 3 + time: '11:40:00' + status: 1 + - reserveId: 3 + time: '11:30:00' + status: 1 + - connectorId: 3 + connectorName: 3番 + chargerType: 2 + reserves: + - reserveId: 5 + time: '12:50:00' + status: 2 + - reserveId: 5 + time: '12:40:00' + status: 1 + - reserveId: 5 + time: '12:30:00' + status: 1 + - reserveId: 5 + time: '12:20:00' + status: 1 + - reserveId: 4 + time: '10:50:00' + status: 2 + - reserveId: 4 + time: '10:40:00' + status: 1 + - reserveId: 4 + time: '10:30:00' + status: 1 + - reserveId: 4 + time: '10:20:00' + status: 1 + - connectorId: 4 + connectorName: 4番 + chargerType: 2 + reserves: + - reserveId: 6 + time: '11:50:00' + status: 2 + - reserveId: 6 + time: '11:40:00' + status: 1 + - reserveId: 6 + time: '11:30:00' + status: 1 + - reserveId: 6 + time: '11:20:00' + status: 1 + - reserveDate: '2022-10-13' + connectors: + - connectorId: 1 + connectorName: 1番 + chargerType: 1 + reserves: [] + - connectorId: 2 + connectorName: 2番 + chargerType: 1 + reserves: [] + - connectorId: 3 + connectorName: 3番 + chargerType: 2 + reserves: [] + - connectorId: 4 + connectorName: 4番 + chargerType: 2 + reserves: [] + - reserveDate: '2022-10-14' + connectors: + - connectorId: 1 + connectorName: 1番 + chargerType: 1 + reserves: [] + - connectorId: 2 + connectorName: 2番 + chargerType: 1 + reserves: [] + - connectorId: 3 + connectorName: 3番 + chargerType: 2 + reserves: [] + - connectorId: 4 + connectorName: 4番 + chargerType: 2 + reserves: [] + - reserveDate: '2022-10-15' + connectors: + - connectorId: 1 + connectorName: 1番 + chargerType: 1 + reserves: [] + - connectorId: 2 + connectorName: 2番 + chargerType: 1 + reserves: [] + - connectorId: 3 + connectorName: 3番 + chargerType: 2 + reserves: [] + - connectorId: 4 + connectorName: 4番 + chargerType: 2 + reserves: [] + - reserveDate: '2022-10-16' + connectors: + - connectorId: 1 + connectorName: 1番 + chargerType: 1 + reserves: [] + - connectorId: 2 + connectorName: 2番 + chargerType: 1 + reserves: [] + - connectorId: 3 + connectorName: 3番 + chargerType: 2 + reserves: [] + - connectorId: 4 + connectorName: 4番 + chargerType: 2 + reserves: [] + - reserveDate: '2022-10-17' + connectors: + - connectorId: 1 + connectorName: 1番 + chargerType: 1 + reserves: [] + - connectorId: 2 + connectorName: 2番 + chargerType: 1 + reserves: [] + - connectorId: 3 + connectorName: 3番 + chargerType: 2 + reserves: [] + - connectorId: 4 + connectorName: 4番 + chargerType: 2 + reserves: [] + - reserveDate: '2022-10-18' + connectors: + - connectorId: 1 + connectorName: 1番 + chargerType: 1 + reserves: [] + - connectorId: 2 + connectorName: 2番 + chargerType: 1 + reserves: [] + - connectorId: 3 + connectorName: 3番 + chargerType: 2 + reserves: [] + - connectorId: 4 + connectorName: 4番 + chargerType: 2 + reserves: [] + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/shops/{shopId}/chargers/types/calendar-date': + get: + operationId: get-api-shops-shop-id-chargers-types-calendar_date + summary: 予約カレンダ取得(充電タイプ別-日付) + description: '' + tags: + - ShopsCalendar + - PH1.0 + - PH3.0 + security: + - MEMBER-APP: [] + parameters: + - schema: + type: integer + in: path + name: shopId + description: 店舗ID + required: true + - schema: + type: integer + in: query + name: chargerType + required: true + description: 充電タイプを指定する + - schema: + type: integer + in: query + name: connectorId + required: false + description: コネクタIDを指定する + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + list: + type: array + items: + type: object + properties: + calendarDate: + type: string + format: date + description: 予約不可日付 + examples: + example-1: + value: + list: + - calendarDate: '2022-08-24' + - calendarDate: '2022-08-26' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/shops/{shopId}/chargers/types/calendar-time': + get: + operationId: get-api-shops-shop-id-chargers-types-calendar_time + summary: 予約カレンダ取得(充電タイプ別-時間) + description: '' + tags: + - ShopsCalendar + - PH1.0 + - PH3.0 + security: + - MEMBER-APP: [] + parameters: + - schema: + type: integer + in: path + name: shopId + description: 店舗ID + required: true + - schema: + type: integer + in: query + name: chargerType + required: true + description: 充電タイプを指定する + - schema: + type: string + format: date + in: query + name: searchDate + description: 対象日を指定 + required: true + - schema: + type: integer + in: query + name: connectorId + description: コネクタIDを指定 + required: false + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + list: + type: array + items: + type: object + properties: + calendarTime: + type: string + format: time + description: 予約不可時間 + examples: + example-1: + value: + list: + - calendarTime: '11:20:00' + - calendarTime: '11:30:00' + - calendarTime: '11:40:00' + - calendarTime: '11:50:00' + - calendarTime: '12:00:00' + - calendarTime: '12:10:00' + - calendarTime: '12:20:00' + - calendarTime: '12:30:00' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/shops/{shopId}/chargers/status': + get: + operationId: get-api-shops-shop-id-chargers_status + summary: チャージャステータス情報取得 + description: 管理アプリ-モニタニング・モニター画面 + tags: + - ShopsCharger + - PH1.0 + security: + - ADMIN-APP: [] + parameters: + - schema: + type: integer + in: path + name: shopId + description: 店舗ID + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + list: + type: array + items: + type: object + properties: + connectorId: + type: integer + example: 1 + description: コネクタID + connecterName: + type: string + description: 'コネクタ名(充電場所,車室)' + example: 1番 + chargerOutlet: + type: string + description: 差込口タイプ + example: CHAdeMO + chargerType: + type: integer + description: 充電タイプ + example: 1 + chargerTypeName: + type: string + description: '充電タイプ名(区分マスタ:充電タイプ.値1)' + example: 急速 + chargerOutput: + type: string + description: 充電出力 + example: 最大50kW + chargerUnitPrice: + type: number + example: 50 + description: 料金単価 + chargerImagUrl: + type: string + description: チャージャ画像 + example: 'http://localhost/storage/chargers/default1.png' + status: + type: integer + description: 'ステータス(0:予約なし 1:予約中 2:充電中 3:制御中 4:完了)' + example: 2 + windowStatus: + type: string + description: ウィンドウステータス + example: '' + nullable: true + reservesInfo: + type: array + items: + type: object + description: 予約情報(ステータス=0の場合はnull) + nullable: true + properties: + reserveId: + type: integer + description: 予約ID + example: 12 + startAt: + type: string + description: 予約開始日時 + example: '2022-02-11 13:00:00' + endAt: + type: string + description: 予約終了日時 + example: '2022-02-11 13:50:00' + memberId: + type: integer + description: 会員ID + example: 1 + memberName: + type: string + description: 会員氏名 + example: 山田太郎 + chargingTime: + type: string + description: 経過時間 + example: '08:32:00' + nullable: true + chargingPrice: + type: integer + example: 5432 + description: 経過料金 + nullable: true + chargingStatus: + type: integer + example: 50 + description: 充電量 + nullable: true + matchFlag: + type: boolean + description: 照合フラグ + examples: + example-1: + value: + list: + - connectorId: 1 + connecterName: 1番 + chargerOutlet: CHAdeMO + chargerType: 2 + chargerTypeName: 急速 + chargerOutput: 最大50kW + chargerUnitPrice: 30 + chargerImagUrl: 'http://localhost/storage/chargers/default1.png' + status: 0 + windowStatus: null + reservesInfo: [] + - connectorId: 2 + connecterName: 2番 + chargerOutlet: CHAdeMO + chargerType: 2 + chargerTypeName: 普通 + chargerOutput: 100/200 V + chargerUnitPrice: 30 + chargerImagUrl: 'http://localhost/storage/chargers/default1.png' + status: 1 + windowStatus: null + reservesInfo: + - reserveId: 6 + startAt: '2022-09-12 13:20:00' + endAt: '2022-09-12 13:50:00' + memberId: 1 + memberName: スマホ太郎 + chargingTime: null + chargingPrice: null + chargingStatus: null + matchFlag: 0 + - connectorId: 3 + connecterName: 3番 + chargerOutlet: CHAdeMO + chargerType: 1 + chargerTypeName: 急速 + chargerOutput: 最大50kW + chargerUnitPrice: 50 + chargerImagUrl: 'http://localhost/storage/chargers/default1.png' + status: 1 + windowStatus: null + reservesInfo: + - reserveId: 1 + startAt: '2022-09-12 13:20:00' + endAt: '2022-09-12 14:10:00' + memberId: 2 + memberName: 開発花子 + chargingTime: null + chargingPrice: null + chargingStatus: null + matchFlag: 1 + - connectorId: 4 + connecterName: 4番 + chargerOutlet: CHAdeMO + chargerType: 1 + chargerTypeName: 急速 + chargerOutput: 最大50kW + chargerUnitPrice: 50 + chargerImagUrl: 'http://localhost/storage/chargers/default1.png' + status: 2 + windowStatus: null + reservesInfo: + - reserveId: 1 + startAt: '2022-09-12 13:20:00' + endAt: '2022-09-12 14:10:00' + memberId: 2 + memberName: 開発花子 + chargingTime: null + chargingPrice: null + chargingStatus: null + matchFlag: 0 + - connectorId: 5 + connecterName: 5番 + chargerOutlet: CHAdeMO + chargerType: 1 + chargerTypeName: 急速 + chargerOutput: 最大50kW + chargerUnitPrice: 50 + chargerImagUrl: 'http://localhost/storage/chargers/default1.png' + status: 3 + windowStatus: null + reservesInfo: + - reserveId: 1 + startAt: '2022-09-12 13:30:00' + endAt: '2022-09-12 14:10:00' + memberId: 2 + memberName: 充電太郎 + chargingTime: '08:32:00' + chargingPrice: 2500 + chargingStatus: 72 + matchFlag: 0 + - connectorId: 6 + connecterName: 6番 + chargerOutlet: CHAdeMO + chargerType: 1 + chargerTypeName: 急速 + chargerOutput: 最大50kW + chargerUnitPrice: 50 + chargerImagUrl: 'http://localhost/storage/chargers/default1.png' + status: 3 + windowStatus: CHARGING_CONTROL + reservesInfo: + - reserveId: 1 + startAt: '2022-09-12 13:30:00' + endAt: '2022-09-12 14:10:00' + memberId: 12 + memberName: 充電太郎 + chargingTime: '08:32:00' + chargingPrice: 2500 + chargingStatus: 31 + matchFlag: 0 + - connectorId: 7 + connecterName: 7番 + chargerOutlet: CHAdeMO + chargerType: 1 + chargerTypeName: 急速 + chargerOutput: 最大50kW + chargerUnitPrice: 50 + chargerImagUrl: 'http://localhost/storage/chargers/default1.png' + status: 3 + windowStatus: CHARGING_UNLOCK + reservesInfo: + - reserveId: 1 + startAt: '2022-09-12 13:30:00' + endAt: '2022-09-12 14:10:00' + memberId: 13 + memberName: 充電太郎 + chargingTime: '08:32:00' + chargingPrice: 2500 + chargingStatus: 37 + matchFlag: 0 + - connectorId: 8 + connecterName: 8番 + chargerOutlet: CHAdeMO + chargerType: 1 + chargerTypeName: 急速 + chargerOutput: 最大50kW + chargerUnitPrice: 50 + chargerImagUrl: 'http://localhost/storage/chargers/default1.png' + status: 3 + windowStatus: CHARGING_FINISH + reservesInfo: + - reserveId: 1 + startAt: '2022-09-12 13:30:00' + endAt: '2022-09-12 14:10:00' + memberId: 13 + memberName: 充電太郎 + chargingTime: '08:32:00' + chargingPrice: 2500 + chargingStatus: 100 + matchFlag: 0 + - connectorId: 9 + connecterName: 9番 + chargerOutlet: CHAdeMO + chargerType: 1 + chargerTypeName: 急速 + chargerOutput: 最大50kW + chargerUnitPrice: 50 + chargerImagUrl: 'http://localhost/storage/chargers/default1.png' + status: 3 + windowStatus: CHARGER_ERROR + reservesInfo: + - reserveId: 1 + startAt: '2022-09-12 13:30:00' + endAt: '2022-09-12 14:10:00' + memberId: 13 + memberName: 充電太郎 + chargingTime: '08:32:00' + chargingPrice: 2500 + chargingStatus: 100 + matchFlag: 0 + - connectorId: 10 + connecterName: 10番 + chargerOutlet: CHAdeMO + chargerType: 1 + chargerTypeName: 急速 + chargerOutput: 最大50kW + chargerUnitPrice: 50 + chargerImagUrl: 'http://localhost/storage/chargers/default1.png' + status: 0 + windowStatus: CHARGER_MAINTENANCE + reservesInfo: [] + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/shops/{shopId}/chargers/types/status': + get: + operationId: get-api-shops-shop-id-chargers_type_status + summary: チャージャタイプ別ステータス情報取得 + description: 会員アプリ-充電TOP画面 + tags: + - ShopsCharger + - PH1.0 + security: + - MEMBER-APP: [] + parameters: + - schema: + type: integer + in: path + name: shopId + description: 店舗ID + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + list: + type: array + items: + type: object + properties: + chargeType: + type: number + example: 1 + description: 充電タイプ + chargeTypeStr: + type: string + description: 充電タイプ名 + example: 急速 + chargerOutlet: + type: string + example: CHAdeMO + description: 差込口タイプ + chargerOutput: + type: string + description: 充電出力名 + example: 最大50Kw + chargerUnitPrice: + type: integer + description: 充電料金単価 + example: 50 + chargerImagUrl: + type: string + example: 'http://example.com/image.png' + description: 充電画像URL + chargersCount: + type: integer + description: 台数 + example: 4 + chargersBlankCount: + type: integer + description: 空き台数 + disableFlg: + type: boolean + description: 予約使用不可フラグ + paymentFlg: + type: boolean + description: 支払可能フラグ + status: + type: integer + description: 'ステータス(0:予約なし 1:予約中 2:充電中 3:低速充電中 4:エラー)' + example: 2 + reservesInfo: + type: object + description: 予約情報 + nullable: true + properties: + reservesId: + type: integer + example: 12 + description: 予約ID + startAt: + type: string + format: date-time + description: 予約開始日時 + endAt: + type: string + format: date-time + description: 予約終了日時 + shopId: + type: integer + example: 1 + description: 店舗ID + shopStr: + type: string + description: 店舗名 + example: 茨木本店 + connectorId: + type: integer + description: コネクタID + example: 4 + connectorName: + type: string + example: 4番 + description: コネクタ名 + chargingTime: + type: string + description: 経過時間 + example: '00:32:00' + nullable: true + chargingPrice: + type: integer + description: 経過料金 + example: 5432 + nullable: true + chargingStatus: + type: integer + description: 充電量 + example: 50 + nullable: true + examples: + 予約なし: + value: + list: + - chargeType: 1 + chargeTypeStr: 急速 + chargerUnitPrice: 50 + chargerImagUrl: 'https://localhost/storage/chargers/sp_default1.png' + chargersCount: 2 + chargersBlankCount: 2 + disableFlg: false + chargerOutlet: CHAdeMO + chargerOutput: 最大50kW + - chargeType: 2 + chargeTypeStr: 普通 + chargerUnitPrice: 30 + chargerImagUrl: 'https://localhost/storage/chargers/sp_default2.png' + chargersCount: 2 + chargersBlankCount: 2 + disableFlg: false + chargerOutlet: CHAdeMO + chargerOutput: 100/200 V + paymentFlg: true + status: 0 + reservesInfo: null + エラー: + value: + list: + - chargeType: 1 + chargeTypeStr: 急速 + chargerUnitPrice: 50 + chargerImagUrl: 'https://localhost/storage/chargers/sp_default1.png' + chargersCount: 2 + chargersBlankCount: 2 + disableFlg: true + chargerOutlet: CHAdeMO + chargerOutput: 最大50kW + - chargeType: 2 + chargeTypeStr: 普通 + chargerUnitPrice: 30 + chargerImagUrl: 'https://localhost/storage/chargers/sp_default2.png' + chargersCount: 2 + chargersBlankCount: 2 + disableFlg: true + chargerOutlet: CHAdeMO + chargerOutput: 100/200 V + paymentFlg: true + status: 4 + reservesInfo: + reservesId: 3 + startAt: '2023-02-15 07:40:00' + endAt: '2023-02-15 08:40:00' + shopId: 4 + shopStr: テスト支店 + connectorId: 8 + connectorName: S2 + chargingTime: null + chargingPrice: null + chargingStatus: null + 予約中: + value: + list: + - chargeType: 1 + chargeTypeStr: 急速 + chargerUnitPrice: 50 + chargerImagUrl: 'https://webapp.cleanenergylabo.jp/storage/chargers/sp_default1.png' + chargersCount: 2 + chargersBlankCount: 2 + disableFlg: true + chargerOutlet: CHAdeMO + chargerOutput: 最大50kW + - chargeType: 2 + chargeTypeStr: 普通 + chargerUnitPrice: 30 + chargerImagUrl: 'https://webapp.cleanenergylabo.jp/storage/chargers/sp_default2.png' + chargersCount: 2 + chargersBlankCount: 2 + disableFlg: true + chargerOutlet: CHAdeMO + chargerOutput: 100/200 V + paymentFlg: true + status: 1 + reservesInfo: + reservesId: 3 + startAt: '2023-02-15 07:40:00' + endAt: '2023-02-15 08:40:00' + shopId: 4 + shopStr: テスト支店 + connectorId: 8 + connectorName: S2 + chargingTime: null + chargingPrice: null + chargingStatus: null + 充電中: + value: + list: + - chargeType: 1 + chargeTypeStr: 急速 + chargerUnitPrice: 50 + chargerImagUrl: 'https://webapp.cleanenergylabo.jp/storage/chargers/sp_default1.png' + chargersCount: 2 + chargersBlankCount: 2 + disableFlg: true + chargerOutlet: CHAdeMO + chargerOutput: 最大50kW + - chargeType: 2 + chargeTypeStr: 普通 + chargerUnitPrice: 30 + chargerImagUrl: 'https://webapp.cleanenergylabo.jp/storage/chargers/sp_default2.png' + chargersCount: 2 + chargersBlankCount: 2 + disableFlg: true + chargerOutlet: CHAdeMO + chargerOutput: 100/200 V + paymentFlg: true + status: 2 + reservesInfo: + reservesId: 3 + startAt: '2023-02-15 07:40:00' + endAt: '2023-02-15 08:40:00' + shopId: 4 + shopStr: テスト支店 + connectorId: 8 + connectorName: S2 + chargingTime: '00:50:00' + chargingPrice: 2000 + chargingStatus: 74 + 制御中: + value: + list: + - chargeType: 1 + chargeTypeStr: 急速 + chargerUnitPrice: 50 + chargerImagUrl: 'https://webapp.cleanenergylabo.jp/storage/chargers/sp_default1.png' + chargersCount: 2 + chargersBlankCount: 2 + disableFlg: true + chargerOutlet: CHAdeMO + chargerOutput: 最大50kW + - chargeType: 2 + chargeTypeStr: 普通 + chargerUnitPrice: 30 + chargerImagUrl: 'https://webapp.cleanenergylabo.jp/storage/chargers/sp_default2.png' + chargersCount: 2 + chargersBlankCount: 2 + disableFlg: true + chargerOutlet: CHAdeMO + chargerOutput: 100/200 V + paymentFlg: true + status: 3 + reservesInfo: + reservesId: 3 + startAt: '2023-02-15 07:40:00' + endAt: '2023-02-15 08:40:00' + shopId: 4 + shopStr: テスト支店 + connectorId: 8 + connectorName: S2 + chargingTime: '00:50:00' + chargingPrice: 2000 + chargingStatus: 95 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/shops/{shopId}/chargers/types/enableMaxTime': + get: + operationId: get-shops-shopId-chargers-types-enable-max-time + summary: 予約最大可能時間取得(充電タイプ別) + description: 店舗と充電タイプにより充電可能な時間(分単位)を取得する + tags: + - ShopsCharger + - PH1.0 + security: + - MEMBER-APP: [] + parameters: + - schema: + type: integer + in: path + name: shopId + description: 店舗ID + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + maxMinutes: + type: integer + description: 最大予約時間 + example: 60 + limitPoints: + type: integer + description: | + 利用可能ポイント数 + example: 2000 + examples: + example-1: + value: + maxMinutes: 60 + limitPoints: 2000 + test: + value: + maxMinutes: 60 + limitPoints: 2000 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/shops/{shopId}/chargers/types/enableChargerConnector': + get: + operationId: get-api-shops-shop-id-reserves_enable_charger_connector + summary: 予約可能チャージャ番号取得 + description: '' + tags: + - ShopsReserve + - PH1.0 + security: + - MEMBER-APP: [] + parameters: + - schema: + type: integer + in: path + name: shopId + description: 店舗ID + required: true + - schema: + type: string + in: query + name: startAt + required: true + description: 充電開始時間 + - schema: + type: string + in: query + required: true + name: endAt + description: 充電終了時間 + - schema: + type: integer + in: query + description: 充電タイプ + name: chargerType + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + schema: + type: object + properties: + connectId: + type: integer + example: 23 + description: コネクターID + connectName: + type: string + example: 1番 + description: コネクター名 + '202': + $ref: '#/paths/~1api~1reserves/post/responses/202' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/chargers/connectors/start: + post: + summary: チャージャ充電開始処理 + operationId: post-api-chargers-connectors_start + description: | + クーポンを予想料金ではなく精算時に変更(PH3.0) + tags: + - ChargeOperation + - PH1.0 + - PH3.0 + security: + - MEMBER-APP: [] + - ADMIN-APP: [] + requestBody: + $ref: '#/paths/~1api~1chargers~1connectors~1stop/post/requestBody' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + couponId: + type: integer + description: クーポンID + nullable: true + example: 12 + '202': + $ref: '#/paths/~1api~1reserves/post/responses/202' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/chargers/connectors/stop: + post: + summary: チャージャ充電停止処理 + operationId: post-api-chargers-connectors_start + description: | + クーポンを予想料金ではなく精算時に変更(PH3.0) + tags: + - ChargeOperation + - PH1.0 + - PH3.0 + security: + - MEMBER-APP: [] + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + reserveId: + type: integer + description: 予約ID + example: 12 + responses: + '200': + description: OK + '202': + $ref: '#/paths/~1api~1reserves/post/responses/202' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/spot-charge/start: + post: + summary: 即時充電-充電開始処理 + operationId: post-api-spot-charge_start + tags: + - ChargeOperation + - PH2.0 + security: + - MEMBER-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + chargerId: + type: integer + description: チャージャID + example: 12 + connectorId: + type: integer + description: コネクタID + example: 24 + usePoint: + type: integer + nullable: true + description: 利用ポイント + example: 150 + required: + - chargerId + - connectorId + responses: + '200': + description: OK + '202': + $ref: '#/paths/~1api~1reserves/post/responses/202' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/spot-charge/stop: + post: + summary: 即時充電-充電停止処理 + operationId: post-api-spot-charge_stop + tags: + - ChargeOperation + - PH2.0 + security: + - MEMBER-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + chargeOrderId: + type: integer + description: 充電注文ID + example: 184 + required: + - chargeOrderId + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/spot-charge/wait-cancel: + post: + summary: 即時充電-待機取消処理 + operationId: post-api-spot-wait-cancel + tags: + - ChargeOperation + - PH2.0 + security: + - MEMBER-APP: [] + requestBody: + $ref: '#/paths/~1api~1spot-charge~1stop/post/requestBody' + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/chargers/history: + get: + operationId: get-api-chargers-history + summary: チャージャ使用履歴一覧 + description: | + * 制御時料金、深夜料金など料金表に対応する料金、充電時間(分)を追加する(PH3.0) + * ES時に出力別の料金、充電時間(分)を追加する(PH3.0) + tags: + - ChargersHistory + - PH1.0 + - PH3.0 + security: + - MEMBER-APP: [] + - ADMIN-APP: [] + parameters: + - schema: + type: integer + in: query + name: memberId + description: 会員ID + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + id: + type: integer + description: 充電精算ID + example: 5 + orderId: + type: integer + description: 注文ID + startAt: + type: string + description: 充電開始日時 + example: '2023-02-10 12:00:00' + endAt: + type: string + description: 充電終了日時 + example: '2023-02-10 12:00:00' + connectorId: + type: integer + description: コネクタID + example: 1 + connectorName: + type: string + description: 充電場所 充電予約T + example: 1番 + chargeType: + type: integer + description: 充電タイプ + example: 1 + chargeTypeName: + type: string + example: 急速 + description: 充電タイプ名 + shopId: + type: integer + example: 1 + description: 店舗ID + shopName: + type: string + example: 茨木本店 + description: 店舗名 + donationId: + type: integer + description: 寄付先ID + example: 1 + donationName: + type: string + description: 寄付先名 + example: WWF + paymentCode: + type: integer + description: 決済コード + example: 2 + paymentName: + type: string + description: 決済名 + example: PayPay + chargerOutlet: + type: string + example: CHAdeMO + description: 差込口タイプ + chargerOutputName: + type: string + example: 最大50kW + description: 充電出力名 + chargedOutput: + type: number + example: 50 + description: 充電出力 + chargedTime: + example: 60 + description: 充電時間(分単位) + type: integer + extensionPrice: + type: integer + description: 延長料金 + example: 1000 + nullable: true + extensionTime: + type: integer + description: 延長時間(分) + example: 10 + nullable: true + usePrice: + type: integer + description: 利用料金 + example: 5000 + nullable: true + useTime: + type: integer + description: 利用時間 + example: 50 + nullable: true + usePoint: + type: integer + description: ポイント利用 + example: 500 + paymentAmount: + type: integer + description: 支払料金 + example: 5000 + required: + - id + - orderId + - startAt + - endAt + - connectorId + - connectorName + - chargeType + - chargeTypeName + - shopId + - shopName + - donationId + - donationName + - paymentCode + - paymentName + - chargerOutlet + - chargerOutputName + - chargedOutput + - chargedTime + - usePoint + - paymentAmount + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/charge-orders/{charge-orderId}/calculate': + parameters: + - schema: + type: integer + in: path + name: charge-orderId + description: 注文ID + required: true + post: + summary: 充電注文精算処理 + operationId: post-api-charge-orders-order-id-calculate + description: OCPPからの通信のみ接続制限とする + tags: + - ChargeOrder + - PH2.0 + responses: + '200': + description: OK + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/charge-orders/{charge-orderId}/push-notices': + parameters: + - schema: + type: integer + in: path + name: charge-orderId + description: 注文ID + required: true + post: + summary: 充電注文プッシュ通知 + operationId: post-api-charge-orders-order-id-push-notices + description: OCPPからの通信のみ接続可能とする + tags: + - ChargeOrder + - PH2.0 + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + title: + type: string + description: タイトル + example: プッシュ通知のタイトル + maxLength: 30 + body: + type: string + description: 内容 + example: プッシュ通知の本文 + maxLength: 255 + type: + type: string + description: タイプ(会員アプリの遷移先または処理内容を制御する) + example: spot + maxLength: 10 + nullable: true + responses: + '200': + description: OK + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/reserves: + post: + summary: 充電予約登録 + operationId: post-api-reserves + description: | + * 処理完了後にメール通知する + tags: + - Reserve + - PH1.0 + security: + - MEMBER-APP: [] + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + connectorId: + type: integer + description: チャージャコネクタID + example: 1 + memberId: + type: integer + description: 会員ID + example: 2 + shopId: + type: integer + description: 店舗ID + example: 2 + startAt: + type: string + description: 予約開始時間 + example: '2022-09-12 14:10:00' + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + endAt: + type: string + description: 予約終了時間 + example: '2022-09-12 14:40:00' + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + usePoint: + type: integer + description: ポイント利用 + example: 100 + required: + - connectorId + - memberId + - shopId + - startAt + - endAt + examples: + test: + value: + connectorId: 1 + memberId: 2 + shopId: 2 + startAt: '2022-09-12 14:10:00' + endAt: '2022-09-12 14:40:00' + usePoint: 100 + status: true + responses: + '200': + description: OK + '202': + description: Accepted 受付完了 + content: + application/json: + schema: + type: object + title: Error202 + description: エラー(202)の共通スキーマ + properties: + status: + type: integer + example: 202 + title: + type: string + example: エラータイトル + msg: + type: string + example: Accepted + required: + - status + - title + - msg + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/reserves/{reserveId}': + parameters: + - schema: + type: integer + in: path + name: reserveId + description: 予約ID + required: true + get: + summary: 充電予約詳細 + operationId: get-api-reserves-reserve-id + description: | + 【利用場面】 + 1. https://projects.invisionapp.com/share/9H12C9ZXURW8#/screens/465176880 + 1. https://projects.invisionapp.com/share/9H12C9ZXURW8#/screens/465401582 + tags: + - Reserve + - PH1.0 + security: + - MEMBER-APP: [] + - ADMIN-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + reserveId: + type: integer + description: 予約ID(注文ID) + example: 1 + memberId: + type: integer + description: 会員ID + example: 1 + memberName: + type: string + description: 会員氏名 + example: 山田太郎 + addrRegion: + type: string + example: 大阪府 + description: 都道府県 + addr: + type: string + example: 大阪市大阪町1-1-1 + description: 住所 + phoneNumber: + type: string + description: 電話番号 + example: 06-1234-5678 + birthday: + type: string + description: 生年月日 + format: date + example: '2019-08-24' + StoreId: + type: integer + description: 店舗ID + example: 1 + StoreName: + type: string + description: 店舗名 + example: 茨木本店 + chargerType: + type: number + description: 充電タイプ + example: 1 + chargerTypeStr: + type: string + description: 電タイプ名 + example: 急速 + chargerOutput: + description: 充電出力名 + example: 最大50kW + type: string + chargerOutlet: + type: string + description: 差込口タイプ + example: CHAdeMO + connectorId: + type: integer + description: コネクタID + example: 1 + connecterName: + type: string + description: 充電場所(コネクタ名) + example: 1番 + startAt: + type: string + description: 予約開始日時 + example: '2022-02-11 15:10:00' + endAt: + type: string + description: 予約終了日時 + example: '2022-02-11 15:50:00' + chargeUnitPrice: + type: integer + example: 50 + description: 料金単価 + expectChargerTime: + type: integer + format: time + example: 10 + description: 予想充電時間 + expectChargePrice: + type: integer + description: 予想利用料金 + example: 3000 + expectPayAmount: + type: integer + description: 予想支払料金 + example: 2900 + usePoint: + type: integer + example: 100 + description: 利用ポイント + examples: + example: + value: + reserveId: 6 + memberId: 1 + memberName: スマホ太郎 + addrRegion: 大阪府 + addr: 大阪市大阪町大阪1丁目1-1 + phoneNumber: 06-1234-5678 + birthday: '1980-01-01' + StoreId: 2 + StoreName: 茨木本店 + chargerType: 2 + chargerTypeStr: 普通 + chargerOutput: 100/200 V + chargerOutlet: CHAdeMO + connectorId: 4 + connecterName: 4番 + startAt: '2022-09-12 11:20:00' + endAt: '2022-09-12 11:50:00' + chargeUnitPrice: 30 + expectChargeTime: 30 + expectChargePrice: 900 + expectPayAmount: 650 + usePoint: 250 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: 予約充電更新(予約変更) + operationId: put-api-reserves-reserve-id + description: | + * 処理完了後にメール通知する + tags: + - Reserve + - PH1.0 + security: + - MEMBER-APP: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + connectorId: + type: integer + description: チャージャコネクタID + startAt: + type: string + description: 予約開始時間 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + endAt: + type: string + description: 予約終了時間 + example: '2022-09-12 14:40:00' + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + usePoint: + type: integer + description: ポイント利用 + example: 100 + required: + - connectorId + - startAt + - endAt + responses: + '200': + description: OK + '202': + $ref: '#/paths/~1api~1reserves/post/responses/202' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + delete: + summary: 充電予約削除(予約取消) + operationId: put-api-reserves-reserve-id + description: | + * 処理完了後にメール通知する + security: + - MEMBER-APP: [] + - ADMIN-APP: [] + tags: + - Reserve + - PH1.0 + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/reserves/{reserveId}/orders': + parameters: + - schema: + type: integer + in: path + name: reserveId + description: 予約ID + required: true + get: + summary: 充電予約中情報取得-> 充電予約注文情報 + operationId: get-api-reserves-reserve-id-orders + description: '(会員アプリ-予約情報)[https://projects.invisionapp.com/share/9H12C9ZXURW8#/screens/466127706]' + tags: + - ReservesOrder + - PH1.0 + security: + - MEMBER-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + status: + type: integer + description: 'ステータス(1:充電不可 2:充電可能 3:充電中 4:エラー時)' + example: 1 + reservesId: + type: integer + example: 12 + description: 予約ID + startAt: + type: string + description: 予約開始時間 + example: '2022-02-06 10:30:00' + endAt: + type: string + description: 予約終了時間 + example: '2022-02-06 11:30:00' + shopId: + type: integer + example: 1 + description: 店舗ID + shopStr: + type: string + description: 店舗名 + example: 茨木本店 + connectorId: + type: integer + description: コネクタID + example: 1 + connectorName: + type: string + example: 1番 + description: コネクタ名(充電場所) + chargeType: + type: integer + description: 充電タイプ + example: 1 + chargeTypeName: + type: string + example: 急速 + description: 充電タイプ名 + chargerOutlet: + type: string + example: CHAdeMO + description: 差込口タイプ + chargeOutput: + type: string + description: 充電出力名 + example: 最大50kw + chargerImagUrl: + type: string + description: 充電画像URL + example: 'https://localhost/storage/chargers/sp_default1.png' + chargerUnitPrice: + type: number + description: 料金単価 + example: 95.5 + expectChargerTime: + type: integer + example: 60 + description: 予想充電時間(分単位) + expectChargePrice: + type: integer + example: 5730 + description: 予想利用料金 + expectPayAmount: + type: integer + example: 5500 + description: 予想支払料金 + usePoint: + type: integer + example: 230 + description: ポイント利用 + examples: + 充電不可: + value: + status: 1 + reservesId: 12 + startAt: '2022-02-06 10:30:00' + endAt: '2022-02-06 11:30:00' + shopId: 1 + shopStr: 茨木本店 + connectorId: 1 + connectorName: 1番 + chargeType: 1 + chargeTypeName: 急速 + chargerOutlet: CHAdeMO + chargeOutput: 最大50kw + chargerImagUrl: string + chargerUnitPrice: 50 + expectChargerTime: 60 + expectChargePrice: 3000 + expectPayAmount: 1000 + usePoint: 2000 + エラー時: + value: + status: 4 + reservesId: 1 + startAt: '2023-02-15 07:30:00' + endAt: '2023-02-15 08:00:00' + shopId: 4 + shopStr: テスト支店 + connectorId: 7 + connectorName: S1 + chargeType: 1 + chargeTypeName: 急速 + chargerOutlet: CHAdeMO + chargeOutput: 100/200 V + chargerImagUrl: 'https://webapp.cleanenergylabo.jp/storage/chargers/sp_default1.png' + chargerUnitPrice: 40 + expectChargerTime: 30 + expectChargePrice: 1200 + expectPayAmount: 1180 + usePoint: 20 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + post: + summary: 充電予約ダイアログ処理 + operationId: post-api-reserves-orders + description: 管理アプリのモニタニング画面のモーダルの結果処理 + tags: + - ReservesOrder + - PH1.0 + security: + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + windowStatus: + type: string + description: ウィンドウステータス + example: CHARGING_CONTROL + enum: + - CHARGING_CONTROL + - CHARGING_FINISH + message: + description: メッセージ + type: string + example: OK + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/reserves/enableMaxTime: + get: + operationId: get-api-reserves-enable-max-time + summary: 予約最大可能時間取得 + description: | + * 会員アプリ、管理アプリの延長時=予約IDを指定 + * 管理アプリの充電予約時=予約開始時間、チャージャコネクタIDを指定 + * APIのエンドポイント、パラメータの正規化(PH3.0の調整) // :TASK + * エンドポイント=ケバブケースに修正する // :TASK + tags: + - Reserve + - PH3.0 + security: + - ADMIN-APP: [] + - MEMBER-APP: [] + parameters: + - schema: + type: string + in: query + name: startAt + description: 予約開始時間 + - schema: + type: integer + in: query + description: チャージャコネクタID + name: connectorId + - schema: + type: integer + in: query + name: reserveId + description: 予約IDを指定(延長時) + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + maxMinutes: + type: integer + description: 最大予約時間 + example: 60 + required: + - maxMinutes + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/reserves/{reserveId}/calculate': + parameters: + - schema: + type: integer + in: path + name: reserveId + description: 予約ID + required: true + get: + summary: 予約充電精算詳細 + operationId: get-api-reserves-reserve-id-calculate + description: | + * 急速充電の非同期処理による調整(08/01) + tags: + - ReservesCalculate + - PH2.0 + security: + - ADMIN-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + startAt: + type: string + description: 充電開始日時 + example: '2023-02-10 12:00:00' + endAt: + type: string + description: 充電終了日時 + example: '2023-02-10 12:00:00' + shopName: + type: string + example: 茨木本店 + description: 店舗名 + chargeTypeName: + type: string + example: 急速 + description: 充電タイプ名 + chargetime: + example: 60 + description: 充電時間(分単位)# 名前に訂正が必要(chargedTime) + type: integer + extensionPrice: + type: integer + description: 延長料金 + example: 1000 + nullable: true + usePoint: + type: integer + description: ポイント利用 + example: 500 + paymentAmount: + type: integer + description: 支払料金 + example: 5000 + donationName: + type: string + description: 寄付先名 + example: WWF + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/reserves/{reserveId}/orders/extension': + parameters: + - schema: + type: integer + in: path + name: reserveId + description: 予約ID + required: true + get: + summary: 充電予約延長仮情報取得 + operationId: get-api-reserves-reserve-id-orders-extension + description: 充電予約を延長した場合の延長後の予想延長料金、予約終了日時を取得する + parameters: + - schema: + type: integer + in: query + name: extensionTime + description: 延長時間 + required: true + tags: + - ReservesOrder + - PH1.0 + security: + - MEMBER-APP: [] + - ADMIN-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + extensionPrice: + type: integer + description: 予想延長料金 + example: 1000 + 'extensionEndAt ': + type: string + description: 延長終了日時 + example: '2022-10-24 11:10:00' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + post: + summary: 予約延長処理 + operationId: post-api-reserves-orders-extension + description: '' + tags: + - ReservesOrder + - PH1.0 + security: + - MEMBER-APP: [] + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + extensionTime: + type: integer + description: 延長時間 + example: 20 + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/reserves/{reserveId}/collation': + parameters: + - schema: + type: integer + in: path + name: reserveId + description: 予約ID + required: true + post: + summary: 予約照合処理 + operationId: post-api-reserves-reserve-id-collation + description: '' + tags: + - Reserve + - PH1.0 + security: + - ADMIN-APP: [] + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/reservers/work: + post: + summary: 仮予約ワークテーブル登録 + operationId: post-api-reservers-work + description: '' + tags: + - ReserversWork + - PH1.0 + security: + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + connectorId: + type: integer + description: チャージャコネクタID + example: 1 + memberId: + type: integer + description: 会員ID + example: 2 + shopId: + type: integer + description: 店舗ID + example: 2 + startAt: + type: string + description: 予約開始時間 + example: '2022-09-12 14:10:00' + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + endAt: + type: string + description: 予約終了時間 + example: '2022-09-12 14:40:00' + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + usePoint: + type: integer + description: ポイント利用 + example: 100 + required: + - connectorId + - memberId + - shopId + - startAt + - endAt + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + workReservesId: + type: integer + description: 仮予約ID + example: 22 + workReservesToken: + type: string + description: 仮予約トークン + example: bb383b8a-1ae945debfc9-5cd73c14f2bc + messeageid: + type: string + description: メッセージID + example: 8f7e6ee7b11341d1-b4f3fd92135991ff + '202': + $ref: '#/paths/~1api~1reserves/post/responses/202' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/reservers/work/{workReservesId}': + parameters: + - schema: + type: integer + in: path + name: 仮予約ID + description: workReservesId + required: true + get: + summary: 仮予約ワークテーブル詳細 + operationId: get-api-reservers-work-work-reserves-id + description: タブレットからAPI送信する + tags: + - ReserversWork + - PH1.0 + parameters: + - schema: + type: string + in: query + name: workReservesToken + description: 仮予約トークン + example: 8f7e6ee7b11341d1ADb4f3fd92135991ff + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + shopId: + type: integer + description: 店舗ID + example: 2 + memberId: + type: integer + description: 会員ID + example: 1 + memberName: + example: 山田太郎 + type: string + description: 氏名 + memberAddrRegion: + type: string + example: 大阪府 + description: 都道府県 + memberAddr: + type: string + example: 大阪市大阪町1丁目1ー1 + description: 住所 + memberBirthday: + type: string + format: date + example: '1980-03-31' + description: 生年月日 + chargeType: + type: integer + description: 充電タイプ + example: 1 + chargeTypeName: + type: string + example: 急速 + description: 充電タイプ名 + chargerOutput: + type: string + description: 充電出力 + example: 最大50kW + chargerOutlet: + type: string + example: CHAdeM0 + description: 差込口タイプ + unitPrice: + type: integer + description: 料金単価 + example: 45.52 + connectorId: + type: integer + description: コネクタID + example: 1 + connecterName: + type: string + description: コネクタ名(充電場所) + startAt: + type: string + description: 予約開始日時 + example: '2022-02-11 15:10:00' + endAt: + type: string + description: 予約終了日時 + example: '2022-02-11 15:50:00' + expectChargerTime: + type: integer + example: 40 + description: 予想充電時間 + expectChargePrice: + type: integer + description: 予想利用料金 + example: 1824 + expectPayAmount: + type: integer + description: 予想支払料金 + example: 1800 + usePoint: + type: integer + example: 24 + description: 利用ポイント + '202': + $ref: '#/paths/~1api~1reserves/post/responses/202' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: 仮予約ワークテーブル更新(予約同意受付処理) + operationId: put-api-reservers-work-work-reserves-id + description: '' + tags: + - ReserversWork + - PH1.0 + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + workReservesToken: + type: string + description: 仮予約トークン + example: 8f7e6ee7b11341d1ADb4f3fd92135991ff + responses: + '200': + description: OK + '202': + $ref: '#/paths/~1api~1reserves/post/responses/202' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/spot-charge/status-info: + get: + operationId: get-api-spot-charge-status-info + summary: 即時充電-ステータス取得 + description: '' + tags: + - SpotCharge + - PH2.0 + security: + - MEMBER-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + status: + type: integer + description: 'ステータス(0:充電なし 1:待機中 2:充電中)' + example: 2 + disableFlg: + type: boolean + description: 使用可不可フラグ + example: true + chargingInfo: + type: object + nullable: true + properties: + chargeOrderId: + type: integer + description: 充電注文ID + example: 12 + shopName: + type: string + description: 店舗名 + example: イオン茨木店 + connectorName: + type: string + description: コネクタ名(充電場所) + example: 東14番 + chargingTime: + type: string + description: 経過時間 + nullable: true + example: '01:40:00' + chargingPrice: + type: integer + description: 料金 + nullable: true + example: 350 + chargingStatus: + type: integer + description: 充電残量 + nullable: true + example: null + required: + - chargeOrderId + - shopName + - connectorName + required: + - status + - disableFlg + examples: + 通常時: + value: + status: 0 + disableFlg: false + chargingInfo: null + 通常時-ボタン使用不可: + value: + status: 0 + disableFlg: true + chargingInfo: null + 待機中(リスタートなし): + value: + status: 1 + disableFlg: true + chargingInfo: + chargeOrderId: 1 + shopName: イオン茨木店 + connectorName: 東3 + chargingTime: null + chargingPrice: null + chargingStatus: null + 待機中(リスタートあり): + value: + status: 1 + disableFlg: true + chargingInfo: + chargeOrderId: 1 + shopName: イオン茨木店 + connectorName: 東3 + chargingTime: '00:40:00' + chargingPrice: 1200 + chargingStatus: 65 + 充電中: + value: + status: 2 + disableFlg: true + chargingInfo: + chargeOrderId: 2 + shopName: イオン茨木店 + connectorName: 東3 + chargingTime: '00:40:00' + chargingPrice: 1200 + chargingStatus: null + 充電中(残量取得あり): + value: + status: 2 + disableFlg: true + chargingInfo: + chargeOrderId: 2 + shopName: イオン茨城店 + connectorName: 東3 + chargingTime: '01:40:00' + chargingPrice: 2200 + chargingStatus: 56 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/spot-charge/collation: + post: + operationId: post-api-spot-charge-collation + summary: 即時充電-チャージャ照合処理 + description: '' + tags: + - SpotCharge + - PH2.0 + security: + - MEMBER-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + token: + type: string + description: QRのtoken + example: Avddfad4f4dfasdsf4d654f + required: + - token + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + chargeId: + type: integer + description: チャージャID + example: 12 + '202': + $ref: '#/paths/~1api~1reserves/post/responses/202' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/spot-charge/chargers/{chargerId}': + parameters: + - schema: + type: integer + in: path + name: chargerId + description: チャージャID + required: true + get: + summary: 即時充電-チャージャ取得 + operationId: get-api-spot-charge-chargers-charger-id + description: '' + tags: + - SpotCharge + - PH2.0 + security: + - MEMBER-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + chargeLimitHours: + type: integer + description: 最大充電可能時間 + nullable: true + example: 2 + balancePoint: + type: integer + description: ポイント残高 + example: 340 + shopName: + type: string + description: 利用店舗 + example: イオン茨木店 + connectorId: + type: integer + description: コネクタID + example: 2 + connectorName: + type: string + description: コネクタ名(充電場所) + example: 東3番 + chargerTypeName: + type: string + description: 充電タイプ + example: 普通 + chargerOutlet: + type: string + description: 差込口タイプ + example: CHAdeMO + chargerOutputName: + type: string + description: 充電出力名 + example: 3kW + chargeUnitPriceStr: + type: string + description: 充電単価名 + example: 3.5円/分 + chargerImageUrl: + type: string + description: 画像URL + example: 'http://localhost/storage/chargers/default2.png' + demandType: + type: integer + description: デマンドタイプ + nullable: true + example: 2 + chargerWaitFlag: + type: boolean + description: 待機フラグ + example: true + required: + - balancePoint + - shopName + - connectorId + - connectorName + - chargerTypeName + - chargerOutlet + - chargerOutputName + - chargeUnitPriceStr + - chargerImageUrl + - chargerWaitFlag + examples: + 待ち時間あり: + value: + chargeLimitHours: 3 + balancePoint: 340 + shopName: イオン茨木店 + connectorId: 1 + connectorName: 東3番 + chargerTypeName: 普通 + chargerOutlet: CHAdeMO + chargerOutputName: 3kW~6kW + chargeUnitPriceStr: 3.6円/分 + chargerImageUrl: 'http://localhost/storage/chargers/default2.png' + demandType: 2 + chargerWaitFlag: true + 待ち時間なし: + value: + chargeLimitHours: 3 + balancePoint: 340 + shopName: イオン茨木店 + connectorId: 1 + connectorName: 東3番 + chargerTypeName: 普通 + chargerOutlet: CHAdeMO + chargerOutputName: 3kW + chargeUnitPriceStr: 3.6円/分 + chargerImageUrl: 'http://localhost/storage/chargers/default2.png' + demandType: 0 + chargerWaitFlag: false + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/spot-charge/{orderId}/charging-status': + parameters: + - schema: + type: integer + in: path + name: orderId + description: 注文ID + required: true + get: + summary: 即時充電-充電中情報取得 + operationId: get-api-spot-charge-order-id-charging-status + description: '' + tags: + - SpotCharge + - PH2.0 + security: + - MEMBER-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + status: + type: integer + description: 'ステータス(1:待機中 2:充電中)' + chargerImageUrl: + type: string + description: チャージャ画像URL + example: 'http://localhost/storage/chargers/default2.png' + shopName: + type: string + description: 店舗名 + example: イオン茨木店 + connectorName: + type: string + description: コネクタ名(充電場所) + example: 東14番 + chargerOutlet: + type: string + description: 差込口タイプ + example: CHAdeMO + chargerOutputName: + type: string + description: 充電出力名 + example: 3kW + chargingTime: + type: integer + description: 経過時間(分単位) + example: 80 + nullable: true + chargingPrice: + type: integer + description: 経過料金 + example: 280 + nullable: true + chargingUnitPrice: + type: number + description: 経過単価 + example: 3.5 + nullable: true + chargingOutput: + type: number + description: 経過出力 + example: 3 + nullable: true + usePoint: + type: integer + description: ポイント利用 + example: 18 + nullable: true + demandType: + type: integer + description: デマンドタイプ + example: 1 + nullable: true + required: + - status + - chargerImageUrl + - shopName + - connectorName + - chargerOutlet + - chargerOutputName + examples: + 待機中: + value: + status: 1 + chargerImageUrl: 'http://localhost/storage/chargers/default2.png' + shopName: イオン茨木店 + connectorName: 東P3 + chargerOutlet: CHAdeMO + chargerOutputName: 3kW + chargingTime: null + chargingPrice: null + chargingUnitPrice: null + chargingOutput: null + usePoint: 0 + demandType: 1 + 充電中: + value: + status: 2 + chargerImageUrl: 'http://localhost/storage/chargers/default2.png' + shopName: イオン茨木店 + connectorName: 東P3 + chargerOutlet: CHAdeMO + chargerOutputName: 3kW + chargingTime: 75 + chargingPrice: 4500 + chargingUnitPrice: 60 + chargingOutput: 3 + usePoint: 0 + demandType: null + デマンド機能: + value: + status: 2 + chargerImageUrl: 'http://localhost/storage/chargers/default2.png' + shopName: イオン茨木店 + connectorName: 東P3 + chargerOutlet: CHAdeMO + chargerOutputName: 3kW~6Kw + chargingTime: 75 + chargingPrice: 4500 + chargingUnitPrice: 60 + chargingOutput: 4 + usePoint: 230 + demandType: 2 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/staffs/admin/login: + post: + summary: 管理アプリ-ログイン処理 + operationId: post-api-staffs-admin_login + description: '' + tags: + - StaffsAdmin + - PH1.0 + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + loginId: + type: string + description: ログインID + pattern: '^([a-zA-Z0-9]+)$' + example: staff001 + password: + type: string + description: パスワード + minimum: 8 + maxLength: 20 + pattern: '^([a-zA-Z0-9!#@\-\+\$\&]+)$' + example: pass$$word + required: + - loginId + - password + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + id: + type: integer + description: 社員ID + example: 1 + shopId: + type: integer + description: 店舗ID + example: 1 + shopStr: + type: string + description: 店舗名 + example: 本社 + loginId: + type: string + description: ログインID + example: staff01 + name: + type: string + description: 社員氏名 + example: 管理太郎 + role: + type: integer + description: '権限(0:店舗スタッフ 1:店舗管理者 2:管理責任者)' + example: 1 + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/staffs/admin/logout: + post: + summary: 管理アプリ-ログアウト処理 + operationId: post-api-staffs-admin_logout + description: '' + tags: + - StaffsAdmin + - PH1.0 + security: + - ADMIN-APP: [] + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/staffs: + get: + operationId: get-api-staffs + summary: 社員一覧 + description: '' + tags: + - Staff + - PH1.0 + security: + - ADMIN-APP: [] + parameters: + - schema: + type: string + in: query + name: kw + description: 'キーワード(ログインID、社員名:部分一致)' + - schema: + type: integer + in: query + name: shopId + description: 検索_店舗ID + - schema: + type: integer + in: query + name: page + description: 表示ページ + - schema: + type: integer + in: query + name: limit + description: 表示件数 + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + dataCount: + type: integer + example: 4 + datalist: + type: array + uniqueItems: true + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: 社員ID + example: 1 + shopId: + type: integer + description: 店舗ID + example: 2 + shopStr: + type: string + description: 店舗名 + example: 茨木本店 + loginId: + type: string + description: 社員ログインID + example: staff01 + name: + type: string + description: 名前 + example: 店舗スタッフ太郎 + role: + type: integer + description: '権限(0:店舗スタッフ 1:店舗管理者 2:管理責任者)' + example: 0 + '401': + description: Unauthorized 認証エラー + content: + application/json: + schema: + type: object + title: Error401 + description: エラー(401)の共通スキーマ + properties: + status: + type: integer + example: 401 + msg: + type: string + example: Unauthorized + required: + - status + - msg + '403': + description: Unauthorized 認証エラー + content: + application/json: + schema: + type: object + title: Error403 + description: エラー(403)の共通スキーマ + properties: + status: + type: integer + example: 403 + msg: + type: string + example: Forbidden + required: + - status + - msg + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + post: + summary: 社員登録 + operationId: post-api-staffs + description: '' + tags: + - Staff + - PH1.0 + security: + - ADMIN-APP: [] + requestBody: + description: | + 更新時: パスワードがデフォルト値「******」の場合は更新しない + content: + application/json: + schema: + type: object + description: '' + properties: + shopId: + type: integer + description: 店舗ID + example: 2 + loginId: + type: string + maxLength: 20 + description: ログインID + pattern: '^([a-zA-Z0-9]+)$' + example: staff001 + name: + type: string + maxLength: 20 + description: 社員名 + example: スタッフ太郎 + password: + type: string + description: パスワード + minimum: 8 + maxLength: 20 + pattern: '^([a-zA-Z0-9!#@\-\+\$\&]+)$' + example: pass$$word + role: + type: integer + description: '権限(0:店舗スタッフ 1:店舗管理者 2:管理責任者)' + example: 0 + note: + type: string + description: 備考 + example: 喘息持ち + maxLength: 255 + required: + - shopId + - loginId + - name + - password + - role + responses: + '200': + description: OK + '400': + description: Bad Request バリデーションエラー + content: + application/json: + schema: + type: object + title: Error400 + description: エラー(400)の共通スキーマ + properties: + status: + type: integer + example: 400 + msg: + type: string + example: Bad Request + required: + - status + - msg + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/staffs/{staffId}': + parameters: + - schema: + type: integer + in: path + name: staffId + description: 社員ID + required: true + get: + summary: 社員詳細 + operationId: get-api-staffs-staff-id + description: '' + tags: + - Staff + - PH1.0 + security: + - ADMIN-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + id: + type: integer + description: 社員ID + example: 1 + shopId: + type: integer + description: 店舗ID + example: 2 + shopStr: + type: string + description: 店舗名(店舗.店舗名) + example: 茨木本店 + loginId: + type: string + description: 社員ログインID + example: staff01 + name: + type: string + description: 名前 + example: 店舗スタッフ太郎 + role: + type: integer + description: '権限(0:店舗スタッフ 1:店舗管理者 2:管理責任者)' + example: 0 + note: + type: string + description: 備考 + example: 喘息持ち + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: 社員更新 + operationId: put-api-staffs-staff-id + description: '' + tags: + - Staff + - PH1.0 + security: + - ADMIN-APP: [] + requestBody: + $ref: '#/paths/~1api~1staffs/post/requestBody' + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + delete: + summary: 社員削除 + operationId: put-api-staffs-staff-id + description: '' + security: + - ADMIN-APP: [] + tags: + - Staff + - PH1.0 + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/sales-analysises/distribution-aggregate: + get: + operationId: get-api-sales-analysises-distribution_aggregate + summary: 寄付先集計 + description: '' + tags: + - SalesAnalysis + - PH1.0 + security: + - ADMIN-APP: [] + parameters: + - schema: + type: string + format: date + in: query + description: 開始日(年月日を指定する) + name: fromAt + required: true + - schema: + type: string + format: date + in: query + name: toAt + description: 終了日(年月日を指定する) + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + list: + type: array + items: + type: object + properties: + distributionCode: + description: 寄付先 + example: 1 + type: integer + distributionName: + type: string + description: 寄付先名 + example: WWF + salesAmount: + type: integer + example: 430000 + minimum: 0 + description: 売上 + salesCount: + type: integer + description: レコード数 + example: 14 + salesRate: + description: 売上比率 + example: 40 + type: number + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/sales-analysises: + get: + operationId: get-api-sales-analysises + summary: ダッシュボード集計 + description: '' + tags: + - SalesAnalysis + - PH1.0 + security: + - ADMIN-APP: [] + parameters: + - schema: + type: string + format: date + in: query + name: from + description: 期間開始日付 + required: true + - schema: + type: string + format: date + in: query + name: to + description: 期間終了日付 + required: true + - schema: + type: string + in: query + name: shopId + description: 店舗ID + - schema: + type: string + in: query + name: periodType + description: '指定期間タイプ (1:年別 2:月別)' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + list: + type: array + items: + type: object + properties: + period: + type: string + description: '期間(年別の場合=YYYY,月別の場合=YYYY-MM)' + example: 2022-8 + salesAmount: + type: integer + description: 売上 + example: 430000 + totalMembersCount: + description: 総会員数 + example: 1300 + type: integer + workingRate: + description: 稼働率 + type: number + example: 0.66 + newMemberCount: + type: integer + description: 新規会員登録数 + example: 41 + cancelRate: + description: キャンセル率 + type: number + example: 0.025 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/sales-analysises/dashboard: + get: + operationId: get-api-sales-analysises-dashboard + summary: ダッシュボード集計(リアルタイム) + description: '' + tags: + - SalesAnalysis + - PH1.0 + security: + - ADMIN-APP: [] + parameters: + - schema: + type: string + in: query + name: shopId + description: 店舗ID + - schema: + type: string + in: query + name: targetDate + description: 対象日付 + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + salesAmountDay: + type: integer + description: 売上高(日) + example: 430000 + workingRateDay: + type: number + description: 稼働率(日) + example: 0.66 + newMemberCountDay: + type: integer + description: 新規会員登録数(日) + example: 4 + cancelRateDay: + type: number + description: キャンセル率(日) + example: 0.015 + salesAmount: + type: integer + description: 売上金額 + example: 235000 + workingRate: + type: number + description: 稼働率 + example: 0.66 + memberCount: + type: integer + description: 総会員数 + example: 876 + newMemberCount: + type: integer + description: 新規会員登録数 + example: 41 + reserveCount: + type: integer + description: 予約残件数 + example: 120 + cancelRate: + type: number + description: キャンセル率 + example: 0.025 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/sales-analysises/user-info: + get: + operationId: get-api-sales-analysises-dashboard + summary: ダッシュボード集計(利用者分析) + description: '' + tags: + - SalesAnalysis + - PH1.0 + security: + - ADMIN-APP: [] + parameters: + - schema: + type: string + format: date + in: query + name: from + description: 期間開始日付 + required: true + - schema: + type: string + format: date + in: query + name: to + description: 期間終了日付 + required: true + - schema: + type: string + in: query + name: shopId + description: 店舗ID(指定しない場合は全ての店舗で取得する) + - schema: + type: string + in: query + name: Type + description: 'タイプ 1:年齢別 2:メーカー別 3:タイプ別 4:性別' + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + list: + type: array + items: + type: object + properties: + className: + type: string + description: 分類名 + example: 20代 + memberCount: + type: integer + example: 23 + description: 会員数 + MemberTotalCount: + type: integer + description: 会員総数 + example: 300 + examples: + 年齢: + value: + list: + - className: 40代 + memberCount: 12 + - className: 20代 + memberCount: 23 + MemberTotalCount: 35 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/sales-analysises/csv-output: + post: + summary: CSVデータ出力(ステーション) + operationId: post-api-sales-analysises + description: '' + tags: + - SalesAnalysis + - PH1.0 + security: + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + inputType: + type: integer + description: 出力タイプ(出力ファイル定義書NO指定) + example: 1 + from: + type: string + description: 期間開始 + example: 2023-05 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9])$' + to: + type: string + description: 期間終了 + example: 2023-06 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9])$' + format: date + shopId: + description: 店舗ID + type: integer + example: 2 + responses: + '200': + description: OK + content: + text/plain: + schema: + type: string + example: + value: '会員ID,メールアドレス,ステータスコード,登録日時,退会日時,氏名,都道府県,住所,電話番号,生年月日,車メーカーコード,車メーカー名,車タイプコード,車タイプ名,性別コード,最寄店舗ID,最寄店舗名,寄付先ID,寄付先名,決済コード,決済名,貢献度,残高ポイント' + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/sales-analysises/owners/{ownerId}': + parameters: + - schema: + type: integer + in: path + name: ownerId + description: オーナーID + required: true + get: + operationId: get-api-sales-analysises-owners-owner-id + summary: ダッシュボード集計(オーナー) + description: '' + tags: + - SalesAnalysisesOwner + - PH3.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + parameters: + - schema: + type: string + format: date + in: query + name: from + description: 期間開始 + required: true + - schema: + type: string + format: date + in: query + name: to + description: 期間終了 + required: true + - schema: + type: string + in: query + name: shopId + description: 店舗ID + - schema: + type: string + in: query + name: periodType + description: '指定期間タイプ(1:年別 2:月別)' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + list: + type: array + items: + type: object + properties: + period: + type: string + description: 期間 + example: 22-08 + salesAmount: + type: integer + description: 集計_売上高 + example: 430000 + profitAmount: + type: integer + description: 集計_収益高 + example: 400000 + workDayRate: + description: 集計_日中稼働率 + example: 66.6 + type: number + workNightRate: + description: 集計_夜間稼働率 + example: 30.6 + type: number + requestCount: + type: integer + description: 集計_稼働件数 + example: 40 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/sales-analysises/dashboard/owners/{ownerId}': + parameters: + - schema: + type: integer + in: path + name: ownerId + description: オーナーID + required: true + get: + operationId: get-api-sales-analysises-dashboard_-owners-owner-id + summary: ダッシュボード集計(リアルタイム・オーナー) + description: '' + tags: + - SalesAnalysisesOwner + - PH3.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + parameters: + - schema: + type: string + in: query + name: shopId + description: 店舗ID + - schema: + type: string + format: date + in: query + name: targetDate + description: 対象日付 + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + salesAmountDay: + type: integer + description: 日別データ_収入高 + example: 430000 + workDayRateDay: + type: number + description: 日別データ_日中稼働率 + example: 56.3 + workNightRateDay: + type: number + description: 日別データ_夜間稼働率 + example: 23.4 + requestCountDay: + type: integer + description: 日別データ_依頼件数 + example: 60 + salesAmount: + type: integer + description: 当月データ_収入高 + example: 235000 + workDayRate: + type: number + description: 当月データ_日中稼働率 + example: 66.6 + workNightRate: + type: number + description: 当月データ_夜間稼働率 + example: 23.4 + requestCount: + type: integer + description: 当月データ_依頼件数 + example: 250 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/sales-analysises/csv-output/owners/{ownerId}': + parameters: + - schema: + type: integer + in: path + name: ownerId + description: オーナーID + required: true + post: + summary: CSVデータ出力(オーナー) + operationId: post-api-sales-analysises-owners-owner-id + description: '' + tags: + - SalesAnalysisesOwner + - PH3.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + inputType: + type: integer + description: 出力タイプ(出力ファイル定義書NO指定) + example: 1 + from: + type: string + description: 期間開始 + example: 2023-05 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9])$' + to: + type: string + description: 期間終了 + example: 2023-06 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9])$' + format: date + shopId: + description: 店舗ID + type: integer + example: 5 + responses: + '200': + description: OK + content: + text/plain: + schema: + type: string + example: + value: '会員ID,氏名,充電開始時間,充電終了時間,充電時間,支払料金,利用料金,利用時間,ポイント利用,延長料金,延長時間,売上金額,充電タイプ,充電タイプ名,コネクタID,充電場所,料金単価,店舗ID,店舗名' + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/consumed-power/owners/{ownerId}': + parameters: + - schema: + type: integer + in: path + name: ownerId + description: オーナーID + required: true + get: + operationId: get-api-consumed-powers-owners-owner-id + summary: 消費電力集計(オーナー) + description: '' + tags: + - SalesAnalysisesOwner + - PH3.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + parameters: + - schema: + type: string + format: date + in: query + name: from + description: 期間開始 + required: true + - schema: + type: string + format: date + in: query + name: to + description: 期間終了 + required: true + - schema: + type: string + in: query + name: shopId + description: 店舗ID + - schema: + type: integer + in: query + name: periodType + description: '指定期間タイプ(1:年別 2:月別)' + - schema: + type: integer + in: query + name: groupId + description: チャージャグループID + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + list: + type: array + items: + type: object + properties: + period: + type: string + description: 期間 + example: 22/08 + chargedEnergy: + description: EV充電量 + example: 30.55 + type: number + examples: + example: + value: + list: + - period: 22/08 + chargedEnergy: 30.55 + - period: 22/07 + chargedEnergy: 40 + - period: 22/06 + chargedEnergy: 66.66 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/consumed-power/dashboard/owners/{ownerId}': + parameters: + - schema: + type: integer + in: path + name: ownerId + description: オーナーID + required: true + get: + operationId: get-api-consumed-powers-dashboard-owners-owner-id + summary: 消費電力集計(リアルタイム・オーナー) + description: '' + tags: + - SalesAnalysisesOwner + - PH3.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + parameters: + - schema: + type: string + in: query + name: shopId + description: 店舗ID + - schema: + type: string + format: date + in: query + name: targetDate + description: 対象日付 + - schema: + type: string + in: query + description: チャージャグループID + name: groupId + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + enablePower: + type: number + description: 使用可能電力 + example: 300.25 + chargedEnergyDay: + type: number + description: 日別データ_EV充電量 + example: 54.2 + chargedEnergy: + type: number + description: 当月データ_EV充電量 + example: 200.05 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/coupons: + get: + operationId: get-api-coupons + summary: クーポン一覧 + description: '' + tags: + - Coupon + - PH1.0 + security: + - ADMIN-APP: [] + parameters: + - schema: + type: integer + in: query + name: registration + description: 登録者(申請者) + - schema: + type: string + in: query + name: kw + description: 'キーワード(タイトル、クーポンコード:部分一致)' + - schema: + type: string + format: date + in: query + name: requestDate + description: 申請日 + - schema: + type: integer + in: query + name: status + description: ステータス(下書、差戻し、未承認、承認済み) + - schema: + type: integer + in: query + name: page + description: 表示ページ + - schema: + type: integer + in: query + name: limit + description: 表示件数 + - schema: + type: string + in: query + name: shopId + description: 対象店舗 + - schema: + type: integer + in: query + description: '期間ステータス(0:期間前、1:期間内、2:期間切)' + name: periodStatus + - schema: + type: integer + in: query + name: stopFlag + description: クーポン有効ステータス + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + datacount: + type: integer + description: データ数 + example: 1 + list: + type: array + items: + type: object + properties: + status: + type: integer + description: 'クーポンステータス(0:下書 1:差戻 2:未認証 3:承認済)' + example: 3 + id: + type: integer + description: クーポンID + example: 1 + code: + type: integer + description: クーポンコード + example: 322 + nullable: true + title: + type: string + description: クーポン題名 + example: コーヒー半額クーポン + issueStr: + type: string + description: | + 発行 + * 判定方法 + * クーポン管理.発行_日時指定_日時が空白の場合=日時指定 + * クーポン管理.発行_イベント指定_トリガーが1の場合=商品購入時 + * クーポン管理.発行_イベント指定_トリガーが2の場合=誕生日 + example: 商品購入時 + requestAt: + type: string + description: 申請日時 + example: '2022-07-15 10:30:15' + authorizer: + type: integer + description: 承認者 + example: 1 + nullable: true + authorizerName: + type: string + description: 承認者氏名 + example: 管理太郎 + nullable: true + authorizeAt: + type: string + description: 承認日時 + example: '2022-07-31 12:34:13' + nullable: true + stopAt: + type: string + description: 停止日時 + example: '2022-08-25 15:00:00' + nullable: true + registration: + type: integer + description: 登録者(申請者) + example: 2 + registrationName: + type: string + description: 登録者氏名(申請者氏名) + example: スタッフ太郎 + shopId: + type: integer + description: 対象店舗ID + example: 2 + shopName: + type: string + description: 対象店舗名 + example: 茨木本店 + nullable: true + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + post: + summary: クーポン登録 + operationId: post-api-coupons + description: '' + tags: + - Coupon + - PH1.0 + security: + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + title: + type: string + maxLength: 50 + description: クーポン題名 + example: コーヒー半額クーポン + body: + type: string + maxLength: 255 + description: クーポン内容(説明) + example: 店内のお会計から50%OFF + nullable: true + imageUrl: + type: string + description: クーポン画像URL + example: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYII=' + nullable: true + note: + type: string + maxLength: 255 + description: クーポン備考(ご利用上の注意) + example: テキストテキストテキストテキスト + nullable: true + shopId: + type: integer + description: 対象店舗ID + nullable: true + issueMode: + type: integer + description: '発行モード(1:日付指定 2:イベント指定)' + example: 1 + nullable: true + issueDate: + type: string + description: 発行_日時指定_日時(発行モードが1の場合のみ) + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + example: '2023-05-01' + nullable: true + eventTriggerType: + type: integer + description: 'イベント指定_トリガー(1:商品購入時、2:誕生日)' + example: 1 + nullable: true + eventServiceCategory: + type: integer + description: 発行_イベント指定_カテゴリ + example: 1 + eventAmount: + type: integer + description: 発行_イベント指定_金額条件 + example: 2500 + nullable: true + eventFrom: + type: string + description: イベント指定_期間開始 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + example: '2023-05-01' + nullable: true + eventTo: + type: string + description: イベント指定_期間終了 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + example: '2023-06-30' + nullable: true + validFrom: + type: string + description: クーポン開始期間 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + example: '2023-05-01' + nullable: true + validTo: + type: string + format: date + description: クーポン終了期間 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + example: '2023-05-01' + nullable: true + validMonth: + type: integer + description: 発行後_有効月 + example: 2 + nullable: true + status: + type: integer + description: 'クーポンステータス(0:下書 1:差戻 2:未承認 3:承認済)' + example: 2 + required: + - title + - status + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/coupons/{couponId}': + parameters: + - schema: + type: integer + in: path + name: couponId + description: クーポンID + required: true + get: + summary: クーポン詳細 + operationId: get-api-coupons-coupon-id + description: '' + tags: + - Coupon + - PH1.0 + security: + - ADMIN-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + id: + type: integer + description: クーポンID + example: 1 + status: + type: integer + description: 'クーポンステータス(0:下書 1:差戻 2:未認証 3:承認済)' + example: 3 + validStatus: + type: integer + description: クーポン有効ステータス(有効=1 無効=2) + example: 1 + periodStatus: + description: 'クーポン期間ステータス(0:期間前 1:期間内 2:期間切)' + example: 1 + type: integer + code: + type: integer + description: クーポンコード + example: 322 + nullable: true + title: + type: string + description: クーポン題名 + example: コーヒー半額クーポン + body: + type: string + maxLength: 255 + description: クーポン内容(説明) + example: 店内のお会計から50%OFF + nullable: true + imageUrl: + type: string + maxLength: 255 + description: クーポン画像URL + example: 'http://localhost/storage/coupons/img1.png' + nullable: true + note: + type: string + maxLength: 255 + description: クーポン備考(注意) + example: テキストテキストテキストテキスト + nullable: true + shopId: + type: integer + description: 対象店舗ID + example: 1 + nullable: true + shopName: + type: string + description: 対象店舗名 + example: 茨木本店 + nullable: true + issueStr: + type: string + description: | + 発行 + * 判定方法 + * クーポン管理.発行_日時指定_日時が空白の場合=日時指定 + * クーポン管理.発行_イベント指定_トリガーが1の場合=商品購入時 + * クーポン管理.発行_イベント指定_トリガーが2の場合=誕生日 + example: 商品購入時 + issueDate: + type: string + description: 発行_日時指定_日時 + format: date + nullable: true + example: '2022-07-31 12:34:13' + eventTriggerType: + type: integer + description: 'イベント指定_トリガー(1:商品購入時、2:誕生日)' + example: 1 + nullable: true + eventServiceCategory: + type: integer + description: イベント指定_カテゴリ + example: 3 + nullable: true + eventServiceCategoryStr: + type: string + description: イベント指定_カテゴリ名(サービスカテゴリ.サービスカテゴリ名) + example: 工事 + nullable: true + eventAmount: + type: integer + description: イベント指定_金額条件 + example: 3000 + nullable: true + eventFrom: + type: string + description: イベント指定_期間開始 + format: date + example: '2022-07-31' + nullable: true + eventTo: + type: string + description: イベント指定_期間終了 + format: date + example: '2022-08-31' + nullable: true + validFrom: + type: string + description: クーポン開始期間 + format: date + example: '2022-07-31' + nullable: true + validTo: + type: string + description: クーポン終了期間 + format: date + example: '2022-09-30' + nullable: true + validMonth: + type: integer + format: date + description: 発行後_有効月数 クーポン管理T + example: 1 + nullable: true + registration: + description: 登録者(申請者) + example: 2 + type: integer + nullable: true + registrationName: + type: string + description: 登録者氏名(申請者氏名) + example: スタッフ太郎 + nullable: true + requestAt: + type: string + description: 申請日時 + example: '2022-07-15 10:30:15' + nullable: true + authorizer: + type: integer + description: 承認者 + example: 1 + nullable: true + authorizerName: + type: string + description: 承認者名 + example: 管理太郎 + nullable: true + authorizeAt: + type: string + description: 承認日時 + example: '2022-07-31 12:34:13' + nullable: true + reReason: + type: string + description: 差し戻し理由 + example: 期間を訂正してください + nullable: true + stopAt: + type: string + description: 停止日 + format: date + example: '2022-08-31' + nullable: true + stopReason: + type: string + description: 停止理由 + example: 商品の在庫切れにより停止とする + nullable: true + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: クーポン更新 + operationId: put-api-coupons-coupon-id + description: '' + tags: + - Coupon + - PH1.0 + security: + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + title: + type: string + maxLength: 50 + description: クーポン題名 + example: コーヒー半額クーポン + body: + type: string + maxLength: 255 + description: クーポン内容(説明) + example: 店内のお会計から50%OFF + nullable: true + imageUrl: + type: string + description: クーポン画像URL + example: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYII=' + nullable: true + note: + type: string + maxLength: 255 + description: クーポン備考(ご利用上の注意) + example: テキストテキストテキストテキスト + nullable: true + shopId: + type: integer + description: 対象店舗ID + nullable: true + issueMode: + type: integer + description: '発行モード(1:日付指定 2:イベント指定)' + example: 1 + nullable: true + issueDate: + type: string + description: 発行_日時指定_日時(発行モードが1の場合のみ) + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + example: '2023-05-01' + nullable: true + eventTriggerType: + type: integer + description: 'イベント指定_トリガー(1:商品購入時、2:誕生日)' + example: 1 + nullable: true + eventServiceCategory: + type: integer + description: 発行_イベント指定_カテゴリ + example: 1 + eventAmount: + type: integer + description: 発行_イベント指定_金額条件 + example: 2500 + nullable: true + eventFrom: + type: string + description: イベント指定_期間開始 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + example: '2023-05-01' + nullable: true + eventTo: + type: string + description: イベント指定_期間終了 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + example: '2023-06-30' + nullable: true + validFrom: + type: string + description: クーポン開始期間 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + example: '2023-05-01' + nullable: true + validTo: + type: string + format: date + description: クーポン終了期間 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + example: '2023-05-01' + nullable: true + validMonth: + type: integer + description: 発行後_有効月 + example: 2 + nullable: true + status: + type: integer + description: 'クーポンステータス(0:下書 1:差戻 2:未承認 3:承認済)' + example: 2 + reReason: + type: string + maxLength: 255 + description: 差し戻し理由 + example: 期間を訂正してください + nullable: true + stopAt: + type: string + description: 停止日 + format: date + example: '2022-08-31' + nullable: true + stopReason: + maxLength: 255 + type: string + description: 停止理由 + example: 商品の在庫切れにより停止とする + nullable: true + required: + - title + - status + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + delete: + summary: クーポン削除 + operationId: put-api-coupons-coupon-id + description: '' + security: + - ADMIN-APP: [] + tags: + - Coupon + - PH1.0 + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/notices: + get: + operationId: get-api-notices + summary: お知らせ一覧 + description: '' + tags: + - Notice + - PH1.0 + security: + - ADMIN-APP: [] + parameters: + - schema: + type: string + in: query + name: kw + description: 'キーワード(題名、内容:部分一致)' + - schema: + type: string + in: query + name: status + description: 検索ステータス + - schema: + type: integer + in: query + name: page + description: 表示ページ + - schema: + type: integer + in: query + name: limit + description: 表示件数 + - schema: + type: string + in: query + name: createUser + description: 検索登録ユーザ + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + datacount: + type: integer + description: データ数 + example: 1 + list: + type: array + items: + type: object + properties: + id: + type: integer + description: お知らせID + example: 1 + status: + type: integer + description: 'ステータス(0:下書き 1:配信前 2:配信済)' + example: 2 + title: + type: string + description: お知らせ題名 + example: 新型コロナウィルスに対する感染予防について + body: + type: string + description: お知らせ内容 + example: テキスト、テキスト、テキスト、テキスト、テキスト、テキスト… + nullable: true + imageUrl: + type: string + description: お知らせ画像URL + example: 'http://localhost/storage/notices/img1.png' + distributDate: + type: string + description: 配信日 + format: date + nullable: true + example: '2022-07-31 12:34:13' + createdUser: + type: integer + description: 登録ユーザ + example: 1 + createdUserName: + type: string + description: 登録者氏名 + example: 管理太郎 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + post: + summary: お知らせ登録 + operationId: post-api-notices + description: '' + tags: + - Notice + - PH1.0 + security: + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + status: + type: integer + description: 'ステータス(0:下書き 1:保存)' + example: 1 + title: + type: string + maxLength: 50 + description: お知らせ題名 + example: 新型コロナウィルスに対する感染予防について + body: + type: string + maxLength: 500 + description: お知らせ内容 + example: テキスト、テキスト、テキスト、テキスト、テキスト、テキスト… + imageUrl: + type: string + description: お知らせ画像URL + example: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYII=' + nullable: true + distributDate: + type: string + description: 配布日 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + example: '2023-05-01' + nullable: true + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/notices/{noticeId}': + parameters: + - schema: + type: integer + in: path + name: noticeId + description: お知らせID + required: true + get: + summary: お知らせ詳細 + operationId: get-api-notices-notice-id + description: '' + tags: + - Notice + - PH1.0 + security: + - ADMIN-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + id: + type: integer + description: お知らせID + example: 1 + status: + type: integer + description: 'ステータス(0:下書き 1:配信前 2:配信済)' + example: 2 + title: + type: string + description: お知らせ題名 + example: 新型コロナウィルスに対する感染予防について + body: + type: string + description: お知らせ内容 + example: テキスト、テキスト、テキスト、テキスト、テキスト、テキスト… + nullable: true + imageUrl: + type: string + description: お知らせ画像URL + example: 'http://localhost/storage/notices/img1.png' + distributDate: + type: string + description: 配信日 + format: date + nullable: true + example: '2022-07-31' + createdUser: + type: integer + description: 登録ユーザ(作成者) + example: 1 + createdUserName: + type: string + description: 登録者氏名 + example: 管理太郎 + wpPostId: + type: string + description: WP記事ID(ホームページ連携時) + nullable: true + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: お知らせ更新 + operationId: put-api-notices-notice-id + description: '' + tags: + - Notice + - PH1.0 + security: + - ADMIN-APP: [] + requestBody: + $ref: '#/paths/~1api~1notices/post/requestBody' + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + delete: + summary: お知らせ削除 + operationId: put-api-notices-notice-id + description: '' + security: + - ADMIN-APP: [] + tags: + - Notice + - PH1.0 + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/owners: + get: + operationId: get-api-owners + summary: オーナー一覧 + description: '' + tags: + - Owner + - PH2.0 + security: + - ADMIN-APP: [] + parameters: + - schema: + type: string + in: query + name: keyword + description: キーワード(部分一致) + - schema: + type: integer + in: query + name: page + description: 表示ページ + - schema: + type: integer + in: query + name: limit + description: 表示件数 + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + dataCount: + type: integer + list: + type: array + items: + type: object + properties: + id: + type: integer + description: オーナーID + example: 1 + customerNumber: + type: string + description: 取引先番号("CO"+オーナーID5桁0埋め) + example: CO00001 + ownerName: + type: string + description: 取引先名 + example: イオンモール + contactName: + type: string + example: 中居太郎 + description: 担当者名 + nullable: true + phoneNumber: + type: string + example: 06-1111-1111 + description: 電話番号 + addrRegion: + type: string + example: 大阪 + description: 都道府県 + shopNum: + type: integer + example: 5 + description: 所有店舗数 + required: + - id + - customerNumber + - ownerName + - phoneNumber + - addrRegion + required: + - dataCount + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + post: + summary: オーナー登録 + operationId: post-api-owners + description: '' + tags: + - Owner + - PH2.0 + security: + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + ownerName: + type: string + minLength: 1 + maxLength: 30 + description: 取引先名 + example: イオンモール + contactName: + type: string + minLength: 0 + maxLength: 30 + description: 担当者名 + example: 中居太郎 + nullable: true + mailAddr: + type: string + maxLength: 255 + minLength: 1 + description: メールアドレス + example: nakai@eaon-maill.co.jp + phoneNumber: + type: string + minLength: 1 + maxLength: 15 + description: 電話番号 + example: 090-1234-5678 + postNumber: + type: integer + description: 郵便番号 + example: 1234567 + minimum: 1 + maximum: 9999999 + addrRegion: + type: string + description: 都道府県 + example: 大阪府 + minLength: 1 + maxLength: 5 + addr1: + type: string + description: 住所1 + example: 茨木市 + minLength: 1 + maxLength: 30 + addr2: + type: string + description: 住所2 + example: 松が本町8-30 + minLength: 0 + maxLength: 30 + nullable: true + closingDateCode: + type: integer + description: 締め日コード + example: 1 + paymentOptionCode: + type: integer + description: 支払方法コード + example: 1 + reportName: + type: string + description: 帳票宛先名 + minLength: 0 + maxLength: 60 + example: イオンモール\n田中 + nullable: true + honorific: + type: string + description: 帳票敬称 + minLength: 0 + maxLength: 5 + example: 様 + nullable: true + note: + type: string + description: 備考 + minLength: 0 + maxLength: 255 + example: オーナー備考 + nullable: true + transferAccountName: + type: string + description: 振込先口座名称(支払方法コードが「1(振込)」の場合は必須入力) + minLength: 0 + maxLength: 30 + example: EV運用口座 + nullable: true + transferAccountNumber: + type: string + description: 振込先口座番号(支払方法コードが「1(振込)」の場合は必須入力) + minLength: 0 + maxLength: 8 + example: '01234567' + nullable: true + transferAccountTypeName: + type: string + description: 振込先口座種類(支払方法コードが「1(振込)」の場合は必須入力) + maxLength: 10 + minLength: 0 + example: 当座 + nullable: true + transferBank: + type: string + description: 振込先口座銀行名(支払方法コードが「1(振込)」の場合は必須入力) + minLength: 0 + maxLength: 10 + example: りそな銀行 + nullable: true + transferBankBranch: + type: string + description: 振込先口座支店名(支払方法コードが「1(振込)」の場合は必須入力) + minLength: 0 + maxLength: 10 + example: 梅田支店 + nullable: true + required: + - ownerName + - mailAddr + - phoneNumber + - postNumber + - addrRegion + - addr1 + - closingDateCode + - paymentOptionCode + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/owners/{ownerId}': + parameters: + - schema: + type: integer + in: path + name: ownerId + description: オーナーID + required: true + get: + summary: オーナー詳細 + operationId: get-api-owners-owner-id + description: '' + tags: + - Owner + - PH2.0 + security: + - ADMIN-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + customerNumber: + type: string + description: 取引先番号("CO"+オーナーID5桁0埋め) + example: CO00001 + ownerName: + type: string + minLength: 1 + maxLength: 30 + description: 取引先名 + example: イオンモール + contactName: + type: string + description: 担当者名 + example: 中居太郎 + minLength: 0 + maxLength: 30 + nullable: true + mailAddr: + type: string + description: メールアドレス + example: nakai@eaon-maill.co.jp + minLength: 1 + defaultPassword: + type: string + description: 初期パスワード + example: e33I!1fHPTJbc@WJGEkm + minLength: 20 + maxLength: 20 + nullable: true + phoneNumber: + type: string + description: 電話番号 + example: 090-1234-5678 + minLength: 1 + maxLength: 15 + postNumber: + type: string + description: 郵便番号 + example: 〒111-1111 + minLength: 9 + maxLength: 9 + addrRegion: + type: string + description: 都道府県 + example: 大阪 + minLength: 1 + maxLength: 5 + addr1: + type: string + description: 住所1 + example: 茨木市 + minLength: 1 + maxLength: 30 + addr2: + type: string + description: 住所2 + example: 松が本町8-30 + minLength: 0 + maxLength: 30 + nullable: true + closingDateCode: + type: integer + description: 締め日コード + example: 1 + closingDateStr: + type: string + description: 締め日 + example: 月末 + minLength: 1 + maxLength: 30 + paymentOptionCode: + type: integer + description: 支払方法コード + example: 1 + paymentOptionStr: + type: string + description: 支払方法 + example: 振込 + minLength: 1 + maxLength: 30 + reportName: + type: string + description: 帳票宛先名 + example: イオンモール\n中居 太郎 + minLength: 0 + maxLength: 60 + nullable: true + honorific: + type: string + description: 帳票敬称 + example: 様 + minLength: 0 + maxLength: 5 + nullable: true + note: + type: string + description: 備考 + example: オーナー備考 + minLength: 0 + maxLength: 255 + nullable: true + transferAccountName: + type: string + description: 振込先口座名称(支払方法コードが「1(振込)」の場合は必須入力) + example: EV運用口座 + minLength: 0 + maxLength: 30 + nullable: true + transferAccountNumber: + type: string + description: 振込先口座番号(支払方法コードが「1(振込)」の場合は必須入力) + example: '12345678' + minLength: 0 + maxLength: 8 + nullable: true + transferAccountTypeName: + type: string + description: 振込先口座種類(支払方法コードが「1(振込)」の場合は必須入力) + example: 当座 + nullable: true + transferBank: + type: string + description: 振込先口座銀行名(支払方法コードが「1(振込)」の場合は必須入力) + example: りそな + minLength: 0 + maxLength: 10 + nullable: true + transferBankBranch: + type: string + description: 振込先口座支店名(支払方法コードが「1(振込)」の場合は必須入力) + example: 梅田支店 + minLength: 0 + maxLength: 10 + nullable: true + required: + - customerNumber + - ownerName + - mailAddr + - phoneNumber + - postNumber + - addrRegion + - addr1 + - closingDateCode + - closingDateStr + - paymentOptionCode + - paymentOptionStr + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: オーナー更新 + operationId: put-api-owners-owner-id + description: '' + tags: + - Owner + - PH2.0 + security: + - ADMIN-APP: [] + requestBody: + $ref: '#/paths/~1api~1owners/post/requestBody' + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + delete: + summary: オーナー削除 + operationId: put-api-owners-owner-id + description: '' + security: + - ADMIN-APP: [] + tags: + - Owner + - PH2.0 + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/owners/collation: + post: + summary: オーナー照合処理 + operationId: post-api-owners-collation + description: '' + tags: + - Owner + - PH2.0 + security: + - ADMIN-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + properties: + customerNumber: + type: integer + description: 取引先番号("CO"を除く数値の部分一致) + example: 11 + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + ownerId: + type: integer + description: オーナーID + reportName: + type: string + description: 帳票名 + example: イオンモール茨木\n中居太郎 + minLength: 1 + maxLength: 61 + honorific: + type: string + minLength: 0 + maxLength: 5 + description: 敬称 + example: 様 + nullable: true + postNumber: + type: string + description: 郵便番号 + minLength: 9 + maxLength: 9 + pattern: '^〒[0-9]{3}-[0-9]{4}$' + example: 〒111-1111 + addrRegion: + type: string + description: 都道府県 + example: 大阪府 + minLength: 1 + maxLength: 5 + addr1: + type: string + description: 住所1 + example: 茨木市 + minLength: 1 + maxLength: 30 + addr2: + type: string + description: 住所2 + example: 松ヶ本町8-30 + minLength: 0 + maxLength: 30 + nullable: true + paymentOptionCode: + type: integer + description: 支払方法コード + example: 1 + note: + type: string + example: オーナー備考 + description: 備考 + minLength: 0 + maxLength: 255 + nullable: true + ownerName: + type: string + example: イオンモール茨木 + minLength: 1 + maxLength: 30 + description: オーナー名 + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/owners/login: + post: + summary: オーナーアプリ-ログイン処理 + operationId: post-api-owners-login + description: '' + tags: + - OwnersAuth + - PH2.0 + requestBody: + description: '' + content: + application/json: + schema: + type: object + properties: + mailAddr: + type: string + maxLength: 255 + minLength: 1 + description: メールアドレス + format: email + password: + type: string + minLength: 8 + maxLength: 20 + description: パスワード + pattern: '^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!#@\-\+\$\&])([a-zA-Z0-9!#@\-\+\$\&]*)$' + required: + - mailAddr + - password + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + ownerId: + type: integer + description: オーナーID + example: 1 + ownerName: + type: string + description: オーナー名 + example: イオン茨木店 + userId: + type: integer + description: アプリユーザID + example: 担当○○ + userRole: + type: integer + description: アプリ権限 + example: 1 + required: + - ownerId + - ownerName + - userId + - userRole + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/owners/logout: + post: + summary: オーナーアプリ-ログアウト処理 + operationId: post-api-owners-logout + description: '' + tags: + - OwnersAuth + - PH2.0 + security: + - OWNER-APP: [] + responses: + '200': + description: OK + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/owners/{ownerId}/usage-situation': + parameters: + - schema: + type: integer + in: path + name: ownerId + description: オーナーID + required: true + get: + summary: 利用状況一覧取得 + operationId: get-api-owners-owner-id-usage-situation + description: '' + tags: + - Owner + - PH2.0 + security: + - OWNER-APP: [] + parameters: + - schema: + type: string + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]$' + example: '2023-01-01 10:00' + in: query + name: searchFromAt + description: 期間指定_開始日時 + - schema: + type: string + example: '2023-01-31 23:59' + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]$' + in: query + name: searchToAt + description: 期間指定_終了日時 + - schema: + type: integer + in: query + name: searchShopId + description: 店舗指定 + - schema: + type: string + in: query + name: searchConnectorName + description: 検索コネクタ名(充電場所) + - schema: + type: string + in: query + name: searchMemberName + description: 検索会員氏名 + - schema: + type: integer + in: query + name: page + description: 表示ページ + - schema: + type: integer + in: query + name: limit + description: 表示件数 + - schema: + type: string + in: query + name: orderBy + description: '並替順[{"connectorName":"False"}]' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + dataCount: + type: integer + minimum: 0 + example: 1 + list: + type: array + items: + type: object + properties: + shopName: + type: string + description: 店舗名 + example: イオンモール茨木 + connectorName: + type: string + description: 充電場所 + example: 東15番 + status: + type: integer + description: 'ステータス(0:依頼中 1:待機中 2:充電中 3:依頼取消 4:完了)' + example: 4 + chargerTypeName: + type: string + description: 充電タイプ名 + example: 普通 + chargeOutput: + type: number + description: 出力 + nullable: true + example: 3.5 + chargeTime: + type: integer + description: 充電時間(分) + nullable: true + example: 45 + chargePrice: + type: integer + description: 料金 + nullable: true + example: 158 + startAt: + type: string + description: 開始時間 + nullable: true + example: '2023-05-06 12:15:25' + endAt: + type: string + description: 終了時間 + example: '2023-05-06 57:11:10' + nullable: true + memberName: + type: string + description: 会員名 + example: 充電太郎 + required: + - shopName + - connectorName + - status + - chargerTypeName + - memberName + required: + - dataCount + examples: + Example: + value: + dataCount: 1 + list: + - shopName: ○○モール1号店 + connectorName: 東駐車場2番 + status: 1 + chargerTypeName: 普通 + memberName: メンバー1 + - shopName: ○○モール1号店 + connectorName: 東駐車場2番 + status: 2 + chargerTypeName: 急速 + chargeOutput: 30.5 + chargeTime: 100 + chargePrice: 2450 + startAt: '2023-01-20 12:00:00' + endAt: '2023-01-20 13:40:00' + memberName: string + - shopName: ○○モール1号店 + connectorName: 東駐車場3番 + status: 4 + chargerTypeName: 急速 + chargeOutput: 16.25 + chargeTime: 110 + chargePrice: 2100 + startAt: '2023-01-20 12:10:00' + endAt: '2023-01-20 13:40:00' + memberName: string + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/owners/{ownerId}/shops': + parameters: + - schema: + type: integer + name: ownerId + in: path + required: true + description: オーナーID(ログイン時に保持) + get: + operationId: get-api-owners-owner-id-shops + summary: オーナー店舗一覧 + description: '' + tags: + - OwnersShop + - PH2.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + dataCount: + type: integer + example: 1 + list: + type: array + items: + type: object + properties: + id: + type: integer + description: 店舗ID + example: 1 + shopName: + type: string + description: 店舗名 + example: イオンモール茨木店 + postNumber: + type: string + description: 郵便番号 + example: 〒567-0033 + addrRegion: + type: string + description: 都道府県 + example: 大阪府 + addr1: + type: string + description: 住所1 + example: 茨木市松本町8-30 + addr2: + type: string + description: 住所2 + example: null + nullable: true + phoneNumber: + type: string + description: 電話番号 + example: 090-1234-5678 + faxNumber: + type: string + description: FAX番号 + example: 090-1234-5678 + chargerCount: + type: integer + description: チャージャ台数 + example: 10 + required: + - id + - shopName + - postNumber + - addrRegion + - addr1 + - phoneNumber + - faxNumber + - chargerCount + required: + - dataCount + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/owners/{ownerId}/shops/{shopId}': + parameters: + - schema: + type: integer + name: ownerId + in: path + required: true + description: オーナーID(ログイン時に保持) + - schema: + type: integer + in: path + name: shopId + required: true + description: オーナー店舗ID + get: + summary: オーナー店舗詳細 + operationId: get-api-owners-owner-id-shops-shop-id + description: '' + tags: + - OwnersShop + - PH1.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + shopName: + type: string + description: 店舗名 + example: イオンモール茨城 + postNumber: + type: string + description: 郵便番号 + example: 〒567-0033 + addrRegion: + type: string + description: 都道府県 + example: 大阪府 + addr1: + type: string + description: 住所1 + example: 茨木市松本町1-10 + addr2: + type: string + description: 住所2 + example: null + nullable: true + phoneNumber: + type: string + description: 電話番号 + example: 090-1234-5678 + minLength: 1 + maxLength: 15 + faxNumber: + type: string + description: FAX番号 + example: 090-1234-5678 + minLength: 0 + maxLength: 15 + nullable: true + shopInfo: + type: string + description: 店舗情報 + example: 店舗情報 + minLength: 0 + maxLength: 255 + nullable: true + imageDetail: + type: string + description: 画像説明 + example: 画像説明 + maxLength: 255 + nullable: true + shopImages: + type: array + description: 店舗画像(配列) + items: + type: string + example: 'http://localhost/storage/shops/img1.png' + isWorkWeekSun: + type: boolean + description: 営業_日_稼働フラグ + example: true + default: false + weekSunStartTime: + type: string + description: 営業_日_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekSunCloseTime: + type: string + description: 営業_日_終了時間 + example: '18:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekMon: + type: boolean + description: 営業_月_稼働フラグ + example: true + default: false + weekMonStartTime: + type: string + description: 営業_月_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekMonCloseTime: + type: string + description: 営業_月_終了時間 + example: '18:10:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekTue: + type: boolean + description: 営業_火_稼働フラグ + example: true + default: false + weekTueStartTime: + type: string + description: 営業_火_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekTueCloseTime: + type: string + description: 営業_火_終了時間 + example: '18:20:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekWed: + type: boolean + description: 営業_水_稼働フラグ + example: true + default: false + weekWedStartTime: + type: string + description: 営業_水_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekWedCloseTime: + type: string + description: 営業_水_終了時間 + example: '18:30:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekThu: + type: boolean + description: 営業_木_稼働フラグ + example: true + default: false + weekThuStartTime: + type: string + description: 営業_木_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekThuCloseTime: + type: string + description: 営業_木_終了時間 + example: '18:40:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekFri: + type: boolean + description: 営業_金_稼働フラグ + example: true + default: false + weekFriStartTime: + type: string + description: 営業_金_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekFriCloseTime: + type: string + description: 営業_金_終了時間 + example: '18:50:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekSat: + type: boolean + description: 営業_土_稼働フラグ + example: true + default: false + weekSatStartTime: + type: string + description: 営業_土_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekSatCloseTime: + type: string + description: 営業_土_終了時間 + example: '19:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkHoliday: + type: boolean + description: 営業_祝日_稼働フラグ + example: true + default: false + holidayStartTime: + type: string + description: 営業_祝日_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + holidayCloseTime: + type: string + description: 営業_祝日_終了時間 + example: '19:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + salesCommission: + type: integer + example: 10 + description: 販売手数料 + maintenanceAmount: + type: integer + example: 3000 + description: 保守代 + isNighttimePrice: + type: boolean + default: false + example: true + description: 深夜時間帯有無 + nighttimeFromTime: + type: string + example: '23:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + description: 深夜時間開始 + nullable: true + nighttimeToTime: + type: string + example: '07:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + description: 深夜時間終了 + nullable: true + nighttimeSalesCommission: + type: integer + example: 5 + description: 深夜販売手数料 + nullable: true + required: + - shopName + - postNumber + - addrRegion + - addr1 + - phoneNumber + - isWorkWeekSun + - isWorkWeekMon + - isWorkWeekTue + - isWorkWeekWed + - isWorkWeekThu + - isWorkWeekFri + - isWorkWeekSat + - isWorkHoliday + - salesCommission + - maintenanceAmount + - isNighttimePrice + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: オーナー店舗更新 + operationId: put-api-owners-owner-id-shops-shop-id + description: | + * 複数画像のアップロード機能(PH3.0) + tags: + - OwnersShop + - PH1.0 + - PH3.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + shopName: + type: string + description: 店舗名 + example: イオンモール茨城 + minLength: 0 + maxLength: 20 + postNumber: + type: integer + description: 郵便番号 + example: 1234567 + addrRegion: + type: string + description: 都道府県 + example: 大阪府 + minLength: 1 + maxLength: 5 + addr1: + type: string + description: 住所1 + example: 茨木市 + addr2: + type: string + description: 住所2 + example: 松が本町8-30 + nullable: true + phoneNumber: + type: string + description: 電話番号 + example: 090-1234-5678 + minLength: 1 + maxLength: 15 + pattern: '^(([0-9]{2,4}-[0-9]{2,4}-[0-9]{3,4})|([0-9]{8,11}))$' + faxNumber: + type: string + description: FAX番号 + example: 090-1234-5678 + minLength: 0 + maxLength: 15 + pattern: '^(([0-9]{2,4}-[0-9]{2,4}-[0-9]{3,4})|([0-9]{8,11}))$' + nullable: true + shopInfo: + type: string + description: 店舗情報 + example: 店舗情報 + minLength: 0 + maxLength: 255 + nullable: true + imageDetail: + type: string + description: 画像説明 + example: 画像説明 + minLength: 0 + maxLength: 255 + nullable: true + lateUnitPrice: + type: integer + example: 10 + description: 遅延単価 + minimum: 0 + maximum: 999 + nullable: true + shopImageUrl: + type: string + description: 店舗画像 + example: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYII=' + nullable: true + isWorkWeekSun: + type: boolean + description: 営業_日_稼働フラグ + example: true + nullable: true + weekSunStartTime: + type: string + description: 営業_日_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekSunCloseTime: + type: string + description: 営業_日_終了時間 + example: '18:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekMon: + type: boolean + description: 営業_月_稼働フラグ + example: true + nullable: true + weekMonStartTime: + type: string + description: 営業_月_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekMonCloseTime: + type: string + description: 営業_月_終了時間 + example: '18:10:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekTue: + type: boolean + description: 営業_火_稼働フラグ + example: true + nullable: true + weekTueStartTime: + type: string + description: 営業_火_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekTueCloseTime: + type: string + description: 営業_火_終了時間 + example: '18:20:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekWed: + type: boolean + description: 営業_水_稼働フラグ + example: true + nullable: true + weekWedStartTime: + type: string + description: 営業_水_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekWedCloseTime: + type: string + description: 営業_水_終了時間 + example: '18:30:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekThu: + type: boolean + description: 営業_木_稼働フラグ + example: true + nullable: true + weekThuStartTime: + type: string + description: 営業_木_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekThuCloseTime: + type: string + description: 営業_木_終了時間 + example: '18:40:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekFri: + type: boolean + description: 営業_金_稼働フラグ + example: true + nullable: true + weekFriStartTime: + type: string + description: 営業_金_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekFriCloseTime: + type: string + description: 営業_金_終了時間 + example: '18:50:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkWeekSat: + type: boolean + description: 営業_土_稼働フラグ + example: true + nullable: true + weekSatStartTime: + type: string + description: 営業_土_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + weekSatCloseTime: + type: string + description: 営業_土_終了時間 + example: '19:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + isWorkHoliday: + type: boolean + description: 営業_祝日_稼働フラグ + example: true + nullable: true + holidayStartTime: + type: string + description: 営業_祝日_開始時間 + example: '09:00:00' + pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + nullable: true + holidayCloseTime: + type: string + description: 営業_祝日_終了時間 + example: '19:00:00' + nullable: true + required: + - shopName + - postNumber + - addrRegion + - addr1 + - phoneNumber + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/owners/{ownerId}/chargers': + parameters: + - schema: + type: integer + name: ownerId + in: path + required: true + description: オーナーID(ログイン時に保持) + get: + operationId: get-api-owners-owner-id-chargers + summary: オーナーチャージャ一覧 + description: '' + tags: + - OwnersCharger + - PH2.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + parameters: + - schema: + type: integer + in: query + name: searchShopId + description: 店舗指定 + - schema: + type: string + in: query + name: keyword + description: 'キーワード(チャージャ名、備考、グループ名:部分一致)' + - schema: + type: integer + in: query + name: page + description: 表示ページ + - schema: + type: integer + in: query + name: limit + description: 表示件数 + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + dataCount: + type: integer + example: 1 + list: + type: array + items: + type: object + properties: + id: + type: integer + description: チャージャID + example: 12 + isEnable: + type: boolean + description: 有効フラグ + example: true + shopId: + type: integer + description: 店舗ID + example: 4 + shopName: + type: string + description: 店舗名 + example: イオンモール茨城店 + chargerName: + type: string + description: チャージャ名 + example: 北側1番 + note: + type: string + description: 備考 + example: 北側第一駐車場 + nullable: true + groupId: + type: integer + description: グループID + example: 1 + nullable: true + groupName: + type: string + description: グループ名 + example: 北側共用駐車場 + nullable: true + workStartDate: + type: string + description: 稼働開始日 + example: '2023-01-01' + format: date + required: + - id + - isEnable + - shopId + - shopName + - chargerName + - workStartDate + required: + - dataCount + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/owners/{ownerId}/chargers/{chargerId}': + parameters: + - schema: + type: integer + name: ownerId + in: path + required: true + description: オーナーID(ログイン時に保持) + - schema: + type: integer + in: path + name: chargerId + required: true + description: オーナーチャージャID + get: + summary: オーナーチャージャ詳細 + operationId: get-api-owners-owner-id-chargers-charger-id + description: '' + tags: + - OwnersCharger + - PH2.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + isEnable: + type: boolean + description: 有効ステータス + example: true + shopName: + type: string + description: 店舗名 + example: イオンモール茨木店 + chargerName: + type: string + description: チャージャ名 + example: 東1番口 + qrBarcodeUrl: + type: string + format: uri + description: 'QR読み込みURL(ダイナミックリンク:pgno=6)' + example: 'https://cleanenergylabo.page.link/?link=https%3A%2F%2Fcleanenergylabo.jp%3Fpgno%3D5%26token%3Daaaaaaaaaaaaa&ibi=jp.cleanenergy-labo.app&ifl=https://cleanenergylabo.jp/app/privacy&isi=xxxxx&apn=jp.cleanenergylabo.app' + note: + type: string + description: 備考 + example: 北側第一駐車場 + nullable: true + groupName: + type: string + description: グループ名 + example: A + nullable: true + workStartDate: + type: string + description: 稼働開始日 + example: '2023-01-01' + nullable: true + required: + - isEnable + - shopName + - chargerName + - qrBarcodeUrl + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: オーナーチャージャ更新 + operationId: put-api-owners-owner-id-chargers-charger-id + description: '' + tags: + - OwnersCharger + - PH2.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + isEnable: + type: boolean + description: 有効ステータス + example: false + note: + type: string + description: 備考 + example: 北側第一駐車場 + minLength: 0 + maxLength: 50 + nullable: true + required: + - isEnable + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/owners/{ownerId}/chargers/groups': + parameters: + - schema: + type: integer + name: ownerId + in: path + required: true + description: オーナーID(ログイン時に保持) + get: + operationId: get-api-owners-owner-id-chargers-groups + summary: オーナーチャージャグループ一覧 + description: '' + tags: + - OwnersChargersGroup + - PH2.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + parameters: + - schema: + type: integer + in: query + name: searchShopId + description: 検索店舗ID + - schema: + type: string + in: query + name: keyword + description: 'キーワード(チャージャグループ名、店舗:部分一致)' + - schema: + type: integer + in: query + name: page + description: 表示ページ + - schema: + type: integer + in: query + name: limit + description: 表示件数 + - schema: + type: string + in: query + name: orderBy + description: '並替順[{"connectorName":"False"}]' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + dataCount: + type: integer + example: 1 + list: + description: チャージャグループ一覧 + type: array + items: + type: object + properties: + id: + type: integer + description: グループID + example: 1 + shopName: + type: string + description: 店舗名 + example: イオンモール茨木 + name: + type: string + description: グループ名 + example: 東口駐車場 + chargerNum: + type: integer + description: 台数 + example: 5 + operationType: + type: integer + description: '運用タイプ(0:オープンド 1:リミテッド 2:来客)' + example: 1 + nullable: true + sharedFlg: + type: boolean + description: 共用フラグ + example: false + unitPrice: + type: integer + description: 販売単価(6kW/10分) + example: 35 + nullable: true + nighttimeUnitPrice: + type: integer + description: 深夜販売単価(6kW/10分) + example: 25 + nullable: true + enableChargeHours: + type: integer + description: 最大充電可能時間 + example: 3 + nullable: true + useChargerNum: + type: integer + description: 使用台数 + example: 3 + nullable: true + userNum: + type: integer + example: 3 + description: 利用人数 + nullable: true + demandType: + type: integer + example: 1 + description: 'デマンドタイプ(0:スタンドアロン 1:ラウンドシフト 2:イーブンシェア)' + required: + - shopName + - name + - chargerNum + required: + - dataCount + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/owners/{ownerId}/chargers/groups/{groupId}': + parameters: + - schema: + type: integer + name: ownerId + in: path + required: true + description: オーナーID(ログイン時に保持) + - schema: + type: integer + in: path + name: groupId + required: true + description: グループID + get: + summary: オーナーチャージャ詳細 + operationId: get-api-owners-owner-id-chargers-groups-group-id + description: '' + tags: + - OwnersChargersGroup + - PH2.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + shopId: + type: integer + description: 店舗ID + example: 1 + shopName: + type: string + description: 店舗名 + example: イオンモール茨城 + name: + type: string + description: グループ名 + example: Aグループ + chargerInfo: + type: array + description: チャージャ情報 + items: + type: object + nullable: true + properties: + chargerName: + type: string + example: 1番、2番 + operationType: + type: integer + description: 運用タイプ + example: 1 + nullable: true + sharedFlg: + type: boolean + description: 共用フラグ + example: false + unitPrice: + type: number + description: 販売単価 + example: 50 + nullable: true + nighttimeUnitPrice: + type: number + description: 深夜販売単価 + example: 25 + nullable: true + enableChargeHours: + type: integer + description: 最大充電可能時間 + example: 3 + nullable: true + isRestart: + type: boolean + default: false + description: リスタート機能 + demandType: + type: integer + example: 1 + description: デマンドタイプ + required: + - shopId + - shopName + - name + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: オーナーチャージャ更新 + operationId: put-api-owners-owner-id-chargers-groups-group-id + description: '' + tags: + - OwnersChargersGroup + - PH2.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + name: + type: string + description: グループ名 + minLength: 1 + maxLength: 20 + example: 西口駐車場 + enableChargeHours: + type: integer + example: 4 + description: 最大充電可能時間 + minimum: 0 + maximum: 99 + nullable: true + unitPrice: + type: integer + description: 販売単価 + example: 50 + minimum: 0 + maximum: 999 + nighttimeUnitPrice: + type: integer + description: 深夜販売単価 + example: 25 + minimum: 0 + maximum: 999 + nullable: true + isRestart: + type: boolean + default: false + description: リスタート機能 + required: + - name + - unitPrice + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/owners/{ownerId}/use-members': + parameters: + - schema: + type: integer + name: ownerId + in: path + required: true + description: オーナーID(ログイン時に保持) + get: + operationId: get-api-owners-owner-id-use-members + summary: 利用メンバ一覧 + description: OW.07.画面設計_利用メンバ一覧 + tags: + - OwnersUseMember + - PH2.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + parameters: + - schema: + type: integer + in: query + name: searchStatus + description: 検索ステータス + - schema: + type: string + in: query + name: keyword + description: 'キーワード(メールアドレス、会員名、店舗、チャージャ/チャージャグループ:部分一致)' + - schema: + type: integer + in: query + name: page + description: 表示ページ + - schema: + type: integer + in: query + name: limit + description: 表示件数 + - schema: + type: string + in: query + name: orderBy + description: '並替順[{"mailAddr":true}]' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + dataCount: + type: integer + example: 1 + list: + description: 利用メンバ一覧 + type: array + items: + type: object + properties: + id: + type: integer + description: 利用メンバID + example: 1 + status: + type: integer + description: ステータス + example: 0 + mailAddr: + type: string + description: メールアドレス + example: matsumoto@arashi.com + minLength: 1 + maxLength: 255 + memberName: + type: string + description: 会員名 + example: 大野智 + minLength: 0 + maxLength: 30 + nullable: true + chargerName: + type: string + description: チャージャ/チャージャグループ + example: 北側駐車場 + minLength: 0 + maxLength: 30 + nullable: true + shopName: + type: string + description: 店舗名 + example: ハイツ公園前 + minLength: 0 + maxLength: 20 + nullable: true + stopDate: + type: string + format: date + description: 停止日 + example: '2023-03-15' + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + nullable: true + required: + - id + - status + - mailAddr + required: + - dataCount + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + post: + summary: 利用メンバ登録 + operationId: post-api-owners-owner-id-use-members + description: '' + tags: + - OwnersUseMember + - PH1.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + mailAddr: + type: string + maxLength: 255 + minLength: 1 + format: email + description: メールアドレス + pattern: '^[a-zA-Z0-9.!#$%&''*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$' + example: nakai@eaon-maill.co.jp + stopDate: + type: string + example: '2023-03-15' + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + description: 停止日 + nullable: true + chargerList: + type: array + description: チャージャリスト + items: + type: object + properties: + chargerId: + type: integer + description: チャージャID + example: 1 + nullable: true + groupId: + type: integer + example: 1 + description: チャージャグループID + nullable: true + shopId: + type: integer + description: 店舗ID + example: 1 + nullable: true + required: + - mailAddr + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/owners/{ownerId}/use-members/{use-memberId}': + parameters: + - schema: + type: integer + name: ownerId + in: path + required: true + description: オーナーID(ログイン時に保持) + - schema: + type: integer + in: path + name: use-memberId + required: true + description: 利用メンバID + get: + summary: 利用メンバ詳細 + operationId: get-api-owners-owner-id-use-members-use-member-id + description: '' + tags: + - OwnersUseMember + - PH2.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + status: + type: integer + description: 'ステータス(0:入居者登録待ち 1:未認証 2:認証済 3:使用不可)' + example: 2 + mailAddr: + type: string + description: メールアドレス + example: matsumoto@arashi.com + maxLength: 255 + memberName: + type: string + description: 会員名 + example: 大野智 + maxLength: 30 + nullable: true + stopDate: + type: string + format: date + description: 停止日 + example: '2023-03-15' + nullable: true + chargerList: + type: array + description: チャージャリスト + items: + type: object + properties: + sharedFlg: + type: boolean + description: 種別(共有フラグ) + nullable: false + chargerName: + type: string + description: チャージャ/チャージャグループ + example: 北側駐車場1番 + maxLength: 30 + nullable: true + chargerId: + type: integer + example: 15 + description: チャージャID + nullable: true + groupId: + type: integer + example: 2 + description: チャージャグループID + nullable: true + shopId: + type: integer + description: 店舗ID + example: 3 + nullable: true + shopName: + type: string + description: 店舗名 + example: ハイツ公園前ビル + minLength: 1 + maxLength: 20 + nullable: true + required: + - status + - mailAddr + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: 利用メンバ更新 + operationId: put-api-owners-owner-id-use-members-use-member-id + description: '' + tags: + - OwnersUseMember + - PH2.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + requestBody: + $ref: '#/paths/~1api~1owners~1%7BownerId%7D~1use-members/post/requestBody' + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + delete: + summary: 利用メンバ削除 + operationId: put-api-owners-owner-id-use-members-use-member-id + description: '' + security: + - ADMIN-APP: [] + - OWNER-APP: [] + tags: + - OwnersUseMember + - PH2.0 + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/owners/{ownerId}/use-members/{use-memberId}/certification': + parameters: + - schema: + type: integer + name: ownerId + in: path + required: true + description: オーナーID(ログイン時に保持) + - schema: + type: integer + in: path + name: use-memberId + required: true + description: 利用メンバID + post: + summary: 利用メンバ認証処理 + operationId: post-api-owners-owner-id-use-members-use-member-id-certification + description: OW.07.画面設計_利用メンバ一覧 + tags: + - OwnersUseMember + - PH2.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/owners/{ownerId}/use-members/select-chargers': + parameters: + - schema: + type: integer + name: ownerId + in: path + required: true + description: オーナーID(ログイン時に保持) + get: + operationId: get-api-owners-owner-id-use-members-select-chargers + summary: 利用メンバ選択チャージャ取得(モーダル表示用) + description: OW.07.画面設計_利用メンバ一覧 + tags: + - OwnersUseMember + - PH2.0 + security: + - ADMIN-APP: [] + - OWNER-APP: [] + parameters: + - schema: + type: integer + in: query + name: searchSharedFlg + description: 検索共用フラグ + required: true + - schema: + type: integer + in: query + name: searchShopId + description: 検索店舗ID + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + dataCount: + type: integer + example: 1 + list: + type: array + items: + type: object + properties: + chargerName: + type: string + example: 北側駐車場1番 + description: チャージャ/チャージャグループ + groupId: + type: integer + example: 3 + description: チャージャグループID + nullable: true + chargerId: + type: integer + example: 2 + description: チャージャID + nullable: true + shopId: + type: integer + example: 3 + description: 店舗ID + shopName: + type: string + maxLength: 20 + example: ハイツ公園前ビル + description: 店舗 + userNum: + type: integer + example: 3 + description: 利用人数 + nullable: true + required: + - chargerName + - shopId + - shopName + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/owners/{ownerId}/app-users': + parameters: + - schema: + type: integer + name: ownerId + in: path + required: true + description: オーナーID(ログイン時に保持) + get: + operationId: get-api-owners-owner-id-app-users + summary: オーナ用アプリユーザ一覧 + description: OW.09.画面設計_アプリユーザ一覧 + tags: + - OwnersAppUser + - PH4.0 + security: + - OWNER-APP: [] + parameters: + - schema: + type: string + in: query + name: keyword + description: 'キーワード(メールアドレス、ユーザー名:部分一致)' + - schema: + type: integer + in: query + name: page + description: 表示ページ + - schema: + type: integer + in: query + name: limit + description: 表示件数 + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + dataCount: + type: integer + example: 1 + list: + description: アプリユーザ一覧 + type: array + items: + type: object + properties: + id: + type: integer + description: オーナーアプリユーザID + example: 1 + mailAddr: + type: string + description: メールアドレス + example: matsumoto@arashi.com + userName: + type: string + description: ユーザ名 + example: 大野智 + authority: + type: integer + description: '権限(0:管理者、1:閲覧、2:編集)' + example: 0 + shopId: + type: integer + description: '店舗ID(0:全店舗、その他の場合は店舗指定)' + example: 0 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + post: + summary: オーナ用アプリユーザ登録 + operationId: post-api-owners-owner-id-app-users + description: OW.09.画面設計_アプリユーザ一覧 + tags: + - OwnersAppUser + - PH4.0 + security: + - OWNER-APP: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + mailAddr: + type: string + maxLength: 255 + pattern: '^[a-zA-Z0-9.!#$%&''*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$' + description: メールアドレス + example: nakai@eaon-maill.co.jp + password: + type: string + minLength: 8 + maxLength: 20 + description: パスワード + pattern: '^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!#@\-\+\$\&])(?=.[a-zA-Z0-9!#@\-\+\$\&]*)$' + userName: + type: string + description: ユーザ名 + example: 大野智 + minLength: 0 + maxLength: 10 + authority: + type: integer + description: '権限(0:管理者、1:閲覧、2:編集)' + example: 0 + shopId: + type: integer + description: '店舗ID(0:全店舗、その他の場合は店舗指定)' + example: 0 + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/owners/{ownerId}/app-users/{app-userId}': + parameters: + - schema: + type: integer + name: ownerId + in: path + required: true + description: オーナーID(ログイン時に保持) + - schema: + type: integer + in: path + name: app-userId + required: true + description: オーナ用アプリユーザID + get: + summary: オーナ用アプリユーザ詳細 + operationId: get-api-owners-owner-id-app-users-app-user-id + description: '' + tags: + - OwnersAppUser + - PH4.0 + security: + - OWNER-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + mailAddr: + type: string + description: メールアドレス + example: matsumoto@arashi.com + userName: + type: string + description: ユーザ名 + example: 大野智 + authority: + type: integer + description: '権限(0:管理者、1:閲覧、2:編集)' + example: 0 + shopId: + type: integer + description: '店舗ID(0:全店舗、その他の場合は店舗指定)' + example: 0 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: オーナ用アプリユーザ更新 + operationId: put-api-owners-owner-id-app-users-app-user-id + description: '' + tags: + - OwnersAppUser + - PH4.0 + security: + - OWNER-APP: [] + requestBody: + $ref: '#/paths/~1api~1owners~1%7BownerId%7D~1app-users/post/requestBody' + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + delete: + summary: オーナ用アプリユーザ削除 + operationId: put-api-owners-owner-id-app-users-app-user-id + description: '' + security: + - OWNER-APP: [] + tags: + - OwnersAppUser + - PH4.0 + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/logs/charge-orders: + get: + operationId: get-api-logs-charge-orders + summary: 充電注文ログ一覧 + description: '' + tags: + - LogsChargeOrder + - PH2.0 + security: + - ADMIN-APP: [] + parameters: + - schema: + type: string + in: query + name: searchMemberName + description: 検索会員氏名 + - schema: + type: string + in: query + name: keyword + description: 'キーワード(店舗、ユーザー:部分一致)' + - schema: + type: string + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]$' + example: '2023-05-25 00:00' + in: query + name: searchFromAt + description: 期間指定_開始 + - schema: + type: string + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]$' + example: '2023-05-29 23:59' + in: query + name: searchToAt + description: 期間指定_終了 + - schema: + type: integer + in: query + name: limit + description: 表示件数 + - schema: + type: integer + in: query + name: page + description: 表示ページ + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + dataCount: + type: integer + example: 1 + list: + type: array + items: + type: object + properties: + 'orderId ': + type: integer + example: 135 + description: 注文ID + ocppChargeStartAt: + type: string + example: '2023-05-29 13:00' + description: 充電開始日時 + memberName: + type: string + minLength: 1 + description: 会員氏名 + example: 充電太郎 + maxLength: 30 + shopName: + type: string + example: 店舗名 + maxLength: 20 + description: 茨木支店 + connectorName: + type: string + example: コネクタ名(充電場所) + maxLength: 10 + description: 2-1番 + chargingMeterValue: + type: number + example: 2465 + description: 充電メータ量(Wh) + minimum: 0 + chargingPrice: + type: integer + minimum: 0 + description: 料金 + example: 3468 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/logs/charge-orders/{charge-orderId}/transactions': + parameters: + - schema: + type: integer + in: path + name: orderId + description: 充電注文ID + required: true + get: + summary: 充電注文ログトランザクション一覧 + operationId: get-api-logs-charge-orders-order-id-transactions + description: '' + tags: + - LogsChargeOrder + - PH2.0 + security: + - ADMIN-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + memberName: + type: string + minLength: 1 + description: 会員氏名 + example: 充電太郎 + shopName: + type: string + minLength: 1 + maxLength: 20 + description: 茨木支店 + connectorName: + type: string + example: コネクタ名(充電場所) + maxLength: 10 + description: 2-1番 + ocppChargeStartAt: + type: string + example: '2023-05-29 13:00:00' + description: 充電開始日時 + chargingMeterValue: + type: number + example: 2465 + description: 充電メータ量(Wh) + minimum: 0 + ocppConnectAt: + type: string + description: 最終接続日時 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + example: '2023-05-29 13:20:29' + chargingPrice: + type: integer + description: 料金 + minimum: 0 + example: 3465 + breakdownPrice: + type: integer + description: 料金内訳 + example: 500 + minimum: 0 + nullable: true + chargingTime: + type: integer + description: 充電時間 + example: 20 + breakdownTime: + type: integer + description: 充電時間内訳 + example: 5 + minimum: 0 + nullable: true + breakdownFlg: + type: integer + description: 内訳フラグ + example: 0 + minimum: 0 + ocppCpId: + type: string + example: CPS001 + description: OCPPチャージポイントID + minLength: 1 + maxLength: 30 + ocppConnectorId: + type: integer + example: 1 + minimum: 1 + description: OCPPコネクタ認識ID + ocppIdtoken: + type: string + example: AAABB + minLength: 1 + maxLength: 255 + description: OCPPIDトークン + transactionList: + type: array + description: トランザクション + items: + type: object + properties: + id: + type: integer + description: 充電TX_ID + example: 1 + minimum: 1 + transactionId: + type: integer + minimum: 1 + description: OCPPトランザクションID + example: 1 + startAt: + type: string + description: 開始日時 + example: '2023-05-29 13:00:00' + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + endAt: + type: string + description: 終了日時 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + example: '2023-05-29 13:20:00' + nullable: true + totalChargeTime: + type: integer + description: 充電時間 + example: 20 + nullable: true + totalChargeValue: + type: number + example: 300 + description: 充電量 + nullable: true + stopReason: + type: string + example: EmergencyStop + minLength: 0 + maxLength: 20 + description: 終了理由 + nullable: true + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/logs/charge-orders/{charge-orderId}/transactions/details': + parameters: + - schema: + type: integer + in: path + name: charge-orderId + description: 充電注文ログID + required: true + get: + summary: 充電注文ログトランザクション詳細一覧 + operationId: get-api-logs-charge-orders-order-id-transactions-details + description: '' + tags: + - LogsChargeOrder + - PH2.0 + security: + - ADMIN-APP: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + list: + type: array + items: + type: object + properties: + transactionId: + type: integer + minimum: 1 + description: OCPPトランザクションID + example: 1 + detailList: + type: array + description: トランザクション詳細リスト + items: + type: object + properties: + id: + type: integer + example: 1 + minimum: 1 + description: 充電TX詳細_ID + valueAt: + type: string + description: 値日時 + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$' + example: '2023-05-29 13:00:00' + power: + type: integer + description: 電力 + example: 200 + nullable: true + soc: + type: integer + example: 85 + description: 充電状態 + nullable: true + meterValue: + type: integer + example: 465 + description: メータ値 + nullable: true + chargingPrice: + type: integer + example: 35 + description: 経過料金 + nullable: true + current: + type: number + example: 28.9 + description: 電流 + nullable: true + voltage: + type: number + example: 198.5 + description: 電圧 + nullable: true + readingContext: + type: string + description: 測定種別 + minLength: 0 + maxLength: 50 + example: Sample.Periodic + nullable: true + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/pl-statements/items: + get: + operationId: get-api-pl-statements-items + summary: 明細項目マスタ一覧 + description: '' + tags: + - PlStatementsItem + - PH4.0 + security: [] + parameters: + - schema: + type: integer + in: query + name: searchGroup + description: 検索カテゴリ + - schema: + type: string + in: query + name: keyword + description: キーワード(部分一致) + - schema: + type: integer + in: query + name: page + description: 表示ページ + - schema: + type: integer + in: query + name: limit + description: 表示件数 + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + dataCount: + type: integer + example: 1 + list: + description: 費用項目一覧 + type: array + items: + type: object + properties: + id: + type: integer + description: 収益項目マスタID + example: 1 + type: + type: integer + description: 収支区分 + example: 8 + groupName: + type: string + description: カテゴリ名 + example: 充電収益 + itemName: + type: string + description: 項目名 + example: EVチャージャ-充電代 + unitPrice: + type: number + description: 単価 + example: 40 + nullable: true + unit: + type: string + description: 単位 + example: 分 + nullable: true + taxType: + type: integer + description: '税区分(0:課税 1:非課税 2:軽減税率)' + example: 0 + note: + type: string + example: 備考 + description: 備考 + nullable: true + required: + - id + - type + - groupName + - itemName + - taxType + required: + - dataCount + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + post: + summary: 明細項目マスタ登録 + operationId: post-api-pl-statements-items + description: '' + tags: + - PlStatementsItem + - PH4.0 + security: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + groupCode: + type: integer + description: カテゴリ + example: 1 + minimum: 0 + itemName: + type: string + example: EV充電 kWh + minLength: 1 + maxLength: 20 + description: 項目名 + unitPrice: + type: number + example: 40 + minimum: 0 + nullable: true + description: 単価 + unit: + type: string + nullable: true + example: 台 + minLength: 0 + maxLength: 10 + description: 単位 + note: + type: string + nullable: true + minLength: 0 + maxLength: 100 + description: 備考 + taxType: + type: integer + description: 税区分 + example: 0 + required: + - groupCode + - itemName + - taxType + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/pl-statements/items/{itemId}': + parameters: + - schema: + type: integer + in: path + name: itemId + description: 明細項目マスタID + required: true + get: + summary: 明細項目マスタ詳細 + operationId: get-api-pl-statements-items-item-id + description: '' + tags: + - PlStatementsItem + - PH4.0 + security: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + groupCode: + type: integer + example: 1 + description: カテゴリコード + itemName: + type: string + example: EVチャージャ-充電代 + description: 項目名 + unitPrice: + type: number + example: 40 + nullable: true + description: 単価 + unit: + type: string + nullable: true + example: 台 + description: 単位 + note: + type: string + nullable: true + description: 備考 + example: メモを書く + taxType: + type: integer + description: '税区分(0:課税 1:非課税 2:軽減税率)' + example: 0 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: 明細項目マスタ更新 + operationId: put-api-pl-statements-items-item-id + description: '' + tags: + - PlStatementsItem + - PH4.0 + security: [] + requestBody: + $ref: '#/paths/~1api~1pl-statements~1items/post/requestBody' + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + delete: + summary: 明細項目マスタ削除 + operationId: put-api-pl-statements-items-item-id + description: '' + security: [] + tags: + - PlStatementsItem + - PH4.0 + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/pl-statements: + get: + operationId: get-api-pl-statements + summary: 明細書一覧 + description: '' + tags: + - PlStatement + - PH4.0 + security: [] + parameters: + - schema: + type: integer + in: query + name: searchStatus + description: 検索ステータス + - schema: + type: integer + in: query + name: searchTargetYM + description: 検索対象月 + - schema: + type: integer + in: query + name: searchType + description: 検索区分 + - schema: + type: string + in: query + name: keyword + description: キーワード(部分一致) + - schema: + type: integer + in: query + name: page + description: 表示ページ + - schema: + type: integer + in: query + name: limit + description: 表示件数 + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + dataCount: + type: integer + example: 1 + list: + description: 明細書一覧 + type: array + items: + type: object + properties: + id: + type: integer + description: 収益明細ID + example: 1 + slipNumber: + type: string + description: 伝票番号 + example: 23-08000 + type: + type: integer + description: '区分(1:支払通知書:2:請求書 )' + example: 2 + ownerName: + type: string + description: 取引先名 + example: イオンモール茨城 + contactName: + type: string + nullable: true + description: 担当者名 + example: 田島貴男 + targetYM: + type: string + description: 対象月 + example: 2022/11 + issueDate: + type: string + nullable: true + description: 発行日 + example: 2022/12/10 + amount: + type: integer + description: 金額 + example: 4300000 + status: + type: integer + description: 'ステータス(0:未発行 1:発行)' + example: 1 + required: + - id + - slipNumber + - type + - ownerName + - targetYM + - amount + - status + required: + - dataCount + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + post: + summary: 明細書登録 + operationId: post-api-pl-statements + description: '' + tags: + - PlStatement + - PH4.0 + security: [] + requestBody: + description: '' + content: + application/json: + schema: + type: object + description: '' + properties: + ownerId: + type: integer + description: オーナーID + example: 1 + postNumber: + type: integer + description: 郵便番号 + example: 1234567 + minimum: 1 + maximum: 9999999 + addrRegion: + type: string + description: 都道府県 + minLength: 1 + maxLength: 5 + example: 大阪府 + addr1: + type: string + description: 住所1 + minLength: 1 + maxLength: 30 + example: 茨木市 + addr2: + type: string + description: 住所2 + minLength: 0 + maxLength: 30 + example: 松か本町8-30 + nullable: true + reportName: + type: string + description: 帳票宛先名 + minLength: 0 + maxLength: 60 + example: イオンモール茨城 中居太郎 + honorific: + type: string + description: 敬称 + minLength: 0 + maxLength: 5 + example: 様 + targetYM: + type: string + description: 対象年月 + minLength: 7 + maxLength: 7 + example: 2023-06 + note: + type: string + description: 備考 + minLength: 0 + maxLength: 255 + example: 帳票備考 + nullable: true + prepaidAmount: + type: integer + description: 預り金 + example: 100000 + unpaidAmount: + type: integer + description: 未払金 + example: 100000 + totalAmountWithoutTax: + type: integer + description: 合計金額(税別) + example: 1200000 + totalAmountOfTax: + type: integer + description: 消費税額 + example: 100000 + taxRate: + type: integer + description: 消費税率 + example: 10 + totalAmountOfReducedTax: + type: integer + description: 軽減税額 + example: 160000 + reducedTaxRate: + type: integer + description: 軽減税率 + example: 8 + paymentDueDate: + type: string + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + description: 支払い期日 + example: '2023-01-31' + nullable: true + paymentOptionCode: + type: integer + description: 支払方法コード + example: null + nullable: true + senderShopId: + type: integer + description: 差出店舗ID + example: 1 + reportStatemets: + type: array + description: 明細書詳細 + items: + type: object + properties: + shopId: + type: integer + description: 店舗ID + example: 20 + details: + type: array + description: 明細書詳細情報 + items: + type: object + properties: + category: + type: integer + description: カテゴリ + example: 1 + itemName: + type: string + description: 品名 + minLength: 1 + maxLength: 30 + example: 6Kw-通常時間 + quantity: + type: number + format: float + description: 数量 + example: 10000 + nullable: true + unit: + type: string + description: 単位 + minLength: 0 + maxLength: 10 + example: 分 + nullable: true + taxType: + type: integer + description: 税区分 + example: 0 + unitPrice: + type: number + format: float + description: 単価 + example: 60 + nullable: true + amount: + type: integer + description: 金額 + example: 100 + note: + type: string + description: 備考 + minLength: 0 + maxLength: 50 + example: null + nullable: true + isAuto: + type: boolean + description: 自動フラグ + example: false + required: + - category + - itemName + - taxType + - amount + - isAuto + required: + - shopId + required: + - ownerId + - postNumber + - addrRegion + - addr1 + - reportName + - honorific + - targetYM + - prepaidAmount + - unpaidAmount + - totalAmountWithoutTax + - totalAmountOfTax + - taxRate + - totalAmountOfReducedTax + - reducedTaxRate + - senderShopId + examples: + 登録時: + value: + ownerId: 1 + postNumber: 1234567 + addrRegion: 大阪府 + addr1: 茨木市 + addr2: 松か本町8-30 + reportName: イオンモール茨城 中居太郎 + honorific: 様 + targetYM: 2023-06 + note: 帳票備考 + prepaidAmount: 100000 + unpaidAmount: 100000 + totalAmountWithoutTax: 1200000 + totalAmountOfTax: 100000 + taxRate: 10 + totalAmountOfReducedTax: 160000 + reducedTaxRate: 8 + paymentDueDate: '2023-01-31' + paymentOptionCode: null + senderShopId: 1 + reportStatemets: + - shopId: 1 + details: + - category: 1 + itemName: 6Kw-通常時間 + quantity: 10000 + unit: 分 + taxType: 0 + unitPrice: 60 + amount: 100 + note: null + isAuto: false + - category: 1 + itemName: 3Kw-軽減税 + quantity: 5000 + unit: 分 + taxType: 1 + unitPrice: 40 + amount: 200000 + note: null + isAuto: false + 編集時: + value: + ownerId: 1 + postNumber: 1234567 + addrRegion: 大阪府 + addr1: 茨木市 + addr2: 松か本町8-30 + reportName: イオンモール茨城 中居太郎 + honorific: 様 + targetYM: 2023-06 + note: 帳票備考 + prepaidAmount: 100000 + unpaidAmount: 100000 + totalAmountWithoutTax: 1200000 + totalAmountOfTax: 100000 + taxRate: 10 + totalAmountOfReducedTax: 160000 + reducedTaxRate: 8 + paymentDueDate: '2023-01-31' + paymentOptionCode: null + senderShopId: 1 + reportStatemets: + - shopId: 1 + details: + - category: 1 + itemName: 6Kw-通常時間 + quantity: 10000 + unit: 分 + taxType: 0 + unitPrice: 60 + amount: 600000 + note: 自動作成 + isAuto: true + - category: 1 + itemName: 3Kw-通常時間 + quantity: 20000 + unit: 分 + taxType: 2 + unitPrice: 60 + amount: 100 + note: 自動作成 + isAuto: false + - shopId: 2 + details: + - category: 1 + itemName: 6Kw-通常時間 + quantity: 500 + unit: 分 + taxType: 0 + unitPrice: 60 + amount: 3000 + note: 自動作成 + isAuto: true + - category: 1 + itemName: 3Kw-通常時間 + quantity: 20000 + unit: 分 + taxType: 2 + unitPrice: 60 + amount: 100 + note: 自動作成 + isAuto: false + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/pl-statements/{plStatementId}': + parameters: + - schema: + type: integer + in: path + name: plStatementId + description: 明細書ID + required: true + get: + summary: 明細書詳細 + operationId: get-api-pl-statements-pl-statement-id + description: '' + tags: + - PlStatement + - PH4.0 + security: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + type: + type: integer + description: '区分(1:請求書 2:支払通知書)' + example: 2 + issueDate: + type: string + description: 発行日 + example: null + nullable: true + slipNumber: + type: string + description: 伝票番号(年下2桁+"-"+収益明細ID7桁0埋め) + example: 23-08001 + ownerId: + type: integer + description: オーナーID + example: 1 + postNumber: + type: string + description: 郵便番号 + example: 〒111-1111 + addrRegion: + type: string + description: 都道府県 + example: 大阪府 + addr1: + type: string + description: 住所1 + example: 茨木市 + addr2: + type: string + description: 住所2 + example: 松か本町8-30 + nullable: true + reportName: + type: string + description: 帳票宛先名 + example: イオンモール茨城\n中居太郎 + honorific: + type: string + description: 敬称 + example: 様 + nullable: true + targetYM: + type: string + description: 対象年月 + example: 2023-01 + note: + type: string + description: 備考 + example: null + nullable: true + prepaidAmount: + type: integer + description: 前払金額 + example: 50000 + unpaidAmount: + type: integer + description: 未払金額 + example: 100000 + totalAmountWithoutTax: + type: integer + description: 合計金額(税別) + example: 744000 + totalAmountOfTax: + type: integer + description: 消費税額 + example: 2400 + taxRate: + type: integer + example: 10 + description: 消費税率 + totalAmountOfReducedTax: + type: integer + description: 軽減税額 + example: 48000 + reducedTaxRate: + type: integer + example: 8 + description: 軽減税率 + paymentDueDate: + type: string + pattern: '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$' + description: 支払い期日 + example: '2023-02-15' + nullable: true + paymentOptionCode: + type: integer + description: 支払方法コード + example: 1 + nullable: true + senderShopId: + type: integer + description: 差出店舗ID + example: 1 + reportStatemets: + type: array + description: 明細書詳細 + items: + type: object + properties: + shopId: + type: integer + description: 店舗ID + example: 8 + details: + type: array + description: 明細書詳細情報 + items: + type: object + properties: + category: + type: integer + description: カテゴリ + example: 1 + itemName: + type: string + description: 品名 + example: 6Kw-通常時間 + quantity: + type: number + description: 数量 + example: 10000 + nullable: true + unit: + type: string + description: 単位 + example: 分 + nullable: true + taxType: + type: integer + description: 税区分 + example: 2 + unitPrice: + type: number + description: 単価 + example: 60 + nullable: true + amount: + type: integer + description: 金額 + example: 600000 + note: + type: string + description: 備考 + example: 自動作成 + nullable: true + isAuto: + type: boolean + description: 自動フラグ + example: true + required: + - category + - itemName + - taxType + - amount + - isAuto + required: + - shopId + required: + - type + - slipNumber + - ownerId + - postNumber + - addrRegion + - addr1 + - reportName + - targetYM + - prepaidAmount + - unpaidAmount + - totalAmountWithoutTax + - totalAmountOfTax + - taxRate + - totalAmountOfReducedTax + - reducedTaxRate + - senderShopId + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + put: + summary: 明細書更新 + operationId: put-api-pl-statements-pl-statement-id + description: '' + tags: + - PlStatement + - PH4.0 + security: [] + requestBody: + $ref: '#/paths/~1api~1pl-statements/post/requestBody' + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + delete: + summary: 明細書削除 + operationId: put-api-pl-statements-pl-statement-id + description: '' + security: [] + tags: + - PlStatement + - PH4.0 + responses: + '200': + description: OK + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/pl-statements/{plStatementId}/issue': + parameters: + - schema: + type: integer + in: path + name: plStatementId + description: 明細書ID + required: true + post: + summary: 明細書発行処理 + operationId: post-api-pl-statements-pl-statement-id-issue + description: '' + tags: + - PlStatement + - PH4.0 + security: [] + responses: + '200': + description: OK + '400': + $ref: '#/paths/~1api~1staffs/post/responses/400' + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + '/api/pl-statements/{plStatementId}/display': + parameters: + - schema: + type: integer + in: path + name: plStatementId + description: 明細書ID + required: true + get: + summary: 明細書表示処理 + operationId: get-api-pl-statements-pl-statement-id-display + description: '' + tags: + - PlStatement + - PH4.0 + security: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + status: + type: integer + description: 'ステータス(0:未発行 1:発行)' + example: 1 + type: + type: integer + description: '区分(1:請求書 2:支払通知書)' + example: 2 + issueDate: + type: string + description: 発行日 + example: null + nullable: true + slipNumber: + type: string + description: 伝票番号(年下2桁+"-"+収益明細ID7桁0埋め) + example: 23-08001 + ownerId: + type: integer + description: オーナーID + example: 1 + ownerName: + type: string + description: 取引先名 + example: イオンモール + ownerNote: + type: string + description: 備考 + example: オーナー用備考/Ph2では削除予定 + nullable: true + required: + - status + - type + - slipNumber + - ownerId + - ownerName + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500' + /api/sys/division-masters/pl-statements: + get: + operationId: get-api-division-masters-pl-statements + summary: 区分マスタ-明細書項目カテゴリ一覧取得 + description: '' + tags: + - PlStatement + - PH4.0 + security: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + description: '' + properties: + list: + type: array + items: + type: object + properties: + code: + type: integer + description: コード + value1: + type: string + description: 値1 + division: + type: integer + description: 区分 + example: 8 + '401': + $ref: '#/paths/~1api~1staffs/get/responses/401' + '403': + $ref: '#/paths/~1api~1staffs/get/responses/403' + '500': + $ref: '#/paths/~1api~1shops/get/responses/500'