//
// ContactinformationsRequestCompoundAllOf.swift
//
// Generated by openapi-generator
// https://openapi-generator.tech
//

import Foundation
#if canImport(AnyCodable)
import AnyCodable
#endif

public struct ContactinformationsRequestCompoundAllOf: Codable, JSONEncodable, Hashable {

    public var aObjAddress: [AddressRequestCompound]
    public var aObjPhone: [PhoneRequestCompound]
    public var aObjEmail: [EmailRequestCompound]
    public var aObjWebsite: [WebsiteRequestCompound]

    public init(aObjAddress: [AddressRequestCompound], aObjPhone: [PhoneRequestCompound], aObjEmail: [EmailRequestCompound], aObjWebsite: [WebsiteRequestCompound]) {
        self.aObjAddress = aObjAddress
        self.aObjPhone = aObjPhone
        self.aObjEmail = aObjEmail
        self.aObjWebsite = aObjWebsite
    }

    public enum CodingKeys: String, CodingKey, CaseIterable {
        case aObjAddress = "a_objAddress"
        case aObjPhone = "a_objPhone"
        case aObjEmail = "a_objEmail"
        case aObjWebsite = "a_objWebsite"
    }

    // Encodable protocol methods

    public func encode(to encoder: Encoder) throws {
        var container = encoder.container(keyedBy: CodingKeys.self)
        try container.encode(aObjAddress, forKey: .aObjAddress)
        try container.encode(aObjPhone, forKey: .aObjPhone)
        try container.encode(aObjEmail, forKey: .aObjEmail)
        try container.encode(aObjWebsite, forKey: .aObjWebsite)
    }
}

