components: schemas: HsOfficeContact: type: object properties: uuid: type: string format: uuid caption: type: string postalAddress: $ref: '#/components/schemas/HsOfficeContactPostalAddress' emailAddresses: $ref: '#/components/schemas/HsOfficeContactEmailAddresses' phoneNumbers: $ref: '#/components/schemas/HsOfficeContactPhoneNumbers' HsOfficeContactInsert: type: object properties: caption: type: string postalAddress: $ref: '#/components/schemas/HsOfficeContactPostalAddress' emailAddresses: $ref: '#/components/schemas/HsOfficeContactEmailAddresses' phoneNumbers: $ref: '#/components/schemas/HsOfficeContactPhoneNumbers' required: - caption HsOfficeContactPatch: type: object properties: caption: type: string nullable: true postalAddress: $ref: '#/components/schemas/HsOfficeContactPostalAddress' emailAddresses: $ref: '#/components/schemas/HsOfficeContactEmailAddresses' phoneNumbers: $ref: '#/components/schemas/HsOfficeContactPhoneNumbers' HsOfficeContactPostalAddress: # forces generating a java.lang.Object containing a Map, instead of a class with fixed properties anyOf: - type: object properties: firm: type: string nullable: true name: type: string nullable: true co: type: string nullable: true street: type: string nullable: true zipcode: type: string nullable: true city: type: string nullable: true country: type: string nullable: true additionalProperties: true HsOfficeContactEmailAddresses: # forces generating a java.lang.Object containing a Map, instead of a class with fixed properties anyOf: - type: object additionalProperties: true HsOfficeContactPhoneNumbers: # forces generating a java.lang.Object containing a Map, instead of a class with fixed properties anyOf: - type: object properties: phone_office: type: string nullable: true phone_private: type: string nullable: true phone_mobile: type: string nullable: true fax: type: string nullable: true additionalProperties: false