TS_103_120_core.json 13 KB
Newer Older
canterburym's avatar
canterburym committed
  "$id": "TS_103_120_core.json",
  "$defs": {
    "ObjectIdentifier": {
      "$ref": "etsi103280.json#/$defs/UUID"
    },
    "HI1Message": {
      "type": "object",
      "properties": {
        "Header": {
          "$ref": "#/$defs/MessageHeader"
        },
        "Payload": {
          "$ref": "#/$defs/MessagePayload"
canterburym's avatar
canterburym committed
        },
        "Signature": {
          "$ref": "xmldsig.json#/$defs/SignatureType"
        }
      },
      "required": [
        "Header",
        "Payload"
      ]
    },
    "MessageHeader": {
      "type": "object",
      "properties": {
        "SenderIdentifier": {
          "$ref": "#/$defs/EndpointID"
        },
        "ReceiverIdentifier": {
          "$ref": "#/$defs/EndpointID"
        },
        "TransactionIdentifier": {
          "$ref": "etsi103280.json#/$defs/UUID"
        },
        "Timestamp": {
          "$ref": "etsi103280.json#/$defs/QualifiedMicrosecondDateTime"
        },
        "Version": {
          "$ref": "#/$defs/Version"
        }
      },
      "required": [
        "SenderIdentifier",
        "ReceiverIdentifier",
        "TransactionIdentifier",
        "Timestamp",
        "Version"
      ]
    },
    "Version": {
      "type": "object",
      "properties": {
        "ETSIVersion": {
canterburym's avatar
canterburym committed
          "$ref": "TS_103_120_common.json#/$defs/ETSIVersion"
        },
        "NationalProfileOwner": {
          "$ref": "etsi103280.json#/$defs/ShortString"
        },
        "NationalProfileVersion": {
          "$ref": "etsi103280.json#/$defs/ShortString"
        }
      },
      "required": [
        "ETSIVersion",
        "NationalProfileOwner",
        "NationalProfileVersion"
      ]
    },
    "EndpointID": {
      "type": "object",
      "properties": {
        "CountryCode": {
          "$ref": "etsi103280.json#/$defs/ISOCountryCode"
        },
        "UniqueIdentifier": {
          "$ref": "etsi103280.json#/$defs/LongString"
        }
      },
      "required": [
        "CountryCode",
        "UniqueIdentifier"
      ]
    },
    "MessagePayload": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "RequestPayload": {
              "$ref": "#/$defs/RequestPayload"
            }
          },
          "required": [
            "RequestPayload"
          ]
        },
        {
          "type": "object",
          "properties": {
            "ResponsePayload": {
              "$ref": "#/$defs/ResponsePayload"
            }
          },
          "required": [
            "ResponsePayload"
          ]
        }
      ]
    },
    "RequestPayload": {
      "type": "object",
      "properties": {
        "ActionRequests": {
          "$ref": "#/$defs/ActionRequests"
        }
      },
      "required": [
        "ActionRequests"
      ]
    },
    "ActionRequests": {
      "type": "object",
      "properties": {
        "ActionRequest": {
canterburym's avatar
canterburym committed
          "type": "array",
          "items": {
            "$ref": "#/$defs/ActionRequest"
          },
          "minItems": 1
canterburym's avatar
canterburym committed
      "required": []
    },
    "ResponsePayload": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "ActionResponses": {
              "$ref": "#/$defs/ActionResponses"
            }
          },
          "required": [
            "ActionResponses"
          ]
        },
        {
          "type": "object",
          "properties": {
            "ErrorInformation": {
              "$ref": "#/$defs/ActionUnsuccesfulInformation"
            }
          },
          "required": [
            "ErrorInformation"
          ]
        }
      ]
    },
    "ActionResponses": {
      "type": "object",
      "properties": {
        "ActionResponse": {
canterburym's avatar
canterburym committed
          "type": "array",
          "items": {
            "$ref": "#/$defs/ActionResponse"
          },
          "minItems": 1
canterburym's avatar
canterburym committed
      "required": []
    },
    "ActionRequest": {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "ActionIdentifier": {
              "type": "integer",
              "minimum": 0
            }
          },
          "required": [
            "ActionIdentifier"
          ]
        },
        {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "GET": {
                  "$ref": "#/$defs/GETRequest"
                }
              },
              "required": [
                "GET"
              ]
            },
            {
              "type": "object",
              "properties": {
                "CREATE": {
                  "$ref": "#/$defs/CREATERequest"
                }
              },
              "required": [
                "CREATE"
              ]
            },
            {
              "type": "object",
              "properties": {
                "UPDATE": {
                  "$ref": "#/$defs/UPDATERequest"
                }
              },
              "required": [
                "UPDATE"
              ]
            },
            {
              "type": "object",
              "properties": {
                "LIST": {
                  "$ref": "#/$defs/LISTRequest"
                }
              },
              "required": [
                "LIST"
              ]
            },
            {
              "type": "object",
              "properties": {
                "DELIVER": {
                  "$ref": "#/$defs/DELIVERRequest"
                }
              },
              "required": [
                "DELIVER"
              ]
            }
          ]
        }
      ]
    },
    "ActionResponse": {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "ActionIdentifier": {
              "type": "integer",
              "minimum": 0
            }
          },
          "required": [
            "ActionIdentifier"
          ]
        },
        {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "GETResponse": {
                  "$ref": "#/$defs/GETResponse"
                }
              },
              "required": [
                "GETResponse"
              ]
            },
            {
              "type": "object",
              "properties": {
                "CREATEResponse": {
                  "$ref": "#/$defs/CREATEResponse"
                }
              },
              "required": [
                "CREATEResponse"
              ]
            },
            {
              "type": "object",
              "properties": {
                "UPDATEResponse": {
                  "$ref": "#/$defs/UPDATEResponse"
                }
              },
              "required": [
                "UPDATEResponse"
              ]
            },
            {
              "type": "object",
              "properties": {
                "LISTResponse": {
                  "$ref": "#/$defs/LISTResponse"
                }
              },
              "required": [
                "LISTResponse"
              ]
            },
            {
              "type": "object",
              "properties": {
                "ErrorInformation": {
                  "$ref": "#/$defs/ActionUnsuccesfulInformation"
                }
              },
              "required": [
                "ErrorInformation"
              ]
            },
            {
              "type": "object",
              "properties": {
                "DELIVERResponse": {
                  "$ref": "#/$defs/DELIVERResponse"
                }
              },
              "required": [
                "DELIVERResponse"
              ]
            }
          ]
        }
      ]
    },
    "GETRequest": {
      "type": "object",
      "properties": {
        "Identifier": {
          "$ref": "#/$defs/ObjectIdentifier"
        }
      },
      "required": [
        "Identifier"
      ]
    },
    "GETResponse": {
      "type": "object",
      "properties": {
        "HI1Object": {
canterburym's avatar
canterburym committed
          "$ref": "#/$defs/OneOfHI1Object"
        }
      },
      "required": [
        "HI1Object"
      ]
    },
    "CREATERequest": {
      "type": "object",
      "properties": {
        "HI1Object": {
canterburym's avatar
canterburym committed
          "$ref": "#/$defs/OneOfHI1Object"
        }
      },
      "required": [
        "HI1Object"
      ]
    },
    "CREATEResponse": {
      "type": "object",
      "properties": {
        "Identifier": {
          "$ref": "#/$defs/ObjectIdentifier"
        },
        "HI1Object": {
canterburym's avatar
canterburym committed
          "$ref": "#/$defs/OneOfHI1Object"
        }
      },
      "required": [
        "Identifier"
      ]
    },
    "UPDATERequest": {
      "type": "object",
      "properties": {
        "HI1Object": {
canterburym's avatar
canterburym committed
          "$ref": "#/$defs/OneOfHI1Object"
        }
      },
      "required": [
        "HI1Object"
      ]
    },
    "UPDATEResponse": {
      "type": "object",
      "properties": {
        "Identifier": {
          "$ref": "#/$defs/ObjectIdentifier"
        },
        "HI1Object": {
canterburym's avatar
canterburym committed
          "$ref": "#/$defs/OneOfHI1Object"
        }
      },
      "required": [
        "Identifier"
      ]
    },
    "LISTRequest": {
      "type": "object",
      "properties": {
        "ObjectType": {
canterburym's avatar
canterburym committed
          "$ref": "TS_103_120_common.json#/$defs/DictionaryEntry"
        },
        "LastChanged": {
          "$ref": "etsi103280.json#/$defs/QualifiedDateTime"
        }
      },
      "required": []
    },
    "LISTResponse": {
      "type": "object",
      "properties": {
        "ListResponseRecord": {
canterburym's avatar
canterburym committed
          "type": "array",
          "items": {
            "$ref": "#/$defs/ListResponseRecord"
          }
        }
      },
      "required": []
    },
    "ListResponseRecord": {
      "type": "object",
      "properties": {
        "ObjectType": {
canterburym's avatar
canterburym committed
          "$ref": "TS_103_120_common.json#/$defs/DictionaryEntry"
        },
        "Identifier": {
          "$ref": "#/$defs/ObjectIdentifier"
        },
        "CountryCode": {
          "$ref": "etsi103280.json#/$defs/ISOCountryCode"
        },
        "OwnerIdentifier": {
          "$ref": "etsi103280.json#/$defs/ShortString"
        },
        "Generation": {
          "type": "integer",
          "minimum": 0
        },
        "ExternalIdentifier": {
          "$ref": "etsi103280.json#/$defs/LongString"
        },
        "LastChanged": {
          "$ref": "etsi103280.json#/$defs/QualifiedDateTime"
        }
      },
      "required": [
        "ObjectType",
        "Identifier",
        "Generation"
      ]
    },
    "ActionUnsuccesfulInformation": {
      "type": "object",
      "properties": {
        "ErrorCode": {
          "type": "integer",
          "minimum": 0
        },
        "ErrorDescription": {
          "$ref": "etsi103280.json#/$defs/LongString"
        }
      },
      "required": [
        "ErrorCode",
        "ErrorDescription"
      ]
    },
    "DELIVERRequest": {
      "type": "object",
      "properties": {
        "Identifier": {
          "$ref": "#/$defs/ObjectIdentifier"
        },
        "HI1Object": {
canterburym's avatar
canterburym committed
          "$ref": "#/$defs/OneOfHI1Object"
        }
      },
      "required": [
        "Identifier",
        "HI1Object"
      ]
    },
    "DELIVERResponse": {
      "type": "object",
      "properties": {
        "Identifier": {
          "$ref": "#/$defs/ObjectIdentifier"
        }
      },
      "required": [
        "Identifier"
      ]
    },
    "HI1Object": {
      "type": "object",
      "properties": {
        "ObjectIdentifier": {
          "$ref": "#/$defs/ObjectIdentifier"
        },
        "CountryCode": {
          "$ref": "etsi103280.json#/$defs/ISOCountryCode"
        },
        "OwnerIdentifier": {
          "$ref": "etsi103280.json#/$defs/ShortString"
        },
        "Generation": {
          "type": "integer",
          "minimum": 0
        },
        "ExternalIdentifier": {
          "$ref": "etsi103280.json#/$defs/LongString"
        },
        "AssociatedObjects": {
          "$ref": "#/$defs/AssociatedObjects"
        },
        "LastChanged": {
          "$ref": "etsi103280.json#/$defs/QualifiedDateTime"
        },
        "NationalHandlingParameters": {
          "$ref": "#/$defs/NationalHandlingParameters"
        }
      },
      "required": [
        "ObjectIdentifier"
      ]
    },
    "AssociatedObjects": {
      "type": "object",
      "properties": {
        "AssociatedObject": {
canterburym's avatar
canterburym committed
          "type": "array",
          "items": {
            "$ref": "#/$defs/ObjectIdentifier"
          }
        }
      },
      "required": []
    },
    "NationalHandlingParameters": {
      "type": "object",
      "properties": {
        "CountryCode": {
          "$ref": "etsi103280.json#/$defs/ISOCountryCode"
        }
      },
      "required": [
        "CountryCode"
      ]
canterburym's avatar
canterburym committed
    },
    "OneOfHI1Object": {
      "oneOf": [
        {
canterburym's avatar
canterburym committed
          "$ref": "TS_103_120_authorisation.json#/$defs/AuthorisationObject"
canterburym's avatar
canterburym committed
        },
        {
canterburym's avatar
canterburym committed
          "$ref": "TS_103_120_task.json#/$defs/LITaskObject"
canterburym's avatar
canterburym committed
        },
        {
canterburym's avatar
canterburym committed
          "$ref": "TS_103_120_task.json#/$defs/LDTaskObject"
canterburym's avatar
canterburym committed
        },
        {
canterburym's avatar
canterburym committed
          "$ref": "TS_103_120_document.json#/$defs/DocumentObject"
canterburym's avatar
canterburym committed
        },
        {
canterburym's avatar
canterburym committed
          "$ref": "TS_103_120_notification.json#/$defs/NotificationObject"
canterburym's avatar
canterburym committed
        }
      ]
    }
  },
  "$ref": "#/$defs/HI1Message"
}