From e1b58339b6da4fe4136db84729f325fba2cc6d8f Mon Sep 17 00:00:00 2001 From: Mayank bansal Date: Wed, 3 Jan 2024 18:23:05 +0530 Subject: [PATCH 1/9] Issue #13 resolved --- NP Logs/NP Name/Logs upload instructions.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 NP Logs/NP Name/Logs upload instructions.md diff --git a/NP Logs/NP Name/Logs upload instructions.md b/NP Logs/NP Name/Logs upload instructions.md new file mode 100644 index 00000000..7e8a5e28 --- /dev/null +++ b/NP Logs/NP Name/Logs upload instructions.md @@ -0,0 +1,21 @@ +# Instructions for Network Participants to Upload Their Logs + +1. **Navigate to the NP Logs Folder:** + - Open the file explorer or command line interface. + - Locate and navigate to the designated NP Logs Folder on the shared network drive or platform. + +2. **Create a New Folder with Your Name:** + - Within the NP Logs Folder, create a new folder with your name (NP Name). + - Use this folder to organize and store your logs securely. + +3. **Upload All Logs into Respective Subfolders:** + - Inside your named folder, create subfolders such as 'search,' 'select,' 'init,' 'confirm,' etc. + - Upload the corresponding logs into their respective subfolders. + - Ensure that all logs are organized according to their specific categories. + +4. **Create a Pull Request (PR) with the Draft Branch:** + - After successfully uploading your logs, navigate to the version control system or platform used by the project. + - Commit the changes made to your forked repository and create a Pull Request (PR) for your changes with the `draft` branch, providing a clear description of the updates and logs added. + - Assign relevant reviewers and wait for approval before merging the changes into the main branch. + +By following these instructions, you will contribute to maintaining an organized and traceable log system for the network participants. \ No newline at end of file From 8d09e04454c9e9e5d44ec6456d2951b520568c2b Mon Sep 17 00:00:00 2001 From: Mayank bansal Date: Fri, 5 Jan 2024 14:29:06 +0530 Subject: [PATCH 2/9] instruction file loc change --- NP Logs/{NP Name => }/Logs upload instructions.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename NP Logs/{NP Name => }/Logs upload instructions.md (100%) diff --git a/NP Logs/NP Name/Logs upload instructions.md b/NP Logs/Logs upload instructions.md similarity index 100% rename from NP Logs/NP Name/Logs upload instructions.md rename to NP Logs/Logs upload instructions.md From fdc564451b6d3276353e1b41a661f4f186f2daee Mon Sep 17 00:00:00 2001 From: Mayank bansal Date: Tue, 11 Jun 2024 21:59:41 +0530 Subject: [PATCH 3/9] EV Charging example updated --- .../ev-charging/cancel/cancel-request.json | 12 +- .../ev-charging/cancel/on_cancel-request.json | 61 ++++---- .../ev-charging/confirm/confirm-request.json | 69 ++++----- ...n_confirm-request.json => on_confirm.json} | 60 ++++--- examples/ev-charging/init/init-request.json | 27 +++- .../ev-charging/init/on_init-request.json | 55 +++---- .../ev-charging/search/on_search-request.json | 146 +++++++----------- .../ev-charging/search/search-request.json | 53 ++++--- .../ev-charging/select/on_select-request.json | 41 ++--- .../ev-charging/select/select-request.json | 26 +++- .../ev-charging/status/on_status-request.json | 63 ++++---- .../ev-charging/status/status-request.json | 2 +- .../support/on_support-request.json | 6 +- .../ev-charging/support/support-request.json | 4 +- 14 files changed, 284 insertions(+), 341 deletions(-) rename examples/ev-charging/confirm/{on_confirm-request.json => on_confirm.json} (70%) diff --git a/examples/ev-charging/cancel/cancel-request.json b/examples/ev-charging/cancel/cancel-request.json index 44359107..b714136e 100644 --- a/examples/ev-charging/cancel/cancel-request.json +++ b/examples/ev-charging/cancel/cancel-request.json @@ -19,12 +19,10 @@ "timestamp": "2023-07-16T04:41:16Z" }, "message": { - "order": { - "cancellation_reason_id": "5", - "descriptor": { - "short_desc": "Can't make it on time" - }, - "order_id": "6743e9e2-4fb5-487c-92b7" - } + "cancellation_reason_id": "5", + "descriptor": { + "short_desc": "Can't make it on time" + }, + "order_id": "c8570489-0189-42bc-81fd-130d73ea16c4" } } \ No newline at end of file diff --git a/examples/ev-charging/cancel/on_cancel-request.json b/examples/ev-charging/cancel/on_cancel-request.json index 055b12a1..a2947a40 100644 --- a/examples/ev-charging/cancel/on_cancel-request.json +++ b/examples/ev-charging/cancel/on_cancel-request.json @@ -20,16 +20,15 @@ }, "message": { "order": { - "id": "6743e9e2-4fb5-487c-92b7", - "status": "CANCELLED", + "id": "c8570489-0189-42bc-81fd-130d73ea16c4", "providers": { - "id": "chargezone.in", + "id": "da327407-7e41-4d1d-9462-8ecb7bfccca6", "descriptor": { - "name": "Chargezone", - "short_desc": "Chargezone Technologies Pvt Ltd", + "name": "Pulse Energy", + "short_desc": "Pulse Energy offers a state-of-the-art EV charging station designed for fast, efficient, and reliable electric vehicle charging. Equipped with advanced technology, our stations provide high-speed charging capabilities to get you back on the road quickly", "images": [ { - "url": "https://chargezone.in/images/logo.png" + "url": "https://pulse.energy/images/logo.png" } ] } @@ -53,7 +52,7 @@ }, "selected": { "measure": { - "value": "4", + "value": "0", "unit": "kWh" } } @@ -68,7 +67,7 @@ "id": "1", "customer": { "person": { - "name": "John Doe" + "name": "Alice Dixo" }, "contact": { "phone": "+91-9887766554" @@ -84,8 +83,15 @@ { "time": { "range": { - "start": "10:00", - "end": "10:30" + "start": "2024-06-11T10:30:00", + "end": "2024-06-11T11:00:00" + } + }, + "location": { + "gps": "12.423423,77.325647", + "address": "No. 12, 3rd Cross, 5th Main Road, Koramangala 4th Block", + "city": { + "name": "Bangalore" } } } @@ -93,21 +99,9 @@ "tags": [ { "descriptor": { - "name": "Charging Point" + "name": "Charging Point Specifications" }, "list": [ - { - "descriptor": { - "name": "Charger type" - }, - "value": "AC" - }, - { - "descriptor": { - "name": "Connector type" - }, - "value": "CCS2" - }, { "descriptor": { "name": "Power Rating" @@ -127,12 +121,13 @@ } ], "billing": { - "email": "abc@example.com", - "number": "+91-9876522222" + "name": "Alice Dixo", + "email": "alicedixo@gmail.com", + "phone": "+91-9876522222" }, "quote": { "price": { - "value": "40", + "value": "100", "currency": "INR" }, "breakup": [ @@ -144,14 +139,14 @@ "quantity": { "selected": { "measure": { - "value": "4", + "value": "12.5", "unit": "kWh" } } } }, "price": { - "value": "32", + "value": "100", "currency": "INR" } } @@ -159,17 +154,13 @@ }, "payments": [ { + "url": "https://payment.gateway.in", "type": "PRE-ORDER", "status": "PAID", "params": { - "amount": "40", + "transaction_id": "paytxn_131414231", + "amount": "100", "currency": "INR" - }, - "time": { - "range": { - "start": "2023-08-10T10:00:00Z", - "end": "2023-08-10T10:30:00Z" - } } } ] diff --git a/examples/ev-charging/confirm/confirm-request.json b/examples/ev-charging/confirm/confirm-request.json index 70940613..5da58299 100644 --- a/examples/ev-charging/confirm/confirm-request.json +++ b/examples/ev-charging/confirm/confirm-request.json @@ -21,69 +21,58 @@ "message": { "order": { "providers": { - "id": "chargezone.in" + "id": "da327407-7e41-4d1d-9462-8ecb7bfccca6" }, "items": [ { - "id": "pe-charging-01" + "id": "pe-charging-01", + "price": { + "currency": "INR", + "value": "100" + } } ], "billing": { - "name": "John Doe", - "email": "abc@example.com", - "number": "+91-9876522222" + "name": "Alice Dixo", + "email": "alicedixo@gmail.com", + "phone": "+91-9876522222" }, "fulfillments": [ { "id": "1", + "type": "CHARGING", "customer": { "person": { - "name": "John Doe" + "name": "Alice Dixo" }, "contact": { "phone": "+91-9887766554" } - } + }, + "stops": [ + { + "time": { + "range": { + "start": "2024-06-11T10:30:00", + "end": "2024-06-11T11:00:00" + } + } + } + ] } ], "payments": [ { - "collected_by": "BPP", + "url": "https://payment.gateway.in", + "type": "PRE-ORDER", + "status": "PAID", "params": { - "amount": "40", + "transaction_id": "paytxn_131414231", + "amount": "100", "currency": "INR" - }, - "status": "PAID", - "type": "PRE-ORDER" - } - ], - "quote": { - "price": { - "value": "40", - "currency": "INR" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units consumed" - }, - "quantity": { - "selected": { - "measure": { - "value": "4", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "32", - "currency": "INR" - } } - ] - } + } + ] } } } \ No newline at end of file diff --git a/examples/ev-charging/confirm/on_confirm-request.json b/examples/ev-charging/confirm/on_confirm.json similarity index 70% rename from examples/ev-charging/confirm/on_confirm-request.json rename to examples/ev-charging/confirm/on_confirm.json index cf7249dc..1c27e302 100644 --- a/examples/ev-charging/confirm/on_confirm-request.json +++ b/examples/ev-charging/confirm/on_confirm.json @@ -20,15 +20,15 @@ }, "message": { "order": { - "id": "6743e9e2-4fb5-487c-92b7", + "id": "c8570489-0189-42bc-81fd-130d73ea16c4", "providers": { - "id": "chargezone.in", + "id": "da327407-7e41-4d1d-9462-8ecb7bfccca6", "descriptor": { - "name": "Chargezone", - "short_desc": "Chargezone Technologies Pvt Ltd", + "name": "Pulse Energy", + "short_desc": "Pulse Energy offers a state-of-the-art EV charging station designed for fast, efficient, and reliable electric vehicle charging. Equipped with advanced technology, our stations provide high-speed charging capabilities to get you back on the road quickly", "images": [ { - "url": "https://chargezone.in/images/logo.png" + "url": "https://pulse.energy/images/logo.png" } ] } @@ -52,7 +52,7 @@ }, "selected": { "measure": { - "value": "4", + "value": "12.5", "unit": "kWh" } } @@ -67,7 +67,7 @@ "id": "1", "customer": { "person": { - "name": "John Doe" + "name": "Alice Dixo" }, "contact": { "phone": "+91-9887766554" @@ -83,8 +83,15 @@ { "time": { "range": { - "start": "10:00", - "end": "10:30" + "start": "2024-06-11T10:30:00", + "end": "2024-06-11T11:00:00" + } + }, + "location": { + "gps": "12.423423,77.325647", + "address": "No. 12, 3rd Cross, 5th Main Road, Koramangala 4th Block", + "city": { + "name": "Bangalore" } } } @@ -92,21 +99,9 @@ "tags": [ { "descriptor": { - "name": "Charging Point" + "name": "Charging Point Specifications" }, "list": [ - { - "descriptor": { - "name": "Charger type" - }, - "value": "AC" - }, - { - "descriptor": { - "name": "Connector type" - }, - "value": "CCS2" - }, { "descriptor": { "name": "Power Rating" @@ -126,12 +121,13 @@ } ], "billing": { - "email": "abc@example.com", - "number": "+91-9876522222" + "name": "Alice Dixo", + "email": "alicedixo@gmail.com", + "phone": "+91-9876522222" }, "quote": { "price": { - "value": "40", + "value": "100", "currency": "INR" }, "breakup": [ @@ -143,14 +139,14 @@ "quantity": { "selected": { "measure": { - "value": "4", + "value": "12.5", "unit": "kWh" } } } }, "price": { - "value": "32", + "value": "100", "currency": "INR" } } @@ -158,17 +154,13 @@ }, "payments": [ { + "url": "https://payment.gateway.in", "type": "PRE-ORDER", "status": "PAID", "params": { - "amount": "40", + "transaction_id": "paytxn_131414231", + "amount": "100", "currency": "INR" - }, - "time": { - "range": { - "start": "2023-08-10T10:00:00Z", - "end": "2023-08-10T10:30:00Z" - } } } ] diff --git a/examples/ev-charging/init/init-request.json b/examples/ev-charging/init/init-request.json index 1e9dda12..2cac5fb6 100644 --- a/examples/ev-charging/init/init-request.json +++ b/examples/ev-charging/init/init-request.json @@ -21,29 +21,44 @@ "message": { "order": { "provider": { - "id": "chargezone.in" + "id": "da327407-7e41-4d1d-9462-8ecb7bfccca6" }, "items": [ { - "id": "pe-charging-01" + "id": "pe-charging-01", + "price": { + "currency": "INR", + "value": "100" + } } ], "billing": { - "name": "John Doe", - "email": "abc@example.com", + "name": "Alice Dixo", + "email": "alicedixo@gmail.com", "phone": "+91-9876522222" }, "fulfillments": [ { "id": "1", + "type": "CHARGING", "customer": { "person": { - "name": "John Doe" + "name": "Alice Dixo" }, "contact": { "phone": "+91-9887766554" } - } + }, + "stops": [ + { + "time": { + "range": { + "start": "2024-06-11T10:30:00", + "end": "2024-06-11T11:00:00" + } + } + } + ] } ] } diff --git a/examples/ev-charging/init/on_init-request.json b/examples/ev-charging/init/on_init-request.json index 1ea303d6..2f43ac09 100644 --- a/examples/ev-charging/init/on_init-request.json +++ b/examples/ev-charging/init/on_init-request.json @@ -21,13 +21,13 @@ "message": { "order": { "providers": { - "id": "chargezone.in", + "id": "da327407-7e41-4d1d-9462-8ecb7bfccca6", "descriptor": { - "name": "Chargezone", - "short_desc": "Chargezone Technologies Pvt Ltd", + "name": "Pulse Energy", + "short_desc": "Pulse Energy offers a state-of-the-art EV charging station designed for fast, efficient, and reliable electric vehicle charging. Equipped with advanced technology, our stations provide high-speed charging capabilities to get you back on the road quickly", "images": [ { - "url": "https://chargezone.in/images/logo.png" + "url": "https://pulse.energy/images/logo.png" } ] } @@ -51,7 +51,7 @@ }, "selected": { "measure": { - "value": "4", + "value": "12.5", "unit": "kWh" } } @@ -66,24 +66,26 @@ "id": "1", "customer": { "person": { - "name": "John Doe" + "name": "Alice Dixo" }, "contact": { "phone": "+91-9887766554" } }, "type": "CHARGING", - "state": { - "descriptor": { - "code": "order-initiated" - } - }, "stops": [ { "time": { "range": { - "start": "10:00", - "end": "10:30" + "start": "2024-06-11T10:30:00", + "end": "2024-06-11T11:00:00" + } + }, + "location": { + "gps": "12.423423,77.325647", + "address": "No. 12, 3rd Cross, 5th Main Road, Koramangala 4th Block", + "city": { + "name": "Bangalore" } } } @@ -91,21 +93,9 @@ "tags": [ { "descriptor": { - "name": "Charging Point" + "name": "Charging Point Specifications" }, "list": [ - { - "descriptor": { - "name": "Charger type" - }, - "value": "AC" - }, - { - "descriptor": { - "name": "Connector type" - }, - "value": "CCS2" - }, { "descriptor": { "name": "Power Rating" @@ -125,12 +115,13 @@ } ], "billing": { - "email": "abc@example.com", - "number": "+91-9876522222" + "name": "Alice Dixo", + "email": "alicedixo@gmail.com", + "phone": "+91-9876522222" }, "quote": { "price": { - "value": "40", + "value": "100", "currency": "INR" }, "breakup": [ @@ -142,14 +133,14 @@ "quantity": { "selected": { "measure": { - "value": "4", + "value": "12.5", "unit": "kWh" } } } }, "price": { - "value": "32", + "value": "100", "currency": "INR" } } @@ -161,7 +152,7 @@ "type": "PRE-ORDER", "status": "NOT-PAID", "params": { - "amount": "40", + "amount": "100", "currency": "INR" }, "time": { diff --git a/examples/ev-charging/search/on_search-request.json b/examples/ev-charging/search/on_search-request.json index 93f2d313..7451fabd 100644 --- a/examples/ev-charging/search/on_search-request.json +++ b/examples/ev-charging/search/on_search-request.json @@ -22,13 +22,13 @@ "catalog": { "providers": [ { - "id": "chargezone.in", + "id": "da327407-7e41-4d1d-9462-8ecb7bfccca6", "descriptor": { - "name": "Chargezone", - "short_desc": "Chargezone Technologies Pvt Ltd", + "name": "Pulse Energy", + "short_desc": "Pulse Energy offers a state-of-the-art EV charging station designed for fast, efficient, and reliable electric vehicle charging. Equipped with advanced technology, our stations provide high-speed charging capabilities to get you back on the road quickly", "images": [ { - "url": "https://chargezone.in/images/logo.png" + "url": "https://pulse.energy/images/logo.png" } ] }, @@ -79,6 +79,37 @@ "fulfillment_ids": [ "1", "2" + ], + "tags": [ + { + "descriptor": { + "name": "Charger-Specifications" + }, + "list": [ + { + "descriptor": { + "name": "Charger type", + "code": "charger-type" + }, + "value": "AC" + }, + { + "descriptor": { + "name": "Connector type", + "code": "connector-type" + }, + "value": "CCS2" + }, + { + "descriptor": { + "name": "Vehicle type", + "code": "vehicle-type" + }, + "value": "4W" + } + ], + "display": true + } ] } ], @@ -93,6 +124,13 @@ "start": "10:00", "end": "10:30" } + }, + "location": { + "gps": "12.423423,77.325647", + "address": "No. 12, 3rd Cross, 5th Main Road, Koramangala 4th Block", + "city": { + "name": "Bangalore" + } } } ], @@ -102,20 +140,6 @@ "name": "Charging Point Specifications" }, "list": [ - { - "descriptor": { - "name": "Charger type", - "code": "charger-type" - }, - "value": "AC" - }, - { - "descriptor": { - "name": "Connector type", - "code": "connector-type" - }, - "value": "CCS2" - }, { "descriptor": { "name": "Power Rating" @@ -140,8 +164,15 @@ { "time": { "range": { - "start": "10:30", - "end": "11:00" + "start": "10:00", + "end": "22:30" + } + }, + "location": { + "gps": "12.423423,77.325647", + "address": "Suite 305, 3rd Floor, Mantri Square, Malleshwaram,", + "city": { + "name": "Bangalore" } } } @@ -149,21 +180,9 @@ "tags": [ { "descriptor": { - "name": "Charging Point" + "name": "Charging Point Specifications" }, "list": [ - { - "descriptor": { - "name": "Charger type" - }, - "value": "AC" - }, - { - "descriptor": { - "name": "Connector type" - }, - "value": "CCS2" - }, { "descriptor": { "name": "Power Rating" @@ -182,67 +201,6 @@ ] } ] - }, - { - "id": "log9.in", - "descriptor": { - "name": "Log9 Inc" - }, - "categories": [ - { - "id": "1", - "descriptor": { - "code": "green-tariff", - "name": "green tariff" - } - } - ], - "items": [ - { - "id": "pe-charging-01", - "descriptor": { - "code": "energy" - }, - "price": { - "value": "10", - "currency": "INR / kWH" - }, - "quantity": { - "available": "1000" - }, - "category_ids": [ - "1" - ], - "fulfillment_ids": [ - "3", - "4" - ] - } - ], - "fulfillments": [ - { - "id": "3", - "type": "BATTERY-SWAP", - "stops": [ - { - "location": { - "gps": "12.745675, 77.987393" - } - } - ] - }, - { - "id": "4", - "type": "MOBILE-BATTERY-SWAP", - "stops": [ - { - "location": { - "url": "https://log9.in/track/bswap/3234242" - } - } - ] - } - ] } ] } diff --git a/examples/ev-charging/search/search-request.json b/examples/ev-charging/search/search-request.json index a9adf5ba..45ff951f 100644 --- a/examples/ev-charging/search/search-request.json +++ b/examples/ev-charging/search/search-request.json @@ -18,30 +18,41 @@ }, "message": { "intent": { - "item": { + "category": { "descriptor": { - "code": "energy" - }, - "quantity": { - "required": { - "value": "4.0", - "unit": "kWH" - } - }, - "category": { - "descriptor": { - "code": "green-tariff" - } + "code": "green-tariff" } }, - "location": { - "gps": "12.423423,77.325647", - "radius": { - "type": "CONSTANT", - "value": "5", - "unit": "km" - } + "item": { + "tags": [ + { + "descriptor": { + "code": "vehicle-type" + }, + "list": [ + { + "value": "4W" + } + ] + } + ] + }, + "fulfillment": { + "stops": [ + { + "location": { + "circle": { + "gps": "12.423423,77.325647", + "radius": { + "type": "CONSTANT", + "value": "5", + "unit": "km" + } + } + } + } + ] } } } -} +} \ No newline at end of file diff --git a/examples/ev-charging/select/on_select-request.json b/examples/ev-charging/select/on_select-request.json index ba6ec494..34d7ffad 100644 --- a/examples/ev-charging/select/on_select-request.json +++ b/examples/ev-charging/select/on_select-request.json @@ -21,13 +21,13 @@ "message": { "order": { "providers": { - "id": "chargezone.in", + "id": "da327407-7e41-4d1d-9462-8ecb7bfccca6", "descriptor": { - "name": "Chargezone", - "short_desc": "Chargezone Technologies Pvt Ltd", + "name": "Pulse Energy", + "short_desc": "Pulse Energy offers a state-of-the-art EV charging station designed for fast, efficient, and reliable electric vehicle charging. Equipped with advanced technology, our stations provide high-speed charging capabilities to get you back on the road quickly", "images": [ { - "url": "https://chargezone.in/images/logo.png" + "url": "https://pulse.energy/images/logo.png" } ] } @@ -51,7 +51,7 @@ }, "selected": { "measure": { - "value": "4", + "value": "12.5", "unit": "kWh" } } @@ -66,8 +66,15 @@ { "time": { "range": { - "start": "10:00", - "end": "10:30" + "start": "2024-06-11T10:30:00", + "end": "2024-06-11T11:00:00" + } + }, + "location": { + "gps": "12.423423,77.325647", + "address": "No. 12, 3rd Cross, 5th Main Road, Koramangala 4th Block", + "city": { + "name": "Bangalore" } } } @@ -78,20 +85,6 @@ "name": "Charging Point Specifications" }, "list": [ - { - "descriptor": { - "name": "Charger type", - "code": "charger-type" - }, - "value": "AC" - }, - { - "descriptor": { - "name": "Connector type", - "code": "connector-type" - }, - "value": "CCS2" - }, { "descriptor": { "name": "Power Rating" @@ -112,7 +105,7 @@ ], "quote": { "price": { - "value": "32", + "value": "100", "currency": "INR" }, "breakup": [ @@ -124,14 +117,14 @@ "quantity": { "selected": { "measure": { - "value": "4", + "value": "12.5", "unit": "kWh" } } } }, "price": { - "value": "32", + "value": "100", "currency": "INR" } } diff --git a/examples/ev-charging/select/select-request.json b/examples/ev-charging/select/select-request.json index fd2f79d7..3797cc5d 100644 --- a/examples/ev-charging/select/select-request.json +++ b/examples/ev-charging/select/select-request.json @@ -21,19 +21,31 @@ "message": { "order": { "provider": { - "id": "chargezone.in" + "id": "da327407-7e41-4d1d-9462-8ecb7bfccca6" }, "items": [ { "id": "pe-charging-01", - "quantity": { - "selected": { - "measure": { - "value": "4", - "unit": "kWh" + "price": { + "currency": "INR", + "value": "100" + } + } + ], + "fulfillments": [ + { + "id": "1", + "type": "CHARGING", + "stops": [ + { + "time": { + "range": { + "start": "2024-06-11T10:30:00", + "end": "2024-06-11T11:00:00" + } } } - } + ] } ] } diff --git a/examples/ev-charging/status/on_status-request.json b/examples/ev-charging/status/on_status-request.json index 07602144..0b1207f3 100644 --- a/examples/ev-charging/status/on_status-request.json +++ b/examples/ev-charging/status/on_status-request.json @@ -20,15 +20,15 @@ }, "message": { "order": { - "id": "6743e9e2-4fb5-487c-92b7", + "id": "c8570489-0189-42bc-81fd-130d73ea16c4", "providers": { - "id": "chargezone.in", + "id": "da327407-7e41-4d1d-9462-8ecb7bfccca6", "descriptor": { - "name": "Chargezone", - "short_desc": "Chargezone Technologies Pvt Ltd", + "name": "Pulse Energy", + "short_desc": "Pulse Energy offers a state-of-the-art EV charging station designed for fast, efficient, and reliable electric vehicle charging. Equipped with advanced technology, our stations provide high-speed charging capabilities to get you back on the road quickly", "images": [ { - "url": "https://chargezone.in/images/logo.png" + "url": "https://pulse.energy/images/logo.png" } ] } @@ -52,7 +52,7 @@ }, "selected": { "measure": { - "value": "4", + "value": "12.5", "unit": "kWh" } } @@ -67,7 +67,7 @@ "id": "1", "customer": { "person": { - "name": "John Doe" + "name": "Alice Dixo" }, "contact": { "phone": "+91-9887766554" @@ -76,15 +76,23 @@ "type": "CHARGING", "state": { "descriptor": { - "name": "vehicle 65% charged" + "code": "charging-inprogress", + "short_desc": "Vehicle 45 % Charged" } }, "stops": [ { "time": { "range": { - "start": "10:00", - "end": "10:30" + "start": "2024-06-11T10:30:00", + "end": "2024-06-11T11:00:00" + } + }, + "location": { + "gps": "12.423423,77.325647", + "address": "No. 12, 3rd Cross, 5th Main Road, Koramangala 4th Block", + "city": { + "name": "Bangalore" } } } @@ -92,21 +100,9 @@ "tags": [ { "descriptor": { - "name": "Charging Point" + "name": "Charging Point Specifications" }, "list": [ - { - "descriptor": { - "name": "Charger type" - }, - "value": "AC" - }, - { - "descriptor": { - "name": "Connector type" - }, - "value": "CCS2" - }, { "descriptor": { "name": "Power Rating" @@ -126,12 +122,13 @@ } ], "billing": { - "email": "abc@example.com", - "number": "+91-9876522222" + "name": "Alice Dixo", + "email": "alicedixo@gmail.com", + "phone": "+91-9876522222" }, "quote": { "price": { - "value": "40", + "value": "100", "currency": "INR" }, "breakup": [ @@ -143,14 +140,14 @@ "quantity": { "selected": { "measure": { - "value": "4", + "value": "12.5", "unit": "kWh" } } } }, "price": { - "value": "32", + "value": "100", "currency": "INR" } } @@ -158,17 +155,13 @@ }, "payments": [ { + "url": "https://payment.gateway.in", "type": "PRE-ORDER", "status": "PAID", "params": { - "amount": "40", + "transaction_id": "paytxn_131414231", + "amount": "100", "currency": "INR" - }, - "time": { - "range": { - "start": "2023-08-10T10:00:00Z", - "end": "2023-08-10T10:30:00Z" - } } } ] diff --git a/examples/ev-charging/status/status-request.json b/examples/ev-charging/status/status-request.json index 83da8a7b..423d58d8 100644 --- a/examples/ev-charging/status/status-request.json +++ b/examples/ev-charging/status/status-request.json @@ -19,6 +19,6 @@ "timestamp": "2023-07-16T04:41:16Z" }, "message": { - "order_id": "6743e9e2-4fb5-487c-92b7" + "order_id": "c8570489-0189-42bc-81fd-130d73ea16c4" } } \ No newline at end of file diff --git a/examples/ev-charging/support/on_support-request.json b/examples/ev-charging/support/on_support-request.json index 4bdaaa26..b3d4855d 100644 --- a/examples/ev-charging/support/on_support-request.json +++ b/examples/ev-charging/support/on_support-request.json @@ -20,10 +20,10 @@ }, "message": { "support": { - "order_id": "6743e9e2-4fb5-487c-92b7", + "ref_id": "c8570489-0189-42bc-81fd-130d73ea16c4", "phone": "1800 1080", - "email": "customer.care@chargezone.com", - "url": "https://www.chargezone.com/helpdesk" + "email": "customer.care@pulseenergy.com", + "url": "https://www.pulse.energy/helpdesk" } } } \ No newline at end of file diff --git a/examples/ev-charging/support/support-request.json b/examples/ev-charging/support/support-request.json index 06d3bdef..13b0f743 100644 --- a/examples/ev-charging/support/support-request.json +++ b/examples/ev-charging/support/support-request.json @@ -20,9 +20,9 @@ }, "message": { "support": { - "order_id": "6743e9e2-4fb5-487c-92b7", + "ref_id": "c8570489-0189-42bc-81fd-130d73ea16c4", "phone": "+919876543210", - "email": "john.doe@gmail.com" + "email": "alice.dixo@gmail.com" } } } \ No newline at end of file From f23904b351ff5ebfe642556f61197d0ea5f3897e Mon Sep 17 00:00:00 2001 From: Mayank bansal Date: Thu, 13 Jun 2024 22:15:55 +0530 Subject: [PATCH 4/9] energy-demand usecase added --- .../confirm/confirm-request.json | 67 +++++++++ .../energy-demand/confirm/on_confirm.json | 132 ++++++++++++++++++ examples/energy-demand/init/init-request.json | 55 ++++++++ .../energy-demand/init/on_init-request.json | 124 ++++++++++++++++ .../search/on_search-request.json | 99 +++++++++++++ .../energy-demand/search/search-request.json | 28 ++++ .../select/on_select-request.json | 102 ++++++++++++++ .../energy-demand/select/select-request.json | 33 +++++ .../status/on_status-request.json | 132 ++++++++++++++++++ .../energy-demand/status/status-request.json | 24 ++++ 10 files changed, 796 insertions(+) create mode 100644 examples/energy-demand/confirm/confirm-request.json create mode 100644 examples/energy-demand/confirm/on_confirm.json create mode 100644 examples/energy-demand/init/init-request.json create mode 100644 examples/energy-demand/init/on_init-request.json create mode 100644 examples/energy-demand/search/on_search-request.json create mode 100644 examples/energy-demand/search/search-request.json create mode 100644 examples/energy-demand/select/on_select-request.json create mode 100644 examples/energy-demand/select/select-request.json create mode 100644 examples/energy-demand/status/on_status-request.json create mode 100644 examples/energy-demand/status/status-request.json diff --git a/examples/energy-demand/confirm/confirm-request.json b/examples/energy-demand/confirm/confirm-request.json new file mode 100644 index 00000000..87973f21 --- /dev/null +++ b/examples/energy-demand/confirm/confirm-request.json @@ -0,0 +1,67 @@ +{ + "context": { + "domain": "dent:0.1.0", + "action": "confirm", + "location": { + "country": { + "name": "India", + "code": "IND" + } + }, + "city": "std:080", + "version": "1.1.0", + "bap_id": "sheru-bap.com", + "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", + "bpp_id": "pulse-energy-bpp.com", + "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", + "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "timestamp": "2023-07-16T04:41:16Z" + }, + "message": { + "order": { + "providers": { + "id": "da327407-7e41-4d1d-9462-8ecb7bfccca6" + }, + "items": [ + { + "id": "2" + } + ], + "billing": { + "organization": { + "descriptor": { + "name": "Sheru Energy Ltd" + } + }, + "name": "Ramesh Dsouza", + "email": "ramesh@sheru.com", + "phone": "+91-9876555555" + }, + "fulfillments": [ + { + "customer": { + "person": { + "name": "Ramesh Dsouza" + }, + "contact": { + "phone": "+91-9887755555" + } + } + } + ], + "payments": [ + { + "url": "https://payment.gateway.in", + "type": "PRE-ORDER", + "status": "PAID", + "params": { + "transaction_id": "paytxn_131414231", + "amount": "8", + "currency": "INR" + } + } + ] + } + } +} \ No newline at end of file diff --git a/examples/energy-demand/confirm/on_confirm.json b/examples/energy-demand/confirm/on_confirm.json new file mode 100644 index 00000000..b7f28d1d --- /dev/null +++ b/examples/energy-demand/confirm/on_confirm.json @@ -0,0 +1,132 @@ +{ + "context": { + "domain": "dent:0.1.0", + "action": "on_confirm", + "location": { + "country": { + "name": "India", + "code": "IND" + } + }, + "city": "std:080", + "version": "1.1.0", + "bap_id": "sheru-bap.com", + "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", + "bpp_id": "pulse-energy-bpp.com", + "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", + "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "timestamp": "2023-07-16T04:41:16Z" + }, + "message": { + "order": { + "id": "c8570489-0189-42bc-81fd-130d73ea16c4", + "providers": { + "id": "da327407-7e41-4d1d-9462-8ecb7bfccca6", + "descriptor": { + "name": "Pulse Energy", + "short_desc": "Pulse Energy offers a state-of-the-art EV charging station designed for fast, efficient, and reliable electric vehicle charging. Equipped with advanced technology, our stations provide high-speed charging capabilities to get you back on the road quickly", + "images": [ + { + "url": "https://pulse.energy/images/logo.png" + } + ] + } + }, + "items": [ + { + "id": "2", + "descriptor": { + "code": "energy-demand", + "name": "Energy Demand" + }, + "price": { + "value": "2", + "currency": "INR/kWH" + }, + "quantity": { + "available": { + "measure": { + "value": "4", + "unit": "kWH" + } + } + } + } + ], + "fulfillments": [ + { + "state": { + "descriptor": { + "code": "order-confirmed", + "name" : "Energy Order has been confirmed" + } + }, + "customer": { + "person": { + "name": "Ramesh Dsouza" + }, + "contact": { + "phone": "+91-9887755555" + } + } + } + ], + "billing": { + "organization" : { + "descriptor" : { + "name" : "Sheru Energy Ltd" + } + }, + "name": "Ramesh Dsouza", + "email": "ramesh@sheru.com", + "phone": "+91-9876555555" + }, + "quote": { + "price": { + "value": "8", + "currency": "INR" + }, + "breakup": [ + { + "item": { + "descriptor": { + "name": "Energy Demand cost" + }, + "quantity": { + "selected": { + "measure": { + "value": "4", + "unit": "kWh" + } + } + } + }, + "price": { + "value": "8", + "currency": "INR" + } + } + ] + }, + "payments": [ + { + "url": "https://payment.gateway.in", + "type": "PRE-ORDER", + "status": "PAID", + "params": { + "transaction_id": "paytxn_131414231", + "amount": "8", + "currency": "INR" + }, + "time": { + "range": { + "start": "2023-08-10T10:00:00Z", + "end": "2023-08-10T10:30:00Z" + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/examples/energy-demand/init/init-request.json b/examples/energy-demand/init/init-request.json new file mode 100644 index 00000000..1cfd06e4 --- /dev/null +++ b/examples/energy-demand/init/init-request.json @@ -0,0 +1,55 @@ +{ + "context": { + "domain": "dent:0.1.0", + "action": "init", + "location": { + "country": { + "name": "India", + "code": "IND" + } + }, + "city": "std:080", + "version": "1.1.0", + "bap_id": "sheru-bap.com", + "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", + "bpp_id": "pulse-energy-bpp.com", + "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", + "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "timestamp": "2023-07-16T04:41:16Z" + }, + "message": { + "order": { + "provider": { + "id": "da327407-7e41-4d1d-9462-8ecb7bfccca6" + }, + "items": [ + { + "id": "2" + } + ], + "billing": { + "organization": { + "descriptor": { + "name": "Sheru Energy Ltd" + } + }, + "name": "Ramesh Dsouza", + "email": "ramesh@sheru.com", + "phone": "+91-9876555555" + }, + "fulfillments": [ + { + "customer": { + "person": { + "name": "Ramesh Dsouza" + }, + "contact": { + "phone": "+91-9887755555" + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/examples/energy-demand/init/on_init-request.json b/examples/energy-demand/init/on_init-request.json new file mode 100644 index 00000000..c164fd99 --- /dev/null +++ b/examples/energy-demand/init/on_init-request.json @@ -0,0 +1,124 @@ +{ + "context": { + "domain": "dent:0.1.0", + "action": "on_init", + "location": { + "country": { + "name": "India", + "code": "IND" + } + }, + "city": "std:080", + "version": "1.1.0", + "bap_id": "sheru-bap.com", + "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", + "bpp_id": "pulse-energy-bpp.com", + "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", + "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "timestamp": "2023-07-16T04:41:16Z" + }, + "message": { + "order": { + "providers": { + "id": "da327407-7e41-4d1d-9462-8ecb7bfccca6", + "descriptor": { + "name": "Pulse Energy", + "short_desc": "Pulse Energy offers a state-of-the-art EV charging station designed for fast, efficient, and reliable electric vehicle charging. Equipped with advanced technology, our stations provide high-speed charging capabilities to get you back on the road quickly", + "images": [ + { + "url": "https://pulse.energy/images/logo.png" + } + ] + } + }, + "items": [ + { + "id": "2", + "descriptor": { + "code": "energy-demand", + "name": "Energy Demand" + }, + "price": { + "value": "2", + "currency": "INR/kWH" + }, + "quantity": { + "available": { + "measure": { + "value": "4", + "unit": "kWH" + } + } + } + } + ], + "fulfillments": [ + { + "customer": { + "person": { + "name": "Ramesh Dsouza" + }, + "contact": { + "phone": "+91-9887755555" + } + } + } + ], + "billing": { + "organization": { + "descriptor": { + "name": "Sheru Energy Ltd" + } + }, + "name": "Ramesh Dsouza", + "email": "ramesh@sheru.com", + "phone": "+91-9876555555" + }, + "quote": { + "price": { + "value": "8", + "currency": "INR" + }, + "breakup": [ + { + "item": { + "descriptor": { + "name": "Energy Demand cost" + }, + "quantity": { + "selected": { + "measure": { + "value": "4", + "unit": "kWh" + } + } + } + }, + "price": { + "value": "8", + "currency": "INR" + } + } + ] + }, + "payments": [ + { + "url": "https://payment.gateway.in", + "type": "PRE-ORDER", + "status": "NOT-PAID", + "params": { + "amount": "8", + "currency": "INR" + }, + "time": { + "range": { + "start": "2023-08-10T10:00:00Z", + "end": "2023-08-10T10:30:00Z" + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/examples/energy-demand/search/on_search-request.json b/examples/energy-demand/search/on_search-request.json new file mode 100644 index 00000000..763ed9e9 --- /dev/null +++ b/examples/energy-demand/search/on_search-request.json @@ -0,0 +1,99 @@ +{ + "context": { + "domain": "dent:0.1.0", + "action": "on_search", + "location": { + "country": { + "name": "India", + "code": "IND" + } + }, + "city": "std:080", + "version": "1.1.0", + "bap_id": "sheru-bap.com", + "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", + "bpp_id": "pulse-energy-bpp.com", + "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", + "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "timestamp": "2023-07-16T04:41:16Z" + }, + "message": { + "catalog": { + "providers": [ + { + "id": "da327407-7e41-4d1d-9462-8ecb7bfccca6", + "descriptor": { + "name": "Pulse Energy", + "short_desc": "Pulse Energy offers a state-of-the-art EV charging station designed for fast, efficient, and reliable electric vehicle charging. Equipped with advanced technology, our stations provide high-speed charging capabilities to get you back on the road quickly", + "images": [ + { + "url": "https://pulse.energy/images/logo.png" + } + ] + }, + "categories": [ + { + "id": "2", + "descriptor": { + "code": "energy-demand", + "name": "Energy Demand" + } + } + ], + "locations": [ + { + "id": "1", + "gps": "12.345345,77.389754" + }, + { + "id": "2", + "gps": "12.247934,77.876987" + } + ], + "items": [ + { + "id": "2", + "descriptor": { + "code": "energy-demand", + "name": "Energy Demand" + }, + "price": { + "value": "2", + "currency": "INR/kWH" + }, + "quantity": { + "available": { + "measure": { + "value": "4", + "unit": "kWH" + } + } + }, + "category_ids": [ + "2" + ], + "tags": [ + { + "descriptor": { + "name": "energy-specifications" + }, + "list": [ + { + "descriptor": { + "name": "Energy type", + "code": "energy-type" + }, + "value": "Green Energy" + } + ], + "display": true + } + ] + } + ] + } + ] + } + } +} \ No newline at end of file diff --git a/examples/energy-demand/search/search-request.json b/examples/energy-demand/search/search-request.json new file mode 100644 index 00000000..5753bf64 --- /dev/null +++ b/examples/energy-demand/search/search-request.json @@ -0,0 +1,28 @@ +{ + "context": { + "domain": "dent:0.1.0", + "action": "search", + "location": { + "country": { + "name": "India", + "code": "IND" + } + }, + "city": "std:080", + "version": "1.1.0", + "bap_id": "sheru-bap.com", + "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", + "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "timestamp": "2023-07-16T04:41:16Z" + }, + "message": { + "intent": { + "category": { + "descriptor": { + "code": "energy-demand" + } + } + } + } +} \ No newline at end of file diff --git a/examples/energy-demand/select/on_select-request.json b/examples/energy-demand/select/on_select-request.json new file mode 100644 index 00000000..75ae9f3f --- /dev/null +++ b/examples/energy-demand/select/on_select-request.json @@ -0,0 +1,102 @@ +{ + "context": { + "domain": "dent:0.1.0", + "action": "on_select", + "location": { + "country": { + "name": "India", + "code": "IND" + } + }, + "city": "std:080", + "version": "1.1.0", + "bap_id": "sheru-bap.com", + "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", + "bpp_id": "pulse-energy-bpp.com", + "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", + "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "timestamp": "2023-07-16T04:41:16Z" + }, + "message": { + "order": { + "providers": { + "id": "da327407-7e41-4d1d-9462-8ecb7bfccca6", + "descriptor": { + "name": "Pulse Energy", + "short_desc": "Pulse Energy offers a state-of-the-art EV charging station designed for fast, efficient, and reliable electric vehicle charging. Equipped with advanced technology, our stations provide high-speed charging capabilities to get you back on the road quickly", + "images": [ + { + "url": "https://pulse.energy/images/logo.png" + } + ] + } + }, + "items": [ + { + "id": "2", + "descriptor": { + "code": "energy-demand", + "name": "Energy Demand" + }, + "price": { + "value": "2", + "currency": "INR/kWH" + }, + "quantity": { + "available": { + "measure": { + "value": "4", + "unit": "kWH" + } + } + }, + "tags": [ + { + "descriptor": { + "name": "energy-specifications" + }, + "list": [ + { + "descriptor": { + "name": "Energy type", + "code": "energy-type" + }, + "value": "Green Energy" + } + ], + "display": true + } + ] + } + ], + "quote": { + "price": { + "value": "8", + "currency": "INR" + }, + "breakup": [ + { + "item": { + "descriptor": { + "name": "Energy Demand cost" + }, + "quantity": { + "selected": { + "measure": { + "value": "4", + "unit": "kWh" + } + } + } + }, + "price": { + "value": "8", + "currency": "INR" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/examples/energy-demand/select/select-request.json b/examples/energy-demand/select/select-request.json new file mode 100644 index 00000000..72a5f67c --- /dev/null +++ b/examples/energy-demand/select/select-request.json @@ -0,0 +1,33 @@ +{ + "context": { + "domain": "dent:0.1.0", + "action": "select", + "location": { + "country": { + "name": "India", + "code": "IND" + } + }, + "city": "std:080", + "version": "1.1.0", + "bap_id": "sheru-bap.com", + "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", + "bpp_id": "pulse-energy-bpp.com", + "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", + "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "timestamp": "2023-07-16T04:41:16Z" + }, + "message": { + "order": { + "provider": { + "id": "da327407-7e41-4d1d-9462-8ecb7bfccca6" + }, + "items": [ + { + "id": "2" + } + ] + } + } +} \ No newline at end of file diff --git a/examples/energy-demand/status/on_status-request.json b/examples/energy-demand/status/on_status-request.json new file mode 100644 index 00000000..4d25eefe --- /dev/null +++ b/examples/energy-demand/status/on_status-request.json @@ -0,0 +1,132 @@ +{ + "context": { + "domain": "dent:0.1.0", + "action": "on_status", + "location": { + "country": { + "name": "India", + "code": "IND" + } + }, + "city": "std:080", + "version": "1.1.0", + "bap_id": "sheru-bap.com", + "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", + "bpp_id": "pulse-energy-bpp.com", + "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", + "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "timestamp": "2023-07-16T04:41:16Z" + }, + "message": { + "order": { + "id": "c8570489-0189-42bc-81fd-130d73ea16c4", + "providers": { + "id": "da327407-7e41-4d1d-9462-8ecb7bfccca6", + "descriptor": { + "name": "Pulse Energy", + "short_desc": "Pulse Energy offers a state-of-the-art EV charging station designed for fast, efficient, and reliable electric vehicle charging. Equipped with advanced technology, our stations provide high-speed charging capabilities to get you back on the road quickly", + "images": [ + { + "url": "https://pulse.energy/images/logo.png" + } + ] + } + }, + "items": [ + { + "id": "2", + "descriptor": { + "code": "energy-demand", + "name": "Energy Demand" + }, + "price": { + "value": "2", + "currency": "INR/kWH" + }, + "quantity": { + "available": { + "measure": { + "value": "4", + "unit": "kWH" + } + } + } + } + ], + "fulfillments": [ + { + "state": { + "descriptor": { + "code": "energy-transferred", + "name": "The Energy has been transferred" + } + }, + "customer": { + "person": { + "name": "Ramesh Dsouza" + }, + "contact": { + "phone": "+91-9887755555" + } + } + } + ], + "billing": { + "organization": { + "descriptor": { + "name": "Sheru Energy Ltd" + } + }, + "name": "Ramesh Dsouza", + "email": "ramesh@sheru.com", + "phone": "+91-9876555555" + }, + "quote": { + "price": { + "value": "8", + "currency": "INR" + }, + "breakup": [ + { + "item": { + "descriptor": { + "name": "Energy Demand cost" + }, + "quantity": { + "selected": { + "measure": { + "value": "4", + "unit": "kWh" + } + } + } + }, + "price": { + "value": "8", + "currency": "INR" + } + } + ] + }, + "payments": [ + { + "url": "https://payment.gateway.in", + "type": "PRE-ORDER", + "status": "PAID", + "params": { + "transaction_id": "paytxn_131414231", + "amount": "8", + "currency": "INR" + }, + "time": { + "range": { + "start": "2023-08-10T10:00:00Z", + "end": "2023-08-10T10:30:00Z" + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/examples/energy-demand/status/status-request.json b/examples/energy-demand/status/status-request.json new file mode 100644 index 00000000..d5193a95 --- /dev/null +++ b/examples/energy-demand/status/status-request.json @@ -0,0 +1,24 @@ +{ + "context": { + "domain": "dent:0.1.0", + "action": "status", + "location": { + "country": { + "name": "India", + "code": "IND" + } + }, + "city": "std:080", + "version": "1.1.0", + "bap_id": "sheru-bap.com", + "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", + "bpp_id": "pulse-energy-bpp.com", + "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", + "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "timestamp": "2023-07-16T04:41:16Z" + }, + "message": { + "order_id": "c8570489-0189-42bc-81fd-130d73ea16c4" + } +} \ No newline at end of file From 1c061c24f5edf0c88bada028b2e200c3696ad209 Mon Sep 17 00:00:00 2001 From: Mayank bansal Date: Tue, 18 Jun 2024 09:04:37 +0530 Subject: [PATCH 5/9] Include surplus energy api request response --- .../confirm/confirm-request.json | 101 ---------- .../confirm/on_confirm-request.json | 154 --------------- .../homes-discoms/init/on_init-request.json | 153 --------------- .../status/on_status-request.json | 154 --------------- .../homes-discoms/status/status-request.json | 24 --- .../cancel/cancel-request.json | 30 --- .../cancel/on_cancel-request.json | 154 --------------- ...request-automatic-and-manual-dispatch.json | 61 ------ ...on_confirm-request-automatic-dispatch.json | 153 --------------- .../on_confirm-request-manual-dispatch.json | 153 --------------- .../init/init-request-automatic-dispatch.json | 61 ------ .../init/init-request-manual-dispatch.json | 38 ---- .../on_init-request-automatic-dispatch.json | 152 --------------- .../init/on_init-request-manual-dispatch.json | 146 --------------- .../on_search-request-automatic-dispatch.json | 138 -------------- .../on_search-request-manual-dispatch.json | 138 -------------- .../search/search-request.json | 34 ---- .../on_select-request-automatic-dispatch.json | 140 -------------- .../on_select-request-manual-dispatch.json | 119 ------------ .../on_status-request-automatic-dispatch.json | 147 --------------- ...tatus-request-manual-dispatch-penalty.json | 154 --------------- .../on_status-request-manual-dispatch.json | 147 --------------- .../status/status-request.json | 24 --- .../support/on_support-request.json | 29 --- .../support/support-request.json | 28 --- .../update/on_update-request.json | 147 --------------- .../update/update-request.json | 40 ---- .../cancel/cancel-request.json | 30 --- .../cancel/on_cancel-request.json | 153 --------------- ...onfirm-request-automatic-dispatch-tnc.json | 75 -------- .../confirm/confirm-request.json | 69 ------- ...on_confirm-request-automatic-dispatch.json | 152 --------------- .../on_confirm-request-manual-dispatch.json | 152 --------------- ...it-request-automatic-dispatch-consent.json | 48 ----- .../init/init-request.json | 42 ----- ...it-request-automatic-dispatch-consent.json | 175 ------------------ ...n_init-request-automatic-dispatch-tnc.json | 175 ------------------ .../on_init-request-manual-dispatch-tnc.json | 174 ----------------- .../on_search-request-automatic-dispatch.json | 143 -------------- .../on_search-request-manual-dispatch.json | 143 -------------- .../on_select-request-automatic-dispatch.json | 145 --------------- .../on_select-request-manual-dispatch.json | 124 ------------- .../select/select-request.json | 38 ---- .../on_status-request-automatic-dispatch.json | 152 --------------- ...tatus-request-manual-dispatch-penalty.json | 159 ---------------- .../on_status-request-manual-dispatch.json | 152 --------------- .../support/on_support-request.json | 29 --- .../support/support-request.json | 28 --- .../update/on_update-request.json | 147 --------------- .../update/update-request.json | 40 ---- .../confirm/confirm-request.json | 75 ++++++++ .../surplus-energy/confirm/on_confirm.json | 132 +++++++++++++ .../init/init-request.json | 47 ++--- .../surplus-energy/init/on_init-request.json | 124 +++++++++++++ .../search/on_search-request.json | 99 ++++++++++ .../search/search-request.json | 10 +- .../select/on_select-request.json | 102 ++++++++++ .../select/select-request.json | 21 ++- .../status/on_status-request.json | 132 +++++++++++++ .../status/status-request.json | 6 +- 60 files changed, 707 insertions(+), 5405 deletions(-) delete mode 100644 examples/homes-discoms/confirm/confirm-request.json delete mode 100644 examples/homes-discoms/confirm/on_confirm-request.json delete mode 100644 examples/homes-discoms/init/on_init-request.json delete mode 100644 examples/homes-discoms/status/on_status-request.json delete mode 100644 examples/homes-discoms/status/status-request.json delete mode 100644 examples/microgrids/aggregator-to-individuals/cancel/cancel-request.json delete mode 100644 examples/microgrids/aggregator-to-individuals/cancel/on_cancel-request.json delete mode 100644 examples/microgrids/aggregator-to-individuals/confirm/confirm-request-automatic-and-manual-dispatch.json delete mode 100644 examples/microgrids/aggregator-to-individuals/confirm/on_confirm-request-automatic-dispatch.json delete mode 100644 examples/microgrids/aggregator-to-individuals/confirm/on_confirm-request-manual-dispatch.json delete mode 100644 examples/microgrids/aggregator-to-individuals/init/init-request-automatic-dispatch.json delete mode 100644 examples/microgrids/aggregator-to-individuals/init/init-request-manual-dispatch.json delete mode 100644 examples/microgrids/aggregator-to-individuals/init/on_init-request-automatic-dispatch.json delete mode 100644 examples/microgrids/aggregator-to-individuals/init/on_init-request-manual-dispatch.json delete mode 100644 examples/microgrids/aggregator-to-individuals/search/on_search-request-automatic-dispatch.json delete mode 100644 examples/microgrids/aggregator-to-individuals/search/on_search-request-manual-dispatch.json delete mode 100644 examples/microgrids/aggregator-to-individuals/search/search-request.json delete mode 100644 examples/microgrids/aggregator-to-individuals/select/on_select-request-automatic-dispatch.json delete mode 100644 examples/microgrids/aggregator-to-individuals/select/on_select-request-manual-dispatch.json delete mode 100644 examples/microgrids/aggregator-to-individuals/status/on_status-request-automatic-dispatch.json delete mode 100644 examples/microgrids/aggregator-to-individuals/status/on_status-request-manual-dispatch-penalty.json delete mode 100644 examples/microgrids/aggregator-to-individuals/status/on_status-request-manual-dispatch.json delete mode 100644 examples/microgrids/aggregator-to-individuals/status/status-request.json delete mode 100644 examples/microgrids/aggregator-to-individuals/support/on_support-request.json delete mode 100644 examples/microgrids/aggregator-to-individuals/support/support-request.json delete mode 100644 examples/microgrids/aggregator-to-individuals/update/on_update-request.json delete mode 100644 examples/microgrids/aggregator-to-individuals/update/update-request.json delete mode 100644 examples/microgrids/individuals-to-aggregator/cancel/cancel-request.json delete mode 100644 examples/microgrids/individuals-to-aggregator/cancel/on_cancel-request.json delete mode 100644 examples/microgrids/individuals-to-aggregator/confirm/confirm-request-automatic-dispatch-tnc.json delete mode 100644 examples/microgrids/individuals-to-aggregator/confirm/confirm-request.json delete mode 100644 examples/microgrids/individuals-to-aggregator/confirm/on_confirm-request-automatic-dispatch.json delete mode 100644 examples/microgrids/individuals-to-aggregator/confirm/on_confirm-request-manual-dispatch.json delete mode 100644 examples/microgrids/individuals-to-aggregator/init/init-request-automatic-dispatch-consent.json delete mode 100644 examples/microgrids/individuals-to-aggregator/init/init-request.json delete mode 100644 examples/microgrids/individuals-to-aggregator/init/on_init-request-automatic-dispatch-consent.json delete mode 100644 examples/microgrids/individuals-to-aggregator/init/on_init-request-automatic-dispatch-tnc.json delete mode 100644 examples/microgrids/individuals-to-aggregator/init/on_init-request-manual-dispatch-tnc.json delete mode 100644 examples/microgrids/individuals-to-aggregator/search/on_search-request-automatic-dispatch.json delete mode 100644 examples/microgrids/individuals-to-aggregator/search/on_search-request-manual-dispatch.json delete mode 100644 examples/microgrids/individuals-to-aggregator/select/on_select-request-automatic-dispatch.json delete mode 100644 examples/microgrids/individuals-to-aggregator/select/on_select-request-manual-dispatch.json delete mode 100644 examples/microgrids/individuals-to-aggregator/select/select-request.json delete mode 100644 examples/microgrids/individuals-to-aggregator/status/on_status-request-automatic-dispatch.json delete mode 100644 examples/microgrids/individuals-to-aggregator/status/on_status-request-manual-dispatch-penalty.json delete mode 100644 examples/microgrids/individuals-to-aggregator/status/on_status-request-manual-dispatch.json delete mode 100644 examples/microgrids/individuals-to-aggregator/support/on_support-request.json delete mode 100644 examples/microgrids/individuals-to-aggregator/support/support-request.json delete mode 100644 examples/microgrids/individuals-to-aggregator/update/on_update-request.json delete mode 100644 examples/microgrids/individuals-to-aggregator/update/update-request.json create mode 100644 examples/surplus-energy/confirm/confirm-request.json create mode 100644 examples/surplus-energy/confirm/on_confirm.json rename examples/{homes-discoms => surplus-energy}/init/init-request.json (55%) create mode 100644 examples/surplus-energy/init/on_init-request.json create mode 100644 examples/surplus-energy/search/on_search-request.json rename examples/{microgrids/individuals-to-aggregator => surplus-energy}/search/search-request.json (76%) create mode 100644 examples/surplus-energy/select/on_select-request.json rename examples/{microgrids/aggregator-to-individuals => surplus-energy}/select/select-request.json (66%) create mode 100644 examples/surplus-energy/status/on_status-request.json rename examples/{microgrids/individuals-to-aggregator => surplus-energy}/status/status-request.json (81%) diff --git a/examples/homes-discoms/confirm/confirm-request.json b/examples/homes-discoms/confirm/confirm-request.json deleted file mode 100644 index 8879e198..00000000 --- a/examples/homes-discoms/confirm/confirm-request.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "confirm", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "bescom-bpp.com", - "bpp_uri": "https://api.bescom-bpp.com/v1", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "id": "240005" - }, - "items": [ - { - "id": "a23f2fdfbbb8ac" - } - ], - "quote": { - "breakup": [ - { - "price": { - "value": "330" - }, - "title": "Fixed Charge: 3 units, 110 rupees per unit" - }, - { - "price": { - "value": "700" - }, - "title": "Energy Charges: 100 units, 7 rupees per unit" - }, - { - "price": { - "value": "700" - }, - "title": "Energy Charges: 100 units, 7 rupees per unit" - }, - { - "price": { - "value": "80" - }, - "title": "FAC Charge: 200 units, 0.4 rupees per unit" - }, - { - "price": { - "value": "126" - }, - "title": "Tax" - } - ], - "price": { - "currency": "INR", - "value": "1936" - } - }, - "payments": [ - { - "collected_by": "BPP", - "params": { - "amount": "1936", - "currency": "INR" - }, - "status": "PAID", - "type": "PRE-FULFILLMENT" - } - ], - "fulfillments": [ - { - "customer": { - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, - "person": { - "id": "0065716000", - "name": "Joe Adam" - } - } - } - ], - "billing": { - "name": "H.No 4323", - "address": "3rd main, 4th cross, ABC Apartments", - "city": "udupi" - } - } - } -} diff --git a/examples/homes-discoms/confirm/on_confirm-request.json b/examples/homes-discoms/confirm/on_confirm-request.json deleted file mode 100644 index 213eb856..00000000 --- a/examples/homes-discoms/confirm/on_confirm-request.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_confirm", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "bescom-bpp.com", - "bpp_uri": "https://api.bescom-bpp.com/v1", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "a23f2fdfbbb8ac", - "status": "COMPLETE", - "provider": { - "descriptor": { - "code": "MESCOM", - "name": "Mangalore Electricity Supply Company Ltd", - "short_desc": "MESCOM Ltd", - "images": [ - { - "url": "https://www.mescom.gov/content/assets/images/header/logo.png" - } - ] - }, - "id": "240005" - }, - "items": [ - { - "id": "a23f2fdfbbb8ac", - "descriptor": { - "code": "energy" - }, - "tags": [ - { - "descriptor": { - "name": "energy tariff" - }, - "list": [ - { - "descriptor": { - "name": "Fixed charges" - }, - "value": "110 rupees for 3 units" - }, - { - "descriptor": { - "name": "Energy charges" - }, - "value": "7 rupees per unit" - }, - { - "descriptor": { - "name": "FAC charges" - }, - "value": "0.4 per unit" - } - ] - } - ] - } - ], - "fulfillments": [ - { - "customer": { - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, - "person": { - "id": "0065716000", - "name": "Joe Adam" - } - }, - "state": { - "descriptor": { - "name": "bill has been paid" - } - } - } - ], - "billing": { - "name": "H.No 4323", - "address": "3rd main, 4th cross, ABC Apartments", - "city": "udupi" - }, - "quote": { - "breakup": [ - { - "price": { - "value": "330" - }, - "title": "Fixed Charge: 3 units, 110 rupees per unit" - }, - { - "price": { - "value": "700" - }, - "title": "Energy Charges: 100 units, 7 rupees per unit" - }, - { - "price": { - "value": "700" - }, - "title": "Energy Charges: 100 units, 7 rupees per unit" - }, - { - "price": { - "value": "80" - }, - "title": "FAC Charge: 200 units, 0.4 rupees per unit" - }, - { - "price": { - "value": "126" - }, - "title": "Tax" - } - ], - "price": { - "currency": "INR", - "value": "1936" - } - }, - "payments": [ - { - "collected_by": "BPP", - "params": { - "amount": "1936", - "currency": "INR" - }, - "status": "PAID", - "type": "PRE-FULFILLMENT", - "time": { - "range": { - "start": "14-06-2023 00:00:00", - "end": "30-06-2023 23:59:59" - } - } - } - ] - } - } -} diff --git a/examples/homes-discoms/init/on_init-request.json b/examples/homes-discoms/init/on_init-request.json deleted file mode 100644 index 9d45aa44..00000000 --- a/examples/homes-discoms/init/on_init-request.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_init", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "bescom-bpp.com", - "bpp_uri": "https://api.bescom-bpp.com/v1", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "descriptor": { - "code": "MESCOM", - "name": "Mangalore Electricity Supply Company Ltd", - "short_desc": "MESCOM Ltd", - "images": [ - { - "url": "https://www.mescom.gov/content/assets/images/header/logo.png" - } - ] - }, - "id": "240005" - }, - "items": [ - { - "id": "a23f2fdfbbb8ac", - "descriptor": { - "code": "energy" - }, - "tags": [ - { - "descriptor": { - "name": "energy tariff" - }, - "list": [ - { - "descriptor": { - "name": "Fixed charges" - }, - "value": "110 rupees for 3 units" - }, - { - "descriptor": { - "name": "Energy charges" - }, - "value": "7 rupees per unit" - }, - { - "descriptor": { - "name": "FAC charges" - }, - "value": "0.4 per unit" - } - ] - } - ] - } - ], - "fulfillments": [ - { - "customer": { - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, - "person": { - "id": "0065716000", - "name": "Joe Adam" - } - }, - "state": { - "descriptor": { - "name": "bill has been generated" - } - } - } - ], - "billing": { - "name": "H.No 4323", - "address": "3rd main, 4th cross, ABC Apartments", - "city": "udupi" - }, - "quote": { - "breakup": [ - { - "price": { - "value": "330" - }, - "title": "Fixed Charge: 3 units, 110 rupees per unit" - }, - { - "price": { - "value": "700" - }, - "title": "Energy Charges: 100 units, 7 rupees per unit" - }, - { - "price": { - "value": "700" - }, - "title": "Energy Charges: 100 units, 7 rupees per unit" - }, - { - "price": { - "value": "80" - }, - "title": "FAC Charge: 200 units, 0.4 rupees per unit" - }, - { - "price": { - "value": "126" - }, - "title": "Tax" - } - ], - "price": { - "currency": "INR", - "value": "1936" - } - }, - "payments": [ - { - "collected_by": "BPP", - "url": "https://gateway.mescom.gov", - "params": { - "amount": "1936", - "currency": "INR" - }, - "status": "NOT-PAID", - "type": "PRE-FULFILLMENT", - "time": { - "range": { - "start": "14-06-2023 00:00:00", - "end": "30-06-2023 23:59:59" - } - } - } - ] - } - } -} diff --git a/examples/homes-discoms/status/on_status-request.json b/examples/homes-discoms/status/on_status-request.json deleted file mode 100644 index 82d3a81d..00000000 --- a/examples/homes-discoms/status/on_status-request.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_status", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "bescom-bpp.com", - "bpp_uri": "https://api.bescom-bpp.com/v1", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "a23f2fdfbbb8ac", - "provider": { - "descriptor": { - "code": "MESCOM", - "name": "Mangalore Electricity Supply Company Ltd", - "short_desc": "MESCOM Ltd", - "images": [ - { - "url": "https://www.mescom.gov/content/assets/images/header/logo.png" - } - ] - }, - "id": "240005" - }, - "items": [ - { - "id": "a23f2fdfbbb8ac", - "descriptor": { - "code": "energy" - }, - "tags": [ - { - "descriptor": { - "name": "energy tariff" - }, - "list": [ - { - "descriptor": { - "name": "Fixed charges" - }, - "value": "110 rupees for 3 units" - }, - { - "descriptor": { - "name": "Energy charges" - }, - "value": "7 rupees per unit" - }, - { - "descriptor": { - "name": "FAC charges" - }, - "value": "0.4 per unit" - } - ] - } - ] - } - ], - "fulfillments": [ - { - "customer": { - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, - "person": { - "id": "0065716000", - "name": "Joe Adam" - } - }, - "state": { - "descriptor": { - "name": "bill overdue" - } - } - } - ], - "billing": { - "name": "H.No 4323", - "address": "3rd main, 4th cross, ABC Apartments", - "city": "udupi" - }, - "quote": { - "breakup": [ - { - "price": { - "value": "330" - }, - "title": "Fixed Charge: 3 units, 110 rupees per unit" - }, - { - "price": { - "value": "700" - }, - "title": "Energy Charges: 100 units, 7 rupees per unit" - }, - { - "price": { - "value": "700" - }, - "title": "Energy Charges: 100 units, 7 rupees per unit" - }, - { - "price": { - "value": "80" - }, - "title": "FAC Charge: 200 units, 0.4 rupees per unit" - }, - { - "price": { - "value": "126" - }, - "title": "Tax" - } - ], - "price": { - "currency": "INR", - "value": "1936" - } - }, - "payments": [ - { - "collected_by": "BPP", - "url": "https://gateway.mescom.gov", - "params": { - "amount": "1936", - "currency": "INR" - }, - "status": "NOT-PAID", - "type": "PRE-FULFILLMENT", - "time": { - "range": { - "start": "14-06-2023 00:00:00", - "end": "30-06-2023 23:59:59" - } - } - } - ] - } - } -} diff --git a/examples/homes-discoms/status/status-request.json b/examples/homes-discoms/status/status-request.json deleted file mode 100644 index 5668b1f7..00000000 --- a/examples/homes-discoms/status/status-request.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "status", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "bescom-bpp.com", - "bpp_uri": "https://api.bescom-bpp.com/v1", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order_id": "a23f2fdfbbb8ac" - } -} diff --git a/examples/microgrids/aggregator-to-individuals/cancel/cancel-request.json b/examples/microgrids/aggregator-to-individuals/cancel/cancel-request.json deleted file mode 100644 index 8e376eb1..00000000 --- a/examples/microgrids/aggregator-to-individuals/cancel/cancel-request.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_cancel", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "5f0acfd5", - "cancellation_reason_id": "5", - "descriptor": { - "code": "grid-down" - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/cancel/on_cancel-request.json b/examples/microgrids/aggregator-to-individuals/cancel/on_cancel-request.json deleted file mode 100644 index f3578e85..00000000 --- a/examples/microgrids/aggregator-to-individuals/cancel/on_cancel-request.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_cancel", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "5f0acfd5", - "status": "CANCELLED", - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Joe Adam" - }, - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Automatic Dispatch", - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-cancelled", - "name": "energy transaction cancelled" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be stored" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - }, - "xinput": { - "form_response": { - "status": true, - "submission_id": "73ef9742-c17d-4c4e-92e3-b057960863af" - } - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/confirm/confirm-request-automatic-and-manual-dispatch.json b/examples/microgrids/aggregator-to-individuals/confirm/confirm-request-automatic-and-manual-dispatch.json deleted file mode 100644 index 2d3eae24..00000000 --- a/examples/microgrids/aggregator-to-individuals/confirm/confirm-request-automatic-and-manual-dispatch.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "init", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "id": "5f0acfd5" - }, - "items": [ - { - "id": "5f0acfd5-grid-1" - } - ], - "fulfillments": [ - { - "id": "1" - } - ], - "xinput": { - "head": { - "descriptor": { - "name": "Terms and Conditions" - }, - "index": { - "min": 0, - "cur": 0, - "max": 0 - }, - "headings": [ - "Terms and Conditions" - ] - }, - "form": { - "id": "d097c2f5-cb8d-42fe-900e-dfecdede16fb", - "mime_type": "text/html", - "url": "https://6vs8xnx5i7.icicibank.co.in/loans/xinput/formid/a23f2fdfbbb8ac402bf259d75", - "resubmit": false, - "multiple_sumbissions": false - }, - "required": true - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/confirm/on_confirm-request-automatic-dispatch.json b/examples/microgrids/aggregator-to-individuals/confirm/on_confirm-request-automatic-dispatch.json deleted file mode 100644 index ea5e78cc..00000000 --- a/examples/microgrids/aggregator-to-individuals/confirm/on_confirm-request-automatic-dispatch.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_confirm", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "5f0acfd5", - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Joe Adam" - }, - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Automatic Dispatch", - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-confirmed", - "name": "energy transaction confirmed" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be stored" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - }, - "xinput": { - "form_response": { - "status": true, - "submission_id": "73ef9742-c17d-4c4e-92e3-b057960863af" - } - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/confirm/on_confirm-request-manual-dispatch.json b/examples/microgrids/aggregator-to-individuals/confirm/on_confirm-request-manual-dispatch.json deleted file mode 100644 index f3d78a19..00000000 --- a/examples/microgrids/aggregator-to-individuals/confirm/on_confirm-request-manual-dispatch.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_confirm", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "5f0acfd5", - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Joe Adam" - }, - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Manual Dispatch", - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-confirmed", - "name": "energy transaction confirmed" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be stored" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - }, - "xinput": { - "form_response": { - "status": true, - "submission_id": "73ef9742-c17d-4c4e-92e3-b057960863af" - } - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/init/init-request-automatic-dispatch.json b/examples/microgrids/aggregator-to-individuals/init/init-request-automatic-dispatch.json deleted file mode 100644 index 5745d89b..00000000 --- a/examples/microgrids/aggregator-to-individuals/init/init-request-automatic-dispatch.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "init", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "id": "5f0acfd5" - }, - "items": [ - { - "id": "5f0acfd5-grid-1" - } - ], - "fulfillments": [ - { - "id": "1" - } - ], - "xinput": { - "head": { - "descriptor": { - "name": "Dispatch Consent" - }, - "index": { - "min": 0, - "cur": 0, - "max": 0 - }, - "headings": [ - "Dispatch Consent" - ] - }, - "form": { - "id": "d097c2f5-cb8d-42fe-900e-dfecdede16fb", - "mime_type": "text/html", - "url": "https://6vs8xnx5i7.icicibank.co.in/loans/xinput/formid/a23f2fdfbbb8ac402bf259d75", - "resubmit": false, - "multiple_sumbissions": false - }, - "required": true - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/init/init-request-manual-dispatch.json b/examples/microgrids/aggregator-to-individuals/init/init-request-manual-dispatch.json deleted file mode 100644 index 11e573af..00000000 --- a/examples/microgrids/aggregator-to-individuals/init/init-request-manual-dispatch.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "init", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "id": "5f0acfd5" - }, - "items": [ - { - "id": "5f0acfd5-grid-1" - } - ], - "fulfillments": [ - { - "id": "1" - } - ] - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/init/on_init-request-automatic-dispatch.json b/examples/microgrids/aggregator-to-individuals/init/on_init-request-automatic-dispatch.json deleted file mode 100644 index af1600b9..00000000 --- a/examples/microgrids/aggregator-to-individuals/init/on_init-request-automatic-dispatch.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_init", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Joe Adam" - }, - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Automatic Dispatch", - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-initiated", - "name": "energy transaction initiated" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be stored" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - }, - "xinput": { - "form_response": { - "status": true, - "submission_id": "73ef9742-c17d-4c4e-92e3-b057960863af" - } - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/init/on_init-request-manual-dispatch.json b/examples/microgrids/aggregator-to-individuals/init/on_init-request-manual-dispatch.json deleted file mode 100644 index 9003a302..00000000 --- a/examples/microgrids/aggregator-to-individuals/init/on_init-request-manual-dispatch.json +++ /dev/null @@ -1,146 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_init", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Joe Adam" - }, - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Manual Dispatch", - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-initiated", - "name": "energy transaction initiated" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be stored" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/search/on_search-request-automatic-dispatch.json b/examples/microgrids/aggregator-to-individuals/search/on_search-request-automatic-dispatch.json deleted file mode 100644 index 6628fe58..00000000 --- a/examples/microgrids/aggregator-to-individuals/search/on_search-request-automatic-dispatch.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_search", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "catalog": { - "descriptor": { - "code": "energy" - }, - "providers": [ - { - "id": "5f0acfd5", - "descriptor": { - "name": "Joe Adam" - }, - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ], - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - }, - { - "id": "5f0acfd5-grid-2", - "descriptor": { - "name": "Storage Grid 2" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "350", - "unit": "kWH" - } - } - }, - "locations": [ - "2" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Automatic Dispatch", - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "315.0", - "unit": "kWH" - } - } - } - ], - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ] - } - ] - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/search/on_search-request-manual-dispatch.json b/examples/microgrids/aggregator-to-individuals/search/on_search-request-manual-dispatch.json deleted file mode 100644 index 4b344076..00000000 --- a/examples/microgrids/aggregator-to-individuals/search/on_search-request-manual-dispatch.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_search", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "catalog": { - "descriptor": { - "code": "energy" - }, - "providers": [ - { - "id": "5f0acfd5", - "descriptor": { - "name": "Joe Adam" - }, - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ], - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - }, - { - "id": "5f0acfd5-grid-2", - "descriptor": { - "name": "Storage Grid 2" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "350", - "unit": "kWH" - } - } - }, - "locations": [ - "2" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Manual Dispatch", - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "315.0", - "unit": "kWH" - } - } - } - ], - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ] - } - ] - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/search/search-request.json b/examples/microgrids/aggregator-to-individuals/search/search-request.json deleted file mode 100644 index ae048fc8..00000000 --- a/examples/microgrids/aggregator-to-individuals/search/search-request.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "search", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "intent": { - "item": { - "descriptor": { - "code": "energy" - }, - "quantity": { - "available": { - "value": "300.0", - "unit": "kWH" - } - } - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/select/on_select-request-automatic-dispatch.json b/examples/microgrids/aggregator-to-individuals/select/on_select-request-automatic-dispatch.json deleted file mode 100644 index dc5f71b9..00000000 --- a/examples/microgrids/aggregator-to-individuals/select/on_select-request-automatic-dispatch.json +++ /dev/null @@ -1,140 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_select", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Joe Adam" - }, - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Automatic Dispatch", - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be stored" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/select/on_select-request-manual-dispatch.json b/examples/microgrids/aggregator-to-individuals/select/on_select-request-manual-dispatch.json deleted file mode 100644 index 1e355cc1..00000000 --- a/examples/microgrids/aggregator-to-individuals/select/on_select-request-manual-dispatch.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_select", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Joe Adam" - }, - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Manual Dispatch", - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "315.0", - "unit": "kWH" - } - } - } - ], - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - } - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/status/on_status-request-automatic-dispatch.json b/examples/microgrids/aggregator-to-individuals/status/on_status-request-automatic-dispatch.json deleted file mode 100644 index badf39a9..00000000 --- a/examples/microgrids/aggregator-to-individuals/status/on_status-request-automatic-dispatch.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_confirm", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "5f0acfd5", - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Joe Adam" - }, - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Automatic Dispatch", - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-in-progress", - "name": "200 out of 300 kWH transferred" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be stored" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/status/on_status-request-manual-dispatch-penalty.json b/examples/microgrids/aggregator-to-individuals/status/on_status-request-manual-dispatch-penalty.json deleted file mode 100644 index 3943afe1..00000000 --- a/examples/microgrids/aggregator-to-individuals/status/on_status-request-manual-dispatch-penalty.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_confirm", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "5f0acfd5", - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Joe Adam" - }, - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Automatic Dispatch", - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-not-started", - "name": "Manual dispatch hasn't begun yet" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be stored" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - }, - { - "title": "Penalty for late manual dispatch of energy", - "price": { - "value": "2000", - "currency": "INR" - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/status/on_status-request-manual-dispatch.json b/examples/microgrids/aggregator-to-individuals/status/on_status-request-manual-dispatch.json deleted file mode 100644 index 6efb2847..00000000 --- a/examples/microgrids/aggregator-to-individuals/status/on_status-request-manual-dispatch.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_confirm", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "5f0acfd5", - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Joe Adam" - }, - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Manual Dispatch", - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-in-progress", - "name": "200 out of 300 kWH transferred" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be stored" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/status/status-request.json b/examples/microgrids/aggregator-to-individuals/status/status-request.json deleted file mode 100644 index 2897f116..00000000 --- a/examples/microgrids/aggregator-to-individuals/status/status-request.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "status", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order_id": "5f0acfd5" - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/support/on_support-request.json b/examples/microgrids/aggregator-to-individuals/support/on_support-request.json deleted file mode 100644 index a32c58b3..00000000 --- a/examples/microgrids/aggregator-to-individuals/support/on_support-request.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_support", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "support": { - "order_id": "6743e9e2-4fb5-487c-92b7", - "phone": "1800 1080", - "email": "customer.care@sheru.com", - "url": "https://www.sheru.com/helpdesk" - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/support/support-request.json b/examples/microgrids/aggregator-to-individuals/support/support-request.json deleted file mode 100644 index 6587a170..00000000 --- a/examples/microgrids/aggregator-to-individuals/support/support-request.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "support", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "support": { - "order_id": "6743e9e2-4fb5-487c-92b7", - "phone": "+919876543210", - "email": "support@sheru.com" - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/update/on_update-request.json b/examples/microgrids/aggregator-to-individuals/update/on_update-request.json deleted file mode 100644 index 73882b55..00000000 --- a/examples/microgrids/aggregator-to-individuals/update/on_update-request.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_update", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "5f0acfd5", - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Joe Adam" - }, - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Automatic Dispatch", - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "200.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-updated", - "name": "energy transaction updated" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-1600" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be stored" - }, - "quantity": { - "selected": { - "measure": { - "value": "200", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-1600", - "currency": "INR" - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/update/update-request.json b/examples/microgrids/aggregator-to-individuals/update/update-request.json deleted file mode 100644 index 20274fae..00000000 --- a/examples/microgrids/aggregator-to-individuals/update/update-request.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "update", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "5f0acfd5", - "items": [ - { - "descriptor": { - "code": "energy" - }, - "quantity": { - "available": { - "value": "200.0", - "unit": "kWH" - } - } - } - ] - }, - "updated_target": "order.items[0].quantity.available.value" - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/cancel/cancel-request.json b/examples/microgrids/individuals-to-aggregator/cancel/cancel-request.json deleted file mode 100644 index 8e376eb1..00000000 --- a/examples/microgrids/individuals-to-aggregator/cancel/cancel-request.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_cancel", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "5f0acfd5", - "cancellation_reason_id": "5", - "descriptor": { - "code": "grid-down" - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/cancel/on_cancel-request.json b/examples/microgrids/individuals-to-aggregator/cancel/on_cancel-request.json deleted file mode 100644 index 4f99bce3..00000000 --- a/examples/microgrids/individuals-to-aggregator/cancel/on_cancel-request.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_confirm", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "5f0acfd5", - "status": "CANCELLED", - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Energy Storage Solutions" - }, - "images": [ - { - "url": "https://energystoragesolutions.in/images/logo.png" - } - ], - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Automatic Dispatch", - "contact": { - "email": "energystoragesolutions@org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-cancelled", - "name": "energy transaction cancelled" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be stored" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/confirm/confirm-request-automatic-dispatch-tnc.json b/examples/microgrids/individuals-to-aggregator/confirm/confirm-request-automatic-dispatch-tnc.json deleted file mode 100644 index 9a052c3e..00000000 --- a/examples/microgrids/individuals-to-aggregator/confirm/confirm-request-automatic-dispatch-tnc.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "confirm", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "id": "5f0acfd5" - }, - "items": [ - { - "id": "5f0acfd5-grid-1" - } - ], - "fulfillments": [ - { - "id": "1" - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be given" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - }, - "xinput": { - "form_response": { - "status": true, - "submission_id": "73ef9742-c17d-4c4e-92e3-b057960863af" - } - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/confirm/confirm-request.json b/examples/microgrids/individuals-to-aggregator/confirm/confirm-request.json deleted file mode 100644 index 3169216b..00000000 --- a/examples/microgrids/individuals-to-aggregator/confirm/confirm-request.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "confirm", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "id": "5f0acfd5" - }, - "items": [ - { - "id": "5f0acfd5-grid-1" - } - ], - "fulfillments": [ - { - "id": "1" - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be given" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/confirm/on_confirm-request-automatic-dispatch.json b/examples/microgrids/individuals-to-aggregator/confirm/on_confirm-request-automatic-dispatch.json deleted file mode 100644 index d2de883a..00000000 --- a/examples/microgrids/individuals-to-aggregator/confirm/on_confirm-request-automatic-dispatch.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_confirm", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "5f0acfd5", - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Energy Storage Solutions" - }, - "images": [ - { - "url": "https://energystoragesolutions.in/images/logo.png" - } - ], - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Automatic Dispatch", - "contact": { - "email": "energystoragesolutions@org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-confirmed", - "name": "energy transaction confirmed" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be stored" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/confirm/on_confirm-request-manual-dispatch.json b/examples/microgrids/individuals-to-aggregator/confirm/on_confirm-request-manual-dispatch.json deleted file mode 100644 index 487d0a57..00000000 --- a/examples/microgrids/individuals-to-aggregator/confirm/on_confirm-request-manual-dispatch.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_confirm", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "5f0acfd5", - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Energy Storage Solutions" - }, - "images": [ - { - "url": "https://energystoragesolutions.in/images/logo.png" - } - ], - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Manual Dispatch", - "contact": { - "email": "energystoragesolutions@org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-confirmed", - "name": "energy transaction confirmed" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be stored" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/init/init-request-automatic-dispatch-consent.json b/examples/microgrids/individuals-to-aggregator/init/init-request-automatic-dispatch-consent.json deleted file mode 100644 index bf1fa185..00000000 --- a/examples/microgrids/individuals-to-aggregator/init/init-request-automatic-dispatch-consent.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "init", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "id": "5f0acfd5" - }, - "items": [ - { - "id": "5f0acfd5-grid-1" - } - ], - "fulfillments": [ - { - "id": "1" - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "xinput": { - "form_response": { - "status": true, - "submission_id": "73ef9742-c17d-4c4e-92e3-b057960863af" - } - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/init/init-request.json b/examples/microgrids/individuals-to-aggregator/init/init-request.json deleted file mode 100644 index 1b04d44d..00000000 --- a/examples/microgrids/individuals-to-aggregator/init/init-request.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "init", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "id": "5f0acfd5" - }, - "items": [ - { - "id": "5f0acfd5-grid-1" - } - ], - "fulfillments": [ - { - "id": "1" - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/init/on_init-request-automatic-dispatch-consent.json b/examples/microgrids/individuals-to-aggregator/init/on_init-request-automatic-dispatch-consent.json deleted file mode 100644 index 3de7bd08..00000000 --- a/examples/microgrids/individuals-to-aggregator/init/on_init-request-automatic-dispatch-consent.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_init", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Energy Storage Solutions" - }, - "images": [ - { - "url": "https://energystoragesolutions.in/images/logo.png" - } - ], - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Automatic Dispatch", - "contact": { - "email": "energystoragesolutions@org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-initiated", - "name": "energy transaction initiated" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be given" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - }, - "xinput": { - "head": { - "descriptor": { - "name": "Dispatch Consent" - }, - "index": { - "min": 0, - "cur": 0, - "max": 1 - }, - "headings": [ - "Dispatch Consent", - "Terms and Conditions" - ] - }, - "form": { - "id": "d097c2f5-cb8d-42fe-900e-dfecdede16fb", - "mime_type": "text/html", - "url": "https://6vs8xnx5i7.icicibank.co.in/loans/xinput/formid/a23f2fdfbbb8ac402bf259d75", - "resubmit": false, - "multiple_sumbissions": false - }, - "required": true - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/init/on_init-request-automatic-dispatch-tnc.json b/examples/microgrids/individuals-to-aggregator/init/on_init-request-automatic-dispatch-tnc.json deleted file mode 100644 index c6c74ecd..00000000 --- a/examples/microgrids/individuals-to-aggregator/init/on_init-request-automatic-dispatch-tnc.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_init", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Energy Storage Solutions" - }, - "images": [ - { - "url": "https://energystoragesolutions.in/images/logo.png" - } - ], - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Automatic Dispatch", - "contact": { - "email": "energystoragesolutions@org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-initiated", - "name": "energy transaction initiated" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be given" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - }, - "xinput": { - "head": { - "descriptor": { - "name": "Terms and Conditions" - }, - "index": { - "min": 0, - "cur": 1, - "max": 1 - }, - "headings": [ - "Dispatch Consent", - "Terms and Conditions" - ] - }, - "form": { - "id": "d097c2f5-cb8d-42fe-900e-dfecdede16fb", - "mime_type": "text/html", - "url": "https://6vs8xnx5i7.icicibank.co.in/loans/xinput/formid/a23f2fdfbbb8ac402bf259d75", - "resubmit": false, - "multiple_sumbissions": false - }, - "required": true - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/init/on_init-request-manual-dispatch-tnc.json b/examples/microgrids/individuals-to-aggregator/init/on_init-request-manual-dispatch-tnc.json deleted file mode 100644 index fb6675b2..00000000 --- a/examples/microgrids/individuals-to-aggregator/init/on_init-request-manual-dispatch-tnc.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_init", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Energy Storage Solutions" - }, - "images": [ - { - "url": "https://energystoragesolutions.in/images/logo.png" - } - ], - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Manual Dispatch", - "contact": { - "email": "energystoragesolutions@org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-initiated", - "name": "energy transaction initiated" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be given" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - }, - "xinput": { - "head": { - "descriptor": { - "name": "Terms and Conditions" - }, - "index": { - "min": 0, - "cur": 0, - "max": 0 - }, - "headings": [ - "Terms and Conditions" - ] - }, - "form": { - "id": "d097c2f5-cb8d-42fe-900e-dfecdede16fb", - "mime_type": "text/html", - "url": "https://6vs8xnx5i7.icicibank.co.in/loans/xinput/formid/a23f2fdfbbb8ac402bf259d75", - "resubmit": false, - "multiple_sumbissions": false - }, - "required": true - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/search/on_search-request-automatic-dispatch.json b/examples/microgrids/individuals-to-aggregator/search/on_search-request-automatic-dispatch.json deleted file mode 100644 index 1cf99575..00000000 --- a/examples/microgrids/individuals-to-aggregator/search/on_search-request-automatic-dispatch.json +++ /dev/null @@ -1,143 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_search", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "catalog": { - "descriptor": { - "code": "energy" - }, - "providers": [ - { - "id": "5f0acfd5", - "descriptor": { - "name": "Energy Storage Solutions" - }, - "images": [ - { - "url": "https://energystoragesolutions.in/images/logo.png" - } - ], - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ], - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - }, - { - "id": "5f0acfd5-grid-2", - "descriptor": { - "name": "Storage Grid 2" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "350", - "unit": "kWH" - } - } - }, - "locations": [ - "2" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Automatic Dispatch", - "contact": { - "email": "energystoragesolutions@org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ] - } - ] - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/search/on_search-request-manual-dispatch.json b/examples/microgrids/individuals-to-aggregator/search/on_search-request-manual-dispatch.json deleted file mode 100644 index 7ba5924a..00000000 --- a/examples/microgrids/individuals-to-aggregator/search/on_search-request-manual-dispatch.json +++ /dev/null @@ -1,143 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_search", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "catalog": { - "descriptor": { - "code": "energy" - }, - "providers": [ - { - "id": "5f0acfd5", - "descriptor": { - "name": "Energy Storage Solutions" - }, - "images": [ - { - "url": "https://energystoragesolutions.in/images/logo.png" - } - ], - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ], - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - }, - { - "id": "5f0acfd5-grid-2", - "descriptor": { - "name": "Storage Grid 2" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "350", - "unit": "kWH" - } - } - }, - "locations": [ - "2" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Manual Dispatch", - "contact": { - "email": "energystoragesolutions@org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ] - } - ] - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/select/on_select-request-automatic-dispatch.json b/examples/microgrids/individuals-to-aggregator/select/on_select-request-automatic-dispatch.json deleted file mode 100644 index fe7829de..00000000 --- a/examples/microgrids/individuals-to-aggregator/select/on_select-request-automatic-dispatch.json +++ /dev/null @@ -1,145 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_select", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Energy Storage Solutions" - }, - "images": [ - { - "url": "https://energystoragesolutions.in/images/logo.png" - } - ], - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Automatic Dispatch", - "contact": { - "email": "energystoragesolutions@org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be stored" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/select/on_select-request-manual-dispatch.json b/examples/microgrids/individuals-to-aggregator/select/on_select-request-manual-dispatch.json deleted file mode 100644 index da9eaa89..00000000 --- a/examples/microgrids/individuals-to-aggregator/select/on_select-request-manual-dispatch.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_select", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Energy Storage Solutions" - }, - "images": [ - { - "url": "https://energystoragesolutions.in/images/logo.png" - } - ], - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Manual Dispatch", - "contact": { - "email": "energystoragesolutions@org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - } - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/select/select-request.json b/examples/microgrids/individuals-to-aggregator/select/select-request.json deleted file mode 100644 index 54d26ba8..00000000 --- a/examples/microgrids/individuals-to-aggregator/select/select-request.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "select", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "provider": { - "id": "5f0acfd5" - }, - "items": [ - { - "id": "5f0acfd5-grid-1" - } - ], - "fulfillments": [ - { - "id": "1" - } - ] - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/status/on_status-request-automatic-dispatch.json b/examples/microgrids/individuals-to-aggregator/status/on_status-request-automatic-dispatch.json deleted file mode 100644 index 4d40b8f4..00000000 --- a/examples/microgrids/individuals-to-aggregator/status/on_status-request-automatic-dispatch.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_confirm", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "5f0acfd5", - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Energy Storage Solutions" - }, - "images": [ - { - "url": "https://energystoragesolutions.in/images/logo.png" - } - ], - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Automatic Dispatch", - "contact": { - "email": "energystoragesolutions@org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-in-progress", - "name": "200 out of 300 kWH transferred" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be stored" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/status/on_status-request-manual-dispatch-penalty.json b/examples/microgrids/individuals-to-aggregator/status/on_status-request-manual-dispatch-penalty.json deleted file mode 100644 index e5eacd52..00000000 --- a/examples/microgrids/individuals-to-aggregator/status/on_status-request-manual-dispatch-penalty.json +++ /dev/null @@ -1,159 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_confirm", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "5f0acfd5", - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Energy Storage Solutions" - }, - "images": [ - { - "url": "https://energystoragesolutions.in/images/logo.png" - } - ], - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Automatic Dispatch", - "contact": { - "email": "energystoragesolutions@org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-not-started", - "name": "Manual dispatch hasn't begun yet" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be stored" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - }, - { - "title": "Penalty for late manual dispatch of energy", - "price": { - "value": "2000", - "currency": "INR" - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/status/on_status-request-manual-dispatch.json b/examples/microgrids/individuals-to-aggregator/status/on_status-request-manual-dispatch.json deleted file mode 100644 index 765da109..00000000 --- a/examples/microgrids/individuals-to-aggregator/status/on_status-request-manual-dispatch.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_confirm", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "5f0acfd5", - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Energy Storage Solutions" - }, - "images": [ - { - "url": "https://energystoragesolutions.in/images/logo.png" - } - ], - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Manual Dispatch", - "contact": { - "email": "energystoragesolutions@org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-in-progress", - "name": "200 out of 300 kWH transferred" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-2400" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be stored" - }, - "quantity": { - "selected": { - "measure": { - "value": "300", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-2400", - "currency": "INR" - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/support/on_support-request.json b/examples/microgrids/individuals-to-aggregator/support/on_support-request.json deleted file mode 100644 index a32c58b3..00000000 --- a/examples/microgrids/individuals-to-aggregator/support/on_support-request.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_support", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "support": { - "order_id": "6743e9e2-4fb5-487c-92b7", - "phone": "1800 1080", - "email": "customer.care@sheru.com", - "url": "https://www.sheru.com/helpdesk" - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/support/support-request.json b/examples/microgrids/individuals-to-aggregator/support/support-request.json deleted file mode 100644 index 6587a170..00000000 --- a/examples/microgrids/individuals-to-aggregator/support/support-request.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "support", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "support": { - "order_id": "6743e9e2-4fb5-487c-92b7", - "phone": "+919876543210", - "email": "support@sheru.com" - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/update/on_update-request.json b/examples/microgrids/individuals-to-aggregator/update/on_update-request.json deleted file mode 100644 index 73882b55..00000000 --- a/examples/microgrids/individuals-to-aggregator/update/on_update-request.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "on_update", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "5f0acfd5", - "provider": { - "id": "5f0acfd5", - "descriptor": { - "name": "Joe Adam" - }, - "location": [ - { - "id": "1", - "gps": "12.345345,77.389754" - }, - { - "id": "2", - "gps": "12.247934,77.876987" - } - ] - }, - "items": [ - { - "id": "5f0acfd5-grid-1", - "descriptor": { - "name": "Storage Grid 1" - }, - "price": { - "value": "8", - "currency": "INR / kWH" - }, - "quantity": { - "available": { - "measure": { - "value": "400", - "unit": "kWH" - } - } - }, - "locations": [ - "1" - ], - "fulfillments": [ - "1" - ] - } - ], - "fulfillments": [ - { - "id": "1", - "type": "Automatic Dispatch", - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, - "stops": [ - { - "quantity": { - "required": { - "value": "200.0", - "unit": "kWH" - } - } - } - ], - "state": { - "descriptor": { - "code": "transaction-updated", - "name": "energy transaction updated" - } - }, - "tags": [ - { - "descriptor": { - "name": "Energy Specifications" - }, - "list": [ - { - "descriptor": { - "name": "Power Rating" - }, - "value": "greater than 50kW" - }, - { - "descriptor": { - "name": "Availability" - }, - "value": "Available" - } - ], - "display": true - } - ] - } - ], - "billing": { - "email": "joe.adam@abc.org", - "name": "Joe Adam" - }, - "quote": { - "price": { - "currency": "INR", - "value": "-1600" - }, - "breakup": [ - { - "item": { - "descriptor": { - "name": "Estimated units to be stored" - }, - "quantity": { - "selected": { - "measure": { - "value": "200", - "unit": "kWh" - } - } - } - }, - "price": { - "value": "-1600", - "currency": "INR" - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/update/update-request.json b/examples/microgrids/individuals-to-aggregator/update/update-request.json deleted file mode 100644 index 20274fae..00000000 --- a/examples/microgrids/individuals-to-aggregator/update/update-request.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "context": { - "domain": "dent:0.1.0", - "action": "update", - "location": { - "country": { - "name": "India", - "code": "IND" - } - }, - "city": "std:080", - "version": "1.1.0", - "bap_id": "example-bap.com", - "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", - "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", - "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", - "timestamp": "2023-07-16T04:41:16Z" - }, - "message": { - "order": { - "id": "5f0acfd5", - "items": [ - { - "descriptor": { - "code": "energy" - }, - "quantity": { - "available": { - "value": "200.0", - "unit": "kWH" - } - } - } - ] - }, - "updated_target": "order.items[0].quantity.available.value" - } -} \ No newline at end of file diff --git a/examples/surplus-energy/confirm/confirm-request.json b/examples/surplus-energy/confirm/confirm-request.json new file mode 100644 index 00000000..8001f375 --- /dev/null +++ b/examples/surplus-energy/confirm/confirm-request.json @@ -0,0 +1,75 @@ +{ + "context": { + "domain": "dent:0.1.0", + "action": "confirm", + "location": { + "country": { + "name": "India", + "code": "IND" + } + }, + "city": "std:080", + "version": "1.1.0", + "bap_id": "sheru-bap.com", + "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", + "bpp_id": "turno-bpp.com", + "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", + "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "timestamp": "2023-07-16T04:41:16Z" + }, + "message": { + "order": { + "providers": { + "id": "a1b2c3d4-5678-4e89-a0b1-c2d3e4f5a6b7" + }, + "items": [ + { + "id": "1", + "quantity": { + "selected": { + "measure": { + "value": "4", + "unit": "kWH" + } + } + } + } + ], + "billing": { + "organization": { + "descriptor": { + "name": "Sheru Energy Ltd" + } + }, + "name": "Ramesh Dsouza", + "email": "ramesh@sheru.com", + "phone": "+91-9876555555" + }, + "fulfillments": [ + { + "customer": { + "person": { + "name": "Ramesh Dsouza" + }, + "contact": { + "phone": "+91-9887755555" + } + } + } + ], + "payments": [ + { + "url": "https://payment.gateway.in", + "type": "PRE-ORDER", + "status": "PAID", + "params": { + "transaction_id": "paytxn_131414231", + "amount": "8", + "currency": "INR" + } + } + ] + } + } +} \ No newline at end of file diff --git a/examples/surplus-energy/confirm/on_confirm.json b/examples/surplus-energy/confirm/on_confirm.json new file mode 100644 index 00000000..b18c2c36 --- /dev/null +++ b/examples/surplus-energy/confirm/on_confirm.json @@ -0,0 +1,132 @@ +{ + "context": { + "domain": "dent:0.1.0", + "action": "on_confirm", + "location": { + "country": { + "name": "India", + "code": "IND" + } + }, + "city": "std:080", + "version": "1.1.0", + "bap_id": "sheru-bap.com", + "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", + "bpp_id": "turno-bpp.com", + "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", + "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "timestamp": "2023-07-16T04:41:16Z" + }, + "message": { + "order": { + "id": "c8570489-0189-42bc-81fd-130d73ea16c4", + "providers": { + "id": "a1b2c3d4-5678-4e89-a0b1-c2d3e4f5a6b7", + "descriptor": { + "name": "Turno Batteries Storage Energy Ltd", + "short_desc": "Turno Batteries Storage Energy Ltd specializes in innovative energy storage solutions. We provide high-capacity, reliable battery systems for residential, commercial, and industrial use, ensuring sustainable and efficient power management.", + "images": [ + { + "url": "https://turno.energy/images/logo.png" + } + ] + } + }, + "items": [ + { + "id": "1", + "descriptor": { + "code": "energy", + "name": "Surplus Energy" + }, + "price": { + "value": "2", + "currency": "INR/kWH" + }, + "quantity": { + "available": { + "measure": { + "value": "4", + "unit": "kWH" + } + } + } + } + ], + "fulfillments": [ + { + "state": { + "descriptor": { + "code": "order-confirmed", + "name": "Energy Order has been confirmed" + } + }, + "customer": { + "person": { + "name": "Ramesh Dsouza" + }, + "contact": { + "phone": "+91-9887755555" + } + } + } + ], + "billing": { + "organization": { + "descriptor": { + "name": "Sheru Energy Ltd" + } + }, + "name": "Ramesh Dsouza", + "email": "ramesh@sheru.com", + "phone": "+91-9876555555" + }, + "quote": { + "price": { + "value": "8", + "currency": "INR" + }, + "breakup": [ + { + "item": { + "descriptor": { + "name": "Energy Demand cost" + }, + "quantity": { + "selected": { + "measure": { + "value": "4", + "unit": "kWh" + } + } + } + }, + "price": { + "value": "8", + "currency": "INR" + } + } + ] + }, + "payments": [ + { + "url": "https://payment.gateway.in", + "type": "PRE-ORDER", + "status": "PAID", + "params": { + "transaction_id": "paytxn_131414231", + "amount": "8", + "currency": "INR" + }, + "time": { + "range": { + "start": "2023-08-10T10:00:00Z", + "end": "2023-08-10T10:30:00Z" + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/examples/homes-discoms/init/init-request.json b/examples/surplus-energy/init/init-request.json similarity index 55% rename from examples/homes-discoms/init/init-request.json rename to examples/surplus-energy/init/init-request.json index dc99ef42..5b3d4c05 100644 --- a/examples/homes-discoms/init/init-request.json +++ b/examples/surplus-energy/init/init-request.json @@ -10,10 +10,10 @@ }, "city": "std:080", "version": "1.1.0", - "bap_id": "example-bap.com", + "bap_id": "sheru-bap.com", "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "bescom-bpp.com", - "bpp_uri": "https://api.bescom-bpp.com/v1", + "bpp_id": "turno-bpp.com", + "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", "timestamp": "2023-07-16T04:41:16Z" @@ -21,38 +21,43 @@ "message": { "order": { "provider": { - "id": "240005" + "id": "a1b2c3d4-5678-4e89-a0b1-c2d3e4f5a6b7" }, "items": [ { - "id": "a23f2fdfbbb8ac", + "id": "1", "quantity": { - "required": { - "value": "315", - "unit": "kWH" + "selected": { + "measure": { + "value": "4", + "unit": "kWH" + } } } } ], + "billing": { + "organization": { + "descriptor": { + "name": "Sheru Energy Ltd" + } + }, + "name": "Ramesh Dsouza", + "email": "ramesh@sheru.com", + "phone": "+91-9876555555" + }, "fulfillments": [ { "customer": { - "contact": { - "email": "joe.adam@abc.org", - "phone": "+91-9999999999" - }, "person": { - "id": "0065716000", - "name": "Joe Adam" + "name": "Ramesh Dsouza" + }, + "contact": { + "phone": "+91-9887755555" } } } - ], - "billing": { - "name": "H.No 4323", - "address": "3rd main, 4th cross, ABC Apartments", - "city": "udupi" - } + ] } } -} +} \ No newline at end of file diff --git a/examples/surplus-energy/init/on_init-request.json b/examples/surplus-energy/init/on_init-request.json new file mode 100644 index 00000000..42b87023 --- /dev/null +++ b/examples/surplus-energy/init/on_init-request.json @@ -0,0 +1,124 @@ +{ + "context": { + "domain": "dent:0.1.0", + "action": "on_init", + "location": { + "country": { + "name": "India", + "code": "IND" + } + }, + "city": "std:080", + "version": "1.1.0", + "bap_id": "sheru-bap.com", + "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", + "bpp_id": "turno-bpp.com", + "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", + "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "timestamp": "2023-07-16T04:41:16Z" + }, + "message": { + "order": { + "providers": { + "id": "a1b2c3d4-5678-4e89-a0b1-c2d3e4f5a6b7", + "descriptor": { + "name": "Turno Batteries Storage Energy Ltd", + "short_desc": "Turno Batteries Storage Energy Ltd specializes in innovative energy storage solutions. We provide high-capacity, reliable battery systems for residential, commercial, and industrial use, ensuring sustainable and efficient power management.", + "images": [ + { + "url": "https://turno.energy/images/logo.png" + } + ] + } + }, + "items": [ + { + "id": "1", + "descriptor": { + "code": "energy", + "name": "Surplus Energy" + }, + "price": { + "value": "2", + "currency": "INR/kWH" + }, + "quantity": { + "selected": { + "measure": { + "value": "4", + "unit": "kWH" + } + } + } + } + ], + "fulfillments": [ + { + "customer": { + "person": { + "name": "Ramesh Dsouza" + }, + "contact": { + "phone": "+91-9887755555" + } + } + } + ], + "billing": { + "organization": { + "descriptor": { + "name": "Sheru Energy Ltd" + } + }, + "name": "Ramesh Dsouza", + "email": "ramesh@sheru.com", + "phone": "+91-9876555555" + }, + "quote": { + "price": { + "value": "8", + "currency": "INR" + }, + "breakup": [ + { + "item": { + "descriptor": { + "name": "Energy cost" + }, + "quantity": { + "selected": { + "measure": { + "value": "4", + "unit": "kWh" + } + } + } + }, + "price": { + "value": "8", + "currency": "INR" + } + } + ] + }, + "payments": [ + { + "url": "https://payment.gateway.in", + "type": "PRE-ORDER", + "status": "NOT-PAID", + "params": { + "amount": "8", + "currency": "INR" + }, + "time": { + "range": { + "start": "2023-08-10T10:00:00Z", + "end": "2023-08-10T10:30:00Z" + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/examples/surplus-energy/search/on_search-request.json b/examples/surplus-energy/search/on_search-request.json new file mode 100644 index 00000000..97e52883 --- /dev/null +++ b/examples/surplus-energy/search/on_search-request.json @@ -0,0 +1,99 @@ +{ + "context": { + "domain": "dent:0.1.0", + "action": "on_search", + "location": { + "country": { + "name": "India", + "code": "IND" + } + }, + "city": "std:080", + "version": "1.1.0", + "bap_id": "sheru-bap.com", + "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", + "bpp_id": "turno-bpp.com", + "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", + "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "timestamp": "2023-07-16T04:41:16Z" + }, + "message": { + "catalog": { + "providers": [ + { + "id": "a1b2c3d4-5678-4e89-a0b1-c2d3e4f5a6b7", + "descriptor": { + "name": "Turno Batteries Storage Energy Ltd", + "short_desc": "Turno Batteries Storage Energy Ltd specializes in innovative energy storage solutions. We provide high-capacity, reliable battery systems for residential, commercial, and industrial use, ensuring sustainable and efficient power management.", + "images": [ + { + "url": "https://turno.energy/images/logo.png" + } + ] + }, + "categories": [ + { + "id": "2", + "descriptor": { + "code": "energy", + "name": "Surplus Energy" + } + } + ], + "locations": [ + { + "id": "1", + "gps": "12.345345,77.389754" + }, + { + "id": "2", + "gps": "12.247934,77.876987" + } + ], + "items": [ + { + "id": "1", + "descriptor": { + "code": "energy", + "name": "Surplus Energy" + }, + "price": { + "value": "2", + "currency": "INR/kWH" + }, + "quantity": { + "available": { + "measure": { + "value": "4", + "unit": "kWH" + } + } + }, + "category_ids": [ + "2" + ], + "tags": [ + { + "descriptor": { + "name": "energy-specifications" + }, + "list": [ + { + "descriptor": { + "name": "Energy type", + "code": "energy-type" + }, + "value": "Green Energy" + } + ], + "display": true + } + ] + } + ] + } + ] + } + } +} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/search/search-request.json b/examples/surplus-energy/search/search-request.json similarity index 76% rename from examples/microgrids/individuals-to-aggregator/search/search-request.json rename to examples/surplus-energy/search/search-request.json index 675d41b4..545f2d7b 100644 --- a/examples/microgrids/individuals-to-aggregator/search/search-request.json +++ b/examples/surplus-energy/search/search-request.json @@ -10,7 +10,7 @@ }, "city": "std:080", "version": "1.1.0", - "bap_id": "example-bap.com", + "bap_id": "sheru-bap.com", "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", @@ -18,15 +18,9 @@ }, "message": { "intent": { - "item": { + "category": { "descriptor": { "code": "energy" - }, - "quantity": { - "required": { - "value": "300.0", - "unit": "kWH" - } } } } diff --git a/examples/surplus-energy/select/on_select-request.json b/examples/surplus-energy/select/on_select-request.json new file mode 100644 index 00000000..cd972494 --- /dev/null +++ b/examples/surplus-energy/select/on_select-request.json @@ -0,0 +1,102 @@ +{ + "context": { + "domain": "dent:0.1.0", + "action": "on_select", + "location": { + "country": { + "name": "India", + "code": "IND" + } + }, + "city": "std:080", + "version": "1.1.0", + "bap_id": "sheru-bap.com", + "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", + "bpp_id": "turno-bpp.com", + "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", + "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "timestamp": "2023-07-16T04:41:16Z" + }, + "message": { + "order": { + "providers": { + "id": "a1b2c3d4-5678-4e89-a0b1-c2d3e4f5a6b7", + "descriptor": { + "name": "Turno Batteries Storage Energy Ltd", + "short_desc": "Turno Batteries Storage Energy Ltd specializes in innovative energy storage solutions. We provide high-capacity, reliable battery systems for residential, commercial, and industrial use, ensuring sustainable and efficient power management.", + "images": [ + { + "url": "https://turno.energy/images/logo.png" + } + ] + } + }, + "items": [ + { + "id": "1", + "descriptor": { + "code": "energy", + "name": "Surplus Energy" + }, + "price": { + "value": "2", + "currency": "INR/kWH" + }, + "quantity": { + "selected": { + "measure": { + "value": "4", + "unit": "kWH" + } + } + }, + "tags": [ + { + "descriptor": { + "name": "energy-specifications" + }, + "list": [ + { + "descriptor": { + "name": "Energy type", + "code": "energy-type" + }, + "value": "Green Energy" + } + ], + "display": true + } + ] + } + ], + "quote": { + "price": { + "value": "8", + "currency": "INR" + }, + "breakup": [ + { + "item": { + "descriptor": { + "name": "Energy cost" + }, + "quantity": { + "selected": { + "measure": { + "value": "4", + "unit": "kWh" + } + } + } + }, + "price": { + "value": "8", + "currency": "INR" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/examples/microgrids/aggregator-to-individuals/select/select-request.json b/examples/surplus-energy/select/select-request.json similarity index 66% rename from examples/microgrids/aggregator-to-individuals/select/select-request.json rename to examples/surplus-energy/select/select-request.json index 54d26ba8..c9ef0df7 100644 --- a/examples/microgrids/aggregator-to-individuals/select/select-request.json +++ b/examples/surplus-energy/select/select-request.json @@ -10,9 +10,9 @@ }, "city": "std:080", "version": "1.1.0", - "bap_id": "example-bap.com", + "bap_id": "sheru-bap.com", "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", + "bpp_id": "turno-bpp.com", "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", @@ -21,16 +21,19 @@ "message": { "order": { "provider": { - "id": "5f0acfd5" + "id": "a1b2c3d4-5678-4e89-a0b1-c2d3e4f5a6b7" }, "items": [ { - "id": "5f0acfd5-grid-1" - } - ], - "fulfillments": [ - { - "id": "1" + "id": "1", + "quantity": { + "selected": { + "measure": { + "value": "4", + "unit": "kWH" + } + } + } } ] } diff --git a/examples/surplus-energy/status/on_status-request.json b/examples/surplus-energy/status/on_status-request.json new file mode 100644 index 00000000..1312836e --- /dev/null +++ b/examples/surplus-energy/status/on_status-request.json @@ -0,0 +1,132 @@ +{ + "context": { + "domain": "dent:0.1.0", + "action": "on_status", + "location": { + "country": { + "name": "India", + "code": "IND" + } + }, + "city": "std:080", + "version": "1.1.0", + "bap_id": "sheru-bap.com", + "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", + "bpp_id": "turno-bpp.com", + "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", + "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", + "timestamp": "2023-07-16T04:41:16Z" + }, + "message": { + "order": { + "id": "c8570489-0189-42bc-81fd-130d73ea16c4", + "providers": { + "id": "a1b2c3d4-5678-4e89-a0b1-c2d3e4f5a6b7", + "descriptor": { + "name": "Turno Batteries Storage Energy Ltd", + "short_desc": "Turno Batteries Storage Energy Ltd specializes in innovative energy storage solutions. We provide high-capacity, reliable battery systems for residential, commercial, and industrial use, ensuring sustainable and efficient power management.", + "images": [ + { + "url": "https://turno.energy/images/logo.png" + } + ] + } + }, + "items": [ + { + "id": "1", + "descriptor": { + "code": "energy", + "name": "Surplus Energy" + }, + "price": { + "value": "2", + "currency": "INR/kWH" + }, + "quantity": { + "available": { + "measure": { + "value": "4", + "unit": "kWH" + } + } + } + } + ], + "fulfillments": [ + { + "state": { + "descriptor": { + "code": "order-transferred", + "name": "Energy has been transferred" + } + }, + "customer": { + "person": { + "name": "Ramesh Dsouza" + }, + "contact": { + "phone": "+91-9887755555" + } + } + } + ], + "billing": { + "organization": { + "descriptor": { + "name": "Sheru Energy Ltd" + } + }, + "name": "Ramesh Dsouza", + "email": "ramesh@sheru.com", + "phone": "+91-9876555555" + }, + "quote": { + "price": { + "value": "8", + "currency": "INR" + }, + "breakup": [ + { + "item": { + "descriptor": { + "name": "Energy Demand cost" + }, + "quantity": { + "selected": { + "measure": { + "value": "4", + "unit": "kWh" + } + } + } + }, + "price": { + "value": "8", + "currency": "INR" + } + } + ] + }, + "payments": [ + { + "url": "https://payment.gateway.in", + "type": "PRE-ORDER", + "status": "PAID", + "params": { + "transaction_id": "paytxn_131414231", + "amount": "8", + "currency": "INR" + }, + "time": { + "range": { + "start": "2023-08-10T10:00:00Z", + "end": "2023-08-10T10:30:00Z" + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/examples/microgrids/individuals-to-aggregator/status/status-request.json b/examples/surplus-energy/status/status-request.json similarity index 81% rename from examples/microgrids/individuals-to-aggregator/status/status-request.json rename to examples/surplus-energy/status/status-request.json index 2897f116..3c964792 100644 --- a/examples/microgrids/individuals-to-aggregator/status/status-request.json +++ b/examples/surplus-energy/status/status-request.json @@ -10,15 +10,15 @@ }, "city": "std:080", "version": "1.1.0", - "bap_id": "example-bap.com", + "bap_id": "sheru-bap.com", "bap_uri": "https://api.example-bap.com/pilot/bap/energy/v1", - "bpp_id": "example-bpp.com", + "bpp_id": "turno-bpp.com", "bpp_uri": "https://api.example-bpp.com/pilot/bpp/", "transaction_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", "message_id": "6743e9e2-4fb5-487c-92b7-13ba8018f176", "timestamp": "2023-07-16T04:41:16Z" }, "message": { - "order_id": "5f0acfd5" + "order_id": "c8570489-0189-42bc-81fd-130d73ea16c4" } } \ No newline at end of file From 52f17b48d075a2a3e48611e9822a245629e0403e Mon Sep 17 00:00:00 2001 From: Mayank bansal Date: Tue, 18 Jun 2024 09:05:02 +0530 Subject: [PATCH 6/9] removed NP Logs --- NP Logs/Logs upload instructions.md | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 NP Logs/Logs upload instructions.md diff --git a/NP Logs/Logs upload instructions.md b/NP Logs/Logs upload instructions.md deleted file mode 100644 index 7e8a5e28..00000000 --- a/NP Logs/Logs upload instructions.md +++ /dev/null @@ -1,21 +0,0 @@ -# Instructions for Network Participants to Upload Their Logs - -1. **Navigate to the NP Logs Folder:** - - Open the file explorer or command line interface. - - Locate and navigate to the designated NP Logs Folder on the shared network drive or platform. - -2. **Create a New Folder with Your Name:** - - Within the NP Logs Folder, create a new folder with your name (NP Name). - - Use this folder to organize and store your logs securely. - -3. **Upload All Logs into Respective Subfolders:** - - Inside your named folder, create subfolders such as 'search,' 'select,' 'init,' 'confirm,' etc. - - Upload the corresponding logs into their respective subfolders. - - Ensure that all logs are organized according to their specific categories. - -4. **Create a Pull Request (PR) with the Draft Branch:** - - After successfully uploading your logs, navigate to the version control system or platform used by the project. - - Commit the changes made to your forked repository and create a Pull Request (PR) for your changes with the `draft` branch, providing a clear description of the updates and logs added. - - Assign relevant reviewers and wait for approval before merging the changes into the main branch. - -By following these instructions, you will contribute to maintaining an organized and traceable log system for the network participants. \ No newline at end of file From 1db04407ce1e3fb0a64143c467950b312ffa025d Mon Sep 17 00:00:00 2001 From: Mayank bansal Date: Wed, 19 Jun 2024 20:29:11 +0530 Subject: [PATCH 7/9] en charging l2 config added --- api/l2-config/uei_energydemand_1.1.0.yaml | 0 api/l2-config/uei_evcharging_1.1.0.yaml | 2987 +++++++++++++++++++ api/l2-config/uei_surplus-energy_1.1.0.yaml | 0 3 files changed, 2987 insertions(+) create mode 100644 api/l2-config/uei_energydemand_1.1.0.yaml create mode 100644 api/l2-config/uei_evcharging_1.1.0.yaml create mode 100644 api/l2-config/uei_surplus-energy_1.1.0.yaml diff --git a/api/l2-config/uei_energydemand_1.1.0.yaml b/api/l2-config/uei_energydemand_1.1.0.yaml new file mode 100644 index 00000000..e69de29b diff --git a/api/l2-config/uei_evcharging_1.1.0.yaml b/api/l2-config/uei_evcharging_1.1.0.yaml new file mode 100644 index 00000000..91d0acc8 --- /dev/null +++ b/api/l2-config/uei_evcharging_1.1.0.yaml @@ -0,0 +1,2987 @@ + +openapi: 3.0.0 +info: + title: Beckn Energy API Specification + description: Adaptation of Beckn protocol for the Energy sector. + version: 1.1.0 +security: + - SubscriberAuth: [] +paths: + /search: + post: + tags: + - Beckn Provider Platform (BPP) + - Beckn Gateway (BG) + description: This allows the customer to search for energy related services. + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - search + message: + type: object + properties: + intent: + $ref: '#/components/schemas/Intent' + required: + - context + - message + examples: + Search for charging stations based on location and vehicle make: + value: + context: + domain: uei:0.1.0 + location: + country: + name: India + code: IND + timestamp: '2023-07-16T04:41:16Z' + bap_id: example-bap.com + transaction_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 + message_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 + city: std:080 + core_version: 1.1.0 + action: search + bap_uri: https://api.example-bap.com/pilot/bap/charge/v1 + message: + intent: + location: + descriptor: + name: user location + circle: + gps: 12.923608703179461, 77.61462964117527 + radius: + type: CONSTANT + value: '5' + unit: km + fulfillment: + vehicle: + category: car + make: Tata + model: Nexon EV + variant: ZX+ + wheels_count: '4' + energy_type: electric + Search for charging stations based on location, vehicle make and tariff: + value: + context: + domain: uei:0.1.0 + location: + country: + name: India + code: IND + timestamp: '2023-07-16T04:41:16Z' + bap_id: example-bap.com + transaction_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 + message_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 + city: std:080 + core_version: 1.1.0 + action: search + bap_uri: https://api.example-bap.com/pilot/bap/charge/v1 + message: + intent: + location: + descriptor: + name: user location + circle: + gps: 12.923608703179461, 77.61462964117527 + radius: + type: CONSTANT + value: '5' + unit: km + item: + price: + currency: INR + value: 15 rupees per unit + fulfillment: + vehicle: + category: car + make: Tata + model: Nexon EV + variant: ZX+ + wheels_count: '4' + energy_type: electric + Search for charging stations based on charger details: + value: + context: + domain: uei:0.1.0 + location: + country: + name: India + code: IND + timestamp: '2023-07-16T04:41:16Z' + bap_id: example-bap.com + transaction_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 + message_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 + city: std:080 + core_version: 1.1.0 + action: search + bap_uri: https://api.example-bap.com/pilot/bap/charge/v1 + message: + intent: + location: + descriptor: + name: user location + circle: + gps: 12.923608703179461, 77.61462964117527 + radius: + type: CONSTANT + value: '5' + unit: km + item: + price: + currency: INR + value: 15 rupees per unit + fulfillment: + vehicle: + category: car + make: Tata + model: Nexon EV + variant: ZX+ + wheels_count: '4' + energy_type: electric + tags: + - descriptor: + name: Charger requirements + list: + - descriptor: + name: Charger type + value: AC + - descriptor: + name: Connector type + value: CCS2 + - descriptor: + name: Charger power rating + value: greater than 50kW + display: true + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /select: + post: + tags: + - Beckn Provider Platform (BPP) + description: BAP declares the customer's cart (or equivalent) created by selecting objects from the catalog + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - select + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order: + $ref: '#/components/schemas/Order' + required: + - order + required: + - context + - message + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /init: + post: + tags: + - Beckn Provider Platform (BPP) + description: Initialize an order by providing billing and/or shipping details + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - init + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order: + $ref: '#/components/schemas/Order' + required: + - order + required: + - context + - message + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /confirm: + post: + tags: + - Beckn Provider Platform (BPP) + description: Initialize an order by providing billing and/or shipping details + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - confirm + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order: + $ref: '#/components/schemas/Order' + required: + - order + required: + - context + - message + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /status: + post: + tags: + - Beckn Provider Platform (BPP) + description: Fetch the latest order object + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - status + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order_id: + $ref: '#/components/schemas/Order/properties/id' + required: + - order_id + required: + - context + - message + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /track: + post: + tags: + - Beckn Provider Platform (BPP) + description: Track an active order + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - track + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order_id: + $ref: '#/components/schemas/Order/properties/id' + callback_url: + type: string + format: uri + required: + - order_id + required: + - context + - message + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /cancel: + post: + tags: + - Beckn Provider Platform (BPP) + description: Cancel an order + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - cancel + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order_id: + $ref: '#/components/schemas/Order/properties/id' + cancellation_reason_id: + $ref: '#/components/schemas/Option/properties/id' + descriptor: + $ref: '#/components/schemas/Descriptor' + required: + - order_id + required: + - context + - message + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /update: + post: + tags: + - Beckn Provider Platform (BPP) + description: Remove object + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - update + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + update_target: + description: 'Comma separated values of order objects being updated. For example: ```"update_target":"item,billing,fulfillment"```' + type: string + order: + description: Updated order object + allOf: + - $ref: '#/components/schemas/Order' + required: + - update_target + - order + required: + - context + - message + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /rating: + post: + tags: + - Beckn Provider Platform (BPP) + description: Provide feedback on a service + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - rating + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + ratings: + type: array + items: + $ref: '#/components/schemas/Rating' + required: + - context + - message + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /support: + post: + tags: + - Beckn Provider Platform (BPP) + description: Contact support + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - support + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + support: + $ref: '#/components/schemas/Support' + required: + - context + - message + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /on_search: + post: + tags: + - Beckn Application Platform (BAP) + - Beckn Gateway (BG) + description: BPP sends its catalog in response to a search request. + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - on_search + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + catalog: + $ref: '#/components/schemas/Catalog' + required: + - catalog + error: + $ref: '#/components/schemas/Error' + required: + - context + examples: + Charging service providers return a catalog with their services: + value: + context: + country: IND + location: + country: + name: India + code: IND + domain: uei:0.1.0 + timestamp: '2023-07-16T04:41:16Z' + bap_id: example-bap.com + transaction_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 + message_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 + city: std:080 + core_version: 1.1.0 + action: on_search + bap_uri: https://api.example-bap.com/pilot/bap/charge/v1 + message: + catalog: + descriptor: + name: Alpha Charging Solutions + providers: + - descriptor: + name: Spark Charging Station, Outer Ring Road + images: + - url: https://alphachargers.com/images/logo.png + id: '14325' + locations: + - gps: 12.925087, 77.6132964 + map_url: https://goo.gl/maps/5A432HSHfcd2 + city: Bangalore + area_code: '540045' + items: + - id: 686d2a8b-0e0b-4bcb-b629-5e7208c9cbfc + descriptor: + name: Spark Charger Point 1 + price: + currency: INR + value: 11 rupees per unit + tags: + - descriptor: + name: Charger Connector 1 Details + list: + - descriptor: + name: Charger type + value: AC + - descriptor: + name: Connector type + value: CCS2 + - descriptor: + name: Power Rating + value: greater than 50kW + - descriptor: + name: Availability + value: Available + display: true + - id: 993def7f-9f73-4914-b999-5249285e0d5a + descriptor: + name: Spark Charger Point 2 + price: + currency: INR + value: 13 rupees per unit + tags: + - descriptor: + name: Charger Connector 1 Details + list: + - descriptor: + name: Charger type + value: AC + - descriptor: + name: Connector type + value: CCS2 + - descriptor: + name: Power Rating + value: greater than 50kW + - descriptor: + name: Availability + value: Available + display: true + - descriptor: + name: Spark Charging Station, MG Road + id: '16226' + locations: + - gps: 12.925178, 77.6132901 + map_url: https://goo.gl/maps/7fds573GSSd2 + city: Bangalore + area_code: '540039' + items: + - id: 686d2a8b-0e0b-4bcb-b629-5e7208c9cbfc + descriptor: + name: Spark Charger Point 1 + price: + currency: INR + value: 15 rupees per unit + tags: + - descriptor: + name: Charger Connector 1 Details + list: + - descriptor: + name: Charger type + value: AC + - descriptor: + name: Connector type + value: CCS2 + - descriptor: + name: Power Rating + value: greater than 50kW + - descriptor: + name: Availability + value: Available + display: true + - id: 993def7f-9f73-4914-b999-5249285e0d5a + descriptor: + name: Spark Charger Point 2 + price: + currency: INR + value: 12 rupees per unit + tags: + - descriptor: + name: Charger Connector 1 Details + list: + - descriptor: + name: Charger type + value: AC + - descriptor: + name: Connector type + value: CCS2 + - descriptor: + name: Power Rating + value: greater than 50kW + - descriptor: + name: Availability + value: Available + display: true + Charging service providers return a catalog with connector as items: + value: + context: + country: IND + location: + country: + name: India + code: IND + domain: uei:0.1.0 + timestamp: '2023-07-16T04:41:16Z' + bap_id: example-bap.com + transaction_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 + message_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 + city: std:080 + core_version: 1.1.0 + action: on_search + bap_uri: https://api.example-bap.com/pilot/bap/charge/v1 + message: + catalog: + descriptor: + name: Alpha Charging Solutions + providers: + - id: 4235 + descriptor: + name: Alpha Charging Solutions + images: + - url: https://alphachargers.com/images/logo.png + locations: + - gps: 12.925087, 77.6132964 + map_url: https://goo.gl/maps/5A432HSHfcd2 + city: Bangalore + area_code: '540045' + items: + - id: 686d2a8b-0e0b-4bcb-b629-5e7208c9cbfc + category_ids: + - charging-station + location_ids: + - 12.925087, 77.6132964 + descriptor: + name: Spark Charging Station, Outer Ring Road + tags: + - display: true + descriptor: + name: Attributes + code: attributes + list: + - display: true + value: 10kms + descriptor: + name: Distance + code: distance + - id: 01683e33-39c5-4523-9eef-36e8165e66cb + parent_item_id: 686d2a8b-0e0b-4bcb-b629-5e7208c9cbfc + category_ids: + - charge-point + descriptor: + name: Spark Charger Point 1 + price: + currency: INR + value: ₹15-20 per unit + tags: + - display: true + descriptor: + name: Available Charging Options + list: + - descriptor: + name: Charger type + value: AC + - descriptor: + name: Connector type + value: CCS2 + - descriptor: + name: Power Rating + value: greater than 50kW + - id: ede1c8b9-c5b2-4e5f-bbf3-a7421f5e1537 + parent_item_id: 01683e33-39c5-4523-9eef-36e8165e66cb + category_ids: + - connector + descriptor: + name: Charger Connector 1 Details + tags: + - display: true + descriptor: + name: Power Rating + list: + - display: true + value: 15kW + - display: true + descriptor: + name: Connector Status + list: + - descriptor: + name: Status + display: true + value: Available + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /on_select: + post: + tags: + - Beckn Application Platform (BAP) + description: Send draft order object with quoted price for selected items + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - on_select + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order: + $ref: '#/components/schemas/Order' + error: + $ref: '#/components/schemas/Error' + required: + - context + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /on_init: + post: + tags: + - Beckn Application Platform (BAP) + description: Send order object with payment details updated + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - on_init + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order: + $ref: '#/components/schemas/Order' + required: + - order + error: + $ref: '#/components/schemas/Error' + required: + - context + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /on_confirm: + post: + tags: + - Beckn Application Platform (BAP) + description: Send active order object + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - on_confirm + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order: + $ref: '#/components/schemas/Order' + required: + - order + error: + $ref: '#/components/schemas/Error' + required: + - context + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /on_track: + post: + tags: + - Beckn Application Platform (BAP) + description: Send tracking details of an active order + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - on_track + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + tracking: + $ref: '#/components/schemas/Tracking' + required: + - tracking + error: + $ref: '#/components/schemas/Error' + required: + - context + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /on_cancel: + post: + tags: + - Beckn Application Platform (BAP) + description: Send cancellation request_id with reasons list in case of cancellation request. Else send cancelled order object + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - on_cancel + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order: + $ref: '#/components/schemas/Order' + required: + - order + error: + $ref: '#/components/schemas/Error' + required: + - context + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /on_update: + post: + tags: + - Beckn Application Platform (BAP) + description: Returns updated service with updated runtime object + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - on_update + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order: + $ref: '#/components/schemas/Order' + required: + - order + error: + $ref: '#/components/schemas/Error' + required: + - context + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /on_status: + post: + tags: + - Beckn Application Platform (BAP) + description: Fetch the status of a Service + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - on_status + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order: + $ref: '#/components/schemas/Order' + required: + - order + error: + $ref: '#/components/schemas/Error' + required: + - context + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /on_rating: + post: + tags: + - Beckn Application Platform (BAP) + description: Provide feedback on a service + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - on_rating + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + feedback_form: + description: A feedback form to allow the user to provide additional information on the rating provided + allOf: + - $ref: '#/components/schemas/XInput' + error: + $ref: '#/components/schemas/Error' + required: + - context + - message + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message + /on_support: + post: + tags: + - Beckn Application Platform (BAP) + description: Contact Support + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: '#/components/schemas/Context' + - properties: + action: + enum: + - on_support + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + support: + $ref: '#/components/schemas/Support' + error: + $ref: '#/components/schemas/Error' + required: + - context + responses: + '200': + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: '#/components/schemas/Ack' + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: '#/components/schemas/Error' + required: + - message +components: + securitySchemes: + SubscriberAuth: + type: apiKey + in: header + name: Authorization + description: 'Signature of message body using BAP or BPP subscriber''s signing public key.

Format:

Authorization : Signature keyId="{subscriber_id}|{unique_key_id}|{algorithm}",algorithm="ed25519",created="1606970629",expires="1607030629",headers="(created) (expires) digest",signature="Base64(signing string)"' + schemas: + Ack: + description: 'Describes the acknowledgement sent in response to an API call. If the implementation uses HTTP/S, then Ack must be returned in the same session. Every API call to a BPP must be responded to with an Ack whether the BPP intends to respond with a callback or not. This has one property called `status` that indicates the status of the Acknowledgement.' + type: object + properties: + status: + type: string + description: 'The status of the acknowledgement. If the request passes the validation criteria of the BPP, then this is set to ACK. If a BPP responds with status = `ACK` to a request, it is required to respond with a callback. If the request fails the validation criteria, then this is set to NACK. Additionally, if a BPP does not intend to respond with a callback even after the request meets the validation criteria, it should set this value to `NACK`.' + enum: + - ACK + - NACK + tags: + description: A list of tags containing any additional information sent along with the Acknowledgement. + type: array + items: + $ref: '#/components/schemas/TagGroup' + AddOn: + description: Describes an additional item offered as a value-addition to a product or service. This does not exist independently in a catalog and is always associated with an item. + type: object + properties: + id: + description: Provider-defined ID of the add-on + type: string + descriptor: + $ref: '#/components/schemas/Descriptor' + price: + $ref: '#/components/schemas/Price' + Address: + description: Describes a postal address. + type: string + Agent: + description: 'Describes the direct performer, driver or executor that fulfills an order. It is usually a person. But in some rare cases, it could be a non-living entity like a drone, or a bot. Some examples of agents are Doctor in the healthcare sector, a driver in the mobility sector, or a delivery person in the logistics sector. This object can be set at any stage of the order lifecycle. This can be set at the discovery stage when the BPP wants to provide details on the agent fulfilling the order, like in healthcare, where the doctor''s name appears during search. This object can also used to search for a particular person that the customer wants fulfilling an order. Sometimes, this object gets instantiated after the order is confirmed, like in the case of on-demand taxis, where the driver is assigned after the user confirms the ride.' + properties: + person: + $ref: '#/components/schemas/Person' + contact: + $ref: '#/components/schemas/Contact' + organization: + $ref: '#/components/schemas/Organization' + rating: + $ref: '#/components/schemas/Rating/properties/value' + Authorization: + description: 'Describes an authorization mechanism used to start or end the fulfillment of an order. For example, in the mobility sector, the driver may require a one-time password to initiate the ride. In the healthcare sector, a patient may need to provide a password to open a video conference link during a teleconsultation.' + type: object + properties: + type: + description: Type of authorization mechanism used. The allowed values for this field can be published as part of the network policy. + type: string + token: + description: 'Token used for authorization. This is typically generated at the BPP. The BAP can send this value to the user via any channel that it uses to authenticate the user like SMS, Email, Push notification, or in-app rendering.' + type: string + valid_from: + description: Timestamp in RFC3339 format from which token is valid + type: string + format: date-time + valid_to: + description: Timestamp in RFC3339 format until which token is valid + type: string + format: date-time + status: + description: Status of the token + type: string + Billing: + description: 'Describes the billing details of an entity.
This has properties like name,organization,address,email,phone,time,tax_number, created_at,updated_at' + type: object + properties: + name: + description: Name of the billable entity + type: string + organization: + description: Details of the organization being billed. + allOf: + - $ref: '#/components/schemas/Organization' + address: + description: The address of the billable entity + allOf: + - $ref: '#/components/schemas/Address' + state: + description: The state where the billable entity resides. This is important for state-level tax calculation + allOf: + - $ref: '#/components/schemas/State' + city: + description: The city where the billable entity resides. + allOf: + - $ref: '#/components/schemas/City' + email: + description: Email address where the bill is sent to + type: string + format: email + phone: + description: Phone number of the billable entity + type: string + time: + description: Details regarding the billing period + allOf: + - $ref: '#/components/schemas/Time' + tax_id: + description: ID of the billable entity as recognized by the taxation authority + type: string + Cancellation: + description: Describes a cancellation event + type: object + properties: + time: + description: Date-time when the order was cancelled by the buyer + type: string + format: date-time + cancelled_by: + type: string + enum: + - CONSUMER + - PROVIDER + reason: + description: The reason for cancellation + allOf: + - $ref: '#/components/schemas/Option' + additional_description: + description: Any additional information regarding the nature of cancellation + allOf: + - $ref: '#/components/schemas/Descriptor' + CancellationTerm: + description: Describes the cancellation terms of an item or an order. This can be referenced at an item or order level. Item-level cancellation terms can override the terms at the order level. + type: object + properties: + fulfillment_state: + description: The state of fulfillment during which this term is applicable. + allOf: + - $ref: '#/components/schemas/FulfillmentState' + reason_required: + description: Indicates whether a reason is required to cancel the order + type: boolean + cancel_by: + description: Information related to the time of cancellation. + allOf: + - $ref: '#/components/schemas/Time' + cancellation_fee: + $ref: '#/components/schemas/Fee' + xinput: + $ref: '#/components/schemas/XInput' + external_ref: + $ref: '#/components/schemas/MediaFile' + Catalog: + description: 'Describes the products or services offered by a BPP. This is typically sent as the response to a search intent from a BAP. The payment terms, offers and terms of fulfillment supported by the BPP can also be included here. The BPP can show hierarchical nature of products/services in its catalog using the parent_category_id in categories. The BPP can also send a ttl (time to live) in the context which is the duration for which a BAP can cache the catalog and use the cached catalog.
This has properties like bbp/descriptor,bbp/categories,bbp/fulfillments,bbp/payments,bbp/offers,bbp/providers and exp
This is used in the following situations.
  • This is typically used in the discovery stage when the BPP sends the details of the products and services it offers as response to a search intent from the BAP.
' + type: object + properties: + descriptor: + $ref: '#/components/schemas/Descriptor' + fulfillments: + description: Fulfillment modes offered at the BPP level. This is used when a BPP itself offers fulfillments on behalf of the providers it has onboarded. + type: array + items: + $ref: '#/components/schemas/Fulfillment' + payments: + description: Payment terms offered by the BPP for all transactions. This can be overriden at the provider level. + type: array + items: + $ref: '#/components/schemas/Payment' + offers: + description: Offers at the BPP-level. This is common across all providers onboarded by the BPP. + type: array + items: + $ref: '#/components/schemas/Offer' + providers: + type: array + items: + $ref: '#/components/schemas/Provider' + exp: + description: Timestamp after which catalog will expire + type: string + format: date-time + ttl: + description: Duration in seconds after which this catalog will expire + type: string + Category: + description: A label under which a collection of items can be grouped. + type: object + properties: + id: + description: ID of the category + type: string + parent_category_id: + $ref: '#/components/schemas/Category/properties/id' + descriptor: + $ref: '#/components/schemas/Descriptor' + time: + $ref: '#/components/schemas/Time' + ttl: + description: Time to live for an instance of this schema + tags: + type: array + items: + $ref: '#/components/schemas/TagGroup' + Circle: + description: Describes a circular region of a specified radius centered at a specified GPS coordinate. + type: object + properties: + gps: + $ref: '#/components/schemas/Gps' + radius: + $ref: '#/components/schemas/Scalar' + City: + description: Describes a city + type: object + properties: + name: + description: Name of the city + type: string + code: + description: City code + type: string + Contact: + description: Describes the contact information of an entity + type: object + properties: + phone: + type: string + email: + type: string + jcard: + type: object + description: A Jcard object as per draft-ietf-jcardcal-jcard-03 specification + Context: + description: 'Every API call in beckn protocol has a context. It provides a high-level overview to the receiver about the nature of the intended transaction. Typically, it is the BAP that sets the transaction context based on the consumer''s location and action on their UI. But sometimes, during unsolicited callbacks, the BPP also sets the transaction context but it is usually the same as the context of a previous full-cycle, request-callback interaction between the BAP and the BPP. The context object contains four types of fields.
  1. Demographic information about the transaction using fields like `domain`, `country`, and `region`.
  2. Addressing details like the sending and receiving platform''s ID and API URL.
  3. Interoperability information like the protocol version that implemented by the sender and,
  4. Transaction details like the method being called at the receiver''s endpoint, the transaction_id that represents an end-to-end user session at the BAP, a message ID to pair requests with callbacks, a timestamp to capture sending times, a ttl to specifiy the validity of the request, and a key to encrypt information if necessary.
This object must be passed in every interaction between a BAP and a BPP. In HTTP/S implementations, it is not necessary to send the context during the synchronous response. However, in asynchronous protocols, the context must be sent during all interactions,' + type: object + properties: + domain: + description: Domain code that is relevant to this transaction context + allOf: + - $ref: '#/components/schemas/Domain/properties/code' + location: + description: The location where the transaction is intended to be fulfilled. + allOf: + - $ref: '#/components/schemas/Location' + action: + description: The Beckn protocol method being called by the sender and executed at the receiver. + type: string + version: + type: string + description: Version of transaction protocol being used by the sender. + bap_id: + description: Subscriber ID of the BAP + allOf: + - description: 'A globally unique identifier of the platform, Typically it is the fully qualified domain name (FQDN) of the platform.' + type: string + bap_uri: + description: Subscriber URL of the BAP for accepting callbacks from BPPs. + allOf: + - description: The callback URL of the Subscriber. This should necessarily contain the same domain name as set in `subscriber_id``. + type: string + format: uri + bpp_id: + description: Subscriber ID of the BPP + allOf: + - $ref: '#/components/schemas/Context/properties/bap_id/allOf/0' + bpp_uri: + description: Subscriber URL of the BPP for accepting calls from BAPs. + allOf: + - $ref: '#/components/schemas/Context/properties/bap_uri/allOf/0' + transaction_id: + description: 'This is a unique value which persists across all API calls from `search` through `confirm`. This is done to indicate an active user session across multiple requests. The BPPs can use this value to push personalized recommendations, and dynamic offerings related to an ongoing transaction despite being unaware of the user active on the BAP.' + type: string + format: uuid + message_id: + description: 'This is a unique value which persists during a request / callback cycle. Since beckn protocol APIs are asynchronous, BAPs need a common value to match an incoming callback from a BPP to an earlier call. This value can also be used to ignore duplicate messages coming from the BPP. It is recommended to generate a fresh message_id for every new interaction. When sending unsolicited callbacks, BPPs must generate a new message_id.' + type: string + format: uuid + timestamp: + description: Time of request generation in RFC3339 format + type: string + format: date-time + key: + description: The encryption public key of the sender + type: string + ttl: + description: The duration in ISO8601 format after timestamp for which this message holds valid + type: string + required: + - action + - domain + - version + - bap_id + - bap_uri + - transaction_id + - message_id + Country: + description: Describes a country + type: object + properties: + name: + type: string + description: Name of the country + code: + type: string + description: Country code as per ISO 3166-1 and ISO 3166-2 format + Credential: + description: Describes a credential of an entity - Person or Organization + type: object + properties: + id: + type: string + type: + type: string + default: VerifiableCredential + url: + description: URL of the credential + type: string + format: uri + Customer: + description: Describes a customer buying/availing a product or a service + type: object + properties: + person: + $ref: '#/components/schemas/Person' + contact: + $ref: '#/components/schemas/Contact' + DecimalValue: + description: Describes a numerical value in decimal form + type: string + pattern: '[+-]?([0-9]*[.])?[0-9]+' + Descriptor: + description: Physical description of something. + type: object + properties: + name: + type: string + code: + type: string + short_desc: + type: string + long_desc: + type: string + additional_desc: + type: object + properties: + url: + type: string + content_type: + type: string + enum: + - text/plain + - text/html + - application/json + media: + type: array + items: + $ref: '#/components/schemas/MediaFile' + images: + type: array + items: + $ref: '#/components/schemas/Image' + Domain: + description: 'Described the industry sector or sub-sector. The network policy should contain codes for all the industry sectors supported by the network. Domains can be created in varying levels of granularity. The granularity of a domain can be decided by the participants of the network. Too broad domains will result in irrelevant search broadcast calls to BPPs that don''t have services supporting the domain. Too narrow domains will result in a large number of registry entries for each BPP. It is recommended that network facilitators actively collaborate with various working groups and network participants to carefully choose domain codes keeping in mind relevance, performance, and opportunity cost. It is recommended that networks choose broad domains like mobility, logistics, healthcare etc, and progressively granularize them as and when the number of network participants for each domain grows large.' + type: object + properties: + name: + description: Name of the domain + type: string + code: + description: 'Standard code representing the domain. The standard is usually published as part of the network policy. Furthermore, the network facilitator should also provide a mechanism to provide the supported domains of a network.' + type: string + enum: + - uei:evcharging + additional_info: + description: A url that contains addtional information about that domain. + allOf: + - $ref: '#/components/schemas/MediaFile' + Duration: + description: Describes duration as per ISO8601 format + type: string + Error: + description: 'Describes an error object that is returned by a BAP, BPP or BG as a response or callback to an action by another network participant. This object is sent when any request received by a network participant is unacceptable. This object can be sent either during Ack or with the callback.' + type: object + properties: + code: + type: string + description: 'Standard error code. For full list of error codes, refer to docs/protocol-drafts/BECKN-005-ERROR-CODES-DRAFT-01.md of this repo"' + paths: + type: string + description: Path to json schema generating the error. Used only during json schema validation errors + message: + type: string + description: Human readable message describing the error. Used mainly for logging. Not recommended to be shown to the user. + Fee: + description: A fee applied on a particular entity + type: object + properties: + percentage: + description: Percentage of a value + allOf: + - $ref: '#/components/schemas/DecimalValue' + amount: + description: A fixed value + allOf: + - $ref: '#/components/schemas/Price' + Form: + description: Describes a form + type: object + properties: + url: + description: 'The URL from where the form can be fetched. The content fetched from the url must be processed as per the mime_type specified in this object. Once fetched, the rendering platform can choosed to render the form as-is as an embeddable element; or process it further to blend with the theme of the application. In case the interface is non-visual, the the render can process the form data and reproduce it as per the standard specified in the form.' + type: string + format: uri + data: + description: The form submission data + type: object + additionalProperties: + type: string + mime_type: + description: This field indicates the nature and format of the form received by querying the url. MIME types are defined and standardized in IETF's RFC 6838. + type: string + enum: + - text/html + - application/xml + submission_id: + type: string + format: uuid + Fulfillment: + description: Describes how a an order will be rendered/fulfilled to the end-customer + type: object + properties: + id: + description: Unique reference ID to the fulfillment of an order + type: string + type: + description: 'A code that describes the mode of fulfillment. This is typically set when there are multiple ways an order can be fulfilled. For example, a retail order can be fulfilled either via store pickup or a home delivery. Similarly, a medical consultation can be provided either in-person or via tele-consultation. The network policy must publish standard fulfillment type codes for the different modes of fulfillment.' + type: string + rateable: + description: Whether the fulfillment can be rated or not + type: boolean + rating: + description: The rating value of the fulfullment service. + allOf: + - $ref: '#/components/schemas/Rating/properties/value' + state: + description: The current state of fulfillment. The BPP must set this value whenever the state of the order fulfillment changes and fire an unsolicited `on_status` call. + allOf: + - $ref: '#/components/schemas/FulfillmentState' + tracking: + type: boolean + description: Indicates whether the fulfillment allows tracking + default: false + customer: + description: The person that will ultimately receive the order + allOf: + - $ref: '#/components/schemas/Customer' + agent: + description: The agent that is currently handling the fulfillment of the order + allOf: + - $ref: '#/components/schemas/Agent' + contact: + $ref: '#/components/schemas/Contact' + vehicle: + $ref: '#/components/schemas/Vehicle' + stops: + description: The list of logical stops encountered during the fulfillment of an order. + type: array + items: + $ref: '#/components/schemas/Stop' + path: + description: The physical path taken by the agent that can be rendered on a map. The allowed format of this property can be set by the network. + type: string + tags: + type: array + items: + $ref: '#/components/schemas/TagGroup' + FulfillmentState: + description: Describes the state of fulfillment + type: object + properties: + descriptor: + allOf: + - $ref: '#/components/schemas/Descriptor' + - properties: + code: + enum: + - PAYMENT_COMPLETED + - CHARGING_INPROGRESS + - CHARGING_COMPLETED + - ORDER_CANCELLED + updated_at: + type: string + format: date-time + updated_by: + type: string + description: ID of entity which changed the state + Gps: + description: Describes a GPS coordinate + type: string + pattern: '^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$' + Image: + description: Describes an image + type: object + properties: + url: + description: URL to the image. This can be a data url or an remote url + type: string + format: uri + size_type: + description: The size of the image. The network policy can define the default dimensions of each type + type: string + enum: + - xs + - sm + - md + - lg + - xl + - custom + width: + description: Width of the image in pixels + type: string + height: + description: Height of the image in pixels + type: string + Intent: + description: 'The intent to buy or avail a product or a service. The BAP can declare the intent of the consumer containing
  • What they want (A product, service, offer)
  • Who they want (A seller, service provider, agent etc)
  • Where they want it and where they want it from
  • When they want it (start and end time of fulfillment
  • How they want to pay for it

This has properties like descriptor,provider,fulfillment,payment,category,offer,item,tags
This is typically used by the BAP to send the purpose of the user''s search to the BPP. This will be used by the BPP to find products or services it offers that may match the user''s intent.
For example, in Mobility, the mobility consumer declares a mobility intent. In this case, the mobility consumer declares information that describes various aspects of their journey like,
  • Where would they like to begin their journey (intent.fulfillment.start.location)
  • Where would they like to end their journey (intent.fulfillment.end.location)
  • When would they like to begin their journey (intent.fulfillment.start.time)
  • When would they like to end their journey (intent.fulfillment.end.time)
  • Who is the transport service provider they would like to avail services from (intent.provider)
  • Who is traveling (This is not recommended in public networks) (intent.fulfillment.customer)
  • What kind of fare product would they like to purchase (intent.item)
  • What add-on services would they like to avail
  • What offers would they like to apply on their booking (intent.offer)
  • What category of services would they like to avail (intent.category)
  • What additional luggage are they carrying
  • How would they like to pay for their journey (intent.payment)

For example, in health domain, a consumer declares the intent for a lab booking the describes various aspects of their booking like,
  • Where would they like to get their scan/test done (intent.fulfillment.start.location)
  • When would they like to get their scan/test done (intent.fulfillment.start.time)
  • When would they like to get the results of their test/scan (intent.fulfillment.end.time)
  • Who is the service provider they would like to avail services from (intent.provider)
  • Who is getting the test/scan (intent.fulfillment.customer)
  • What kind of test/scan would they like to purchase (intent.item)
  • What category of services would they like to avail (intent.category)
  • How would they like to pay for their journey (intent.payment)
' + type: object + properties: + descriptor: + description: 'A raw description of the search intent. Free text search strings, raw audio, etc can be sent in this object.' + allOf: + - $ref: '#/components/schemas/Descriptor' + provider: + description: The provider from which the customer wants to place to the order from + allOf: + - $ref: '#/components/schemas/Provider' + fulfillment: + description: Details on how the customer wants their order fulfilled + allOf: + - $ref: '#/components/schemas/Fulfillment' + location: + description: Location of the request that needs fulfillment. + allOf: + - $ref: '#/components/schemas/Location' + payment: + description: Details on how the customer wants to pay for the order + allOf: + - $ref: '#/components/schemas/Payment' + category: + description: Details on the item category + allOf: + - $ref: '#/components/schemas/Category' + offer: + description: details on the offer the customer wants to avail + allOf: + - $ref: '#/components/schemas/Offer' + item: + description: Details of the item that the consumer wants to order + allOf: + - $ref: '#/components/schemas/Item' + tags: + type: array + items: + $ref: '#/components/schemas/TagGroup' + ItemQuantity: + description: Describes the count or amount of an item + type: object + properties: + allocated: + description: This represents the exact quantity allocated for purchase of the item. + type: object + properties: + count: + type: integer + minimum: 0 + measure: + $ref: '#/components/schemas/Scalar' + available: + description: This represents the exact quantity available for purchase of the item. The buyer can only purchase multiples of this + type: object + properties: + count: + type: integer + minimum: 0 + measure: + $ref: '#/components/schemas/Scalar' + maximum: + description: This represents the maximum quantity allowed for purchase of the item + type: object + properties: + count: + type: integer + minimum: 1 + measure: + $ref: '#/components/schemas/Scalar' + minimum: + description: This represents the minimum quantity allowed for purchase of the item + type: object + properties: + count: + type: integer + minimum: 0 + measure: + $ref: '#/components/schemas/Scalar' + selected: + description: This represents the quantity selected for purchase of the item + type: object + properties: + count: + type: integer + minimum: 0 + measure: + $ref: '#/components/schemas/Scalar' + unitized: + description: This represents the quantity available in a single unit of the item + type: object + properties: + count: + type: integer + minimum: 1 + maximum: 1 + measure: + $ref: '#/components/schemas/Scalar' + Item: + description: 'Describes a product or a service offered to the end consumer by the provider. In the mobility sector, it can represent a fare product like one way journey. In the logistics sector, it can represent the delivery service offering. In the retail domain it can represent a product like a grocery item.' + type: object + properties: + id: + description: ID of the item. + type: string + parent_item_id: + description: 'ID of the item, this item is a variant of' + allOf: + - $ref: '#/components/schemas/Item/properties/id' + parent_item_quantity: + description: The number of units of the parent item this item is a multiple of + allOf: + - $ref: '#/components/schemas/ItemQuantity' + descriptor: + description: Physical description of the item + allOf: + - $ref: '#/components/schemas/Descriptor' + creator: + description: The creator of this item + allOf: + - $ref: '#/components/schemas/Organization' + price: + description: 'The price of this item, if it has intrinsic value' + allOf: + - $ref: '#/components/schemas/Price' + quantity: + description: The selling quantity of the item + allOf: + - $ref: '#/components/schemas/ItemQuantity' + category_ids: + description: Categories this item can be listed under + type: array + items: + allOf: + - $ref: '#/components/schemas/Category/properties/id' + fulfillment_ids: + description: Modes through which this item can be fulfilled + type: array + items: + allOf: + - $ref: '#/components/schemas/Fulfillment/properties/id' + location_ids: + description: Provider Locations this item is available in + type: array + items: + allOf: + - $ref: '#/components/schemas/Location/properties/id' + payment_ids: + description: Payment modalities through which this item can be ordered + type: array + items: + allOf: + - $ref: '#/components/schemas/Payment/properties/id' + add_ons: + type: array + items: + $ref: '#/components/schemas/AddOn' + cancellation_terms: + description: Cancellation terms of this item + type: array + items: + $ref: '#/components/schemas/CancellationTerm' + refund_terms: + description: Refund terms of this item + type: array + items: + description: Refund term of an item or an order + type: object + properties: + fulfillment_state: + description: The state of fulfillment during which this term is applicable. + allOf: + - $ref: '#/components/schemas/State' + refund_eligible: + description: Indicates if cancellation will result in a refund + type: boolean + refund_within: + description: Time within which refund will be processed after successful cancellation. + allOf: + - $ref: '#/components/schemas/Time' + refund_amount: + $ref: '#/components/schemas/Price' + replacement_terms: + description: Terms that are applicable be met when this item is replaced + type: array + items: + $ref: '#/components/schemas/ReplacementTerm' + return_terms: + description: Terms that are applicable when this item is returned + type: array + items: + $ref: '#/components/schemas/ReturnTerm' + xinput: + description: Additional input required from the customer to purchase / avail this item + allOf: + - $ref: '#/components/schemas/XInput' + time: + description: Temporal attributes of this item. This property is used when the item exists on the catalog only for a limited period of time. + allOf: + - $ref: '#/components/schemas/Time' + rateable: + description: Whether this item can be rated + type: boolean + rating: + description: The rating of the item + allOf: + - $ref: '#/components/schemas/Rating/properties/value' + matched: + description: Whether this item is an exact match of the request + type: boolean + related: + description: Whether this item is a related item to the exactly matched item + type: boolean + recommended: + description: Whether this item is a recommended item to a response + type: boolean + ttl: + description: Time to live in seconds for an instance of this schema + type: string + tags: + type: array + items: + $ref: '#/components/schemas/TagGroup' + Location: + description: The physical location of something + type: object + properties: + id: + type: string + descriptor: + $ref: '#/components/schemas/Descriptor' + map_url: + description: The url to the map of the location. This can be a globally recognized map url or the one specified by the network policy. + type: string + format: uri + gps: + description: The GPS co-ordinates of this location. + allOf: + - $ref: '#/components/schemas/Gps' + address: + description: The address of this location. + allOf: + - $ref: '#/components/schemas/Address' + city: + description: 'The city this location is, or is located within' + allOf: + - $ref: '#/components/schemas/City' + district: + description: 'The state this location is, or is located within' + type: string + state: + description: 'The state this location is, or is located within' + allOf: + - $ref: '#/components/schemas/State' + country: + description: 'The country this location is, or is located within' + allOf: + - $ref: '#/components/schemas/Country' + area_code: + type: string + circle: + $ref: '#/components/schemas/Circle' + polygon: + description: The boundary polygon of this location + type: string + 3dspace: + description: The three dimensional region describing this location + type: string + rating: + description: The rating of this location + allOf: + - $ref: '#/components/schemas/Rating/properties/value' + MediaFile: + description: This object contains a url to a media file. + type: object + properties: + mimetype: + description: 'indicates the nature and format of the document, file, or assortment of bytes. MIME types are defined and standardized in IETF''s RFC 6838' + type: string + url: + description: The URL of the file + type: string + format: uri + signature: + description: The digital signature of the file signed by the sender + type: string + dsa: + description: The signing algorithm used by the sender + type: string + Offer: + description: An offer associated with a catalog. This is typically used to promote a particular product and enable more purchases. + type: object + properties: + id: + type: string + descriptor: + $ref: '#/components/schemas/Descriptor' + location_ids: + type: array + items: + $ref: '#/components/schemas/Location/properties/id' + category_ids: + type: array + items: + $ref: '#/components/schemas/Category/properties/id' + item_ids: + type: array + items: + $ref: '#/components/schemas/Item/properties/id' + time: + $ref: '#/components/schemas/Time' + tags: + type: array + items: + $ref: '#/components/schemas/TagGroup' + Option: + description: Describes a selectable option + type: object + properties: + id: + type: string + descriptor: + $ref: '#/components/schemas/Descriptor' + Order: + description: Describes a legal purchase order. It contains the complete details of the legal contract created between the buyer and the seller. + type: object + properties: + id: + type: string + description: Human-readable ID of the order. This is generated at the BPP layer. The BPP can either generate order id within its system or forward the order ID created at the provider level. + ref_order_ids: + description: A list of order IDs to link this order to previous orders. + type: array + items: + type: string + description: ID of a previous order + status: + description: Status of the order. Allowed values can be defined by the network policy + type: string + enum: + - ACTIVE + - COMPLETE + - CANCELLED + type: + description: 'This is used to indicate the type of order being created to BPPs. Sometimes orders can be linked to previous orders, like a replacement order in a retail domain. A follow-up consultation in healthcare domain. A single order part of a subscription order. The list of order types can be standardized at the network level.' + type: string + default: DEFAULT + enum: + - DRAFT + - DEFAULT + provider: + description: Details of the provider whose catalog items have been selected. + allOf: + - $ref: '#/components/schemas/Provider' + items: + description: The items purchased / availed in this order + type: array + items: + $ref: '#/components/schemas/Item' + add_ons: + description: The add-ons purchased / availed in this order + type: array + items: + $ref: '#/components/schemas/AddOn' + offers: + description: The offers applied in this order + type: array + items: + $ref: '#/components/schemas/Offer' + billing: + description: The billing details of this order + allOf: + - $ref: '#/components/schemas/Billing' + fulfillments: + description: The fulfillments involved in completing this order + type: array + items: + $ref: '#/components/schemas/Fulfillment' + cancellation: + description: The cancellation details of this order + allOf: + - $ref: '#/components/schemas/Cancellation' + cancellation_terms: + description: Cancellation terms of this item + type: array + items: + $ref: '#/components/schemas/CancellationTerm' + refund_terms: + description: Refund terms of this item + type: array + items: + $ref: '#/components/schemas/Item/properties/refund_terms/items' + replacement_terms: + description: Replacement terms of this item + type: array + items: + $ref: '#/components/schemas/ReplacementTerm' + return_terms: + description: Return terms of this item + type: array + items: + $ref: '#/components/schemas/ReturnTerm' + quote: + description: The mutually agreed upon quotation for this order. + allOf: + - $ref: '#/components/schemas/Quotation' + payments: + description: The terms of settlement for this order + type: array + items: + $ref: '#/components/schemas/Payment' + created_at: + description: The date-time of creation of this order + type: string + format: date-time + updated_at: + description: The date-time of updated of this order + type: string + format: date-time + xinput: + description: Additional input required from the customer to confirm this order + allOf: + - $ref: '#/components/schemas/XInput' + tags: + type: array + items: + $ref: '#/components/schemas/TagGroup' + Organization: + description: An organization. Usually a recognized business entity. + type: object + properties: + descriptor: + $ref: '#/components/schemas/Descriptor' + address: + description: The postal address of the organization + allOf: + - $ref: '#/components/schemas/Address' + state: + description: The state where the organization's address is registered + allOf: + - $ref: '#/components/schemas/State' + city: + description: The city where the the organization's address is registered + allOf: + - $ref: '#/components/schemas/City' + contact: + $ref: '#/components/schemas/Contact' + Payment: + description: 'Describes the terms of settlement between the BAP and the BPP for a single transaction. When instantiated, this object contains
  1. the amount that has to be settled,
  2. The payment destination destination details
  3. When the settlement should happen, and
  4. A transaction reference ID
. During a transaction, the BPP reserves the right to decide the terms of payment. However, the BAP can send its terms to the BPP first. If the BPP does not agree to those terms, it must overwrite the terms and return them to the BAP. If overridden, the BAP must either agree to the terms sent by the BPP in order to preserve the provider''s autonomy, or abort the transaction. In case of such disagreements, the BAP and the BPP can perform offline negotiations on the payment terms. Once an agreement is reached, the BAP and BPP can resume transactions.' + type: object + properties: + id: + description: ID of the payment term that can be referred at an item or an order level in a catalog + type: string + collected_by: + description: 'This field indicates who is the collector of payment. The BAP can set this value to ''bap'' if it wants to collect the payment first and settle it to the BPP. If the BPP agrees to those terms, the BPP should not send the payment url. Alternatively, the BPP can set this field with the value ''bpp'' if it wants the payment to be made directly.' + url: + type: string + description: 'A payment url to be called by the BAP. If empty, then the payment is to be done offline. The details of payment should be present in the params object. If tl_method = http/get, then the payment details will be sent as url params. Two url param values, ```$transaction_id``` and ```$amount``` are mandatory.' + format: uri + params: + type: object + properties: + transaction_id: + type: string + description: The reference transaction ID associated with a payment activity + amount: + type: string + currency: + type: string + bank_code: + type: string + bank_account_number: + type: string + virtual_payment_address: + type: string + source_bank_code: + type: string + source_bank_account_number: + type: string + source_virtual_payment_address: + type: string + type: + type: string + enum: + - PRE-ORDER + - PRE-FULFILLMENT + - ON-FULFILLMENT + - POST-FULFILLMENT + status: + type: string + enum: + - PAID + - NOT-PAID + time: + $ref: '#/components/schemas/Time' + tags: + type: array + items: + $ref: '#/components/schemas/TagGroup' + Person: + description: Describes a person as any individual + type: object + properties: + id: + type: string + description: Describes the identity of the person + url: + description: Profile url of the person + type: string + format: uri + name: + description: the name of the person + type: string + image: + $ref: '#/components/schemas/Image' + age: + description: Age of the person + allOf: + - $ref: '#/components/schemas/Duration' + dob: + description: Date of birth of the person + type: string + format: date + gender: + type: string + description: 'Gender of something, typically a Person, but possibly also fictional characters, animals, etc. While Male and Female may be used, text strings are also acceptable for people who do not identify as a binary gender.Allowed values for this field can be published in the network policy' + creds: + type: array + items: + $ref: '#/components/schemas/Credential' + languages: + type: array + items: + description: Describes a language known to the person. + type: object + properties: + code: + type: string + name: + type: string + skills: + type: array + items: + description: Describes a skill of the person. + type: object + properties: + code: + type: string + name: + type: string + tags: + type: array + items: + $ref: '#/components/schemas/TagGroup' + Price: + description: Describes the price of a product or service + type: object + properties: + currency: + type: string + value: + $ref: '#/components/schemas/DecimalValue' + estimated_value: + $ref: '#/components/schemas/DecimalValue' + computed_value: + $ref: '#/components/schemas/DecimalValue' + listed_value: + $ref: '#/components/schemas/DecimalValue' + offered_value: + $ref: '#/components/schemas/DecimalValue' + minimum_value: + $ref: '#/components/schemas/DecimalValue' + maximum_value: + $ref: '#/components/schemas/DecimalValue' + Provider: + description: Describes the catalog of a business. + type: object + properties: + id: + type: string + description: Id of the provider + descriptor: + $ref: '#/components/schemas/Descriptor' + category_id: + type: string + description: Category Id of the provider at the BPP-level catalog + rating: + $ref: '#/components/schemas/Rating/properties/value' + time: + $ref: '#/components/schemas/Time' + categories: + type: array + items: + $ref: '#/components/schemas/Category' + fulfillments: + type: array + items: + $ref: '#/components/schemas/Fulfillment' + payments: + type: array + items: + $ref: '#/components/schemas/Payment' + locations: + type: array + items: + $ref: '#/components/schemas/Location' + offers: + type: array + items: + $ref: '#/components/schemas/Offer' + items: + type: array + items: + $ref: '#/components/schemas/Item' + exp: + type: string + description: Time after which catalog has to be refreshed + format: date-time + rateable: + description: Whether this provider can be rated or not + type: boolean + ttl: + description: 'The time-to-live in seconds, for this object. This can be overriden at deeper levels. A value of -1 indicates that this object is not cacheable.' + type: integer + minimum: -1 + tags: + type: array + items: + $ref: '#/components/schemas/TagGroup' + Quotation: + description: 'Describes a quote. It is the estimated price of products or services from the BPP.
This has properties like price, breakup, ttl' + type: object + properties: + id: + description: ID of the quote. + type: string + format: uuid + price: + description: The total quoted price + allOf: + - $ref: '#/components/schemas/Price' + breakup: + description: the breakup of the total quoted price + type: array + items: + type: object + properties: + item: + $ref: '#/components/schemas/Item' + title: + type: string + enum: + - ENERGY + - ADD-ONS + - DISCOUNT + - TAX + price: + $ref: '#/components/schemas/Price' + ttl: + $ref: '#/components/schemas/Duration' + Rating: + description: Describes the rating of an entity + type: object + properties: + rating_category: + description: Category of the entity being rated + type: string + enum: + - SERVICE + - PROVIDER + - BOOKING + id: + description: Id of the object being rated + type: string + value: + description: 'Rating value given to the object. This can be a single value or can also contain an inequality operator like gt, gte, lt, lte. This can also contain an inequality expression containing logical operators like && and ||.' + type: string + Region: + description: Describes an arbitrary region of space. The network policy should contain a published list of supported regions by the network. + type: object + properties: + dimensions: + description: 'The number of dimensions that are used to describe any point inside that region. The most common dimensionality of a region is 2, that represents an area on a map. There are regions on the map that can be approximated to one-dimensional regions like roads, railway lines, or shipping lines. 3 dimensional regions are rarer, but are gaining popularity as flying drones are being adopted for various fulfillment services.' + type: string + enum: + - '1' + - '2' + - '3' + type: + description: 'The type of region. This is used to specify the granularity of the region represented by this object. Various examples of two-dimensional region types are city, country, state, district, and so on. The network policy should contain a list of all possible region types supported by the network.' + type: string + name: + type: string + description: Name of the region as specified on the map where that region exists. + code: + type: string + description: A standard code representing the region. This should be interpreted in the same way by all network participants. + boundary: + type: string + description: 'A string representing the boundary of the region. One-dimensional regions are represented by polylines. Two-dimensional regions are represented by polygons, and three-dimensional regions can represented by polyhedra.' + map_url: + type: string + description: The url to the map of the region. This can be a globally recognized map or the one specified by the network policy. + ReplacementTerm: + description: The replacement policy of an item or an order + type: object + properties: + fulfillment_state: + description: The state of fulfillment during which this term is applicable. + allOf: + - $ref: '#/components/schemas/State' + replace_within: + description: 'Applicable only for buyer managed returns where the buyer has to replace the item before a certain date-time, failing which they will not be eligible for replacement' + allOf: + - $ref: '#/components/schemas/Time' + external_ref: + $ref: '#/components/schemas/MediaFile' + ReturnTerm: + description: Describes the return policy of an item or an order + type: object + properties: + fulfillment_state: + description: The state of fulfillment during which this term IETF''s applicable. + allOf: + - $ref: '#/components/schemas/State' + return_eligible: + description: Indicates whether the item is eligible for return + type: boolean + return_time: + description: 'Applicable only for buyer managed returns where the buyer has to return the item to the origin before a certain date-time, failing which they will not be eligible for refund.' + allOf: + - $ref: '#/components/schemas/Time' + return_location: + description: The location where the item or order must / will be returned to + allOf: + - $ref: '#/components/schemas/Location' + fulfillment_managed_by: + description: The entity that will perform the return + type: string + enum: + - CONSUMER + - PROVIDER + Scalar: + description: Describes a scalar + type: object + properties: + type: + type: string + enum: + - CONSTANT + - VARIABLE + value: + $ref: '#/components/schemas/DecimalValue' + estimated_value: + $ref: '#/components/schemas/DecimalValue' + computed_value: + $ref: '#/components/schemas/DecimalValue' + range: + type: object + properties: + min: + $ref: '#/components/schemas/DecimalValue' + max: + $ref: '#/components/schemas/DecimalValue' + unit: + type: string + Schedule: + description: 'Describes schedule as a repeating time period used to describe a regularly recurring event. At a minimum a schedule will specify frequency which describes the interval between occurrences of the event. Additional information can be provided to specify the schedule more precisely. This includes identifying the timestamps(s) of when the event will take place. Schedules may also have holidays to exclude a specific day from the schedule.
This has properties like frequency, holidays, times' + type: object + properties: + frequency: + $ref: '#/components/schemas/Duration' + holidays: + type: array + items: + type: string + format: date-time + times: + type: array + items: + type: string + format: date-time + State: + description: A bounded geopolitical region of governance inside a country. + type: object + properties: + name: + type: string + description: Name of the state + code: + type: string + description: State code as per country or international standards + Stop: + description: A logical point in space and time during the fulfillment of an order. + type: object + properties: + id: + type: string + parent_stop_id: + type: string + location: + description: Location of the stop + allOf: + - $ref: '#/components/schemas/Location' + type: + description: The type of stop. Allowed values of this property can be defined by the network policy. + type: string + enum: + - START + time: + description: Timings applicable at the stop. + allOf: + - $ref: '#/components/schemas/Time' + instructions: + description: Instructions that need to be followed at the stop + allOf: + - $ref: '#/components/schemas/Descriptor' + contact: + description: Contact details of the stop + allOf: + - $ref: '#/components/schemas/Contact' + person: + description: The details of the person present at the stop + allOf: + - $ref: '#/components/schemas/Person' + authorization: + $ref: '#/components/schemas/Authorization' + Support: + description: Details of customer support + type: object + properties: + ref_id: + type: string + callback_phone: + type: string + format: phone + phone: + type: string + format: phone + email: + type: string + format: email + url: + type: string + format: uri + Tag: + description: 'Describes a tag. This is used to contain extended metadata. This object can be added as a property to any schema to describe extended attributes. For BAPs, tags can be sent during search to optimize and filter search results. BPPs can use tags to index their catalog to allow better search functionality. Tags are sent by the BPP as part of the catalog response in the `on_search` callback. Tags are also meant for display purposes. Upon receiving a tag, BAPs are meant to render them as name-value pairs. This is particularly useful when rendering tabular information about a product or service.' + type: object + properties: + descriptor: + description: 'Description of the Tag, can be used to store detailed information.' + allOf: + - $ref: '#/components/schemas/Descriptor' + value: + description: The value of the tag. This set by the BPP and rendered as-is by the BAP. + type: string + display: + description: 'This value indicates if the tag is intended for display purposes. If set to `true`, then this tag must be displayed. If it is set to `false`, it should not be displayed. This value can override the group display value.' + type: boolean + TagGroup: + description: 'A collection of tag objects with group level attributes. For detailed documentation on the Tags and Tag Groups schema go to https://github.com/beckn/protocol-specifications/discussions/316' + type: object + properties: + display: + description: 'Indicates the display properties of the tag group. If display is set to false, then the group will not be displayed. If it is set to true, it should be displayed. However, group-level display properties can be overriden by individual tag-level display property. As this schema is purely for catalog display purposes, it is not recommended to send this value during search.' + type: boolean + default: true + descriptor: + description: 'Description of the TagGroup, can be used to store detailed information.' + allOf: + - $ref: '#/components/schemas/Descriptor' + list: + description: 'An array of Tag objects listed under this group. This property can be set by BAPs during search to narrow the `search` and achieve more relevant results. When received during `on_search`, BAPs must render this list under the heading described by the `name` property of this schema.' + type: array + items: + $ref: '#/components/schemas/Tag' + Time: + description: 'Describes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
This has properties like label, time stamp,duration,range, days, schedule' + type: object + properties: + label: + type: string + timestamp: + type: string + format: date-time + duration: + $ref: '#/components/schemas/Duration' + range: + type: object + properties: + start: + type: string + format: date-time + end: + type: string + format: date-time + days: + type: string + description: comma separated values representing days of the week + schedule: + $ref: '#/components/schemas/Schedule' + Tracking: + description: Contains tracking information that can be used by the BAP to track the fulfillment of an order in real-time. which is useful for knowing the location of time sensitive deliveries. + type: object + properties: + id: + description: A unique tracking reference number + type: string + url: + description: 'A URL to the tracking endpoint. This can be a link to a tracking webpage, a webhook URL created by the BAP where BPP can push the tracking data, or a GET url creaed by the BPP which the BAP can poll to get the tracking data. It can also be a websocket URL where the BPP can push real-time tracking data.' + type: string + format: uri + location: + description: 'In case there is no real-time tracking endpoint available, this field will contain the latest location of the entity being tracked. The BPP will update this value everytime the BAP calls the track API.' + allOf: + - $ref: '#/components/schemas/Location' + status: + description: 'This value indicates if the tracking is currently active or not. If this value is `active`, then the BAP can begin tracking the order. If this value is `inactive`, the tracking URL is considered to be expired and the BAP should stop tracking the order.' + type: string + enum: + - ACTIVE + - INACTIVE + Vehicle: + description: 'Describes a vehicle is a device that is designed or used to transport people or cargo over land, water, air, or through space.
This has properties like category, capacity, make, model, size,variant,color,energy_type,registration' + type: object + properties: + category: + type: string + capacity: + type: integer + make: + type: string + model: + type: string + size: + type: string + variant: + type: string + color: + type: string + energy_type: + type: string + registration: + type: string + wheels_count: + type: string + cargo_volumne: + type: string + wheelchair_access: + type: string + code: + type: string + emission_standard: + type: string + XInput: + description: 'Contains any additional or extended inputs required to confirm an order. This is typically a Form Input. Sometimes, selection of catalog elements is not enough for the BPP to confirm an order. For example, to confirm a flight ticket, the airline requires details of the passengers along with information on baggage, identity, in addition to the class of ticket. Similarly, a logistics company may require details on the nature of shipment in order to confirm the shipping. A recruiting firm may require additional details on the applicant in order to confirm a job application. For all such purposes, the BPP can choose to send this object attached to any object in the catalog that is required to be sent while placing the order. This object can typically be sent at an item level or at the order level. The item level XInput will override the Order level XInput as it indicates a special requirement of information for that particular item. Hence the BAP must render a separate form for the Item and another form at the Order level before confirmation.' + type: object + properties: + form: + $ref: '#/components/schemas/Form' + required: + description: Indicates whether the form data is mandatorily required by the BPP to confirm the order. + type: boolean \ No newline at end of file diff --git a/api/l2-config/uei_surplus-energy_1.1.0.yaml b/api/l2-config/uei_surplus-energy_1.1.0.yaml new file mode 100644 index 00000000..e69de29b From 7cf71ec1ee1d98b994caae3a0c7cf21ab9176ce0 Mon Sep 17 00:00:00 2001 From: Mayank bansal Date: Thu, 20 Jun 2024 21:06:01 +0530 Subject: [PATCH 8/9] removed examples from l2config ev-charging --- api/dent.yaml | 1 - api/l2-config/uei_evcharging_1.1.0.yaml | 1077 ++++++----------- .../ev-charging/cancel/on_cancel-request.json | 2 +- examples/ev-charging/confirm/on_confirm.json | 2 +- .../ev-charging/status/on_status-request.json | 2 +- 5 files changed, 362 insertions(+), 722 deletions(-) diff --git a/api/dent.yaml b/api/dent.yaml index 2823d1f3..530e964c 100644 --- a/api/dent.yaml +++ b/api/dent.yaml @@ -1,4 +1,3 @@ - openapi: 3.0.0 info: title: Beckn Energy API Specification diff --git a/api/l2-config/uei_evcharging_1.1.0.yaml b/api/l2-config/uei_evcharging_1.1.0.yaml index 91d0acc8..000041c2 100644 --- a/api/l2-config/uei_evcharging_1.1.0.yaml +++ b/api/l2-config/uei_evcharging_1.1.0.yaml @@ -1,4 +1,3 @@ - openapi: 3.0.0 info: title: Beckn Energy API Specification @@ -21,7 +20,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -30,140 +29,12 @@ paths: type: object properties: intent: - $ref: '#/components/schemas/Intent' + $ref: "#/components/schemas/Intent" required: - context - message - examples: - Search for charging stations based on location and vehicle make: - value: - context: - domain: uei:0.1.0 - location: - country: - name: India - code: IND - timestamp: '2023-07-16T04:41:16Z' - bap_id: example-bap.com - transaction_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 - message_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 - city: std:080 - core_version: 1.1.0 - action: search - bap_uri: https://api.example-bap.com/pilot/bap/charge/v1 - message: - intent: - location: - descriptor: - name: user location - circle: - gps: 12.923608703179461, 77.61462964117527 - radius: - type: CONSTANT - value: '5' - unit: km - fulfillment: - vehicle: - category: car - make: Tata - model: Nexon EV - variant: ZX+ - wheels_count: '4' - energy_type: electric - Search for charging stations based on location, vehicle make and tariff: - value: - context: - domain: uei:0.1.0 - location: - country: - name: India - code: IND - timestamp: '2023-07-16T04:41:16Z' - bap_id: example-bap.com - transaction_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 - message_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 - city: std:080 - core_version: 1.1.0 - action: search - bap_uri: https://api.example-bap.com/pilot/bap/charge/v1 - message: - intent: - location: - descriptor: - name: user location - circle: - gps: 12.923608703179461, 77.61462964117527 - radius: - type: CONSTANT - value: '5' - unit: km - item: - price: - currency: INR - value: 15 rupees per unit - fulfillment: - vehicle: - category: car - make: Tata - model: Nexon EV - variant: ZX+ - wheels_count: '4' - energy_type: electric - Search for charging stations based on charger details: - value: - context: - domain: uei:0.1.0 - location: - country: - name: India - code: IND - timestamp: '2023-07-16T04:41:16Z' - bap_id: example-bap.com - transaction_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 - message_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 - city: std:080 - core_version: 1.1.0 - action: search - bap_uri: https://api.example-bap.com/pilot/bap/charge/v1 - message: - intent: - location: - descriptor: - name: user location - circle: - gps: 12.923608703179461, 77.61462964117527 - radius: - type: CONSTANT - value: '5' - unit: km - item: - price: - currency: INR - value: 15 rupees per unit - fulfillment: - vehicle: - category: car - make: Tata - model: Nexon EV - variant: ZX+ - wheels_count: '4' - energy_type: electric - tags: - - descriptor: - name: Charger requirements - list: - - descriptor: - name: Charger type - value: AC - - descriptor: - name: Connector type - value: CCS2 - - descriptor: - name: Charger power rating - value: greater than 50kW - display: true responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -175,7 +46,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -184,7 +55,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /select: @@ -200,7 +71,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -212,14 +83,14 @@ paths: type: object properties: order: - $ref: '#/components/schemas/Order' + $ref: "#/components/schemas/Order" required: - order required: - context - message responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -231,7 +102,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -240,7 +111,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /init: @@ -256,7 +127,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -268,14 +139,14 @@ paths: type: object properties: order: - $ref: '#/components/schemas/Order' + $ref: "#/components/schemas/Order" required: - order required: - context - message responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -287,7 +158,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -296,7 +167,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /confirm: @@ -312,7 +183,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -324,14 +195,14 @@ paths: type: object properties: order: - $ref: '#/components/schemas/Order' + $ref: "#/components/schemas/Order" required: - order required: - context - message responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -343,7 +214,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -352,7 +223,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /status: @@ -368,7 +239,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -380,14 +251,14 @@ paths: type: object properties: order_id: - $ref: '#/components/schemas/Order/properties/id' + $ref: "#/components/schemas/Order/properties/id" required: - order_id required: - context - message responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -399,7 +270,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -408,7 +279,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /track: @@ -424,7 +295,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -436,7 +307,7 @@ paths: type: object properties: order_id: - $ref: '#/components/schemas/Order/properties/id' + $ref: "#/components/schemas/Order/properties/id" callback_url: type: string format: uri @@ -446,7 +317,7 @@ paths: - context - message responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -458,7 +329,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -467,7 +338,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /cancel: @@ -483,7 +354,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -495,18 +366,18 @@ paths: type: object properties: order_id: - $ref: '#/components/schemas/Order/properties/id' + $ref: "#/components/schemas/Order/properties/id" cancellation_reason_id: - $ref: '#/components/schemas/Option/properties/id' + $ref: "#/components/schemas/Option/properties/id" descriptor: - $ref: '#/components/schemas/Descriptor' + $ref: "#/components/schemas/Descriptor" required: - order_id required: - context - message responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -518,7 +389,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -527,7 +398,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /update: @@ -543,7 +414,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -560,7 +431,7 @@ paths: order: description: Updated order object allOf: - - $ref: '#/components/schemas/Order' + - $ref: "#/components/schemas/Order" required: - update_target - order @@ -568,7 +439,7 @@ paths: - context - message responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -580,7 +451,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -589,7 +460,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /rating: @@ -605,7 +476,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -619,12 +490,12 @@ paths: ratings: type: array items: - $ref: '#/components/schemas/Rating' + $ref: "#/components/schemas/Rating" required: - context - message responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -636,7 +507,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -645,7 +516,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /support: @@ -661,7 +532,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -673,12 +544,12 @@ paths: type: object properties: support: - $ref: '#/components/schemas/Support' + $ref: "#/components/schemas/Support" required: - context - message responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -690,7 +561,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -699,7 +570,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /on_search: @@ -716,7 +587,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -728,245 +599,15 @@ paths: type: object properties: catalog: - $ref: '#/components/schemas/Catalog' + $ref: "#/components/schemas/Catalog" required: - catalog error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - context - examples: - Charging service providers return a catalog with their services: - value: - context: - country: IND - location: - country: - name: India - code: IND - domain: uei:0.1.0 - timestamp: '2023-07-16T04:41:16Z' - bap_id: example-bap.com - transaction_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 - message_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 - city: std:080 - core_version: 1.1.0 - action: on_search - bap_uri: https://api.example-bap.com/pilot/bap/charge/v1 - message: - catalog: - descriptor: - name: Alpha Charging Solutions - providers: - - descriptor: - name: Spark Charging Station, Outer Ring Road - images: - - url: https://alphachargers.com/images/logo.png - id: '14325' - locations: - - gps: 12.925087, 77.6132964 - map_url: https://goo.gl/maps/5A432HSHfcd2 - city: Bangalore - area_code: '540045' - items: - - id: 686d2a8b-0e0b-4bcb-b629-5e7208c9cbfc - descriptor: - name: Spark Charger Point 1 - price: - currency: INR - value: 11 rupees per unit - tags: - - descriptor: - name: Charger Connector 1 Details - list: - - descriptor: - name: Charger type - value: AC - - descriptor: - name: Connector type - value: CCS2 - - descriptor: - name: Power Rating - value: greater than 50kW - - descriptor: - name: Availability - value: Available - display: true - - id: 993def7f-9f73-4914-b999-5249285e0d5a - descriptor: - name: Spark Charger Point 2 - price: - currency: INR - value: 13 rupees per unit - tags: - - descriptor: - name: Charger Connector 1 Details - list: - - descriptor: - name: Charger type - value: AC - - descriptor: - name: Connector type - value: CCS2 - - descriptor: - name: Power Rating - value: greater than 50kW - - descriptor: - name: Availability - value: Available - display: true - - descriptor: - name: Spark Charging Station, MG Road - id: '16226' - locations: - - gps: 12.925178, 77.6132901 - map_url: https://goo.gl/maps/7fds573GSSd2 - city: Bangalore - area_code: '540039' - items: - - id: 686d2a8b-0e0b-4bcb-b629-5e7208c9cbfc - descriptor: - name: Spark Charger Point 1 - price: - currency: INR - value: 15 rupees per unit - tags: - - descriptor: - name: Charger Connector 1 Details - list: - - descriptor: - name: Charger type - value: AC - - descriptor: - name: Connector type - value: CCS2 - - descriptor: - name: Power Rating - value: greater than 50kW - - descriptor: - name: Availability - value: Available - display: true - - id: 993def7f-9f73-4914-b999-5249285e0d5a - descriptor: - name: Spark Charger Point 2 - price: - currency: INR - value: 12 rupees per unit - tags: - - descriptor: - name: Charger Connector 1 Details - list: - - descriptor: - name: Charger type - value: AC - - descriptor: - name: Connector type - value: CCS2 - - descriptor: - name: Power Rating - value: greater than 50kW - - descriptor: - name: Availability - value: Available - display: true - Charging service providers return a catalog with connector as items: - value: - context: - country: IND - location: - country: - name: India - code: IND - domain: uei:0.1.0 - timestamp: '2023-07-16T04:41:16Z' - bap_id: example-bap.com - transaction_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 - message_id: 6743e9e2-4fb5-487c-92b7-13ba8018f176 - city: std:080 - core_version: 1.1.0 - action: on_search - bap_uri: https://api.example-bap.com/pilot/bap/charge/v1 - message: - catalog: - descriptor: - name: Alpha Charging Solutions - providers: - - id: 4235 - descriptor: - name: Alpha Charging Solutions - images: - - url: https://alphachargers.com/images/logo.png - locations: - - gps: 12.925087, 77.6132964 - map_url: https://goo.gl/maps/5A432HSHfcd2 - city: Bangalore - area_code: '540045' - items: - - id: 686d2a8b-0e0b-4bcb-b629-5e7208c9cbfc - category_ids: - - charging-station - location_ids: - - 12.925087, 77.6132964 - descriptor: - name: Spark Charging Station, Outer Ring Road - tags: - - display: true - descriptor: - name: Attributes - code: attributes - list: - - display: true - value: 10kms - descriptor: - name: Distance - code: distance - - id: 01683e33-39c5-4523-9eef-36e8165e66cb - parent_item_id: 686d2a8b-0e0b-4bcb-b629-5e7208c9cbfc - category_ids: - - charge-point - descriptor: - name: Spark Charger Point 1 - price: - currency: INR - value: ₹15-20 per unit - tags: - - display: true - descriptor: - name: Available Charging Options - list: - - descriptor: - name: Charger type - value: AC - - descriptor: - name: Connector type - value: CCS2 - - descriptor: - name: Power Rating - value: greater than 50kW - - id: ede1c8b9-c5b2-4e5f-bbf3-a7421f5e1537 - parent_item_id: 01683e33-39c5-4523-9eef-36e8165e66cb - category_ids: - - connector - descriptor: - name: Charger Connector 1 Details - tags: - - display: true - descriptor: - name: Power Rating - list: - - display: true - value: 15kW - - display: true - descriptor: - name: Connector Status - list: - - descriptor: - name: Status - display: true - value: Available responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -978,7 +619,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -987,7 +628,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /on_select: @@ -1003,7 +644,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -1015,13 +656,13 @@ paths: type: object properties: order: - $ref: '#/components/schemas/Order' + $ref: "#/components/schemas/Order" error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - context responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -1033,7 +674,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -1042,7 +683,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /on_init: @@ -1058,7 +699,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -1070,15 +711,15 @@ paths: type: object properties: order: - $ref: '#/components/schemas/Order' + $ref: "#/components/schemas/Order" required: - order error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - context responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -1090,7 +731,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -1099,7 +740,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /on_confirm: @@ -1115,7 +756,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -1127,15 +768,15 @@ paths: type: object properties: order: - $ref: '#/components/schemas/Order' + $ref: "#/components/schemas/Order" required: - order error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - context responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -1147,7 +788,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -1156,7 +797,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /on_track: @@ -1172,7 +813,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -1184,15 +825,15 @@ paths: type: object properties: tracking: - $ref: '#/components/schemas/Tracking' + $ref: "#/components/schemas/Tracking" required: - tracking error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - context responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -1204,7 +845,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -1213,7 +854,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /on_cancel: @@ -1229,7 +870,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -1241,15 +882,15 @@ paths: type: object properties: order: - $ref: '#/components/schemas/Order' + $ref: "#/components/schemas/Order" required: - order error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - context responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -1261,7 +902,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -1270,7 +911,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /on_update: @@ -1286,7 +927,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -1298,15 +939,15 @@ paths: type: object properties: order: - $ref: '#/components/schemas/Order' + $ref: "#/components/schemas/Order" required: - order error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - context responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -1318,7 +959,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -1327,7 +968,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /on_status: @@ -1343,7 +984,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -1355,15 +996,15 @@ paths: type: object properties: order: - $ref: '#/components/schemas/Order' + $ref: "#/components/schemas/Order" required: - order error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - context responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -1375,7 +1016,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -1384,7 +1025,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /on_rating: @@ -1400,7 +1041,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -1414,14 +1055,14 @@ paths: feedback_form: description: A feedback form to allow the user to provide additional information on the rating provided allOf: - - $ref: '#/components/schemas/XInput' + - $ref: "#/components/schemas/XInput" error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - context - message responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -1433,7 +1074,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -1442,7 +1083,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message /on_support: @@ -1458,7 +1099,7 @@ paths: properties: context: allOf: - - $ref: '#/components/schemas/Context' + - $ref: "#/components/schemas/Context" - properties: action: enum: @@ -1470,13 +1111,13 @@ paths: type: object properties: support: - $ref: '#/components/schemas/Support' + $ref: "#/components/schemas/Support" error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - context responses: - '200': + "200": description: Acknowledgement of message received after successful validation of schema and signature content: application/json: @@ -1488,7 +1129,7 @@ paths: properties: ack: allOf: - - $ref: '#/components/schemas/Ack' + - $ref: "#/components/schemas/Ack" - properties: status: enum: @@ -1497,7 +1138,7 @@ paths: required: - ack error: - $ref: '#/components/schemas/Error' + $ref: "#/components/schemas/Error" required: - message components: @@ -1509,12 +1150,12 @@ components: description: 'Signature of message body using BAP or BPP subscriber''s signing public key.

Format:

Authorization : Signature keyId="{subscriber_id}|{unique_key_id}|{algorithm}",algorithm="ed25519",created="1606970629",expires="1607030629",headers="(created) (expires) digest",signature="Base64(signing string)"' schemas: Ack: - description: 'Describes the acknowledgement sent in response to an API call. If the implementation uses HTTP/S, then Ack must be returned in the same session. Every API call to a BPP must be responded to with an Ack whether the BPP intends to respond with a callback or not. This has one property called `status` that indicates the status of the Acknowledgement.' + description: "Describes the acknowledgement sent in response to an API call. If the implementation uses HTTP/S, then Ack must be returned in the same session. Every API call to a BPP must be responded to with an Ack whether the BPP intends to respond with a callback or not. This has one property called `status` that indicates the status of the Acknowledgement." type: object properties: status: type: string - description: 'The status of the acknowledgement. If the request passes the validation criteria of the BPP, then this is set to ACK. If a BPP responds with status = `ACK` to a request, it is required to respond with a callback. If the request fails the validation criteria, then this is set to NACK. Additionally, if a BPP does not intend to respond with a callback even after the request meets the validation criteria, it should set this value to `NACK`.' + description: "The status of the acknowledgement. If the request passes the validation criteria of the BPP, then this is set to ACK. If a BPP responds with status = `ACK` to a request, it is required to respond with a callback. If the request fails the validation criteria, then this is set to NACK. Additionally, if a BPP does not intend to respond with a callback even after the request meets the validation criteria, it should set this value to `NACK`." enum: - ACK - NACK @@ -1522,7 +1163,7 @@ components: description: A list of tags containing any additional information sent along with the Acknowledgement. type: array items: - $ref: '#/components/schemas/TagGroup' + $ref: "#/components/schemas/TagGroup" AddOn: description: Describes an additional item offered as a value-addition to a product or service. This does not exist independently in a catalog and is always associated with an item. type: object @@ -1531,32 +1172,32 @@ components: description: Provider-defined ID of the add-on type: string descriptor: - $ref: '#/components/schemas/Descriptor' + $ref: "#/components/schemas/Descriptor" price: - $ref: '#/components/schemas/Price' + $ref: "#/components/schemas/Price" Address: description: Describes a postal address. type: string Agent: - description: 'Describes the direct performer, driver or executor that fulfills an order. It is usually a person. But in some rare cases, it could be a non-living entity like a drone, or a bot. Some examples of agents are Doctor in the healthcare sector, a driver in the mobility sector, or a delivery person in the logistics sector. This object can be set at any stage of the order lifecycle. This can be set at the discovery stage when the BPP wants to provide details on the agent fulfilling the order, like in healthcare, where the doctor''s name appears during search. This object can also used to search for a particular person that the customer wants fulfilling an order. Sometimes, this object gets instantiated after the order is confirmed, like in the case of on-demand taxis, where the driver is assigned after the user confirms the ride.' + description: "Describes the direct performer, driver or executor that fulfills an order. It is usually a person. But in some rare cases, it could be a non-living entity like a drone, or a bot. Some examples of agents are Doctor in the healthcare sector, a driver in the mobility sector, or a delivery person in the logistics sector. This object can be set at any stage of the order lifecycle. This can be set at the discovery stage when the BPP wants to provide details on the agent fulfilling the order, like in healthcare, where the doctor's name appears during search. This object can also used to search for a particular person that the customer wants fulfilling an order. Sometimes, this object gets instantiated after the order is confirmed, like in the case of on-demand taxis, where the driver is assigned after the user confirms the ride." properties: person: - $ref: '#/components/schemas/Person' + $ref: "#/components/schemas/Person" contact: - $ref: '#/components/schemas/Contact' + $ref: "#/components/schemas/Contact" organization: - $ref: '#/components/schemas/Organization' + $ref: "#/components/schemas/Organization" rating: - $ref: '#/components/schemas/Rating/properties/value' + $ref: "#/components/schemas/Rating/properties/value" Authorization: - description: 'Describes an authorization mechanism used to start or end the fulfillment of an order. For example, in the mobility sector, the driver may require a one-time password to initiate the ride. In the healthcare sector, a patient may need to provide a password to open a video conference link during a teleconsultation.' + description: "Describes an authorization mechanism used to start or end the fulfillment of an order. For example, in the mobility sector, the driver may require a one-time password to initiate the ride. In the healthcare sector, a patient may need to provide a password to open a video conference link during a teleconsultation." type: object properties: type: description: Type of authorization mechanism used. The allowed values for this field can be published as part of the network policy. type: string token: - description: 'Token used for authorization. This is typically generated at the BPP. The BAP can send this value to the user via any channel that it uses to authenticate the user like SMS, Email, Push notification, or in-app rendering.' + description: "Token used for authorization. This is typically generated at the BPP. The BAP can send this value to the user via any channel that it uses to authenticate the user like SMS, Email, Push notification, or in-app rendering." type: string valid_from: description: Timestamp in RFC3339 format from which token is valid @@ -1570,7 +1211,7 @@ components: description: Status of the token type: string Billing: - description: 'Describes the billing details of an entity.
This has properties like name,organization,address,email,phone,time,tax_number, created_at,updated_at' + description: "Describes the billing details of an entity.
This has properties like name,organization,address,email,phone,time,tax_number, created_at,updated_at" type: object properties: name: @@ -1579,19 +1220,19 @@ components: organization: description: Details of the organization being billed. allOf: - - $ref: '#/components/schemas/Organization' + - $ref: "#/components/schemas/Organization" address: description: The address of the billable entity allOf: - - $ref: '#/components/schemas/Address' + - $ref: "#/components/schemas/Address" state: description: The state where the billable entity resides. This is important for state-level tax calculation allOf: - - $ref: '#/components/schemas/State' + - $ref: "#/components/schemas/State" city: description: The city where the billable entity resides. allOf: - - $ref: '#/components/schemas/City' + - $ref: "#/components/schemas/City" email: description: Email address where the bill is sent to type: string @@ -1602,7 +1243,7 @@ components: time: description: Details regarding the billing period allOf: - - $ref: '#/components/schemas/Time' + - $ref: "#/components/schemas/Time" tax_id: description: ID of the billable entity as recognized by the taxation authority type: string @@ -1622,11 +1263,11 @@ components: reason: description: The reason for cancellation allOf: - - $ref: '#/components/schemas/Option' + - $ref: "#/components/schemas/Option" additional_description: description: Any additional information regarding the nature of cancellation allOf: - - $ref: '#/components/schemas/Descriptor' + - $ref: "#/components/schemas/Descriptor" CancellationTerm: description: Describes the cancellation terms of an item or an order. This can be referenced at an item or order level. Item-level cancellation terms can override the terms at the order level. type: object @@ -1634,45 +1275,45 @@ components: fulfillment_state: description: The state of fulfillment during which this term is applicable. allOf: - - $ref: '#/components/schemas/FulfillmentState' + - $ref: "#/components/schemas/FulfillmentState" reason_required: description: Indicates whether a reason is required to cancel the order type: boolean cancel_by: description: Information related to the time of cancellation. allOf: - - $ref: '#/components/schemas/Time' + - $ref: "#/components/schemas/Time" cancellation_fee: - $ref: '#/components/schemas/Fee' + $ref: "#/components/schemas/Fee" xinput: - $ref: '#/components/schemas/XInput' + $ref: "#/components/schemas/XInput" external_ref: - $ref: '#/components/schemas/MediaFile' + $ref: "#/components/schemas/MediaFile" Catalog: - description: 'Describes the products or services offered by a BPP. This is typically sent as the response to a search intent from a BAP. The payment terms, offers and terms of fulfillment supported by the BPP can also be included here. The BPP can show hierarchical nature of products/services in its catalog using the parent_category_id in categories. The BPP can also send a ttl (time to live) in the context which is the duration for which a BAP can cache the catalog and use the cached catalog.
This has properties like bbp/descriptor,bbp/categories,bbp/fulfillments,bbp/payments,bbp/offers,bbp/providers and exp
This is used in the following situations.
  • This is typically used in the discovery stage when the BPP sends the details of the products and services it offers as response to a search intent from the BAP.
' + description: "Describes the products or services offered by a BPP. This is typically sent as the response to a search intent from a BAP. The payment terms, offers and terms of fulfillment supported by the BPP can also be included here. The BPP can show hierarchical nature of products/services in its catalog using the parent_category_id in categories. The BPP can also send a ttl (time to live) in the context which is the duration for which a BAP can cache the catalog and use the cached catalog.
This has properties like bbp/descriptor,bbp/categories,bbp/fulfillments,bbp/payments,bbp/offers,bbp/providers and exp
This is used in the following situations.
  • This is typically used in the discovery stage when the BPP sends the details of the products and services it offers as response to a search intent from the BAP.
" type: object properties: descriptor: - $ref: '#/components/schemas/Descriptor' + $ref: "#/components/schemas/Descriptor" fulfillments: description: Fulfillment modes offered at the BPP level. This is used when a BPP itself offers fulfillments on behalf of the providers it has onboarded. type: array items: - $ref: '#/components/schemas/Fulfillment' + $ref: "#/components/schemas/Fulfillment" payments: description: Payment terms offered by the BPP for all transactions. This can be overriden at the provider level. type: array items: - $ref: '#/components/schemas/Payment' + $ref: "#/components/schemas/Payment" offers: description: Offers at the BPP-level. This is common across all providers onboarded by the BPP. type: array items: - $ref: '#/components/schemas/Offer' + $ref: "#/components/schemas/Offer" providers: type: array items: - $ref: '#/components/schemas/Provider' + $ref: "#/components/schemas/Provider" exp: description: Timestamp after which catalog will expire type: string @@ -1688,25 +1329,25 @@ components: description: ID of the category type: string parent_category_id: - $ref: '#/components/schemas/Category/properties/id' + $ref: "#/components/schemas/Category/properties/id" descriptor: - $ref: '#/components/schemas/Descriptor' + $ref: "#/components/schemas/Descriptor" time: - $ref: '#/components/schemas/Time' + $ref: "#/components/schemas/Time" ttl: description: Time to live for an instance of this schema tags: type: array items: - $ref: '#/components/schemas/TagGroup' + $ref: "#/components/schemas/TagGroup" Circle: description: Describes a circular region of a specified radius centered at a specified GPS coordinate. type: object properties: gps: - $ref: '#/components/schemas/Gps' + $ref: "#/components/schemas/Gps" radius: - $ref: '#/components/schemas/Scalar' + $ref: "#/components/schemas/Scalar" City: description: Describes a city type: object @@ -1729,17 +1370,17 @@ components: type: object description: A Jcard object as per draft-ietf-jcardcal-jcard-03 specification Context: - description: 'Every API call in beckn protocol has a context. It provides a high-level overview to the receiver about the nature of the intended transaction. Typically, it is the BAP that sets the transaction context based on the consumer''s location and action on their UI. But sometimes, during unsolicited callbacks, the BPP also sets the transaction context but it is usually the same as the context of a previous full-cycle, request-callback interaction between the BAP and the BPP. The context object contains four types of fields.
  1. Demographic information about the transaction using fields like `domain`, `country`, and `region`.
  2. Addressing details like the sending and receiving platform''s ID and API URL.
  3. Interoperability information like the protocol version that implemented by the sender and,
  4. Transaction details like the method being called at the receiver''s endpoint, the transaction_id that represents an end-to-end user session at the BAP, a message ID to pair requests with callbacks, a timestamp to capture sending times, a ttl to specifiy the validity of the request, and a key to encrypt information if necessary.
This object must be passed in every interaction between a BAP and a BPP. In HTTP/S implementations, it is not necessary to send the context during the synchronous response. However, in asynchronous protocols, the context must be sent during all interactions,' + description: "Every API call in beckn protocol has a context. It provides a high-level overview to the receiver about the nature of the intended transaction. Typically, it is the BAP that sets the transaction context based on the consumer's location and action on their UI. But sometimes, during unsolicited callbacks, the BPP also sets the transaction context but it is usually the same as the context of a previous full-cycle, request-callback interaction between the BAP and the BPP. The context object contains four types of fields.
  1. Demographic information about the transaction using fields like `domain`, `country`, and `region`.
  2. Addressing details like the sending and receiving platform's ID and API URL.
  3. Interoperability information like the protocol version that implemented by the sender and,
  4. Transaction details like the method being called at the receiver's endpoint, the transaction_id that represents an end-to-end user session at the BAP, a message ID to pair requests with callbacks, a timestamp to capture sending times, a ttl to specifiy the validity of the request, and a key to encrypt information if necessary.
This object must be passed in every interaction between a BAP and a BPP. In HTTP/S implementations, it is not necessary to send the context during the synchronous response. However, in asynchronous protocols, the context must be sent during all interactions," type: object properties: domain: description: Domain code that is relevant to this transaction context allOf: - - $ref: '#/components/schemas/Domain/properties/code' + - $ref: "#/components/schemas/Domain/properties/code" location: description: The location where the transaction is intended to be fulfilled. allOf: - - $ref: '#/components/schemas/Location' + - $ref: "#/components/schemas/Location" action: description: The Beckn protocol method being called by the sender and executed at the receiver. type: string @@ -1749,7 +1390,7 @@ components: bap_id: description: Subscriber ID of the BAP allOf: - - description: 'A globally unique identifier of the platform, Typically it is the fully qualified domain name (FQDN) of the platform.' + - description: "A globally unique identifier of the platform, Typically it is the fully qualified domain name (FQDN) of the platform." type: string bap_uri: description: Subscriber URL of the BAP for accepting callbacks from BPPs. @@ -1760,17 +1401,17 @@ components: bpp_id: description: Subscriber ID of the BPP allOf: - - $ref: '#/components/schemas/Context/properties/bap_id/allOf/0' + - $ref: "#/components/schemas/Context/properties/bap_id/allOf/0" bpp_uri: description: Subscriber URL of the BPP for accepting calls from BAPs. allOf: - - $ref: '#/components/schemas/Context/properties/bap_uri/allOf/0' + - $ref: "#/components/schemas/Context/properties/bap_uri/allOf/0" transaction_id: - description: 'This is a unique value which persists across all API calls from `search` through `confirm`. This is done to indicate an active user session across multiple requests. The BPPs can use this value to push personalized recommendations, and dynamic offerings related to an ongoing transaction despite being unaware of the user active on the BAP.' + description: "This is a unique value which persists across all API calls from `search` through `confirm`. This is done to indicate an active user session across multiple requests. The BPPs can use this value to push personalized recommendations, and dynamic offerings related to an ongoing transaction despite being unaware of the user active on the BAP." type: string format: uuid message_id: - description: 'This is a unique value which persists during a request / callback cycle. Since beckn protocol APIs are asynchronous, BAPs need a common value to match an incoming callback from a BPP to an earlier call. This value can also be used to ignore duplicate messages coming from the BPP. It is recommended to generate a fresh message_id for every new interaction. When sending unsolicited callbacks, BPPs must generate a new message_id.' + description: "This is a unique value which persists during a request / callback cycle. Since beckn protocol APIs are asynchronous, BAPs need a common value to match an incoming callback from a BPP to an earlier call. This value can also be used to ignore duplicate messages coming from the BPP. It is recommended to generate a fresh message_id for every new interaction. When sending unsolicited callbacks, BPPs must generate a new message_id." type: string format: uuid timestamp: @@ -1784,13 +1425,13 @@ components: description: The duration in ISO8601 format after timestamp for which this message holds valid type: string required: - - action - - domain - - version - - bap_id - - bap_uri - - transaction_id - - message_id + - action + - domain + - version + - bap_id + - bap_uri + - transaction_id + - message_id Country: description: Describes a country type: object @@ -1819,13 +1460,13 @@ components: type: object properties: person: - $ref: '#/components/schemas/Person' + $ref: "#/components/schemas/Person" contact: - $ref: '#/components/schemas/Contact' + $ref: "#/components/schemas/Contact" DecimalValue: description: Describes a numerical value in decimal form type: string - pattern: '[+-]?([0-9]*[.])?[0-9]+' + pattern: "[+-]?([0-9]*[.])?[0-9]+" Descriptor: description: Physical description of something. type: object @@ -1852,32 +1493,32 @@ components: media: type: array items: - $ref: '#/components/schemas/MediaFile' + $ref: "#/components/schemas/MediaFile" images: type: array items: - $ref: '#/components/schemas/Image' + $ref: "#/components/schemas/Image" Domain: - description: 'Described the industry sector or sub-sector. The network policy should contain codes for all the industry sectors supported by the network. Domains can be created in varying levels of granularity. The granularity of a domain can be decided by the participants of the network. Too broad domains will result in irrelevant search broadcast calls to BPPs that don''t have services supporting the domain. Too narrow domains will result in a large number of registry entries for each BPP. It is recommended that network facilitators actively collaborate with various working groups and network participants to carefully choose domain codes keeping in mind relevance, performance, and opportunity cost. It is recommended that networks choose broad domains like mobility, logistics, healthcare etc, and progressively granularize them as and when the number of network participants for each domain grows large.' + description: "Described the industry sector or sub-sector. The network policy should contain codes for all the industry sectors supported by the network. Domains can be created in varying levels of granularity. The granularity of a domain can be decided by the participants of the network. Too broad domains will result in irrelevant search broadcast calls to BPPs that don't have services supporting the domain. Too narrow domains will result in a large number of registry entries for each BPP. It is recommended that network facilitators actively collaborate with various working groups and network participants to carefully choose domain codes keeping in mind relevance, performance, and opportunity cost. It is recommended that networks choose broad domains like mobility, logistics, healthcare etc, and progressively granularize them as and when the number of network participants for each domain grows large." type: object properties: name: description: Name of the domain type: string code: - description: 'Standard code representing the domain. The standard is usually published as part of the network policy. Furthermore, the network facilitator should also provide a mechanism to provide the supported domains of a network.' + description: "Standard code representing the domain. The standard is usually published as part of the network policy. Furthermore, the network facilitator should also provide a mechanism to provide the supported domains of a network." type: string - enum: + enum: - uei:evcharging additional_info: description: A url that contains addtional information about that domain. allOf: - - $ref: '#/components/schemas/MediaFile' + - $ref: "#/components/schemas/MediaFile" Duration: description: Describes duration as per ISO8601 format type: string Error: - description: 'Describes an error object that is returned by a BAP, BPP or BG as a response or callback to an action by another network participant. This object is sent when any request received by a network participant is unacceptable. This object can be sent either during Ack or with the callback.' + description: "Describes an error object that is returned by a BAP, BPP or BG as a response or callback to an action by another network participant. This object is sent when any request received by a network participant is unacceptable. This object can be sent either during Ack or with the callback." type: object properties: code: @@ -1896,17 +1537,17 @@ components: percentage: description: Percentage of a value allOf: - - $ref: '#/components/schemas/DecimalValue' + - $ref: "#/components/schemas/DecimalValue" amount: description: A fixed value allOf: - - $ref: '#/components/schemas/Price' + - $ref: "#/components/schemas/Price" Form: description: Describes a form type: object properties: url: - description: 'The URL from where the form can be fetched. The content fetched from the url must be processed as per the mime_type specified in this object. Once fetched, the rendering platform can choosed to render the form as-is as an embeddable element; or process it further to blend with the theme of the application. In case the interface is non-visual, the the render can process the form data and reproduce it as per the standard specified in the form.' + description: "The URL from where the form can be fetched. The content fetched from the url must be processed as per the mime_type specified in this object. Once fetched, the rendering platform can choosed to render the form as-is as an embeddable element; or process it further to blend with the theme of the application. In case the interface is non-visual, the the render can process the form data and reproduce it as per the standard specified in the form." type: string format: uri data: @@ -1931,7 +1572,7 @@ components: description: Unique reference ID to the fulfillment of an order type: string type: - description: 'A code that describes the mode of fulfillment. This is typically set when there are multiple ways an order can be fulfilled. For example, a retail order can be fulfilled either via store pickup or a home delivery. Similarly, a medical consultation can be provided either in-person or via tele-consultation. The network policy must publish standard fulfillment type codes for the different modes of fulfillment.' + description: "A code that describes the mode of fulfillment. This is typically set when there are multiple ways an order can be fulfilled. For example, a retail order can be fulfilled either via store pickup or a home delivery. Similarly, a medical consultation can be provided either in-person or via tele-consultation. The network policy must publish standard fulfillment type codes for the different modes of fulfillment." type: string rateable: description: Whether the fulfillment can be rated or not @@ -1939,11 +1580,11 @@ components: rating: description: The rating value of the fulfullment service. allOf: - - $ref: '#/components/schemas/Rating/properties/value' + - $ref: "#/components/schemas/Rating/properties/value" state: description: The current state of fulfillment. The BPP must set this value whenever the state of the order fulfillment changes and fire an unsolicited `on_status` call. allOf: - - $ref: '#/components/schemas/FulfillmentState' + - $ref: "#/components/schemas/FulfillmentState" tracking: type: boolean description: Indicates whether the fulfillment allows tracking @@ -1951,37 +1592,37 @@ components: customer: description: The person that will ultimately receive the order allOf: - - $ref: '#/components/schemas/Customer' + - $ref: "#/components/schemas/Customer" agent: description: The agent that is currently handling the fulfillment of the order allOf: - - $ref: '#/components/schemas/Agent' + - $ref: "#/components/schemas/Agent" contact: - $ref: '#/components/schemas/Contact' + $ref: "#/components/schemas/Contact" vehicle: - $ref: '#/components/schemas/Vehicle' + $ref: "#/components/schemas/Vehicle" stops: description: The list of logical stops encountered during the fulfillment of an order. type: array items: - $ref: '#/components/schemas/Stop' + $ref: "#/components/schemas/Stop" path: description: The physical path taken by the agent that can be rendered on a map. The allowed format of this property can be set by the network. type: string tags: type: array items: - $ref: '#/components/schemas/TagGroup' + $ref: "#/components/schemas/TagGroup" FulfillmentState: description: Describes the state of fulfillment type: object properties: descriptor: - allOf: - - $ref: '#/components/schemas/Descriptor' + allOf: + - $ref: "#/components/schemas/Descriptor" - properties: code: - enum: + enum: - PAYMENT_COMPLETED - CHARGING_INPROGRESS - CHARGING_COMPLETED @@ -2021,45 +1662,45 @@ components: description: Height of the image in pixels type: string Intent: - description: 'The intent to buy or avail a product or a service. The BAP can declare the intent of the consumer containing
  • What they want (A product, service, offer)
  • Who they want (A seller, service provider, agent etc)
  • Where they want it and where they want it from
  • When they want it (start and end time of fulfillment
  • How they want to pay for it

This has properties like descriptor,provider,fulfillment,payment,category,offer,item,tags
This is typically used by the BAP to send the purpose of the user''s search to the BPP. This will be used by the BPP to find products or services it offers that may match the user''s intent.
For example, in Mobility, the mobility consumer declares a mobility intent. In this case, the mobility consumer declares information that describes various aspects of their journey like,
  • Where would they like to begin their journey (intent.fulfillment.start.location)
  • Where would they like to end their journey (intent.fulfillment.end.location)
  • When would they like to begin their journey (intent.fulfillment.start.time)
  • When would they like to end their journey (intent.fulfillment.end.time)
  • Who is the transport service provider they would like to avail services from (intent.provider)
  • Who is traveling (This is not recommended in public networks) (intent.fulfillment.customer)
  • What kind of fare product would they like to purchase (intent.item)
  • What add-on services would they like to avail
  • What offers would they like to apply on their booking (intent.offer)
  • What category of services would they like to avail (intent.category)
  • What additional luggage are they carrying
  • How would they like to pay for their journey (intent.payment)

For example, in health domain, a consumer declares the intent for a lab booking the describes various aspects of their booking like,
  • Where would they like to get their scan/test done (intent.fulfillment.start.location)
  • When would they like to get their scan/test done (intent.fulfillment.start.time)
  • When would they like to get the results of their test/scan (intent.fulfillment.end.time)
  • Who is the service provider they would like to avail services from (intent.provider)
  • Who is getting the test/scan (intent.fulfillment.customer)
  • What kind of test/scan would they like to purchase (intent.item)
  • What category of services would they like to avail (intent.category)
  • How would they like to pay for their journey (intent.payment)
' + description: "The intent to buy or avail a product or a service. The BAP can declare the intent of the consumer containing
  • What they want (A product, service, offer)
  • Who they want (A seller, service provider, agent etc)
  • Where they want it and where they want it from
  • When they want it (start and end time of fulfillment
  • How they want to pay for it

This has properties like descriptor,provider,fulfillment,payment,category,offer,item,tags
This is typically used by the BAP to send the purpose of the user's search to the BPP. This will be used by the BPP to find products or services it offers that may match the user's intent.
For example, in Mobility, the mobility consumer declares a mobility intent. In this case, the mobility consumer declares information that describes various aspects of their journey like,
  • Where would they like to begin their journey (intent.fulfillment.start.location)
  • Where would they like to end their journey (intent.fulfillment.end.location)
  • When would they like to begin their journey (intent.fulfillment.start.time)
  • When would they like to end their journey (intent.fulfillment.end.time)
  • Who is the transport service provider they would like to avail services from (intent.provider)
  • Who is traveling (This is not recommended in public networks) (intent.fulfillment.customer)
  • What kind of fare product would they like to purchase (intent.item)
  • What add-on services would they like to avail
  • What offers would they like to apply on their booking (intent.offer)
  • What category of services would they like to avail (intent.category)
  • What additional luggage are they carrying
  • How would they like to pay for their journey (intent.payment)

For example, in health domain, a consumer declares the intent for a lab booking the describes various aspects of their booking like,
  • Where would they like to get their scan/test done (intent.fulfillment.start.location)
  • When would they like to get their scan/test done (intent.fulfillment.start.time)
  • When would they like to get the results of their test/scan (intent.fulfillment.end.time)
  • Who is the service provider they would like to avail services from (intent.provider)
  • Who is getting the test/scan (intent.fulfillment.customer)
  • What kind of test/scan would they like to purchase (intent.item)
  • What category of services would they like to avail (intent.category)
  • How would they like to pay for their journey (intent.payment)
" type: object properties: descriptor: - description: 'A raw description of the search intent. Free text search strings, raw audio, etc can be sent in this object.' + description: "A raw description of the search intent. Free text search strings, raw audio, etc can be sent in this object." allOf: - - $ref: '#/components/schemas/Descriptor' + - $ref: "#/components/schemas/Descriptor" provider: description: The provider from which the customer wants to place to the order from allOf: - - $ref: '#/components/schemas/Provider' + - $ref: "#/components/schemas/Provider" fulfillment: description: Details on how the customer wants their order fulfilled allOf: - - $ref: '#/components/schemas/Fulfillment' + - $ref: "#/components/schemas/Fulfillment" location: description: Location of the request that needs fulfillment. allOf: - - $ref: '#/components/schemas/Location' + - $ref: "#/components/schemas/Location" payment: description: Details on how the customer wants to pay for the order allOf: - - $ref: '#/components/schemas/Payment' + - $ref: "#/components/schemas/Payment" category: description: Details on the item category allOf: - - $ref: '#/components/schemas/Category' + - $ref: "#/components/schemas/Category" offer: description: details on the offer the customer wants to avail allOf: - - $ref: '#/components/schemas/Offer' + - $ref: "#/components/schemas/Offer" item: description: Details of the item that the consumer wants to order allOf: - - $ref: '#/components/schemas/Item' + - $ref: "#/components/schemas/Item" tags: type: array items: - $ref: '#/components/schemas/TagGroup' + $ref: "#/components/schemas/TagGroup" ItemQuantity: description: Describes the count or amount of an item type: object @@ -2072,7 +1713,7 @@ components: type: integer minimum: 0 measure: - $ref: '#/components/schemas/Scalar' + $ref: "#/components/schemas/Scalar" available: description: This represents the exact quantity available for purchase of the item. The buyer can only purchase multiples of this type: object @@ -2081,7 +1722,7 @@ components: type: integer minimum: 0 measure: - $ref: '#/components/schemas/Scalar' + $ref: "#/components/schemas/Scalar" maximum: description: This represents the maximum quantity allowed for purchase of the item type: object @@ -2090,7 +1731,7 @@ components: type: integer minimum: 1 measure: - $ref: '#/components/schemas/Scalar' + $ref: "#/components/schemas/Scalar" minimum: description: This represents the minimum quantity allowed for purchase of the item type: object @@ -2099,7 +1740,7 @@ components: type: integer minimum: 0 measure: - $ref: '#/components/schemas/Scalar' + $ref: "#/components/schemas/Scalar" selected: description: This represents the quantity selected for purchase of the item type: object @@ -2108,7 +1749,7 @@ components: type: integer minimum: 0 measure: - $ref: '#/components/schemas/Scalar' + $ref: "#/components/schemas/Scalar" unitized: description: This represents the quantity available in a single unit of the item type: object @@ -2118,71 +1759,71 @@ components: minimum: 1 maximum: 1 measure: - $ref: '#/components/schemas/Scalar' + $ref: "#/components/schemas/Scalar" Item: - description: 'Describes a product or a service offered to the end consumer by the provider. In the mobility sector, it can represent a fare product like one way journey. In the logistics sector, it can represent the delivery service offering. In the retail domain it can represent a product like a grocery item.' + description: "Describes a product or a service offered to the end consumer by the provider. In the mobility sector, it can represent a fare product like one way journey. In the logistics sector, it can represent the delivery service offering. In the retail domain it can represent a product like a grocery item." type: object properties: id: description: ID of the item. type: string parent_item_id: - description: 'ID of the item, this item is a variant of' + description: "ID of the item, this item is a variant of" allOf: - - $ref: '#/components/schemas/Item/properties/id' + - $ref: "#/components/schemas/Item/properties/id" parent_item_quantity: description: The number of units of the parent item this item is a multiple of allOf: - - $ref: '#/components/schemas/ItemQuantity' + - $ref: "#/components/schemas/ItemQuantity" descriptor: description: Physical description of the item allOf: - - $ref: '#/components/schemas/Descriptor' + - $ref: "#/components/schemas/Descriptor" creator: description: The creator of this item allOf: - - $ref: '#/components/schemas/Organization' + - $ref: "#/components/schemas/Organization" price: - description: 'The price of this item, if it has intrinsic value' + description: "The price of this item, if it has intrinsic value" allOf: - - $ref: '#/components/schemas/Price' + - $ref: "#/components/schemas/Price" quantity: description: The selling quantity of the item allOf: - - $ref: '#/components/schemas/ItemQuantity' + - $ref: "#/components/schemas/ItemQuantity" category_ids: description: Categories this item can be listed under type: array items: allOf: - - $ref: '#/components/schemas/Category/properties/id' + - $ref: "#/components/schemas/Category/properties/id" fulfillment_ids: description: Modes through which this item can be fulfilled type: array items: allOf: - - $ref: '#/components/schemas/Fulfillment/properties/id' + - $ref: "#/components/schemas/Fulfillment/properties/id" location_ids: description: Provider Locations this item is available in type: array items: allOf: - - $ref: '#/components/schemas/Location/properties/id' + - $ref: "#/components/schemas/Location/properties/id" payment_ids: description: Payment modalities through which this item can be ordered type: array items: allOf: - - $ref: '#/components/schemas/Payment/properties/id' + - $ref: "#/components/schemas/Payment/properties/id" add_ons: type: array items: - $ref: '#/components/schemas/AddOn' + $ref: "#/components/schemas/AddOn" cancellation_terms: description: Cancellation terms of this item type: array items: - $ref: '#/components/schemas/CancellationTerm' + $ref: "#/components/schemas/CancellationTerm" refund_terms: description: Refund terms of this item type: array @@ -2193,41 +1834,41 @@ components: fulfillment_state: description: The state of fulfillment during which this term is applicable. allOf: - - $ref: '#/components/schemas/State' + - $ref: "#/components/schemas/State" refund_eligible: description: Indicates if cancellation will result in a refund type: boolean refund_within: description: Time within which refund will be processed after successful cancellation. allOf: - - $ref: '#/components/schemas/Time' + - $ref: "#/components/schemas/Time" refund_amount: - $ref: '#/components/schemas/Price' + $ref: "#/components/schemas/Price" replacement_terms: description: Terms that are applicable be met when this item is replaced type: array items: - $ref: '#/components/schemas/ReplacementTerm' + $ref: "#/components/schemas/ReplacementTerm" return_terms: description: Terms that are applicable when this item is returned type: array items: - $ref: '#/components/schemas/ReturnTerm' + $ref: "#/components/schemas/ReturnTerm" xinput: description: Additional input required from the customer to purchase / avail this item allOf: - - $ref: '#/components/schemas/XInput' + - $ref: "#/components/schemas/XInput" time: description: Temporal attributes of this item. This property is used when the item exists on the catalog only for a limited period of time. allOf: - - $ref: '#/components/schemas/Time' + - $ref: "#/components/schemas/Time" rateable: description: Whether this item can be rated type: boolean rating: description: The rating of the item allOf: - - $ref: '#/components/schemas/Rating/properties/value' + - $ref: "#/components/schemas/Rating/properties/value" matched: description: Whether this item is an exact match of the request type: boolean @@ -2243,7 +1884,7 @@ components: tags: type: array items: - $ref: '#/components/schemas/TagGroup' + $ref: "#/components/schemas/TagGroup" Location: description: The physical location of something type: object @@ -2251,7 +1892,7 @@ components: id: type: string descriptor: - $ref: '#/components/schemas/Descriptor' + $ref: "#/components/schemas/Descriptor" map_url: description: The url to the map of the location. This can be a globally recognized map url or the one specified by the network policy. type: string @@ -2259,30 +1900,30 @@ components: gps: description: The GPS co-ordinates of this location. allOf: - - $ref: '#/components/schemas/Gps' + - $ref: "#/components/schemas/Gps" address: description: The address of this location. allOf: - - $ref: '#/components/schemas/Address' + - $ref: "#/components/schemas/Address" city: - description: 'The city this location is, or is located within' + description: "The city this location is, or is located within" allOf: - - $ref: '#/components/schemas/City' + - $ref: "#/components/schemas/City" district: - description: 'The state this location is, or is located within' + description: "The state this location is, or is located within" type: string state: - description: 'The state this location is, or is located within' + description: "The state this location is, or is located within" allOf: - - $ref: '#/components/schemas/State' + - $ref: "#/components/schemas/State" country: - description: 'The country this location is, or is located within' + description: "The country this location is, or is located within" allOf: - - $ref: '#/components/schemas/Country' + - $ref: "#/components/schemas/Country" area_code: type: string circle: - $ref: '#/components/schemas/Circle' + $ref: "#/components/schemas/Circle" polygon: description: The boundary polygon of this location type: string @@ -2292,13 +1933,13 @@ components: rating: description: The rating of this location allOf: - - $ref: '#/components/schemas/Rating/properties/value' + - $ref: "#/components/schemas/Rating/properties/value" MediaFile: description: This object contains a url to a media file. type: object properties: mimetype: - description: 'indicates the nature and format of the document, file, or assortment of bytes. MIME types are defined and standardized in IETF''s RFC 6838' + description: "indicates the nature and format of the document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838" type: string url: description: The URL of the file @@ -2317,25 +1958,25 @@ components: id: type: string descriptor: - $ref: '#/components/schemas/Descriptor' + $ref: "#/components/schemas/Descriptor" location_ids: type: array items: - $ref: '#/components/schemas/Location/properties/id' + $ref: "#/components/schemas/Location/properties/id" category_ids: type: array items: - $ref: '#/components/schemas/Category/properties/id' + $ref: "#/components/schemas/Category/properties/id" item_ids: type: array items: - $ref: '#/components/schemas/Item/properties/id' + $ref: "#/components/schemas/Item/properties/id" time: - $ref: '#/components/schemas/Time' + $ref: "#/components/schemas/Time" tags: type: array items: - $ref: '#/components/schemas/TagGroup' + $ref: "#/components/schemas/TagGroup" Option: description: Describes a selectable option type: object @@ -2343,7 +1984,7 @@ components: id: type: string descriptor: - $ref: '#/components/schemas/Descriptor' + $ref: "#/components/schemas/Descriptor" Order: description: Describes a legal purchase order. It contains the complete details of the legal contract created between the buyer and the seller. type: object @@ -2365,7 +2006,7 @@ components: - COMPLETE - CANCELLED type: - description: 'This is used to indicate the type of order being created to BPPs. Sometimes orders can be linked to previous orders, like a replacement order in a retail domain. A follow-up consultation in healthcare domain. A single order part of a subscription order. The list of order types can be standardized at the network level.' + description: "This is used to indicate the type of order being created to BPPs. Sometimes orders can be linked to previous orders, like a replacement order in a retail domain. A follow-up consultation in healthcare domain. A single order part of a subscription order. The list of order types can be standardized at the network level." type: string default: DEFAULT enum: @@ -2374,64 +2015,64 @@ components: provider: description: Details of the provider whose catalog items have been selected. allOf: - - $ref: '#/components/schemas/Provider' + - $ref: "#/components/schemas/Provider" items: description: The items purchased / availed in this order type: array items: - $ref: '#/components/schemas/Item' + $ref: "#/components/schemas/Item" add_ons: description: The add-ons purchased / availed in this order type: array items: - $ref: '#/components/schemas/AddOn' + $ref: "#/components/schemas/AddOn" offers: description: The offers applied in this order type: array items: - $ref: '#/components/schemas/Offer' + $ref: "#/components/schemas/Offer" billing: description: The billing details of this order allOf: - - $ref: '#/components/schemas/Billing' + - $ref: "#/components/schemas/Billing" fulfillments: description: The fulfillments involved in completing this order type: array items: - $ref: '#/components/schemas/Fulfillment' + $ref: "#/components/schemas/Fulfillment" cancellation: description: The cancellation details of this order allOf: - - $ref: '#/components/schemas/Cancellation' + - $ref: "#/components/schemas/Cancellation" cancellation_terms: description: Cancellation terms of this item type: array items: - $ref: '#/components/schemas/CancellationTerm' + $ref: "#/components/schemas/CancellationTerm" refund_terms: description: Refund terms of this item type: array items: - $ref: '#/components/schemas/Item/properties/refund_terms/items' + $ref: "#/components/schemas/Item/properties/refund_terms/items" replacement_terms: description: Replacement terms of this item type: array items: - $ref: '#/components/schemas/ReplacementTerm' + $ref: "#/components/schemas/ReplacementTerm" return_terms: description: Return terms of this item type: array items: - $ref: '#/components/schemas/ReturnTerm' + $ref: "#/components/schemas/ReturnTerm" quote: description: The mutually agreed upon quotation for this order. allOf: - - $ref: '#/components/schemas/Quotation' + - $ref: "#/components/schemas/Quotation" payments: description: The terms of settlement for this order type: array items: - $ref: '#/components/schemas/Payment' + $ref: "#/components/schemas/Payment" created_at: description: The date-time of creation of this order type: string @@ -2443,43 +2084,43 @@ components: xinput: description: Additional input required from the customer to confirm this order allOf: - - $ref: '#/components/schemas/XInput' + - $ref: "#/components/schemas/XInput" tags: type: array items: - $ref: '#/components/schemas/TagGroup' + $ref: "#/components/schemas/TagGroup" Organization: description: An organization. Usually a recognized business entity. type: object properties: descriptor: - $ref: '#/components/schemas/Descriptor' + $ref: "#/components/schemas/Descriptor" address: description: The postal address of the organization allOf: - - $ref: '#/components/schemas/Address' + - $ref: "#/components/schemas/Address" state: description: The state where the organization's address is registered allOf: - - $ref: '#/components/schemas/State' + - $ref: "#/components/schemas/State" city: description: The city where the the organization's address is registered allOf: - - $ref: '#/components/schemas/City' + - $ref: "#/components/schemas/City" contact: - $ref: '#/components/schemas/Contact' + $ref: "#/components/schemas/Contact" Payment: - description: 'Describes the terms of settlement between the BAP and the BPP for a single transaction. When instantiated, this object contains
  1. the amount that has to be settled,
  2. The payment destination destination details
  3. When the settlement should happen, and
  4. A transaction reference ID
. During a transaction, the BPP reserves the right to decide the terms of payment. However, the BAP can send its terms to the BPP first. If the BPP does not agree to those terms, it must overwrite the terms and return them to the BAP. If overridden, the BAP must either agree to the terms sent by the BPP in order to preserve the provider''s autonomy, or abort the transaction. In case of such disagreements, the BAP and the BPP can perform offline negotiations on the payment terms. Once an agreement is reached, the BAP and BPP can resume transactions.' + description: "Describes the terms of settlement between the BAP and the BPP for a single transaction. When instantiated, this object contains
  1. the amount that has to be settled,
  2. The payment destination destination details
  3. When the settlement should happen, and
  4. A transaction reference ID
. During a transaction, the BPP reserves the right to decide the terms of payment. However, the BAP can send its terms to the BPP first. If the BPP does not agree to those terms, it must overwrite the terms and return them to the BAP. If overridden, the BAP must either agree to the terms sent by the BPP in order to preserve the provider's autonomy, or abort the transaction. In case of such disagreements, the BAP and the BPP can perform offline negotiations on the payment terms. Once an agreement is reached, the BAP and BPP can resume transactions." type: object properties: id: description: ID of the payment term that can be referred at an item or an order level in a catalog type: string collected_by: - description: 'This field indicates who is the collector of payment. The BAP can set this value to ''bap'' if it wants to collect the payment first and settle it to the BPP. If the BPP agrees to those terms, the BPP should not send the payment url. Alternatively, the BPP can set this field with the value ''bpp'' if it wants the payment to be made directly.' + description: "This field indicates who is the collector of payment. The BAP can set this value to 'bap' if it wants to collect the payment first and settle it to the BPP. If the BPP agrees to those terms, the BPP should not send the payment url. Alternatively, the BPP can set this field with the value 'bpp' if it wants the payment to be made directly." url: type: string - description: 'A payment url to be called by the BAP. If empty, then the payment is to be done offline. The details of payment should be present in the params object. If tl_method = http/get, then the payment details will be sent as url params. Two url param values, ```$transaction_id``` and ```$amount``` are mandatory.' + description: "A payment url to be called by the BAP. If empty, then the payment is to be done offline. The details of payment should be present in the params object. If tl_method = http/get, then the payment details will be sent as url params. Two url param values, ```$transaction_id``` and ```$amount``` are mandatory." format: uri params: type: object @@ -2516,11 +2157,11 @@ components: - PAID - NOT-PAID time: - $ref: '#/components/schemas/Time' + $ref: "#/components/schemas/Time" tags: type: array items: - $ref: '#/components/schemas/TagGroup' + $ref: "#/components/schemas/TagGroup" Person: description: Describes a person as any individual type: object @@ -2536,22 +2177,22 @@ components: description: the name of the person type: string image: - $ref: '#/components/schemas/Image' + $ref: "#/components/schemas/Image" age: description: Age of the person allOf: - - $ref: '#/components/schemas/Duration' + - $ref: "#/components/schemas/Duration" dob: description: Date of birth of the person type: string format: date gender: type: string - description: 'Gender of something, typically a Person, but possibly also fictional characters, animals, etc. While Male and Female may be used, text strings are also acceptable for people who do not identify as a binary gender.Allowed values for this field can be published in the network policy' + description: "Gender of something, typically a Person, but possibly also fictional characters, animals, etc. While Male and Female may be used, text strings are also acceptable for people who do not identify as a binary gender.Allowed values for this field can be published in the network policy" creds: type: array items: - $ref: '#/components/schemas/Credential' + $ref: "#/components/schemas/Credential" languages: type: array items: @@ -2575,7 +2216,7 @@ components: tags: type: array items: - $ref: '#/components/schemas/TagGroup' + $ref: "#/components/schemas/TagGroup" Price: description: Describes the price of a product or service type: object @@ -2583,19 +2224,19 @@ components: currency: type: string value: - $ref: '#/components/schemas/DecimalValue' + $ref: "#/components/schemas/DecimalValue" estimated_value: - $ref: '#/components/schemas/DecimalValue' + $ref: "#/components/schemas/DecimalValue" computed_value: - $ref: '#/components/schemas/DecimalValue' + $ref: "#/components/schemas/DecimalValue" listed_value: - $ref: '#/components/schemas/DecimalValue' + $ref: "#/components/schemas/DecimalValue" offered_value: - $ref: '#/components/schemas/DecimalValue' + $ref: "#/components/schemas/DecimalValue" minimum_value: - $ref: '#/components/schemas/DecimalValue' + $ref: "#/components/schemas/DecimalValue" maximum_value: - $ref: '#/components/schemas/DecimalValue' + $ref: "#/components/schemas/DecimalValue" Provider: description: Describes the catalog of a business. type: object @@ -2604,38 +2245,38 @@ components: type: string description: Id of the provider descriptor: - $ref: '#/components/schemas/Descriptor' + $ref: "#/components/schemas/Descriptor" category_id: type: string description: Category Id of the provider at the BPP-level catalog rating: - $ref: '#/components/schemas/Rating/properties/value' + $ref: "#/components/schemas/Rating/properties/value" time: - $ref: '#/components/schemas/Time' + $ref: "#/components/schemas/Time" categories: type: array items: - $ref: '#/components/schemas/Category' + $ref: "#/components/schemas/Category" fulfillments: type: array items: - $ref: '#/components/schemas/Fulfillment' + $ref: "#/components/schemas/Fulfillment" payments: type: array items: - $ref: '#/components/schemas/Payment' + $ref: "#/components/schemas/Payment" locations: type: array items: - $ref: '#/components/schemas/Location' + $ref: "#/components/schemas/Location" offers: type: array items: - $ref: '#/components/schemas/Offer' + $ref: "#/components/schemas/Offer" items: type: array items: - $ref: '#/components/schemas/Item' + $ref: "#/components/schemas/Item" exp: type: string description: Time after which catalog has to be refreshed @@ -2644,15 +2285,15 @@ components: description: Whether this provider can be rated or not type: boolean ttl: - description: 'The time-to-live in seconds, for this object. This can be overriden at deeper levels. A value of -1 indicates that this object is not cacheable.' + description: "The time-to-live in seconds, for this object. This can be overriden at deeper levels. A value of -1 indicates that this object is not cacheable." type: integer minimum: -1 tags: type: array items: - $ref: '#/components/schemas/TagGroup' + $ref: "#/components/schemas/TagGroup" Quotation: - description: 'Describes a quote. It is the estimated price of products or services from the BPP.
This has properties like price, breakup, ttl' + description: "Describes a quote. It is the estimated price of products or services from the BPP.
This has properties like price, breakup, ttl" type: object properties: id: @@ -2662,7 +2303,7 @@ components: price: description: The total quoted price allOf: - - $ref: '#/components/schemas/Price' + - $ref: "#/components/schemas/Price" breakup: description: the breakup of the total quoted price type: array @@ -2670,18 +2311,18 @@ components: type: object properties: item: - $ref: '#/components/schemas/Item' + $ref: "#/components/schemas/Item" title: type: string - enum: - - ENERGY - - ADD-ONS - - DISCOUNT - - TAX + enum: + - ENERGY + - ADD-ONS + - DISCOUNT + - TAX price: - $ref: '#/components/schemas/Price' + $ref: "#/components/schemas/Price" ttl: - $ref: '#/components/schemas/Duration' + $ref: "#/components/schemas/Duration" Rating: description: Describes the rating of an entity type: object @@ -2697,21 +2338,21 @@ components: description: Id of the object being rated type: string value: - description: 'Rating value given to the object. This can be a single value or can also contain an inequality operator like gt, gte, lt, lte. This can also contain an inequality expression containing logical operators like && and ||.' + description: "Rating value given to the object. This can be a single value or can also contain an inequality operator like gt, gte, lt, lte. This can also contain an inequality expression containing logical operators like && and ||." type: string Region: description: Describes an arbitrary region of space. The network policy should contain a published list of supported regions by the network. type: object properties: dimensions: - description: 'The number of dimensions that are used to describe any point inside that region. The most common dimensionality of a region is 2, that represents an area on a map. There are regions on the map that can be approximated to one-dimensional regions like roads, railway lines, or shipping lines. 3 dimensional regions are rarer, but are gaining popularity as flying drones are being adopted for various fulfillment services.' + description: "The number of dimensions that are used to describe any point inside that region. The most common dimensionality of a region is 2, that represents an area on a map. There are regions on the map that can be approximated to one-dimensional regions like roads, railway lines, or shipping lines. 3 dimensional regions are rarer, but are gaining popularity as flying drones are being adopted for various fulfillment services." type: string enum: - - '1' - - '2' - - '3' + - "1" + - "2" + - "3" type: - description: 'The type of region. This is used to specify the granularity of the region represented by this object. Various examples of two-dimensional region types are city, country, state, district, and so on. The network policy should contain a list of all possible region types supported by the network.' + description: "The type of region. This is used to specify the granularity of the region represented by this object. Various examples of two-dimensional region types are city, country, state, district, and so on. The network policy should contain a list of all possible region types supported by the network." type: string name: type: string @@ -2721,7 +2362,7 @@ components: description: A standard code representing the region. This should be interpreted in the same way by all network participants. boundary: type: string - description: 'A string representing the boundary of the region. One-dimensional regions are represented by polylines. Two-dimensional regions are represented by polygons, and three-dimensional regions can represented by polyhedra.' + description: "A string representing the boundary of the region. One-dimensional regions are represented by polylines. Two-dimensional regions are represented by polygons, and three-dimensional regions can represented by polyhedra." map_url: type: string description: The url to the map of the region. This can be a globally recognized map or the one specified by the network policy. @@ -2732,13 +2373,13 @@ components: fulfillment_state: description: The state of fulfillment during which this term is applicable. allOf: - - $ref: '#/components/schemas/State' + - $ref: "#/components/schemas/State" replace_within: - description: 'Applicable only for buyer managed returns where the buyer has to replace the item before a certain date-time, failing which they will not be eligible for replacement' + description: "Applicable only for buyer managed returns where the buyer has to replace the item before a certain date-time, failing which they will not be eligible for replacement" allOf: - - $ref: '#/components/schemas/Time' + - $ref: "#/components/schemas/Time" external_ref: - $ref: '#/components/schemas/MediaFile' + $ref: "#/components/schemas/MediaFile" ReturnTerm: description: Describes the return policy of an item or an order type: object @@ -2746,18 +2387,18 @@ components: fulfillment_state: description: The state of fulfillment during which this term IETF''s applicable. allOf: - - $ref: '#/components/schemas/State' + - $ref: "#/components/schemas/State" return_eligible: description: Indicates whether the item is eligible for return type: boolean return_time: - description: 'Applicable only for buyer managed returns where the buyer has to return the item to the origin before a certain date-time, failing which they will not be eligible for refund.' + description: "Applicable only for buyer managed returns where the buyer has to return the item to the origin before a certain date-time, failing which they will not be eligible for refund." allOf: - - $ref: '#/components/schemas/Time' + - $ref: "#/components/schemas/Time" return_location: description: The location where the item or order must / will be returned to allOf: - - $ref: '#/components/schemas/Location' + - $ref: "#/components/schemas/Location" fulfillment_managed_by: description: The entity that will perform the return type: string @@ -2774,26 +2415,26 @@ components: - CONSTANT - VARIABLE value: - $ref: '#/components/schemas/DecimalValue' + $ref: "#/components/schemas/DecimalValue" estimated_value: - $ref: '#/components/schemas/DecimalValue' + $ref: "#/components/schemas/DecimalValue" computed_value: - $ref: '#/components/schemas/DecimalValue' + $ref: "#/components/schemas/DecimalValue" range: type: object properties: min: - $ref: '#/components/schemas/DecimalValue' + $ref: "#/components/schemas/DecimalValue" max: - $ref: '#/components/schemas/DecimalValue' + $ref: "#/components/schemas/DecimalValue" unit: type: string Schedule: - description: 'Describes schedule as a repeating time period used to describe a regularly recurring event. At a minimum a schedule will specify frequency which describes the interval between occurrences of the event. Additional information can be provided to specify the schedule more precisely. This includes identifying the timestamps(s) of when the event will take place. Schedules may also have holidays to exclude a specific day from the schedule.
This has properties like frequency, holidays, times' + description: "Describes schedule as a repeating time period used to describe a regularly recurring event. At a minimum a schedule will specify frequency which describes the interval between occurrences of the event. Additional information can be provided to specify the schedule more precisely. This includes identifying the timestamps(s) of when the event will take place. Schedules may also have holidays to exclude a specific day from the schedule.
This has properties like frequency, holidays, times" type: object properties: frequency: - $ref: '#/components/schemas/Duration' + $ref: "#/components/schemas/Duration" holidays: type: array items: @@ -2825,30 +2466,30 @@ components: location: description: Location of the stop allOf: - - $ref: '#/components/schemas/Location' + - $ref: "#/components/schemas/Location" type: description: The type of stop. Allowed values of this property can be defined by the network policy. type: string enum: - - START + - START time: description: Timings applicable at the stop. allOf: - - $ref: '#/components/schemas/Time' + - $ref: "#/components/schemas/Time" instructions: description: Instructions that need to be followed at the stop allOf: - - $ref: '#/components/schemas/Descriptor' + - $ref: "#/components/schemas/Descriptor" contact: description: Contact details of the stop allOf: - - $ref: '#/components/schemas/Contact' + - $ref: "#/components/schemas/Contact" person: description: The details of the person present at the stop allOf: - - $ref: '#/components/schemas/Person' + - $ref: "#/components/schemas/Person" authorization: - $ref: '#/components/schemas/Authorization' + $ref: "#/components/schemas/Authorization" Support: description: Details of customer support type: object @@ -2868,38 +2509,38 @@ components: type: string format: uri Tag: - description: 'Describes a tag. This is used to contain extended metadata. This object can be added as a property to any schema to describe extended attributes. For BAPs, tags can be sent during search to optimize and filter search results. BPPs can use tags to index their catalog to allow better search functionality. Tags are sent by the BPP as part of the catalog response in the `on_search` callback. Tags are also meant for display purposes. Upon receiving a tag, BAPs are meant to render them as name-value pairs. This is particularly useful when rendering tabular information about a product or service.' + description: "Describes a tag. This is used to contain extended metadata. This object can be added as a property to any schema to describe extended attributes. For BAPs, tags can be sent during search to optimize and filter search results. BPPs can use tags to index their catalog to allow better search functionality. Tags are sent by the BPP as part of the catalog response in the `on_search` callback. Tags are also meant for display purposes. Upon receiving a tag, BAPs are meant to render them as name-value pairs. This is particularly useful when rendering tabular information about a product or service." type: object properties: descriptor: - description: 'Description of the Tag, can be used to store detailed information.' + description: "Description of the Tag, can be used to store detailed information." allOf: - - $ref: '#/components/schemas/Descriptor' + - $ref: "#/components/schemas/Descriptor" value: description: The value of the tag. This set by the BPP and rendered as-is by the BAP. type: string display: - description: 'This value indicates if the tag is intended for display purposes. If set to `true`, then this tag must be displayed. If it is set to `false`, it should not be displayed. This value can override the group display value.' + description: "This value indicates if the tag is intended for display purposes. If set to `true`, then this tag must be displayed. If it is set to `false`, it should not be displayed. This value can override the group display value." type: boolean TagGroup: - description: 'A collection of tag objects with group level attributes. For detailed documentation on the Tags and Tag Groups schema go to https://github.com/beckn/protocol-specifications/discussions/316' + description: "A collection of tag objects with group level attributes. For detailed documentation on the Tags and Tag Groups schema go to https://github.com/beckn/protocol-specifications/discussions/316" type: object properties: display: - description: 'Indicates the display properties of the tag group. If display is set to false, then the group will not be displayed. If it is set to true, it should be displayed. However, group-level display properties can be overriden by individual tag-level display property. As this schema is purely for catalog display purposes, it is not recommended to send this value during search.' + description: "Indicates the display properties of the tag group. If display is set to false, then the group will not be displayed. If it is set to true, it should be displayed. However, group-level display properties can be overriden by individual tag-level display property. As this schema is purely for catalog display purposes, it is not recommended to send this value during search." type: boolean default: true descriptor: - description: 'Description of the TagGroup, can be used to store detailed information.' + description: "Description of the TagGroup, can be used to store detailed information." allOf: - - $ref: '#/components/schemas/Descriptor' + - $ref: "#/components/schemas/Descriptor" list: - description: 'An array of Tag objects listed under this group. This property can be set by BAPs during search to narrow the `search` and achieve more relevant results. When received during `on_search`, BAPs must render this list under the heading described by the `name` property of this schema.' + description: "An array of Tag objects listed under this group. This property can be set by BAPs during search to narrow the `search` and achieve more relevant results. When received during `on_search`, BAPs must render this list under the heading described by the `name` property of this schema." type: array items: - $ref: '#/components/schemas/Tag' + $ref: "#/components/schemas/Tag" Time: - description: 'Describes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
This has properties like label, time stamp,duration,range, days, schedule' + description: "Describes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
This has properties like label, time stamp,duration,range, days, schedule" type: object properties: label: @@ -2908,7 +2549,7 @@ components: type: string format: date-time duration: - $ref: '#/components/schemas/Duration' + $ref: "#/components/schemas/Duration" range: type: object properties: @@ -2922,7 +2563,7 @@ components: type: string description: comma separated values representing days of the week schedule: - $ref: '#/components/schemas/Schedule' + $ref: "#/components/schemas/Schedule" Tracking: description: Contains tracking information that can be used by the BAP to track the fulfillment of an order in real-time. which is useful for knowing the location of time sensitive deliveries. type: object @@ -2931,21 +2572,21 @@ components: description: A unique tracking reference number type: string url: - description: 'A URL to the tracking endpoint. This can be a link to a tracking webpage, a webhook URL created by the BAP where BPP can push the tracking data, or a GET url creaed by the BPP which the BAP can poll to get the tracking data. It can also be a websocket URL where the BPP can push real-time tracking data.' + description: "A URL to the tracking endpoint. This can be a link to a tracking webpage, a webhook URL created by the BAP where BPP can push the tracking data, or a GET url creaed by the BPP which the BAP can poll to get the tracking data. It can also be a websocket URL where the BPP can push real-time tracking data." type: string format: uri location: - description: 'In case there is no real-time tracking endpoint available, this field will contain the latest location of the entity being tracked. The BPP will update this value everytime the BAP calls the track API.' + description: "In case there is no real-time tracking endpoint available, this field will contain the latest location of the entity being tracked. The BPP will update this value everytime the BAP calls the track API." allOf: - - $ref: '#/components/schemas/Location' + - $ref: "#/components/schemas/Location" status: - description: 'This value indicates if the tracking is currently active or not. If this value is `active`, then the BAP can begin tracking the order. If this value is `inactive`, the tracking URL is considered to be expired and the BAP should stop tracking the order.' + description: "This value indicates if the tracking is currently active or not. If this value is `active`, then the BAP can begin tracking the order. If this value is `inactive`, the tracking URL is considered to be expired and the BAP should stop tracking the order." type: string enum: - ACTIVE - INACTIVE Vehicle: - description: 'Describes a vehicle is a device that is designed or used to transport people or cargo over land, water, air, or through space.
This has properties like category, capacity, make, model, size,variant,color,energy_type,registration' + description: "Describes a vehicle is a device that is designed or used to transport people or cargo over land, water, air, or through space.
This has properties like category, capacity, make, model, size,variant,color,energy_type,registration" type: object properties: category: @@ -2977,11 +2618,11 @@ components: emission_standard: type: string XInput: - description: 'Contains any additional or extended inputs required to confirm an order. This is typically a Form Input. Sometimes, selection of catalog elements is not enough for the BPP to confirm an order. For example, to confirm a flight ticket, the airline requires details of the passengers along with information on baggage, identity, in addition to the class of ticket. Similarly, a logistics company may require details on the nature of shipment in order to confirm the shipping. A recruiting firm may require additional details on the applicant in order to confirm a job application. For all such purposes, the BPP can choose to send this object attached to any object in the catalog that is required to be sent while placing the order. This object can typically be sent at an item level or at the order level. The item level XInput will override the Order level XInput as it indicates a special requirement of information for that particular item. Hence the BAP must render a separate form for the Item and another form at the Order level before confirmation.' + description: "Contains any additional or extended inputs required to confirm an order. This is typically a Form Input. Sometimes, selection of catalog elements is not enough for the BPP to confirm an order. For example, to confirm a flight ticket, the airline requires details of the passengers along with information on baggage, identity, in addition to the class of ticket. Similarly, a logistics company may require details on the nature of shipment in order to confirm the shipping. A recruiting firm may require additional details on the applicant in order to confirm a job application. For all such purposes, the BPP can choose to send this object attached to any object in the catalog that is required to be sent while placing the order. This object can typically be sent at an item level or at the order level. The item level XInput will override the Order level XInput as it indicates a special requirement of information for that particular item. Hence the BAP must render a separate form for the Item and another form at the Order level before confirmation." type: object properties: form: - $ref: '#/components/schemas/Form' + $ref: "#/components/schemas/Form" required: description: Indicates whether the form data is mandatorily required by the BPP to confirm the order. - type: boolean \ No newline at end of file + type: boolean diff --git a/examples/ev-charging/cancel/on_cancel-request.json b/examples/ev-charging/cancel/on_cancel-request.json index a2947a40..551b495f 100644 --- a/examples/ev-charging/cancel/on_cancel-request.json +++ b/examples/ev-charging/cancel/on_cancel-request.json @@ -76,7 +76,7 @@ "type": "CHARGING", "state": { "descriptor": { - "code": "order-cancelled" + "code": "ORDER_CANCELLED" } }, "stops": [ diff --git a/examples/ev-charging/confirm/on_confirm.json b/examples/ev-charging/confirm/on_confirm.json index 1c27e302..24aa674b 100644 --- a/examples/ev-charging/confirm/on_confirm.json +++ b/examples/ev-charging/confirm/on_confirm.json @@ -76,7 +76,7 @@ "type": "CHARGING", "state": { "descriptor": { - "code": "payment-completed" + "code": "PAYMENT_COMPLETED" } }, "stops": [ diff --git a/examples/ev-charging/status/on_status-request.json b/examples/ev-charging/status/on_status-request.json index 0b1207f3..284c50b4 100644 --- a/examples/ev-charging/status/on_status-request.json +++ b/examples/ev-charging/status/on_status-request.json @@ -76,7 +76,7 @@ "type": "CHARGING", "state": { "descriptor": { - "code": "charging-inprogress", + "code": "CHARGING_INPROGRESS", "short_desc": "Vehicle 45 % Charged" } }, From b9087fbbeafcecc367d5f9ed825af308659a9d8a Mon Sep 17 00:00:00 2001 From: Mayank bansal Date: Thu, 20 Jun 2024 21:14:57 +0530 Subject: [PATCH 9/9] energydemand layer2config added' --- api/l2-config/uei_energydemand_1.1.0.yaml | 2627 +++++++++++++++++++++ 1 file changed, 2627 insertions(+) diff --git a/api/l2-config/uei_energydemand_1.1.0.yaml b/api/l2-config/uei_energydemand_1.1.0.yaml index e69de29b..bd4fbf65 100644 --- a/api/l2-config/uei_energydemand_1.1.0.yaml +++ b/api/l2-config/uei_energydemand_1.1.0.yaml @@ -0,0 +1,2627 @@ +openapi: 3.0.0 +info: + title: Beckn Energy API Specification + description: Adaptation of Beckn protocol for the Energy sector. + version: 1.1.0 +security: + - SubscriberAuth: [] +paths: + /search: + post: + tags: + - Beckn Provider Platform (BPP) + - Beckn Gateway (BG) + description: This allows the customer to search for energy related services. + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - search + message: + type: object + properties: + intent: + $ref: "#/components/schemas/Intent" + required: + - context + - message + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /select: + post: + tags: + - Beckn Provider Platform (BPP) + description: BAP declares the customer's cart (or equivalent) created by selecting objects from the catalog + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - select + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order: + $ref: "#/components/schemas/Order" + required: + - order + required: + - context + - message + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /init: + post: + tags: + - Beckn Provider Platform (BPP) + description: Initialize an order by providing billing and/or shipping details + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - init + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order: + $ref: "#/components/schemas/Order" + required: + - order + required: + - context + - message + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /confirm: + post: + tags: + - Beckn Provider Platform (BPP) + description: Initialize an order by providing billing and/or shipping details + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - confirm + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order: + $ref: "#/components/schemas/Order" + required: + - order + required: + - context + - message + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /status: + post: + tags: + - Beckn Provider Platform (BPP) + description: Fetch the latest order object + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - status + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order_id: + $ref: "#/components/schemas/Order/properties/id" + required: + - order_id + required: + - context + - message + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /track: + post: + tags: + - Beckn Provider Platform (BPP) + description: Track an active order + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - track + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order_id: + $ref: "#/components/schemas/Order/properties/id" + callback_url: + type: string + format: uri + required: + - order_id + required: + - context + - message + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /cancel: + post: + tags: + - Beckn Provider Platform (BPP) + description: Cancel an order + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - cancel + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order_id: + $ref: "#/components/schemas/Order/properties/id" + cancellation_reason_id: + $ref: "#/components/schemas/Option/properties/id" + descriptor: + $ref: "#/components/schemas/Descriptor" + required: + - order_id + required: + - context + - message + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /update: + post: + tags: + - Beckn Provider Platform (BPP) + description: Remove object + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - update + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + update_target: + description: 'Comma separated values of order objects being updated. For example: ```"update_target":"item,billing,fulfillment"```' + type: string + order: + description: Updated order object + allOf: + - $ref: "#/components/schemas/Order" + required: + - update_target + - order + required: + - context + - message + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /rating: + post: + tags: + - Beckn Provider Platform (BPP) + description: Provide feedback on a service + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - rating + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + ratings: + type: array + items: + $ref: "#/components/schemas/Rating" + required: + - context + - message + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /support: + post: + tags: + - Beckn Provider Platform (BPP) + description: Contact support + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - support + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + support: + $ref: "#/components/schemas/Support" + required: + - context + - message + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /on_search: + post: + tags: + - Beckn Application Platform (BAP) + - Beckn Gateway (BG) + description: BPP sends its catalog in response to a search request. + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - on_search + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + catalog: + $ref: "#/components/schemas/Catalog" + required: + - catalog + error: + $ref: "#/components/schemas/Error" + required: + - context + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /on_select: + post: + tags: + - Beckn Application Platform (BAP) + description: Send draft order object with quoted price for selected items + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - on_select + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order: + $ref: "#/components/schemas/Order" + error: + $ref: "#/components/schemas/Error" + required: + - context + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /on_init: + post: + tags: + - Beckn Application Platform (BAP) + description: Send order object with payment details updated + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - on_init + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order: + $ref: "#/components/schemas/Order" + required: + - order + error: + $ref: "#/components/schemas/Error" + required: + - context + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /on_confirm: + post: + tags: + - Beckn Application Platform (BAP) + description: Send active order object + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - on_confirm + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order: + $ref: "#/components/schemas/Order" + required: + - order + error: + $ref: "#/components/schemas/Error" + required: + - context + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /on_track: + post: + tags: + - Beckn Application Platform (BAP) + description: Send tracking details of an active order + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - on_track + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + tracking: + $ref: "#/components/schemas/Tracking" + required: + - tracking + error: + $ref: "#/components/schemas/Error" + required: + - context + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /on_cancel: + post: + tags: + - Beckn Application Platform (BAP) + description: Send cancellation request_id with reasons list in case of cancellation request. Else send cancelled order object + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - on_cancel + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order: + $ref: "#/components/schemas/Order" + required: + - order + error: + $ref: "#/components/schemas/Error" + required: + - context + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /on_update: + post: + tags: + - Beckn Application Platform (BAP) + description: Returns updated service with updated runtime object + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - on_update + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order: + $ref: "#/components/schemas/Order" + required: + - order + error: + $ref: "#/components/schemas/Error" + required: + - context + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /on_status: + post: + tags: + - Beckn Application Platform (BAP) + description: Fetch the status of a Service + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - on_status + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + order: + $ref: "#/components/schemas/Order" + required: + - order + error: + $ref: "#/components/schemas/Error" + required: + - context + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /on_rating: + post: + tags: + - Beckn Application Platform (BAP) + description: Provide feedback on a service + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - on_rating + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + feedback_form: + description: A feedback form to allow the user to provide additional information on the rating provided + allOf: + - $ref: "#/components/schemas/XInput" + error: + $ref: "#/components/schemas/Error" + required: + - context + - message + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message + /on_support: + post: + tags: + - Beckn Application Platform (BAP) + description: Contact Support + requestBody: + content: + application/json: + schema: + type: object + properties: + context: + allOf: + - $ref: "#/components/schemas/Context" + - properties: + action: + enum: + - on_support + required: + - bpp_id + - bpp_uri + message: + type: object + properties: + support: + $ref: "#/components/schemas/Support" + error: + $ref: "#/components/schemas/Error" + required: + - context + responses: + "200": + description: Acknowledgement of message received after successful validation of schema and signature + content: + application/json: + schema: + type: object + properties: + message: + type: object + properties: + ack: + allOf: + - $ref: "#/components/schemas/Ack" + - properties: + status: + enum: + - ACK + - NACK + required: + - ack + error: + $ref: "#/components/schemas/Error" + required: + - message +components: + securitySchemes: + SubscriberAuth: + type: apiKey + in: header + name: Authorization + description: 'Signature of message body using BAP or BPP subscriber''s signing public key.

Format:

Authorization : Signature keyId="{subscriber_id}|{unique_key_id}|{algorithm}",algorithm="ed25519",created="1606970629",expires="1607030629",headers="(created) (expires) digest",signature="Base64(signing string)"' + schemas: + Ack: + description: "Describes the acknowledgement sent in response to an API call. If the implementation uses HTTP/S, then Ack must be returned in the same session. Every API call to a BPP must be responded to with an Ack whether the BPP intends to respond with a callback or not. This has one property called `status` that indicates the status of the Acknowledgement." + type: object + properties: + status: + type: string + description: "The status of the acknowledgement. If the request passes the validation criteria of the BPP, then this is set to ACK. If a BPP responds with status = `ACK` to a request, it is required to respond with a callback. If the request fails the validation criteria, then this is set to NACK. Additionally, if a BPP does not intend to respond with a callback even after the request meets the validation criteria, it should set this value to `NACK`." + enum: + - ACK + - NACK + tags: + description: A list of tags containing any additional information sent along with the Acknowledgement. + type: array + items: + $ref: "#/components/schemas/TagGroup" + AddOn: + description: Describes an additional item offered as a value-addition to a product or service. This does not exist independently in a catalog and is always associated with an item. + type: object + properties: + id: + description: Provider-defined ID of the add-on + type: string + descriptor: + $ref: "#/components/schemas/Descriptor" + price: + $ref: "#/components/schemas/Price" + Address: + description: Describes a postal address. + type: string + Agent: + description: "Describes the direct performer, driver or executor that fulfills an order. It is usually a person. But in some rare cases, it could be a non-living entity like a drone, or a bot. Some examples of agents are Doctor in the healthcare sector, a driver in the mobility sector, or a delivery person in the logistics sector. This object can be set at any stage of the order lifecycle. This can be set at the discovery stage when the BPP wants to provide details on the agent fulfilling the order, like in healthcare, where the doctor's name appears during search. This object can also used to search for a particular person that the customer wants fulfilling an order. Sometimes, this object gets instantiated after the order is confirmed, like in the case of on-demand taxis, where the driver is assigned after the user confirms the ride." + properties: + person: + $ref: "#/components/schemas/Person" + contact: + $ref: "#/components/schemas/Contact" + organization: + $ref: "#/components/schemas/Organization" + rating: + $ref: "#/components/schemas/Rating/properties/value" + Authorization: + description: "Describes an authorization mechanism used to start or end the fulfillment of an order. For example, in the mobility sector, the driver may require a one-time password to initiate the ride. In the healthcare sector, a patient may need to provide a password to open a video conference link during a teleconsultation." + type: object + properties: + type: + description: Type of authorization mechanism used. The allowed values for this field can be published as part of the network policy. + type: string + token: + description: "Token used for authorization. This is typically generated at the BPP. The BAP can send this value to the user via any channel that it uses to authenticate the user like SMS, Email, Push notification, or in-app rendering." + type: string + valid_from: + description: Timestamp in RFC3339 format from which token is valid + type: string + format: date-time + valid_to: + description: Timestamp in RFC3339 format until which token is valid + type: string + format: date-time + status: + description: Status of the token + type: string + Billing: + description: "Describes the billing details of an entity.
This has properties like name,organization,address,email,phone,time,tax_number, created_at,updated_at" + type: object + properties: + name: + description: Name of the billable entity + type: string + organization: + description: Details of the organization being billed. + allOf: + - $ref: "#/components/schemas/Organization" + address: + description: The address of the billable entity + allOf: + - $ref: "#/components/schemas/Address" + state: + description: The state where the billable entity resides. This is important for state-level tax calculation + allOf: + - $ref: "#/components/schemas/State" + city: + description: The city where the billable entity resides. + allOf: + - $ref: "#/components/schemas/City" + email: + description: Email address where the bill is sent to + type: string + format: email + phone: + description: Phone number of the billable entity + type: string + time: + description: Details regarding the billing period + allOf: + - $ref: "#/components/schemas/Time" + tax_id: + description: ID of the billable entity as recognized by the taxation authority + type: string + Cancellation: + description: Describes a cancellation event + type: object + properties: + time: + description: Date-time when the order was cancelled by the buyer + type: string + format: date-time + cancelled_by: + type: string + enum: + - CONSUMER + - PROVIDER + reason: + description: The reason for cancellation + allOf: + - $ref: "#/components/schemas/Option" + additional_description: + description: Any additional information regarding the nature of cancellation + allOf: + - $ref: "#/components/schemas/Descriptor" + CancellationTerm: + description: Describes the cancellation terms of an item or an order. This can be referenced at an item or order level. Item-level cancellation terms can override the terms at the order level. + type: object + properties: + fulfillment_state: + description: The state of fulfillment during which this term is applicable. + allOf: + - $ref: "#/components/schemas/FulfillmentState" + reason_required: + description: Indicates whether a reason is required to cancel the order + type: boolean + cancel_by: + description: Information related to the time of cancellation. + allOf: + - $ref: "#/components/schemas/Time" + cancellation_fee: + $ref: "#/components/schemas/Fee" + xinput: + $ref: "#/components/schemas/XInput" + external_ref: + $ref: "#/components/schemas/MediaFile" + Catalog: + description: "Describes the products or services offered by a BPP. This is typically sent as the response to a search intent from a BAP. The payment terms, offers and terms of fulfillment supported by the BPP can also be included here. The BPP can show hierarchical nature of products/services in its catalog using the parent_category_id in categories. The BPP can also send a ttl (time to live) in the context which is the duration for which a BAP can cache the catalog and use the cached catalog.
This has properties like bbp/descriptor,bbp/categories,bbp/fulfillments,bbp/payments,bbp/offers,bbp/providers and exp
This is used in the following situations.
  • This is typically used in the discovery stage when the BPP sends the details of the products and services it offers as response to a search intent from the BAP.
" + type: object + properties: + descriptor: + $ref: "#/components/schemas/Descriptor" + fulfillments: + description: Fulfillment modes offered at the BPP level. This is used when a BPP itself offers fulfillments on behalf of the providers it has onboarded. + type: array + items: + $ref: "#/components/schemas/Fulfillment" + payments: + description: Payment terms offered by the BPP for all transactions. This can be overriden at the provider level. + type: array + items: + $ref: "#/components/schemas/Payment" + offers: + description: Offers at the BPP-level. This is common across all providers onboarded by the BPP. + type: array + items: + $ref: "#/components/schemas/Offer" + providers: + type: array + items: + $ref: "#/components/schemas/Provider" + exp: + description: Timestamp after which catalog will expire + type: string + format: date-time + ttl: + description: Duration in seconds after which this catalog will expire + type: string + Category: + description: A label under which a collection of items can be grouped. + type: object + properties: + id: + description: ID of the category + type: string + parent_category_id: + $ref: "#/components/schemas/Category/properties/id" + descriptor: + $ref: "#/components/schemas/Descriptor" + time: + $ref: "#/components/schemas/Time" + ttl: + description: Time to live for an instance of this schema + tags: + type: array + items: + $ref: "#/components/schemas/TagGroup" + Circle: + description: Describes a circular region of a specified radius centered at a specified GPS coordinate. + type: object + properties: + gps: + $ref: "#/components/schemas/Gps" + radius: + $ref: "#/components/schemas/Scalar" + City: + description: Describes a city + type: object + properties: + name: + description: Name of the city + type: string + code: + description: City code + type: string + Contact: + description: Describes the contact information of an entity + type: object + properties: + phone: + type: string + email: + type: string + jcard: + type: object + description: A Jcard object as per draft-ietf-jcardcal-jcard-03 specification + Context: + description: "Every API call in beckn protocol has a context. It provides a high-level overview to the receiver about the nature of the intended transaction. Typically, it is the BAP that sets the transaction context based on the consumer's location and action on their UI. But sometimes, during unsolicited callbacks, the BPP also sets the transaction context but it is usually the same as the context of a previous full-cycle, request-callback interaction between the BAP and the BPP. The context object contains four types of fields.
  1. Demographic information about the transaction using fields like `domain`, `country`, and `region`.
  2. Addressing details like the sending and receiving platform's ID and API URL.
  3. Interoperability information like the protocol version that implemented by the sender and,
  4. Transaction details like the method being called at the receiver's endpoint, the transaction_id that represents an end-to-end user session at the BAP, a message ID to pair requests with callbacks, a timestamp to capture sending times, a ttl to specifiy the validity of the request, and a key to encrypt information if necessary.
This object must be passed in every interaction between a BAP and a BPP. In HTTP/S implementations, it is not necessary to send the context during the synchronous response. However, in asynchronous protocols, the context must be sent during all interactions," + type: object + properties: + domain: + description: Domain code that is relevant to this transaction context + allOf: + - $ref: "#/components/schemas/Domain/properties/code" + location: + description: The location where the transaction is intended to be fulfilled. + allOf: + - $ref: "#/components/schemas/Location" + action: + description: The Beckn protocol method being called by the sender and executed at the receiver. + type: string + version: + type: string + description: Version of transaction protocol being used by the sender. + bap_id: + description: Subscriber ID of the BAP + allOf: + - description: "A globally unique identifier of the platform, Typically it is the fully qualified domain name (FQDN) of the platform." + type: string + bap_uri: + description: Subscriber URL of the BAP for accepting callbacks from BPPs. + allOf: + - description: The callback URL of the Subscriber. This should necessarily contain the same domain name as set in `subscriber_id``. + type: string + format: uri + bpp_id: + description: Subscriber ID of the BPP + allOf: + - $ref: "#/components/schemas/Context/properties/bap_id/allOf/0" + bpp_uri: + description: Subscriber URL of the BPP for accepting calls from BAPs. + allOf: + - $ref: "#/components/schemas/Context/properties/bap_uri/allOf/0" + transaction_id: + description: "This is a unique value which persists across all API calls from `search` through `confirm`. This is done to indicate an active user session across multiple requests. The BPPs can use this value to push personalized recommendations, and dynamic offerings related to an ongoing transaction despite being unaware of the user active on the BAP." + type: string + format: uuid + message_id: + description: "This is a unique value which persists during a request / callback cycle. Since beckn protocol APIs are asynchronous, BAPs need a common value to match an incoming callback from a BPP to an earlier call. This value can also be used to ignore duplicate messages coming from the BPP. It is recommended to generate a fresh message_id for every new interaction. When sending unsolicited callbacks, BPPs must generate a new message_id." + type: string + format: uuid + timestamp: + description: Time of request generation in RFC3339 format + type: string + format: date-time + key: + description: The encryption public key of the sender + type: string + ttl: + description: The duration in ISO8601 format after timestamp for which this message holds valid + type: string + required: + - action + - domain + - version + - bap_id + - bap_uri + - transaction_id + - message_id + Country: + description: Describes a country + type: object + properties: + name: + type: string + description: Name of the country + code: + type: string + description: Country code as per ISO 3166-1 and ISO 3166-2 format + Credential: + description: Describes a credential of an entity - Person or Organization + type: object + properties: + id: + type: string + type: + type: string + default: VerifiableCredential + url: + description: URL of the credential + type: string + format: uri + Customer: + description: Describes a customer buying/availing a product or a service + type: object + properties: + person: + $ref: "#/components/schemas/Person" + contact: + $ref: "#/components/schemas/Contact" + DecimalValue: + description: Describes a numerical value in decimal form + type: string + pattern: "[+-]?([0-9]*[.])?[0-9]+" + Descriptor: + description: Physical description of something. + type: object + properties: + name: + type: string + code: + type: string + short_desc: + type: string + long_desc: + type: string + additional_desc: + type: object + properties: + url: + type: string + content_type: + type: string + enum: + - text/plain + - text/html + - application/json + media: + type: array + items: + $ref: "#/components/schemas/MediaFile" + images: + type: array + items: + $ref: "#/components/schemas/Image" + Domain: + description: "Described the industry sector or sub-sector. The network policy should contain codes for all the industry sectors supported by the network. Domains can be created in varying levels of granularity. The granularity of a domain can be decided by the participants of the network. Too broad domains will result in irrelevant search broadcast calls to BPPs that don't have services supporting the domain. Too narrow domains will result in a large number of registry entries for each BPP. It is recommended that network facilitators actively collaborate with various working groups and network participants to carefully choose domain codes keeping in mind relevance, performance, and opportunity cost. It is recommended that networks choose broad domains like mobility, logistics, healthcare etc, and progressively granularize them as and when the number of network participants for each domain grows large." + type: object + properties: + name: + description: Name of the domain + type: string + code: + description: "Standard code representing the domain. The standard is usually published as part of the network policy. Furthermore, the network facilitator should also provide a mechanism to provide the supported domains of a network." + type: string + enum: + - uei:energydemand + additional_info: + description: A url that contains addtional information about that domain. + allOf: + - $ref: "#/components/schemas/MediaFile" + Duration: + description: Describes duration as per ISO8601 format + type: string + Error: + description: "Describes an error object that is returned by a BAP, BPP or BG as a response or callback to an action by another network participant. This object is sent when any request received by a network participant is unacceptable. This object can be sent either during Ack or with the callback." + type: object + properties: + code: + type: string + description: 'Standard error code. For full list of error codes, refer to docs/protocol-drafts/BECKN-005-ERROR-CODES-DRAFT-01.md of this repo"' + paths: + type: string + description: Path to json schema generating the error. Used only during json schema validation errors + message: + type: string + description: Human readable message describing the error. Used mainly for logging. Not recommended to be shown to the user. + Fee: + description: A fee applied on a particular entity + type: object + properties: + percentage: + description: Percentage of a value + allOf: + - $ref: "#/components/schemas/DecimalValue" + amount: + description: A fixed value + allOf: + - $ref: "#/components/schemas/Price" + Form: + description: Describes a form + type: object + properties: + url: + description: "The URL from where the form can be fetched. The content fetched from the url must be processed as per the mime_type specified in this object. Once fetched, the rendering platform can choosed to render the form as-is as an embeddable element; or process it further to blend with the theme of the application. In case the interface is non-visual, the the render can process the form data and reproduce it as per the standard specified in the form." + type: string + format: uri + data: + description: The form submission data + type: object + additionalProperties: + type: string + mime_type: + description: This field indicates the nature and format of the form received by querying the url. MIME types are defined and standardized in IETF's RFC 6838. + type: string + enum: + - text/html + - application/xml + submission_id: + type: string + format: uuid + Fulfillment: + description: Describes how a an order will be rendered/fulfilled to the end-customer + type: object + properties: + id: + description: Unique reference ID to the fulfillment of an order + type: string + type: + description: "A code that describes the mode of fulfillment. This is typically set when there are multiple ways an order can be fulfilled. For example, a retail order can be fulfilled either via store pickup or a home delivery. Similarly, a medical consultation can be provided either in-person or via tele-consultation. The network policy must publish standard fulfillment type codes for the different modes of fulfillment." + type: string + rateable: + description: Whether the fulfillment can be rated or not + type: boolean + rating: + description: The rating value of the fulfullment service. + allOf: + - $ref: "#/components/schemas/Rating/properties/value" + state: + description: The current state of fulfillment. The BPP must set this value whenever the state of the order fulfillment changes and fire an unsolicited `on_status` call. + allOf: + - $ref: "#/components/schemas/FulfillmentState" + tracking: + type: boolean + description: Indicates whether the fulfillment allows tracking + default: false + customer: + description: The person that will ultimately receive the order + allOf: + - $ref: "#/components/schemas/Customer" + agent: + description: The agent that is currently handling the fulfillment of the order + allOf: + - $ref: "#/components/schemas/Agent" + contact: + $ref: "#/components/schemas/Contact" + vehicle: + $ref: "#/components/schemas/Vehicle" + stops: + description: The list of logical stops encountered during the fulfillment of an order. + type: array + items: + $ref: "#/components/schemas/Stop" + path: + description: The physical path taken by the agent that can be rendered on a map. The allowed format of this property can be set by the network. + type: string + tags: + type: array + items: + $ref: "#/components/schemas/TagGroup" + FulfillmentState: + description: Describes the state of fulfillment + type: object + properties: + descriptor: + allOf: + - $ref: "#/components/schemas/Descriptor" + - properties: + code: + enum: + - PAYMENT_COMPLETED + - ENERGY_TRANSFER_INPROGRESS + - ENERGY_TRANSFER_COMPLETED + - ORDER_CANCELLED + - ORDER_CONFIRMED + updated_at: + type: string + format: date-time + updated_by: + type: string + description: ID of entity which changed the state + Gps: + description: Describes a GPS coordinate + type: string + pattern: '^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$' + Image: + description: Describes an image + type: object + properties: + url: + description: URL to the image. This can be a data url or an remote url + type: string + format: uri + size_type: + description: The size of the image. The network policy can define the default dimensions of each type + type: string + enum: + - xs + - sm + - md + - lg + - xl + - custom + width: + description: Width of the image in pixels + type: string + height: + description: Height of the image in pixels + type: string + Intent: + description: "The intent to buy or avail a product or a service. The BAP can declare the intent of the consumer containing
  • What they want (A product, service, offer)
  • Who they want (A seller, service provider, agent etc)
  • Where they want it and where they want it from
  • When they want it (start and end time of fulfillment
  • How they want to pay for it

This has properties like descriptor,provider,fulfillment,payment,category,offer,item,tags
This is typically used by the BAP to send the purpose of the user's search to the BPP. This will be used by the BPP to find products or services it offers that may match the user's intent.
For example, in Mobility, the mobility consumer declares a mobility intent. In this case, the mobility consumer declares information that describes various aspects of their journey like,
  • Where would they like to begin their journey (intent.fulfillment.start.location)
  • Where would they like to end their journey (intent.fulfillment.end.location)
  • When would they like to begin their journey (intent.fulfillment.start.time)
  • When would they like to end their journey (intent.fulfillment.end.time)
  • Who is the transport service provider they would like to avail services from (intent.provider)
  • Who is traveling (This is not recommended in public networks) (intent.fulfillment.customer)
  • What kind of fare product would they like to purchase (intent.item)
  • What add-on services would they like to avail
  • What offers would they like to apply on their booking (intent.offer)
  • What category of services would they like to avail (intent.category)
  • What additional luggage are they carrying
  • How would they like to pay for their journey (intent.payment)

For example, in health domain, a consumer declares the intent for a lab booking the describes various aspects of their booking like,
  • Where would they like to get their scan/test done (intent.fulfillment.start.location)
  • When would they like to get their scan/test done (intent.fulfillment.start.time)
  • When would they like to get the results of their test/scan (intent.fulfillment.end.time)
  • Who is the service provider they would like to avail services from (intent.provider)
  • Who is getting the test/scan (intent.fulfillment.customer)
  • What kind of test/scan would they like to purchase (intent.item)
  • What category of services would they like to avail (intent.category)
  • How would they like to pay for their journey (intent.payment)
" + type: object + properties: + descriptor: + description: "A raw description of the search intent. Free text search strings, raw audio, etc can be sent in this object." + allOf: + - $ref: "#/components/schemas/Descriptor" + provider: + description: The provider from which the customer wants to place to the order from + allOf: + - $ref: "#/components/schemas/Provider" + fulfillment: + description: Details on how the customer wants their order fulfilled + allOf: + - $ref: "#/components/schemas/Fulfillment" + location: + description: Location of the request that needs fulfillment. + allOf: + - $ref: "#/components/schemas/Location" + payment: + description: Details on how the customer wants to pay for the order + allOf: + - $ref: "#/components/schemas/Payment" + category: + description: Details on the item category + allOf: + - $ref: "#/components/schemas/Category" + offer: + description: details on the offer the customer wants to avail + allOf: + - $ref: "#/components/schemas/Offer" + item: + description: Details of the item that the consumer wants to order + allOf: + - $ref: "#/components/schemas/Item" + tags: + type: array + items: + $ref: "#/components/schemas/TagGroup" + ItemQuantity: + description: Describes the count or amount of an item + type: object + properties: + allocated: + description: This represents the exact quantity allocated for purchase of the item. + type: object + properties: + count: + type: integer + minimum: 0 + measure: + $ref: "#/components/schemas/Scalar" + available: + description: This represents the exact quantity available for purchase of the item. The buyer can only purchase multiples of this + type: object + properties: + count: + type: integer + minimum: 0 + measure: + $ref: "#/components/schemas/Scalar" + maximum: + description: This represents the maximum quantity allowed for purchase of the item + type: object + properties: + count: + type: integer + minimum: 1 + measure: + $ref: "#/components/schemas/Scalar" + minimum: + description: This represents the minimum quantity allowed for purchase of the item + type: object + properties: + count: + type: integer + minimum: 0 + measure: + $ref: "#/components/schemas/Scalar" + selected: + description: This represents the quantity selected for purchase of the item + type: object + properties: + count: + type: integer + minimum: 0 + measure: + $ref: "#/components/schemas/Scalar" + unitized: + description: This represents the quantity available in a single unit of the item + type: object + properties: + count: + type: integer + minimum: 1 + maximum: 1 + measure: + $ref: "#/components/schemas/Scalar" + Item: + description: "Describes a product or a service offered to the end consumer by the provider. In the mobility sector, it can represent a fare product like one way journey. In the logistics sector, it can represent the delivery service offering. In the retail domain it can represent a product like a grocery item." + type: object + properties: + id: + description: ID of the item. + type: string + parent_item_id: + description: "ID of the item, this item is a variant of" + allOf: + - $ref: "#/components/schemas/Item/properties/id" + parent_item_quantity: + description: The number of units of the parent item this item is a multiple of + allOf: + - $ref: "#/components/schemas/ItemQuantity" + descriptor: + description: Physical description of the item + allOf: + - $ref: "#/components/schemas/Descriptor" + creator: + description: The creator of this item + allOf: + - $ref: "#/components/schemas/Organization" + price: + description: "The price of this item, if it has intrinsic value" + allOf: + - $ref: "#/components/schemas/Price" + quantity: + description: The selling quantity of the item + allOf: + - $ref: "#/components/schemas/ItemQuantity" + category_ids: + description: Categories this item can be listed under + type: array + items: + allOf: + - $ref: "#/components/schemas/Category/properties/id" + fulfillment_ids: + description: Modes through which this item can be fulfilled + type: array + items: + allOf: + - $ref: "#/components/schemas/Fulfillment/properties/id" + location_ids: + description: Provider Locations this item is available in + type: array + items: + allOf: + - $ref: "#/components/schemas/Location/properties/id" + payment_ids: + description: Payment modalities through which this item can be ordered + type: array + items: + allOf: + - $ref: "#/components/schemas/Payment/properties/id" + add_ons: + type: array + items: + $ref: "#/components/schemas/AddOn" + cancellation_terms: + description: Cancellation terms of this item + type: array + items: + $ref: "#/components/schemas/CancellationTerm" + refund_terms: + description: Refund terms of this item + type: array + items: + description: Refund term of an item or an order + type: object + properties: + fulfillment_state: + description: The state of fulfillment during which this term is applicable. + allOf: + - $ref: "#/components/schemas/State" + refund_eligible: + description: Indicates if cancellation will result in a refund + type: boolean + refund_within: + description: Time within which refund will be processed after successful cancellation. + allOf: + - $ref: "#/components/schemas/Time" + refund_amount: + $ref: "#/components/schemas/Price" + replacement_terms: + description: Terms that are applicable be met when this item is replaced + type: array + items: + $ref: "#/components/schemas/ReplacementTerm" + return_terms: + description: Terms that are applicable when this item is returned + type: array + items: + $ref: "#/components/schemas/ReturnTerm" + xinput: + description: Additional input required from the customer to purchase / avail this item + allOf: + - $ref: "#/components/schemas/XInput" + time: + description: Temporal attributes of this item. This property is used when the item exists on the catalog only for a limited period of time. + allOf: + - $ref: "#/components/schemas/Time" + rateable: + description: Whether this item can be rated + type: boolean + rating: + description: The rating of the item + allOf: + - $ref: "#/components/schemas/Rating/properties/value" + matched: + description: Whether this item is an exact match of the request + type: boolean + related: + description: Whether this item is a related item to the exactly matched item + type: boolean + recommended: + description: Whether this item is a recommended item to a response + type: boolean + ttl: + description: Time to live in seconds for an instance of this schema + type: string + tags: + type: array + items: + $ref: "#/components/schemas/TagGroup" + Location: + description: The physical location of something + type: object + properties: + id: + type: string + descriptor: + $ref: "#/components/schemas/Descriptor" + map_url: + description: The url to the map of the location. This can be a globally recognized map url or the one specified by the network policy. + type: string + format: uri + gps: + description: The GPS co-ordinates of this location. + allOf: + - $ref: "#/components/schemas/Gps" + address: + description: The address of this location. + allOf: + - $ref: "#/components/schemas/Address" + city: + description: "The city this location is, or is located within" + allOf: + - $ref: "#/components/schemas/City" + district: + description: "The state this location is, or is located within" + type: string + state: + description: "The state this location is, or is located within" + allOf: + - $ref: "#/components/schemas/State" + country: + description: "The country this location is, or is located within" + allOf: + - $ref: "#/components/schemas/Country" + area_code: + type: string + circle: + $ref: "#/components/schemas/Circle" + polygon: + description: The boundary polygon of this location + type: string + 3dspace: + description: The three dimensional region describing this location + type: string + rating: + description: The rating of this location + allOf: + - $ref: "#/components/schemas/Rating/properties/value" + MediaFile: + description: This object contains a url to a media file. + type: object + properties: + mimetype: + description: "indicates the nature and format of the document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838" + type: string + url: + description: The URL of the file + type: string + format: uri + signature: + description: The digital signature of the file signed by the sender + type: string + dsa: + description: The signing algorithm used by the sender + type: string + Offer: + description: An offer associated with a catalog. This is typically used to promote a particular product and enable more purchases. + type: object + properties: + id: + type: string + descriptor: + $ref: "#/components/schemas/Descriptor" + location_ids: + type: array + items: + $ref: "#/components/schemas/Location/properties/id" + category_ids: + type: array + items: + $ref: "#/components/schemas/Category/properties/id" + item_ids: + type: array + items: + $ref: "#/components/schemas/Item/properties/id" + time: + $ref: "#/components/schemas/Time" + tags: + type: array + items: + $ref: "#/components/schemas/TagGroup" + Option: + description: Describes a selectable option + type: object + properties: + id: + type: string + descriptor: + $ref: "#/components/schemas/Descriptor" + Order: + description: Describes a legal purchase order. It contains the complete details of the legal contract created between the buyer and the seller. + type: object + properties: + id: + type: string + description: Human-readable ID of the order. This is generated at the BPP layer. The BPP can either generate order id within its system or forward the order ID created at the provider level. + ref_order_ids: + description: A list of order IDs to link this order to previous orders. + type: array + items: + type: string + description: ID of a previous order + status: + description: Status of the order. Allowed values can be defined by the network policy + type: string + enum: + - ACTIVE + - COMPLETE + - CANCELLED + type: + description: "This is used to indicate the type of order being created to BPPs. Sometimes orders can be linked to previous orders, like a replacement order in a retail domain. A follow-up consultation in healthcare domain. A single order part of a subscription order. The list of order types can be standardized at the network level." + type: string + default: DEFAULT + enum: + - DRAFT + - DEFAULT + provider: + description: Details of the provider whose catalog items have been selected. + allOf: + - $ref: "#/components/schemas/Provider" + items: + description: The items purchased / availed in this order + type: array + items: + $ref: "#/components/schemas/Item" + add_ons: + description: The add-ons purchased / availed in this order + type: array + items: + $ref: "#/components/schemas/AddOn" + offers: + description: The offers applied in this order + type: array + items: + $ref: "#/components/schemas/Offer" + billing: + description: The billing details of this order + allOf: + - $ref: "#/components/schemas/Billing" + fulfillments: + description: The fulfillments involved in completing this order + type: array + items: + $ref: "#/components/schemas/Fulfillment" + cancellation: + description: The cancellation details of this order + allOf: + - $ref: "#/components/schemas/Cancellation" + cancellation_terms: + description: Cancellation terms of this item + type: array + items: + $ref: "#/components/schemas/CancellationTerm" + refund_terms: + description: Refund terms of this item + type: array + items: + $ref: "#/components/schemas/Item/properties/refund_terms/items" + replacement_terms: + description: Replacement terms of this item + type: array + items: + $ref: "#/components/schemas/ReplacementTerm" + return_terms: + description: Return terms of this item + type: array + items: + $ref: "#/components/schemas/ReturnTerm" + quote: + description: The mutually agreed upon quotation for this order. + allOf: + - $ref: "#/components/schemas/Quotation" + payments: + description: The terms of settlement for this order + type: array + items: + $ref: "#/components/schemas/Payment" + created_at: + description: The date-time of creation of this order + type: string + format: date-time + updated_at: + description: The date-time of updated of this order + type: string + format: date-time + xinput: + description: Additional input required from the customer to confirm this order + allOf: + - $ref: "#/components/schemas/XInput" + tags: + type: array + items: + $ref: "#/components/schemas/TagGroup" + Organization: + description: An organization. Usually a recognized business entity. + type: object + properties: + descriptor: + $ref: "#/components/schemas/Descriptor" + address: + description: The postal address of the organization + allOf: + - $ref: "#/components/schemas/Address" + state: + description: The state where the organization's address is registered + allOf: + - $ref: "#/components/schemas/State" + city: + description: The city where the the organization's address is registered + allOf: + - $ref: "#/components/schemas/City" + contact: + $ref: "#/components/schemas/Contact" + Payment: + description: "Describes the terms of settlement between the BAP and the BPP for a single transaction. When instantiated, this object contains
  1. the amount that has to be settled,
  2. The payment destination destination details
  3. When the settlement should happen, and
  4. A transaction reference ID
. During a transaction, the BPP reserves the right to decide the terms of payment. However, the BAP can send its terms to the BPP first. If the BPP does not agree to those terms, it must overwrite the terms and return them to the BAP. If overridden, the BAP must either agree to the terms sent by the BPP in order to preserve the provider's autonomy, or abort the transaction. In case of such disagreements, the BAP and the BPP can perform offline negotiations on the payment terms. Once an agreement is reached, the BAP and BPP can resume transactions." + type: object + properties: + id: + description: ID of the payment term that can be referred at an item or an order level in a catalog + type: string + collected_by: + description: "This field indicates who is the collector of payment. The BAP can set this value to 'bap' if it wants to collect the payment first and settle it to the BPP. If the BPP agrees to those terms, the BPP should not send the payment url. Alternatively, the BPP can set this field with the value 'bpp' if it wants the payment to be made directly." + url: + type: string + description: "A payment url to be called by the BAP. If empty, then the payment is to be done offline. The details of payment should be present in the params object. If tl_method = http/get, then the payment details will be sent as url params. Two url param values, ```$transaction_id``` and ```$amount``` are mandatory." + format: uri + params: + type: object + properties: + transaction_id: + type: string + description: The reference transaction ID associated with a payment activity + amount: + type: string + currency: + type: string + bank_code: + type: string + bank_account_number: + type: string + virtual_payment_address: + type: string + source_bank_code: + type: string + source_bank_account_number: + type: string + source_virtual_payment_address: + type: string + type: + type: string + enum: + - PRE-ORDER + - PRE-FULFILLMENT + - ON-FULFILLMENT + - POST-FULFILLMENT + status: + type: string + enum: + - PAID + - NOT-PAID + time: + $ref: "#/components/schemas/Time" + tags: + type: array + items: + $ref: "#/components/schemas/TagGroup" + Person: + description: Describes a person as any individual + type: object + properties: + id: + type: string + description: Describes the identity of the person + url: + description: Profile url of the person + type: string + format: uri + name: + description: the name of the person + type: string + image: + $ref: "#/components/schemas/Image" + age: + description: Age of the person + allOf: + - $ref: "#/components/schemas/Duration" + dob: + description: Date of birth of the person + type: string + format: date + gender: + type: string + description: "Gender of something, typically a Person, but possibly also fictional characters, animals, etc. While Male and Female may be used, text strings are also acceptable for people who do not identify as a binary gender.Allowed values for this field can be published in the network policy" + creds: + type: array + items: + $ref: "#/components/schemas/Credential" + languages: + type: array + items: + description: Describes a language known to the person. + type: object + properties: + code: + type: string + name: + type: string + skills: + type: array + items: + description: Describes a skill of the person. + type: object + properties: + code: + type: string + name: + type: string + tags: + type: array + items: + $ref: "#/components/schemas/TagGroup" + Price: + description: Describes the price of a product or service + type: object + properties: + currency: + type: string + value: + $ref: "#/components/schemas/DecimalValue" + estimated_value: + $ref: "#/components/schemas/DecimalValue" + computed_value: + $ref: "#/components/schemas/DecimalValue" + listed_value: + $ref: "#/components/schemas/DecimalValue" + offered_value: + $ref: "#/components/schemas/DecimalValue" + minimum_value: + $ref: "#/components/schemas/DecimalValue" + maximum_value: + $ref: "#/components/schemas/DecimalValue" + Provider: + description: Describes the catalog of a business. + type: object + properties: + id: + type: string + description: Id of the provider + descriptor: + $ref: "#/components/schemas/Descriptor" + category_id: + type: string + description: Category Id of the provider at the BPP-level catalog + rating: + $ref: "#/components/schemas/Rating/properties/value" + time: + $ref: "#/components/schemas/Time" + categories: + type: array + items: + $ref: "#/components/schemas/Category" + fulfillments: + type: array + items: + $ref: "#/components/schemas/Fulfillment" + payments: + type: array + items: + $ref: "#/components/schemas/Payment" + locations: + type: array + items: + $ref: "#/components/schemas/Location" + offers: + type: array + items: + $ref: "#/components/schemas/Offer" + items: + type: array + items: + $ref: "#/components/schemas/Item" + exp: + type: string + description: Time after which catalog has to be refreshed + format: date-time + rateable: + description: Whether this provider can be rated or not + type: boolean + ttl: + description: "The time-to-live in seconds, for this object. This can be overriden at deeper levels. A value of -1 indicates that this object is not cacheable." + type: integer + minimum: -1 + tags: + type: array + items: + $ref: "#/components/schemas/TagGroup" + Quotation: + description: "Describes a quote. It is the estimated price of products or services from the BPP.
This has properties like price, breakup, ttl" + type: object + properties: + id: + description: ID of the quote. + type: string + format: uuid + price: + description: The total quoted price + allOf: + - $ref: "#/components/schemas/Price" + breakup: + description: the breakup of the total quoted price + type: array + items: + type: object + properties: + item: + $ref: "#/components/schemas/Item" + title: + type: string + enum: + - ENERGY_DEMAND + - DISCOUNT + - TAX + price: + $ref: "#/components/schemas/Price" + ttl: + $ref: "#/components/schemas/Duration" + Rating: + description: Describes the rating of an entity + type: object + properties: + rating_category: + description: Category of the entity being rated + type: string + enum: + - PROVIDER + - BOOKING + id: + description: Id of the object being rated + type: string + value: + description: "Rating value given to the object. This can be a single value or can also contain an inequality operator like gt, gte, lt, lte. This can also contain an inequality expression containing logical operators like && and ||." + type: string + Region: + description: Describes an arbitrary region of space. The network policy should contain a published list of supported regions by the network. + type: object + properties: + dimensions: + description: "The number of dimensions that are used to describe any point inside that region. The most common dimensionality of a region is 2, that represents an area on a map. There are regions on the map that can be approximated to one-dimensional regions like roads, railway lines, or shipping lines. 3 dimensional regions are rarer, but are gaining popularity as flying drones are being adopted for various fulfillment services." + type: string + enum: + - "1" + - "2" + - "3" + type: + description: "The type of region. This is used to specify the granularity of the region represented by this object. Various examples of two-dimensional region types are city, country, state, district, and so on. The network policy should contain a list of all possible region types supported by the network." + type: string + name: + type: string + description: Name of the region as specified on the map where that region exists. + code: + type: string + description: A standard code representing the region. This should be interpreted in the same way by all network participants. + boundary: + type: string + description: "A string representing the boundary of the region. One-dimensional regions are represented by polylines. Two-dimensional regions are represented by polygons, and three-dimensional regions can represented by polyhedra." + map_url: + type: string + description: The url to the map of the region. This can be a globally recognized map or the one specified by the network policy. + ReplacementTerm: + description: The replacement policy of an item or an order + type: object + properties: + fulfillment_state: + description: The state of fulfillment during which this term is applicable. + allOf: + - $ref: "#/components/schemas/State" + replace_within: + description: "Applicable only for buyer managed returns where the buyer has to replace the item before a certain date-time, failing which they will not be eligible for replacement" + allOf: + - $ref: "#/components/schemas/Time" + external_ref: + $ref: "#/components/schemas/MediaFile" + ReturnTerm: + description: Describes the return policy of an item or an order + type: object + properties: + fulfillment_state: + description: The state of fulfillment during which this term IETF''s applicable. + allOf: + - $ref: "#/components/schemas/State" + return_eligible: + description: Indicates whether the item is eligible for return + type: boolean + return_time: + description: "Applicable only for buyer managed returns where the buyer has to return the item to the origin before a certain date-time, failing which they will not be eligible for refund." + allOf: + - $ref: "#/components/schemas/Time" + return_location: + description: The location where the item or order must / will be returned to + allOf: + - $ref: "#/components/schemas/Location" + fulfillment_managed_by: + description: The entity that will perform the return + type: string + enum: + - CONSUMER + - PROVIDER + Scalar: + description: Describes a scalar + type: object + properties: + type: + type: string + enum: + - CONSTANT + - VARIABLE + value: + $ref: "#/components/schemas/DecimalValue" + estimated_value: + $ref: "#/components/schemas/DecimalValue" + computed_value: + $ref: "#/components/schemas/DecimalValue" + range: + type: object + properties: + min: + $ref: "#/components/schemas/DecimalValue" + max: + $ref: "#/components/schemas/DecimalValue" + unit: + type: string + Schedule: + description: "Describes schedule as a repeating time period used to describe a regularly recurring event. At a minimum a schedule will specify frequency which describes the interval between occurrences of the event. Additional information can be provided to specify the schedule more precisely. This includes identifying the timestamps(s) of when the event will take place. Schedules may also have holidays to exclude a specific day from the schedule.
This has properties like frequency, holidays, times" + type: object + properties: + frequency: + $ref: "#/components/schemas/Duration" + holidays: + type: array + items: + type: string + format: date-time + times: + type: array + items: + type: string + format: date-time + State: + description: A bounded geopolitical region of governance inside a country. + type: object + properties: + name: + type: string + description: Name of the state + code: + type: string + description: State code as per country or international standards + Stop: + description: A logical point in space and time during the fulfillment of an order. + type: object + properties: + id: + type: string + parent_stop_id: + type: string + location: + description: Location of the stop + allOf: + - $ref: "#/components/schemas/Location" + type: + description: The type of stop. Allowed values of this property can be defined by the network policy. + type: string + enum: + - START + time: + description: Timings applicable at the stop. + allOf: + - $ref: "#/components/schemas/Time" + instructions: + description: Instructions that need to be followed at the stop + allOf: + - $ref: "#/components/schemas/Descriptor" + contact: + description: Contact details of the stop + allOf: + - $ref: "#/components/schemas/Contact" + person: + description: The details of the person present at the stop + allOf: + - $ref: "#/components/schemas/Person" + authorization: + $ref: "#/components/schemas/Authorization" + Support: + description: Details of customer support + type: object + properties: + ref_id: + type: string + callback_phone: + type: string + format: phone + phone: + type: string + format: phone + email: + type: string + format: email + url: + type: string + format: uri + Tag: + description: "Describes a tag. This is used to contain extended metadata. This object can be added as a property to any schema to describe extended attributes. For BAPs, tags can be sent during search to optimize and filter search results. BPPs can use tags to index their catalog to allow better search functionality. Tags are sent by the BPP as part of the catalog response in the `on_search` callback. Tags are also meant for display purposes. Upon receiving a tag, BAPs are meant to render them as name-value pairs. This is particularly useful when rendering tabular information about a product or service." + type: object + properties: + descriptor: + description: "Description of the Tag, can be used to store detailed information." + allOf: + - $ref: "#/components/schemas/Descriptor" + value: + description: The value of the tag. This set by the BPP and rendered as-is by the BAP. + type: string + display: + description: "This value indicates if the tag is intended for display purposes. If set to `true`, then this tag must be displayed. If it is set to `false`, it should not be displayed. This value can override the group display value." + type: boolean + TagGroup: + description: "A collection of tag objects with group level attributes. For detailed documentation on the Tags and Tag Groups schema go to https://github.com/beckn/protocol-specifications/discussions/316" + type: object + properties: + display: + description: "Indicates the display properties of the tag group. If display is set to false, then the group will not be displayed. If it is set to true, it should be displayed. However, group-level display properties can be overriden by individual tag-level display property. As this schema is purely for catalog display purposes, it is not recommended to send this value during search." + type: boolean + default: true + descriptor: + description: "Description of the TagGroup, can be used to store detailed information." + allOf: + - $ref: "#/components/schemas/Descriptor" + list: + description: "An array of Tag objects listed under this group. This property can be set by BAPs during search to narrow the `search` and achieve more relevant results. When received during `on_search`, BAPs must render this list under the heading described by the `name` property of this schema." + type: array + items: + $ref: "#/components/schemas/Tag" + Time: + description: "Describes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations
This has properties like label, time stamp,duration,range, days, schedule" + type: object + properties: + label: + type: string + timestamp: + type: string + format: date-time + duration: + $ref: "#/components/schemas/Duration" + range: + type: object + properties: + start: + type: string + format: date-time + end: + type: string + format: date-time + days: + type: string + description: comma separated values representing days of the week + schedule: + $ref: "#/components/schemas/Schedule" + Tracking: + description: Contains tracking information that can be used by the BAP to track the fulfillment of an order in real-time. which is useful for knowing the location of time sensitive deliveries. + type: object + properties: + id: + description: A unique tracking reference number + type: string + url: + description: "A URL to the tracking endpoint. This can be a link to a tracking webpage, a webhook URL created by the BAP where BPP can push the tracking data, or a GET url creaed by the BPP which the BAP can poll to get the tracking data. It can also be a websocket URL where the BPP can push real-time tracking data." + type: string + format: uri + location: + description: "In case there is no real-time tracking endpoint available, this field will contain the latest location of the entity being tracked. The BPP will update this value everytime the BAP calls the track API." + allOf: + - $ref: "#/components/schemas/Location" + status: + description: "This value indicates if the tracking is currently active or not. If this value is `active`, then the BAP can begin tracking the order. If this value is `inactive`, the tracking URL is considered to be expired and the BAP should stop tracking the order." + type: string + enum: + - ACTIVE + - INACTIVE + Vehicle: + description: "Describes a vehicle is a device that is designed or used to transport people or cargo over land, water, air, or through space.
This has properties like category, capacity, make, model, size,variant,color,energy_type,registration" + type: object + properties: + category: + type: string + capacity: + type: integer + make: + type: string + model: + type: string + size: + type: string + variant: + type: string + color: + type: string + energy_type: + type: string + registration: + type: string + wheels_count: + type: string + cargo_volumne: + type: string + wheelchair_access: + type: string + code: + type: string + emission_standard: + type: string + XInput: + description: "Contains any additional or extended inputs required to confirm an order. This is typically a Form Input. Sometimes, selection of catalog elements is not enough for the BPP to confirm an order. For example, to confirm a flight ticket, the airline requires details of the passengers along with information on baggage, identity, in addition to the class of ticket. Similarly, a logistics company may require details on the nature of shipment in order to confirm the shipping. A recruiting firm may require additional details on the applicant in order to confirm a job application. For all such purposes, the BPP can choose to send this object attached to any object in the catalog that is required to be sent while placing the order. This object can typically be sent at an item level or at the order level. The item level XInput will override the Order level XInput as it indicates a special requirement of information for that particular item. Hence the BAP must render a separate form for the Item and another form at the Order level before confirmation." + type: object + properties: + form: + $ref: "#/components/schemas/Form" + required: + description: Indicates whether the form data is mandatorily required by the BPP to confirm the order. + type: boolean