add new schema folder
This commit is contained in:
@@ -3,5 +3,5 @@ plugins:
|
|||||||
id: tekuriValidator
|
id: tekuriValidator
|
||||||
config:
|
config:
|
||||||
#schema_dir: plugins/schemas/ #approach 1
|
#schema_dir: plugins/schemas/ #approach 1
|
||||||
schema_dir: plugins/schema/ondc_trv10/ #approach 2
|
schema_dir: plugins/schemas/ #approach 2
|
||||||
plugin_path: plugins/implementations/ # Path to the directory containing the .so files
|
plugin_path: plugins/implementations/ # Path to the directory containing the .so files
|
||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
"beckn-onix/plugins"
|
"beckn-onix/plugins"
|
||||||
@@ -29,7 +29,6 @@ func (v *tekuriValidator) Validate(ctx context.Context, data []byte) error {
|
|||||||
if err := json.Unmarshal(data, &jsonData); err != nil {
|
if err := json.Unmarshal(data, &jsonData); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fmt.Println("json data : ", jsonData)
|
|
||||||
err := v.schema.Validate(jsonData)
|
err := v.schema.Validate(jsonData)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf("Validation error: %v\n", err)
|
fmt.Printf("Validation error: %v\n", err)
|
||||||
@@ -43,47 +42,100 @@ func (v *tekuriValidator) Validate(ctx context.Context, data []byte) error {
|
|||||||
//(Approach 2)(all json files for each schema)
|
//(Approach 2)(all json files for each schema)
|
||||||
|
|
||||||
// Initialize reads all .json files from the given schema directory, validates them using JSON Schema, and prints the result.
|
// Initialize reads all .json files from the given schema directory, validates them using JSON Schema, and prints the result.
|
||||||
|
// func (vp *tekuriValidatorProvider) Initialize(schemaDir string) (map[string]plugins.Validator, error) {
|
||||||
|
// //start := time.Now()
|
||||||
|
// // Initialize the cache
|
||||||
|
// vp.schemaCache = make(map[string]map[string]*jsonschema.Schema)
|
||||||
|
// validatorCache := make(map[string]plugins.Validator)
|
||||||
|
|
||||||
|
// // Read the directory
|
||||||
|
// files, err := ioutil.ReadDir(schemaDir)
|
||||||
|
// if err != nil {
|
||||||
|
// return nil, fmt.Errorf("failed to read schema directory: %v", err)
|
||||||
|
// }
|
||||||
|
|
||||||
|
// for _, file := range files {
|
||||||
|
// if filepath.Ext(file.Name()) == ".json" {
|
||||||
|
// // Read the JSON file
|
||||||
|
// filePath := filepath.Join(schemaDir, file.Name())
|
||||||
|
// fmt.Println("file path : ", filePath)
|
||||||
|
// compiler := jsonschema.NewCompiler()
|
||||||
|
// compiledSchema, err := compiler.Compile(filePath)
|
||||||
|
// if err != nil {
|
||||||
|
// return nil, fmt.Errorf("failed to compile JSON schema from file %s: %v", file.Name(), err)
|
||||||
|
// }
|
||||||
|
// if compiledSchema == nil {
|
||||||
|
// return nil, fmt.Errorf("compiled schema is nil for file %s", file.Name())
|
||||||
|
// }
|
||||||
|
// // Extract directory and filename to use in the nested map
|
||||||
|
// dir := filepath.Base(filepath.Dir(filePath))
|
||||||
|
// if vp.schemaCache[dir] == nil {
|
||||||
|
// vp.schemaCache[dir] = make(map[string]*jsonschema.Schema)
|
||||||
|
// }
|
||||||
|
// // Store the compiled schema in the nested cache
|
||||||
|
// vp.schemaCache[dir][file.Name()] = compiledSchema
|
||||||
|
|
||||||
|
// validatorCache[file.Name()] = &tekuriValidator{schema: compiledSchema}
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// // fmt.Printf("initialize executed in %s\n", time.Since(start))
|
||||||
|
|
||||||
|
// return validatorCache, nil
|
||||||
|
// }
|
||||||
|
|
||||||
|
// (Approach 2)(all json files for each schema from sub directories)
|
||||||
|
|
||||||
func (vp *tekuriValidatorProvider) Initialize(schemaDir string) (map[string]plugins.Validator, error) {
|
func (vp *tekuriValidatorProvider) Initialize(schemaDir string) (map[string]plugins.Validator, error) {
|
||||||
//start := time.Now()
|
|
||||||
// Initialize the cache
|
|
||||||
vp.schemaCache = make(map[string]map[string]*jsonschema.Schema)
|
vp.schemaCache = make(map[string]map[string]*jsonschema.Schema)
|
||||||
validatorCache := make(map[string]plugins.Validator)
|
validatorCache := make(map[string]plugins.Validator)
|
||||||
|
|
||||||
// Read the directory
|
// Walk through the directory and compile all .json files
|
||||||
files, err := ioutil.ReadDir(schemaDir)
|
err := filepath.Walk(schemaDir, func(path string, info os.FileInfo, err error) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to read schema directory: %v", err)
|
return err
|
||||||
}
|
}
|
||||||
|
if !info.IsDir() && filepath.Ext(info.Name()) == ".json" {
|
||||||
|
filePath := filepath.Join(schemaDir, info.Name())
|
||||||
|
fmt.Println("printing path : ", path)
|
||||||
|
fmt.Println("Compiling file path: ", filePath)
|
||||||
|
|
||||||
for _, file := range files {
|
|
||||||
if filepath.Ext(file.Name()) == ".json" {
|
|
||||||
// Read the JSON file
|
|
||||||
filePath := filepath.Join(schemaDir, file.Name())
|
|
||||||
fmt.Println("file path : ", filePath)
|
|
||||||
compiler := jsonschema.NewCompiler()
|
compiler := jsonschema.NewCompiler()
|
||||||
compiledSchema, err := compiler.Compile(filePath)
|
|
||||||
|
compiledSchema, err := compiler.Compile(path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to compile JSON schema from file %s: %v", file.Name(), err)
|
return fmt.Errorf("failed to compile JSON schema from file %s: %v", info.Name(), err)
|
||||||
}
|
}
|
||||||
if compiledSchema == nil {
|
if compiledSchema == nil {
|
||||||
return nil, fmt.Errorf("compiled schema is nil for file %s", file.Name())
|
return fmt.Errorf("compiled schema is nil for file %s", info.Name())
|
||||||
}
|
}
|
||||||
// Extract directory and filename to use in the nested map
|
|
||||||
|
fmt.Printf("Compiled schema for file %s: %+v\n", info.Name(), compiledSchema)
|
||||||
|
|
||||||
dir := filepath.Base(filepath.Dir(filePath))
|
dir := filepath.Base(filepath.Dir(filePath))
|
||||||
if vp.schemaCache[dir] == nil {
|
if vp.schemaCache[dir] == nil {
|
||||||
vp.schemaCache[dir] = make(map[string]*jsonschema.Schema)
|
vp.schemaCache[dir] = make(map[string]*jsonschema.Schema)
|
||||||
}
|
}
|
||||||
// Store the compiled schema in the nested cache
|
vp.schemaCache[dir][info.Name()] = compiledSchema
|
||||||
vp.schemaCache[dir][file.Name()] = compiledSchema
|
validatorCache[info.Name()] = &tekuriValidator{schema: compiledSchema}
|
||||||
|
|
||||||
validatorCache[file.Name()] = &tekuriValidator{schema: compiledSchema}
|
|
||||||
}
|
}
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to read schema directory: %v", err)
|
||||||
}
|
}
|
||||||
// fmt.Printf("initialize executed in %s\n", time.Since(start))
|
|
||||||
|
|
||||||
return validatorCache, nil
|
return validatorCache, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var _ plugins.ValidatorProvider = (*tekuriValidatorProvider)(nil)
|
||||||
|
|
||||||
|
var providerInstance = &tekuriValidatorProvider{}
|
||||||
|
|
||||||
|
func GetProvider() plugins.ValidatorProvider {
|
||||||
|
return providerInstance
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////
|
||||||
// (Approach 1)
|
// (Approach 1)
|
||||||
// func (vp *tekuriValidatorProvider) Initialize(schemaDir string) (map[string]plugins.Validator, error) {
|
// func (vp *tekuriValidatorProvider) Initialize(schemaDir string) (map[string]plugins.Validator, error) {
|
||||||
// // start := time.Now()
|
// // start := time.Now()
|
||||||
@@ -137,13 +189,3 @@ func (vp *tekuriValidatorProvider) Initialize(schemaDir string) (map[string]plug
|
|||||||
// // fmt.Printf("Initialize executed in %s\n", time.Since(start))
|
// // fmt.Printf("Initialize executed in %s\n", time.Since(start))
|
||||||
// return validatorCache, nil
|
// return validatorCache, nil
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// Ensure tekuriValidatorProvider implements ValidatorProvider
|
|
||||||
var _ plugins.ValidatorProvider = (*tekuriValidatorProvider)(nil)
|
|
||||||
|
|
||||||
var providerInstance = &tekuriValidatorProvider{}
|
|
||||||
|
|
||||||
// Exported function to return the provider instance
|
|
||||||
func GetProvider() plugins.ValidatorProvider {
|
|
||||||
return providerInstance
|
|
||||||
}
|
|
||||||
|
|||||||
Binary file not shown.
@@ -1,49 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/cancel",
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"context": {
|
|
||||||
"allOf": [
|
|
||||||
{
|
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"action": {
|
|
||||||
"enum": [
|
|
||||||
"cancel"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"action"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"message": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"order_id": {
|
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
|
||||||
},
|
|
||||||
"cancellation_reason_id": {
|
|
||||||
"$ref": "../schema/components.json#/$defs/Option"
|
|
||||||
},
|
|
||||||
"descriptor": {
|
|
||||||
"$ref": "../schema/components.json#/$defs/Descriptor"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"order_id"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"message",
|
|
||||||
"context"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/on_rating",
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"context": {
|
|
||||||
"allOf": [
|
|
||||||
{
|
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"action": {
|
|
||||||
"enum": [
|
|
||||||
"on_rating"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"action"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"message": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"feedback_form": {
|
|
||||||
"description": "A feedback form to allow the user to provide additional information on the rating provided",
|
|
||||||
"allOf": [
|
|
||||||
{
|
|
||||||
"$ref": "../schema/components.json#/$defs/XInput"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"context",
|
|
||||||
"message"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/on_support",
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"context": {
|
|
||||||
"allOf": [
|
|
||||||
{
|
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"action": {
|
|
||||||
"enum": [
|
|
||||||
"on_support"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"action"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"message": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"support": {
|
|
||||||
"$ref": "../schema/components.json#/$defs/Support"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"context",
|
|
||||||
"message"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/on_track",
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"context": {
|
|
||||||
"allOf": [
|
|
||||||
{
|
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"action": {
|
|
||||||
"enum": [
|
|
||||||
"on_track"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"action"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"message": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"tracking": {
|
|
||||||
"$ref": "../schema/components.json#/$defs/Tracking"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"tracking"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"context",
|
|
||||||
"message"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/on_cancel",
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"context": {
|
|
||||||
"allOf": [
|
|
||||||
{
|
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"action": {
|
|
||||||
"enum": [
|
|
||||||
"on_cancel"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"action"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"message": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"order": {
|
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"order"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"context",
|
|
||||||
"message"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/on_confirm",
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"context": {
|
|
||||||
"allOf": [
|
|
||||||
{
|
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"action": {
|
|
||||||
"enum": [
|
|
||||||
"on_confirm"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"action"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"message": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"order": {
|
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"order"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"context",
|
|
||||||
"message"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/on_status",
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"context": {
|
|
||||||
"allOf": [
|
|
||||||
{
|
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"action": {
|
|
||||||
"enum": [
|
|
||||||
"on_status"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"action"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"message": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"order": {
|
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"order"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"context",
|
|
||||||
"message"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/on_update",
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"context": {
|
|
||||||
"allOf": [
|
|
||||||
{
|
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"action": {
|
|
||||||
"enum": [
|
|
||||||
"on_update"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"action"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"message": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"order": {
|
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"order"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"context",
|
|
||||||
"message"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
32
plugins/schemas/core/v1.1.0/Cancel.json
Normal file
32
plugins/schemas/core/v1.1.0/Cancel.json
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"$id": "cancel",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"context": {
|
||||||
|
"allOf": [
|
||||||
|
{
|
||||||
|
"$ref": "definitions.json#/$defs/Context"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"action": {
|
||||||
|
"enum": [
|
||||||
|
"cancel"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"action"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"message",
|
||||||
|
"context"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/confirm",
|
"$id": "https://beckn.org/schema/confirm",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"order": {
|
"order": {
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "definitions.json#/$defs/Order"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/init",
|
"$id": "https://beckn.org/schema/init",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"order": {
|
"order": {
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "./definitions.json#/$defs/Order"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"properties": {
|
"properties": {
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"order": {
|
"order": {
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "./definitions.json#/$defs/Order"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"properties": {
|
"properties": {
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"order": {
|
"order": {
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "./definitions.json#/$defs/Order"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"properties": {
|
"properties": {
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"order": {
|
"order": {
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "./definitions.json#/$defs/Order"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"properties": {
|
"properties": {
|
||||||
@@ -29,14 +29,14 @@
|
|||||||
"description": "A feedback form to allow the user to provide additional information on the rating provided",
|
"description": "A feedback form to allow the user to provide additional information on the rating provided",
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/XInput"
|
"$ref": "./definitions.json#/$defs/XInput"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"properties": {
|
"properties": {
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"catalog": {
|
"catalog": {
|
||||||
"$ref": "../schema/components.json#/$defs/Catalog"
|
"$ref": "./definitions.json#/$defs/Catalog"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"properties": {
|
"properties": {
|
||||||
@@ -26,12 +26,12 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"order": {
|
"order": {
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "./definitions.json#/$defs/Order"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"properties": {
|
"properties": {
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"order": {
|
"order": {
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "./definitions.json#/$defs/Order"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"properties": {
|
"properties": {
|
||||||
@@ -26,12 +26,12 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"support": {
|
"support": {
|
||||||
"$ref": "../schema/components.json#/$defs/Support"
|
"$ref": "./definitions.json#/$defs/Support"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"properties": {
|
"properties": {
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"tracking": {
|
"tracking": {
|
||||||
"$ref": "../schema/components.json#/$defs/Tracking"
|
"$ref": "./definitions.json#/$defs/Tracking"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"properties": {
|
"properties": {
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"order": {
|
"order": {
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "./definitions.json#/$defs/Order"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/rating",
|
"$id": "https://beckn.org/schema/rating",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"ratings": {
|
"ratings": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "../schema/components.json#/$defs/Rating"
|
"$ref": "./definitions.json#/$defs/Rating"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/status",
|
"$id": "https://beckn.org/schema/status",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -28,10 +28,10 @@
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"ref_id": {
|
"ref_id": {
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "./definitions.json#/$defs/Order"
|
||||||
},
|
},
|
||||||
"order_id": {
|
"order_id": {
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "./definitions.json#/$defs/Order"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/support",
|
"$id": "https://beckn.org/schema/support",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"support": {
|
"support": {
|
||||||
"$ref": "../schema/components.json#/$defs/Support"
|
"$ref": "./definitions.json#/$defs/Support"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/track",
|
"$id": "https://beckn.org/schema/track",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"order_id": {
|
"order_id": {
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "./definitions.json#/$defs/Order"
|
||||||
},
|
},
|
||||||
"callback_url": {
|
"callback_url": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/update",
|
"$id": "https://beckn.org/schema/update",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
"description": "Updated order object",
|
"description": "Updated order object",
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "./definitions.json#/$defs/Order"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://beckn.org/schema/components",
|
"$id": "definitions.json",
|
||||||
"$defs": {
|
"$defs": {
|
||||||
"Ack": {
|
"Ack": {
|
||||||
"$id": "#Ack",
|
"$id": "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",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"AddOn": {
|
"AddOn": {
|
||||||
"$id": "#AddOn",
|
"$id": "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.",
|
"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",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -47,12 +47,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Address": {
|
"Address": {
|
||||||
"$id": "#Address",
|
"$id": "Address",
|
||||||
"description": "Describes a postal address.",
|
"description": "Describes a postal address.",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"Agent": {
|
"Agent": {
|
||||||
"$id": "#Agent",
|
"$id": "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.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -72,7 +72,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Authorization": {
|
"Authorization": {
|
||||||
"$id": "#Authorization",
|
"$id": "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",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Billing": {
|
"Billing": {
|
||||||
"$id": "#Billing",
|
"$id": "Billing",
|
||||||
"description": "Describes the billing details of an entity.<br>This has properties like name,organization,address,email,phone,time,tax_number, created_at,updated_at",
|
"description": "Describes the billing details of an entity.<br>This has properties like name,organization,address,email,phone,time,tax_number, created_at,updated_at",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -167,7 +167,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Cancellation": {
|
"Cancellation": {
|
||||||
"$id": "#Cancellation",
|
"$id": "Cancellation",
|
||||||
"description": "Describes a cancellation event",
|
"description": "Describes a cancellation event",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -203,7 +203,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"CancellationTerm": {
|
"CancellationTerm": {
|
||||||
"$id": "#CancellationTerm",
|
"$id": "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.",
|
"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",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -240,7 +240,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Catalog": {
|
"Catalog": {
|
||||||
"$id": "#Catalog",
|
"$id": "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. <br>This has properties like bbp/descriptor,bbp/categories,bbp/fulfillments,bbp/payments,bbp/offers,bbp/providers and exp<br>This is used in the following situations.<br><ul><li>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. </li></ul>",
|
"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. <br>This has properties like bbp/descriptor,bbp/categories,bbp/fulfillments,bbp/payments,bbp/offers,bbp/providers and exp<br>This is used in the following situations.<br><ul><li>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. </li></ul>",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -287,7 +287,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Category": {
|
"Category": {
|
||||||
"$id": "#Category",
|
"$id": "Category",
|
||||||
"description": "A label under which a collection of items can be grouped.",
|
"description": "A label under which a collection of items can be grouped.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -317,7 +317,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Circle": {
|
"Circle": {
|
||||||
"$id": "#Circle",
|
"$id": "Circle",
|
||||||
"description": "Describes a circular region of a specified radius centered at a specified GPS coordinate.",
|
"description": "Describes a circular region of a specified radius centered at a specified GPS coordinate.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -331,7 +331,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"City": {
|
"City": {
|
||||||
"$id": "#City",
|
"$id": "City",
|
||||||
"description": "Describes a city",
|
"description": "Describes a city",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -347,7 +347,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Contact": {
|
"Contact": {
|
||||||
"$id": "#Contact",
|
"$id": "Contact",
|
||||||
"description": "Describes the contact information of an entity",
|
"description": "Describes the contact information of an entity",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -366,7 +366,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Context": {
|
"Context": {
|
||||||
"$id": "#Context",
|
"$id": "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. <ol><li>Demographic information about the transaction using fields like `domain`, `country`, and `region`.</li><li>Addressing details like the sending and receiving platform's ID and API URL.</li><li>Interoperability information like the protocol version that implemented by the sender and,</li><li>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.</li></ol> 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. <ol><li>Demographic information about the transaction using fields like `domain`, `country`, and `region`.</li><li>Addressing details like the sending and receiving platform's ID and API URL.</li><li>Interoperability information like the protocol version that implemented by the sender and,</li><li>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.</li></ol> 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",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -457,7 +457,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Country": {
|
"Country": {
|
||||||
"$id": "#Country",
|
"$id": "Country",
|
||||||
"description": "Describes a country",
|
"description": "Describes a country",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -473,7 +473,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Credential": {
|
"Credential": {
|
||||||
"$id": "#Credential",
|
"$id": "Credential",
|
||||||
"description": "Describes a credential of an entity - Person or Organization",
|
"description": "Describes a credential of an entity - Person or Organization",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -493,7 +493,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Customer": {
|
"Customer": {
|
||||||
"$id": "#Customer",
|
"$id": "Customer",
|
||||||
"description": "Describes a customer buying/availing a product or a service",
|
"description": "Describes a customer buying/availing a product or a service",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -507,13 +507,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DecimalValue": {
|
"DecimalValue": {
|
||||||
"$id": "#DecimalValue",
|
"$id": "DecimalValue",
|
||||||
"description": "Describes a numerical value in decimal form",
|
"description": "Describes a numerical value in decimal form",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"pattern": "[+-]?([0-9]*[.])?[0-9]+"
|
"pattern": "[+-]?([0-9]*[.])?[0-9]+"
|
||||||
},
|
},
|
||||||
"Descriptor": {
|
"Descriptor": {
|
||||||
"$id": "#Descriptor",
|
"$id": "Descriptor",
|
||||||
"description": "Physical description of something.",
|
"description": "Physical description of something.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -562,7 +562,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Domain": {
|
"Domain": {
|
||||||
"$id": "#Domain",
|
"$id": "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",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -585,12 +585,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Duration": {
|
"Duration": {
|
||||||
"$id": "#Duration",
|
"$id": "Duration",
|
||||||
"description": "Describes duration as per ISO8601 format",
|
"description": "Describes duration as per ISO8601 format",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"Error": {
|
"Error": {
|
||||||
"$id": "#Error",
|
"$id": "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",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -610,7 +610,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Fee": {
|
"Fee": {
|
||||||
"$id": "#Fee",
|
"$id": "Fee",
|
||||||
"description": "A fee applied on a particular entity",
|
"description": "A fee applied on a particular entity",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -634,7 +634,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Form": {
|
"Form": {
|
||||||
"$id": "#Form",
|
"$id": "Form",
|
||||||
"description": "Describes a form",
|
"description": "Describes a form",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -673,7 +673,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Fulfillment": {
|
"Fulfillment": {
|
||||||
"$id": "#Fulfillment",
|
"$id": "Fulfillment",
|
||||||
"description": "Describes how a an order will be rendered/fulfilled to the end-customer",
|
"description": "Describes how a an order will be rendered/fulfilled to the end-customer",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -753,7 +753,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"FulfillmentState": {
|
"FulfillmentState": {
|
||||||
"$id": "#FulfillmentState",
|
"$id": "FulfillmentState",
|
||||||
"description": "Describes the state of fulfillment",
|
"description": "Describes the state of fulfillment",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -772,13 +772,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Gps": {
|
"Gps": {
|
||||||
"$id": "#Gps",
|
"$id": "Gps",
|
||||||
"description": "Describes a GPS coordinate",
|
"description": "Describes a GPS coordinate",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"pattern": "^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$"
|
"pattern": "^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$"
|
||||||
},
|
},
|
||||||
"Image": {
|
"Image": {
|
||||||
"$id": "#Image",
|
"$id": "Image",
|
||||||
"description": "Describes an image",
|
"description": "Describes an image",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -811,7 +811,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Intent": {
|
"Intent": {
|
||||||
"$id": "#Intent",
|
"$id": "Intent",
|
||||||
"description": "The intent to buy or avail a product or a service. The BAP can declare the intent of the consumer containing <ul><li>What they want (A product, service, offer)</li><li>Who they want (A seller, service provider, agent etc)</li><li>Where they want it and where they want it from</li><li>When they want it (start and end time of fulfillment</li><li>How they want to pay for it</li></ul><br>This has properties like descriptor,provider,fulfillment,payment,category,offer,item,tags<br>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.<br>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,<ul><li>Where would they like to begin their journey (intent.fulfillment.start.location)</li><li>Where would they like to end their journey (intent.fulfillment.end.location)</li><li>When would they like to begin their journey (intent.fulfillment.start.time)</li><li>When would they like to end their journey (intent.fulfillment.end.time)</li><li>Who is the transport service provider they would like to avail services from (intent.provider)</li><li>Who is traveling (This is not recommended in public networks) (intent.fulfillment.customer)</li><li>What kind of fare product would they like to purchase (intent.item)</li><li>What add-on services would they like to avail</li><li>What offers would they like to apply on their booking (intent.offer)</li><li>What category of services would they like to avail (intent.category)</li><li>What additional luggage are they carrying</li><li>How would they like to pay for their journey (intent.payment)</li></ul><br>For example, in health domain, a consumer declares the intent for a lab booking the describes various aspects of their booking like,<ul><li>Where would they like to get their scan/test done (intent.fulfillment.start.location)</li><li>When would they like to get their scan/test done (intent.fulfillment.start.time)</li><li>When would they like to get the results of their test/scan (intent.fulfillment.end.time)</li><li>Who is the service provider they would like to avail services from (intent.provider)</li><li>Who is getting the test/scan (intent.fulfillment.customer)</li><li>What kind of test/scan would they like to purchase (intent.item)</li><li>What category of services would they like to avail (intent.category)</li><li>How would they like to pay for their journey (intent.payment)</li></ul>",
|
"description": "The intent to buy or avail a product or a service. The BAP can declare the intent of the consumer containing <ul><li>What they want (A product, service, offer)</li><li>Who they want (A seller, service provider, agent etc)</li><li>Where they want it and where they want it from</li><li>When they want it (start and end time of fulfillment</li><li>How they want to pay for it</li></ul><br>This has properties like descriptor,provider,fulfillment,payment,category,offer,item,tags<br>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.<br>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,<ul><li>Where would they like to begin their journey (intent.fulfillment.start.location)</li><li>Where would they like to end their journey (intent.fulfillment.end.location)</li><li>When would they like to begin their journey (intent.fulfillment.start.time)</li><li>When would they like to end their journey (intent.fulfillment.end.time)</li><li>Who is the transport service provider they would like to avail services from (intent.provider)</li><li>Who is traveling (This is not recommended in public networks) (intent.fulfillment.customer)</li><li>What kind of fare product would they like to purchase (intent.item)</li><li>What add-on services would they like to avail</li><li>What offers would they like to apply on their booking (intent.offer)</li><li>What category of services would they like to avail (intent.category)</li><li>What additional luggage are they carrying</li><li>How would they like to pay for their journey (intent.payment)</li></ul><br>For example, in health domain, a consumer declares the intent for a lab booking the describes various aspects of their booking like,<ul><li>Where would they like to get their scan/test done (intent.fulfillment.start.location)</li><li>When would they like to get their scan/test done (intent.fulfillment.start.time)</li><li>When would they like to get the results of their test/scan (intent.fulfillment.end.time)</li><li>Who is the service provider they would like to avail services from (intent.provider)</li><li>Who is getting the test/scan (intent.fulfillment.customer)</li><li>What kind of test/scan would they like to purchase (intent.item)</li><li>What category of services would they like to avail (intent.category)</li><li>How would they like to pay for their journey (intent.payment)</li></ul>",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -881,7 +881,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ItemQuantity": {
|
"ItemQuantity": {
|
||||||
"$id": "#ItemQuantity",
|
"$id": "ItemQuantity",
|
||||||
"description": "Describes the count or amount of an item",
|
"description": "Describes the count or amount of an item",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -974,7 +974,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Item": {
|
"Item": {
|
||||||
"$id": "#Item",
|
"$id": "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",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -1189,7 +1189,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Location": {
|
"Location": {
|
||||||
"$id": "#Location",
|
"$id": "Location",
|
||||||
"description": "The physical location of something",
|
"description": "The physical location of something",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -1278,7 +1278,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"MediaFile": {
|
"MediaFile": {
|
||||||
"$id": "#MediaFile",
|
"$id": "MediaFile",
|
||||||
"description": "This object contains a url to a media file.",
|
"description": "This object contains a url to a media file.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -1303,7 +1303,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Offer": {
|
"Offer": {
|
||||||
"$id": "#Offer",
|
"$id": "Offer",
|
||||||
"description": "An offer associated with a catalog. This is typically used to promote a particular product and enable more purchases.",
|
"description": "An offer associated with a catalog. This is typically used to promote a particular product and enable more purchases.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -1344,7 +1344,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Option": {
|
"Option": {
|
||||||
"$id": "#Option",
|
"$id": "Option",
|
||||||
"description": "Describes a selectable option",
|
"description": "Describes a selectable option",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -1358,7 +1358,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Order": {
|
"Order": {
|
||||||
"$id": "#Order",
|
"$id": "Order",
|
||||||
"description": "Describes a legal purchase order. It contains the complete details of the legal contract created between the buyer and the seller.",
|
"description": "Describes a legal purchase order. It contains the complete details of the legal contract created between the buyer and the seller.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -1545,7 +1545,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Organization": {
|
"Organization": {
|
||||||
"$id": "#Organization",
|
"$id": "Organization",
|
||||||
"description": "An organization. Usually a recognized business entity.",
|
"description": "An organization. Usually a recognized business entity.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -1583,7 +1583,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Payment": {
|
"Payment": {
|
||||||
"$id": "#Payment",
|
"$id": "Payment",
|
||||||
"description": "Describes the terms of settlement between the BAP and the BPP for a single transaction. When instantiated, this object contains <ol><li>the amount that has to be settled,</li><li>The payment destination destination details</li><li>When the settlement should happen, and</li><li>A transaction reference ID</li></ol>. 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 <ol><li>the amount that has to be settled,</li><li>The payment destination destination details</li><li>When the settlement should happen, and</li><li>A transaction reference ID</li></ol>. 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",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -1668,7 +1668,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Person": {
|
"Person": {
|
||||||
"$id": "#Person",
|
"$id": "Person",
|
||||||
"description": "Describes a person as any individual",
|
"description": "Describes a person as any individual",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -1753,7 +1753,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Price": {
|
"Price": {
|
||||||
"$id": "#Price",
|
"$id": "Price",
|
||||||
"description": "Describes the price of a product or service",
|
"description": "Describes the price of a product or service",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -1785,7 +1785,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Provider": {
|
"Provider": {
|
||||||
"$id": "#Provider",
|
"$id": "Provider",
|
||||||
"description": "Describes the catalog of a business.",
|
"description": "Describes the catalog of a business.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -1865,7 +1865,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Quotation": {
|
"Quotation": {
|
||||||
"$id": "#Quotation",
|
"$id": "Quotation",
|
||||||
"description": "Describes a quote. It is the estimated price of products or services from the BPP.<br>This has properties like price, breakup, ttl",
|
"description": "Describes a quote. It is the estimated price of products or services from the BPP.<br>This has properties like price, breakup, ttl",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -1908,7 +1908,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Rating": {
|
"Rating": {
|
||||||
"$id": "#Rating",
|
"$id": "Rating",
|
||||||
"description": "Describes the rating of an entity",
|
"description": "Describes the rating of an entity",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -1936,7 +1936,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Region": {
|
"Region": {
|
||||||
"$id": "#Region",
|
"$id": "Region",
|
||||||
"description": "Describes an arbitrary region of space. The network policy should contain a published list of supported regions by the network.",
|
"description": "Describes an arbitrary region of space. The network policy should contain a published list of supported regions by the network.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -1973,7 +1973,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ReplacementTerm": {
|
"ReplacementTerm": {
|
||||||
"$id": "#ReplacementTerm",
|
"$id": "ReplacementTerm",
|
||||||
"description": "The replacement policy of an item or an order",
|
"description": "The replacement policy of an item or an order",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -2000,7 +2000,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ReturnTerm": {
|
"ReturnTerm": {
|
||||||
"$id": "#ReturnTerm",
|
"$id": "ReturnTerm",
|
||||||
"description": "Describes the return policy of an item or an order",
|
"description": "Describes the return policy of an item or an order",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -2044,7 +2044,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Scalar": {
|
"Scalar": {
|
||||||
"$id": "#Scalar",
|
"$id": "Scalar",
|
||||||
"description": "Describes a scalar",
|
"description": "Describes a scalar",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -2083,7 +2083,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Schedule": {
|
"Schedule": {
|
||||||
"$id": "#Schedule",
|
"$id": "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.<br>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.<br>This has properties like frequency, holidays, times",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -2108,7 +2108,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"State": {
|
"State": {
|
||||||
"$id": "#State",
|
"$id": "State",
|
||||||
"description": "A bounded geopolitical region of governance inside a country.",
|
"description": "A bounded geopolitical region of governance inside a country.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -2124,7 +2124,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Stop": {
|
"Stop": {
|
||||||
"$id": "#Stop",
|
"$id": "Stop",
|
||||||
"description": "A logical point in space and time during the fulfillment of an order.",
|
"description": "A logical point in space and time during the fulfillment of an order.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -2185,7 +2185,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Support": {
|
"Support": {
|
||||||
"$id": "#Support",
|
"$id": "Support",
|
||||||
"description": "Details of customer support",
|
"description": "Details of customer support",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -2212,7 +2212,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Tag": {
|
"Tag": {
|
||||||
"$id": "#Tag",
|
"$id": "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",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -2236,7 +2236,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"TagGroup": {
|
"TagGroup": {
|
||||||
"$id": "#TagGroup",
|
"$id": "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",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -2264,7 +2264,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Time": {
|
"Time": {
|
||||||
"$id": "#Time",
|
"$id": "Time",
|
||||||
"description": "Describes time in its various forms. It can be a single point in time; duration; or a structured timetable of operations<br>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<br>This has properties like label, time stamp,duration,range, days, schedule",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -2303,7 +2303,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Tracking": {
|
"Tracking": {
|
||||||
"$id": "#Tracking",
|
"$id": "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.",
|
"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",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -2336,7 +2336,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Vehicle": {
|
"Vehicle": {
|
||||||
"$id": "#Vehicle",
|
"$id": "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.<br>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.<br>This has properties like category, capacity, make, model, size,variant,color,energy_type,registration",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -2386,7 +2386,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"XInput": {
|
"XInput": {
|
||||||
"$id": "#XInput",
|
"$id": "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",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/on_cancel",
|
"$id": "https://beckn.org/schema/on_cancel",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"order": {
|
"order": {
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "./definitions.json#/$defs/Order"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/on_confirm",
|
"$id": "https://beckn.org/schema/on_confirm",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"order": {
|
"order": {
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "./definitions.json#/$defs/Order"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/on_init",
|
"$id": "https://beckn.org/schema/on_init",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"order": {
|
"order": {
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "./definitions.json#/$defs/Order"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/on_rating",
|
"$id": "https://beckn.org/schema/on_rating",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -30,14 +30,14 @@
|
|||||||
"description": "A feedback form to allow the user to provide additional information on the rating provided",
|
"description": "A feedback form to allow the user to provide additional information on the rating provided",
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/XInput"
|
"$ref": "./definitions.json#/$defs/XInput"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/on_search",
|
"$id": "https://beckn.org/schema/on_search",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"catalog": {
|
"catalog": {
|
||||||
"$ref": "../schema/components.json#/$defs/Catalog"
|
"$ref": "./definitions.json#/$defs/Catalog"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/on_select",
|
"$id": "https://beckn.org/schema/on_select",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -28,12 +28,12 @@
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"order": {
|
"order": {
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "./definitions.json#/$defs/Order"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/on_status",
|
"$id": "https://beckn.org/schema/on_status",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"order": {
|
"order": {
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "./definitions.json#/$defs/Order"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/on_support",
|
"$id": "https://beckn.org/schema/on_support",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -27,12 +27,12 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"support": {
|
"support": {
|
||||||
"$ref": "../schema/components.json#/$defs/Support"
|
"$ref": "./definitions.json#/$defs/Support"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/on_track",
|
"$id": "https://beckn.org/schema/on_track",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"tracking": {
|
"tracking": {
|
||||||
"$ref": "../schema/components.json#/$defs/Tracking"
|
"$ref": "./definitions.json#/$defs/Tracking"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/on_update",
|
"$id": "https://beckn.org/schema/on_update",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"order": {
|
"order": {
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "./definitions.json#/$defs/Order"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"$ref": "../schema/components.json#/$defs/Error"
|
"$ref": "./definitions.json#/$defs/Error"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -1,19 +1,19 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/search",
|
"$id": "https://beckn.org/schema/search",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"message": {
|
"message": {
|
||||||
"properties": {
|
"properties": {
|
||||||
"intent": {
|
"intent": {
|
||||||
"$ref": "../schema/components.json#/$defs/Intent"
|
"$ref": "./definitions.json#/$defs/Intent"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"type": "object"
|
"type": "object"
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/select",
|
"$id": "https://beckn.org/schema/select",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"context": {
|
"context": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../schema/components.json#/$defs/Context"
|
"$ref": "./definitions.json#/$defs/Context"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"properties": {
|
"properties": {
|
||||||
"order": {
|
"order": {
|
||||||
"$ref": "../schema/components.json#/$defs/Order"
|
"$ref": "./definitions.json#/$defs/Order"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../beckn_base/api/io/cancel.json#"
|
"$ref": "../core/v1.1.0/cancel.json#"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$ref": "https://beckn.org/schema/cancel#"
|
"$ref": "https://beckn.org/schema/cancel#"
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../beckn_base/api/io/confirm.json#"
|
"$ref": "../core/v1.1.0/confirm.json#"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$ref": "https://beckn.org/schema/confirm#"
|
"$ref": "https://beckn.org/schema/confirm#"
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
"$id": "https://ondc.org/trv10/2.0.0/init",
|
"$id": "https://ondc.org/trv10/2.0.0/init",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{ "$ref": "../beckn_base/api/io/init.json#" },
|
{ "$ref": "../core/v1.1.0/init.json#" },
|
||||||
{ "$ref": "https://beckn.org/schema/init#" },
|
{ "$ref": "https://beckn.org/schema/init#" },
|
||||||
{
|
{
|
||||||
"allOf": [
|
"allOf": [
|
||||||
16
plugins/schemas/ondc_trv10/v2.0.0/on_cancel.json
Normal file
16
plugins/schemas/ondc_trv10/v2.0.0/on_cancel.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"$id": "https://ondc.org/trv10/2.0.0/on_cancel",
|
||||||
|
"type": "object",
|
||||||
|
"allOf": [
|
||||||
|
{
|
||||||
|
"$ref": "../core/v1.1.0/confirm.json#"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "https://beckn.org/schema/confirm#"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "./init.json#/allOf/2"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
16
plugins/schemas/ondc_trv10/v2.0.0/on_confirm.json
Normal file
16
plugins/schemas/ondc_trv10/v2.0.0/on_confirm.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"$id": "https://ondc.org/trv10/2.0.0/on_confirm",
|
||||||
|
"type": "object",
|
||||||
|
"allOf": [
|
||||||
|
{
|
||||||
|
"$ref": "../core/v1.1.0/confirm.json#"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "https://beckn.org/schema/confirm#"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "./init.json#/allOf/2"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../beckn_base/api/io/on_init.json#"
|
"$ref": "../core/v1.1.0/on_init.json#"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$ref": "https://beckn.org/schema/on_init#"
|
"$ref": "https://beckn.org/schema/on_init#"
|
||||||
16
plugins/schemas/ondc_trv10/v2.0.0/on_rating.json
Normal file
16
plugins/schemas/ondc_trv10/v2.0.0/on_rating.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"$id": "https://ondc.org/trv10/2.0.0/on_rating",
|
||||||
|
"type": "object",
|
||||||
|
"allOf": [
|
||||||
|
{
|
||||||
|
"$ref": "../core/v1.1.0/confirm.json#"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "https://beckn.org/schema/confirm#"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "./init.json#/allOf/2"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../beckn_base/api/io/on_search.json#"
|
"$ref": "../core/v1.1.0/on_search.json#"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$ref": "https://beckn.org/schema/on_search#"
|
"$ref": "https://beckn.org/schema/on_search#"
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../beckn_base/api/io/on_select.json#"
|
"$ref": "../core/v1.1.0/on_select.json#"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$ref": "https://beckn.org/schema/on_select#"
|
"$ref": "https://beckn.org/schema/on_select#"
|
||||||
16
plugins/schemas/ondc_trv10/v2.0.0/on_status.json
Normal file
16
plugins/schemas/ondc_trv10/v2.0.0/on_status.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"$id": "https://ondc.org/trv10/2.0.0/on_status",
|
||||||
|
"type": "object",
|
||||||
|
"allOf": [
|
||||||
|
{
|
||||||
|
"$ref": "../core/v1.1.0/confirm.json#"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "https://beckn.org/schema/confirm#"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "./init.json#/allOf/2"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
16
plugins/schemas/ondc_trv10/v2.0.0/on_support.json
Normal file
16
plugins/schemas/ondc_trv10/v2.0.0/on_support.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"$id": "https://ondc.org/trv10/2.0.0/on_support",
|
||||||
|
"type": "object",
|
||||||
|
"allOf": [
|
||||||
|
{
|
||||||
|
"$ref": "../core/v1.1.0/confirm.json#"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "https://beckn.org/schema/confirm#"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "./init.json#/allOf/2"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
16
plugins/schemas/ondc_trv10/v2.0.0/on_track.json
Normal file
16
plugins/schemas/ondc_trv10/v2.0.0/on_track.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"$id": "https://ondc.org/trv10/2.0.0/on_track",
|
||||||
|
"type": "object",
|
||||||
|
"allOf": [
|
||||||
|
{
|
||||||
|
"$ref": "../core/v1.1.0/confirm.json#"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "https://beckn.org/schema/confirm#"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "./init.json#/allOf/2"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
16
plugins/schemas/ondc_trv10/v2.0.0/on_update.json
Normal file
16
plugins/schemas/ondc_trv10/v2.0.0/on_update.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"$id": "https://ondc.org/trv10/2.0.0/on_update",
|
||||||
|
"type": "object",
|
||||||
|
"allOf": [
|
||||||
|
{
|
||||||
|
"$ref": "../core/v1.1.0/confirm.json#"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "https://beckn.org/schema/confirm#"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "./init.json#/allOf/2"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../beckn_base/api/io/rating.json#"
|
"$ref": "../core/v1.1.0/rating.json#"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$ref": "https://beckn.org/schema/rating#"
|
"$ref": "https://beckn.org/schema/rating#"
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
"$id": "https://ondc.org/trv10/2.0.0/search",
|
"$id": "https://ondc.org/trv10/2.0.0/search",
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{ "$ref": "../beckn_base/api/io/search.json#" },
|
{ "$ref": "../core/v1.1.0/search.json#" },
|
||||||
{ "$ref": "https://beckn.org/schema/search#" }
|
{ "$ref": "https://beckn.org/schema/search#" }
|
||||||
],
|
],
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
"$id": "https://ondc.org/trv10/2.0.0/select",
|
"$id": "https://ondc.org/trv10/2.0.0/select",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{ "$ref": "../beckn_base/api/io/select.json#" },
|
{ "$ref": "../core/v1.1.0/select.json#" },
|
||||||
{ "$ref": "https://beckn.org/schema/select#" },
|
{ "$ref": "https://beckn.org/schema/select#" },
|
||||||
{ "$ref": "./init.json#/$defs/init_schema_1" },
|
{ "$ref": "./init.json#/$defs/init_schema_1" },
|
||||||
{ "$ref": "../paths/init.json#/$defs/init_schema_2" }
|
{ "$ref": "../paths/init.json#/$defs/init_schema_2" }
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../beckn_base/api/io/status.json#"
|
"$ref": "../core/v1.1.0/status.json#"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$ref": "https://beckn.org/schema/status#"
|
"$ref": "https://beckn.org/schema/status#"
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../beckn_base/api/io/support.json#"
|
"$ref": "../core/v1.1.0/support.json#"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$ref": "https://beckn.org/schema/support#"
|
"$ref": "https://beckn.org/schema/support#"
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../beckn_base/api/io/track.json#"
|
"$ref": "../core/v1.1.0/track.json#"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$ref": "https://beckn.org/schema/track#"
|
"$ref": "https://beckn.org/schema/track#"
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"allOf": [
|
"allOf": [
|
||||||
{
|
{
|
||||||
"$ref": "../beckn_base/api/io/update.json#"
|
"$ref": "../core/v1.1.0/update.json#"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$ref": "https://beckn.org/schema/update#"
|
"$ref": "https://beckn.org/schema/update#"
|
||||||
Reference in New Issue
Block a user