
components:

    schemas:

        HsOfficeSepaMandate:
            type: object
            properties:
                uuid:
                    type: string
                    format: uuid
                debitor:
                    $ref: 'hs-office-debitor-schemas.yaml#/components/schemas/HsOfficeDebitor'
                bankAccount:
                    $ref: 'hs-office-bankaccount-schemas.yaml#/components/schemas/HsOfficeBankAccount'
                reference:
                   type: string
                agreement:
                    type: string
                    format: date
                validFrom:
                   type: string
                   format: date
                validTo:
                   type: string
                   format: date

        HsOfficeSepaMandatePatch:
            type: object
            properties:
                reference:
                    type: string
                    nullable: true
                agreement:
                    type: string
                    format: date
                    nullable: true
                validFrom:
                    type: string
                    format: date
                    nullable: true
                validTo:
                    type: string
                    format: date
                    nullable: true
            additionalProperties: false

        HsOfficeSepaMandateInsert:
            type: object
            properties:
                debitor.uuid:
                    type: string
                    format: uuid
                    nullable: false
                bankAccount.uuid:
                    type: string
                    format: uuid
                    nullable: false
                reference:
                    type: string
                    nullable: false
                agreement:
                    type: string
                    format: date
                    nullable: false
                validFrom:
                    type: string
                    format: date
                    nullable: false
                validTo:
                    type: string
                    format: date
                    nullable: true
            required:
                - debitor.uuid
                - bankAccount.uuid
                - reference
                - agreement
                - validFrom
            additionalProperties: false
