# #####################################################################################
# YAML File Information
# #####################################################################################
# 
# Author:         
# Date:           
# Version:        
# Status:         
# Description:    # 
# History:        # 
# License:        IPR and Distribution Notices
# 
#                 This machine readable file is derived from the IMS [spec name] Version [x.x]
#                 found at http://www.imsglobal.org/[xxx] and the original IMS Global schema binding or code base
#                 http://www.imsglobal.org/[binding document].
# 
#                 Recipients of this document are requested to submit, with their comments, notification of any relevant 
#                 patent claims or other intellectual property rights of which they may be aware that might be infringed by
#                 any implementation of the specification set forth in this document, and to provide supporting documentation.
# 
#                 IMS takes no position regarding the validity or scope of any intellectual property or other rights that might
#                 be claimed to pertain to the implementation or use of the technology described in this document or the extent 
#                 to which any license under such rights might or might not be available; neither does it represent that it has 
#                 made any effort to identify any such rights. Information on IMS procedures with respect to rights in IMS 
#                 specifications can be found at the IMS Global Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.
# 
#                 Copyright (c) IMS Global Learning Consortium 1999-2021. All Rights Reserved.
# 
#                 Use of this specification to develop products or services is governed by the license with IMS found on the IMS website: http://www.imsglobal.org/license.html.
# 
#                 Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals.
# 
#                 The limited permissions granted above are perpetual and will not be revoked by IMS or its successors or assigns.
# 
#                 THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS
#                 EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTERS OWN RISK, AND NEITHER THE CONSORTIUM
#                 NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF
#                 ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.
# 
# Source UML File Information
# ===========================
# The source file information must be supplied as an XMI file (without diagram layout information).
# The supported UML authoring tools are:
# (a) Poseidon - v6 (and later)
# (b) Papyrus - v1.1.3 (and later)
# 
# Source XSLT File Information
# ============================
# XSL Generator:    Specificationv1p0_GenerationToolv1.xsl
# XSLT Processor:   Saxon
# Release:          1.0
# Date:             31st January, 2021
# Autogen Engineer: Colin Smythe (IMS Global, UK)
# Autogen Date:     2021-08-25
# 
# IMS Global Auto-generation Binding Tool-kit (I-BAT)
# ===================================================
# This file was auto-generated using the IMS Global Binding Auto-generation Tool-kit (I-BAT).  While every
# attempt has been made to ensure that this tool auto-generates the files correctly, users should be aware
# that this is an experimental tool.  Permission is given to make use of this tool.  IMS Global makes no
# claim on the materials created by third party users of this tool.  Details on how to use this tool
# are contained in the IMS Global "I-BAT" documentation available at the IMS Global web-site:
# http://www.imsglobal.org.
# 
# Tool Copyright:  2012-2021  (c) IMS Global Learning Consortium Inc.  All Rights Reserved.
# 
# #####################################################################################


#####################################################################################
#                               Components                                          #
#####################################################################################
components:
    schemas: 
        CodeMinorDType:
            description: |
                This is the container for the set of code minor status codes reported in the responses from the Service Provider. Each status report MUST include at least one minor code.
            type: object
            required: 
                - codeMinorField
            properties: 
                codeMinorField: 
                    description: |
                        Each reported code minor status code.
                    type: array
                    minItems: 1
                    items: 
                        $ref: "#/components/schemas/CodeMinorFieldDType"
            additionalProperties: false
        CodeMinorFieldDType:
            description: |
                This is the container for a single code minor status code.
            type: object
            required: 
                - codeMinorFieldName
                - codeMinorFieldValue
            properties: 
                codeMinorFieldName: 
                    description: This should contain the identity of the system that has produced the code minor status code report. In most cases this will be the target service provider denoted as 'ServiceProviderSystem'. Model Primitive Datatype = NormalizedString.
                    type: string
                    default: ServiceProviderSystem
                codeMinorFieldValue: 
                    description: |
                        The code minor status code (this is a value from the corresponding controlled enumerated vocabulary).
                    type: string
                    enum: 
                       - full_success
                       - unauthorised_request
                       - unknown_object
                       - invalid_filter_field
                       - invalid_selection_field
                       - invalid_data
                       - internal_server_error
                       - server_busy
                       - delete_failure
                       - forbidden
                       - unknown_endpoint
                       - unsupported_endpoint
            additionalProperties: false
        StatusInfoDType:
            description: |
                This is the container for the transaction-level status information returned from the Service Provider. All request/reoponse transactions MUST be accompanied with transaction status information.
            type: object
            required: 
                - codeMajor
                - severity
            properties: 
                codeMajor: 
                    description: |
                        The code major value (from the corresponding enumerated vocabulary). This property must be used with the 'severity' property to provide the detailed high-level status of the requested transaction. 
                    type: string
                    enum: 
                       - success
                       - failure
                       - unsupported
                       - processing
                severity: 
                    description: |
                        The severity value (from the corresponding enumerated vocabulary). This property must be used with the 'codeMajor' property to provide the detailed high-level status of the requested transaction.
                    type: string
                    enum: 
                       - status
                       - warning
                       - error
                description: 
                    description: A human readable description supplied by the entity creating the status code information. In the case of reporting a failure condition, it is RECOMMENDED that suitable information is supplied in this property. Model Primitive Datatype = String.
                    type: string
                codeMinor: 
                    $ref: "#/components/schemas/CodeMinorDType"
            additionalProperties: false
