Skip to content

Latest commit

 

History

History
787 lines (683 loc) · 45.5 KB

masterdata_context.md

File metadata and controls

787 lines (683 loc) · 45.5 KB

Masterdata Context

Events

Type GARAIO REM REM Description
Masterdata.Property.Created A new property has been created
Masterdata.Property.Updated Data associated to a property has changed; you get changed attributes only
Masterdata.Property.TagAdded A tag was added to a property; please read the specs for this event carefully
Masterdata.Property.TagRemoved A tag was removed from a property; please read the specs for this event carefully
Masterdata.Building.Created A building has been created
Masterdata.Building.Updated Data associated to a building has changed; you get the reference plus all changed attributes
Masterdata.Building.Deleted The building was deleted
Masterdata.Building.ReferenceChanged The building reference has changed
Masterdata.Unit.Created A rentable unit has been created
Masterdata.Unit.Updated Data associated to a rentable unit has changed; you get the reference plus all changed attributes
Masterdata.Unit.Deleted The unit was deleted
Masterdata.Unit.ReferenceChanged The unit reference has changed
Masterdata.Condominium.Updated Data associated to a condominium has changed; you get the reference plus all changed attributes
Masterdata.ManagementTeam.Updated A change to a property management team was applied; only changed roles are published
Masterdata.Configuration.SedexIdChanged A new SedexID has been configured
Masterdata.PersonContactData.Update Update the contact data of a person with this message
Masterdata.Person.Create Create a new person record with this message
Masterdata.Person.Update Update the masterdata of a person with this message

Masterdata.Property.Created

Field Type Content / Remarks
eventType string Masterdata.Property.Created
data hash
  reference string unique identifier for the property
  description string
  zipCode string
  city string
  countryCode string ISO country code, eg 'CH'
  startOfAdministration string ISO 8601 encoded date, eg '2019-03-01'
  endOfAdministration string ISO 8601 encoded date, eg '2019-03-01'
  administrationKind string One of the following values:
  • MEG
  • VOLL
  • TECHNISCH
  • ADMINISTRATIV
  • BACKMANAGEMENT
  • CENTERMANAGEMENT
  • EXTERNAL_SYSTEM
  • STEWE
  • INKASSO
  • UNBEKANNT

Example

{"eventType":"Masterdata.Property.Created",
  "data":{
    "reference":"1234",
    "description":"my property",
    "zipCode":"3000",
    "city":"Bern",
    "countryCode":"CH",
    "endOfAdministration": "2018-12-31",
    "administrationKind": "MEG"
  }
}

Masterdata.Property.Updated

Field Type Content / Remarks
eventType string Masterdata.Property.Updated
data hash
  reference string unique identifier for the property
  description string
  zipCode string
  city string
  countryCode string ISO country code, eg 'CH'
  mandateTerminatedBy string ISO date, eg '2018-12-31'
  endOfAdministration string ISO 8601 encoded date, eg '2019-03-01'
  administrationKind string One of the following values:
  • MEG
  • VOLL
  • TECHNISCH
  • ADMINISTRATIV
  • BACKMANAGEMENT
  • CENTERMANAGEMENT
  • EXTERNAL_SYSTEM
  • STEWE
  • INKASSO
  • UNBEKANNT

Example

{"eventType":"Masterdata.Property.Updated",
  "data":{
    "reference":"1234",
    "description":"my property renamed",
    "endOfAdministration": "2018-12-31"
  }
}

Masterdata.Property.TagAdded

If you receive this event and your service has tag constraints (you only 'see' properties tagged with certain tags), this means than an existing property has been tagged with a tag visible to you.

To get the complete data set for this property, use the GraphQL query property(reference: String!): Property

Field Type Content / Remarks
eventType string Masterdata.Property.TagAdded
data hash
  reference string unique identifier for the property
  tag string The tag that was added

Example

{"eventType":"Masterdata.Property.TagAdded",
  "data":{
    "reference":"1234",
    "tag":"t001"
  }
}

Masterdata.Property.TagRemoved

If you receive this event and your service has tag constraints (you only 'see' properties tagged with certain tags), this means that a tag visible to you has been removed from this property.

This is the very last event that you get for this property and you must remove it from your local domain model (if you store property data).

Field Type Content / Remarks
eventType string Masterdata.Property.TagRemoved
data hash
  reference string unique identifier for the property
  tag string The tag that was removed

Example

{"eventType":"Masterdata.Property.TagRemoved",
  "data":{
    "reference":"1234",
    "tag":"t001"
  }
}

Masterdata.Building.Created

Field Type Content / Remarks
eventType string Masterdata.Building.Created
data hash
  reference string unique identifier for the building; the first segment of the key is the property reference, eg '1234.01'
  description string might be null
  numberOfElevators integer might be null
  numberOfFloorsAboveGround integer might be null
  numberOfFloorsBelowGround integer might be null
  egid integer read about it, might be null
  mandateTerminatedBy string ISO date, eg '2018-12-31', might be null
  street string street name including the building number where appropriate
  zipCode string
  city string
  countryCode string ISO country code, eg 'CH'
  wgs84Position hash Geo Coordinates, might be null
   latitude decimal Latitude
   longitude decimal Longitude
  startOfAdministration string ISO 8601 encoded date, eg '2019-03-01'
  endOfAdministration string ISO 8601 encoded date, eg '2019-03-01'

Example

{"eventType": "Masterdata.Building.Created",
  "data":{
    "reference":"1234.01",
    "description":"a building",
    "numberOfElevators":null,
    "numberOfFloorsAboveGround":3,
    "numberOfFloorsBelowGround":null,
    "egid":123456,
    "mandateTerminatedBy": "2025-05-31",
    "street":"Bahnhofstrasse 23",
    "zipCode":"3000",
    "city":"Bern",
    "countryCode":"CH",
    "wgs84Position":{
      "latitude":44.640672,
      "longitude":4.756836
    }
  }
}

Masterdata.Building.Updated

Field Type Content / Remarks
eventType string Masterdata.Building.Updated
data hash
  reference string unique identifier for the building; the first segment of the key is the property reference, eg '1234.01'
  description string might be null
  numberOfElevators integer might be null
  numberOfFloorsAboveGround integer might be null
  numberOfFloorsBelowGround integer might be null
  egid integer read about it, might be null
  mandateTerminatedBy string ISO date, eg '2018-12-31', might be null
  street string street name including the building number where appropriate
  zipCode string
  city string
  countryCode string ISO country code, eg 'CH'
  wgs84Position hash Geo Coordinates; only present if the geo coordinates have changed, might be null
   latitude decimal Latitude
   longitude decimal Longitude
  startOfAdministration string ISO 8601 encoded date, eg '2019-03-01'
  endOfAdministration string ISO 8601 encoded date, eg '2019-03-01'

Example

{"eventType":"Masterdata.Building.Updated",
  "data":{
    "reference":"1234.01",
    "street":"Bahnhofstrasse 23a",
    "wgs84Position":{
      "latitude":44.640672,
      "longitude":4.756836
    }
  }
}

Masterdata.Building.Deleted

Field Type Content / Remarks
eventType string Masterdata.Building.Deleted
data hash
  reference string unique identifier for the building; the first segment of the key is the property reference, eg '1234.01'

Example

{"eventType":"Masterdata.Building.Deleted",
  "data":{
    "reference":"1234.01"
  }
}

Masterdata.Building.ReferenceChanged

A user might change the reference of a building in GARAIO REM. This event reflects such a change. If you store building data you must apply this change to your data.

Note that a change of building reference also leads to a change of object references and tenancy agreement references in that building. These changes will be published by separate messages, namely Masterdata.Unit.ReferenceChanged and Letting.Tenancy.TenancyAgreementReferenceChanged.

Field Type Content / Remarks
eventType string Masterdata.Building.ReferenceChanged
data hash
  reference string unique identifier for the building; the first segment of the key is the property reference, the second is the building reference eg '1234.01'
  newReference string new identifier for the building

Example

{"eventType":"Masterdata.Building.ReferenceChanged",
  "data":{
    "reference":"1234.02",
    "newReference":"1234.03"
  }
}

Masterdata.Unit.Created

Field Type Content / Remarks
eventType string Masterdata.Unit.Created
data hash
  reference string unique identifier for the unit; the first segment of the key is the property reference, the second is the building reference eg '1234.01.0001'
  unitCategoryCode string code to identify the unit category; the list of unit categories is part of the Graphql API
  unitTypeCode string code to identify the unit type; the list of unit types is part of the Graphql API
  idxCategory string code to identify the unit category according to the IDX standard; the list of unit categories is described in the IDX definition
  idxType integer code to identify the unit type according to the IDX standard; the idxType depends on the idxCategory and is described in the IDX definition
  storeyCode string code to identify the unit storey; the list of storeys is part of the Graphql API; might be null
  location string location of the unit, where appropriate, eg left, middle, right; this is free text and might be null
  numberOfRooms string number of rooms as a decimal, eg "3.5"; might be null
  ewid integer read about it, might be null
  bfsId string read about it, might be null
  validFrom string ISO 8601 encoded date, eg '2019-03-01'
  validUntil string ISO 8601 encoded date, eg '2019-03-01'

Example

{"eventType":"Masterdata.Unit.Created",
  "data":{
    "reference":"1234.01.0001",
    "unitCategoryCode":"1",
    "unitTypeCode":"01",
    "idxCategory":"APPT",
    "idxType":1,
    "storeyCode":"1",
    "location":"links",
    "numberOfRooms":"3.5",
    "ewid":123456,
    "bfsId":"A654321"
  }
}

Masterdata.Unit.Updated

Field Type Content / Remarks
eventType string Masterdata.Building.Updated
data hash
  reference string unique identifier for the unit; the first segment of the key is the property reference, the second is the building reference eg '1234.01.0001'
  unitCategoryCode string code to identify the unit category; the list of unit categories is part of the Graphql API
  unitTypeCode string code to identify the unit type; the list of unit types is part of the Graphql API
  idxCategory string code to identify the unit category according to the IDX standard; the list of unit categories is described in the IDX definition
  idxType integer code to identify the unit type according to the IDX standard; the idxType depends on the idxCategory and is described in the IDX definition
  storeyCode string code to identify the unit storey; the list of storeys is part of the Graphql API; might be null
  location string location of the unit, where appropriate, eg left, middle, right; this is free text and might be null
  numberOfRooms string number of rooms as a decimal, eg "3.5"; might be null
  ewid integer read about it, might be null
  bfsId string read about it, might be null
  validFrom string ISO 8601 encoded date, eg '2019-03-01'
  validUntil string ISO 8601 encoded date, eg '2019-03-01'

Example

{"eventType":"Masterdata.Unit.Updated",
  "data":{
    "reference":"1234.01.0001",
    "numberOfRooms":"3.0"
  }
}

Masterdata.Unit.Deleted

Field Type Content / Remarks
eventType string Masterdata.Building.Deleted
data hash
  reference string unique identifier for the unit; the first segment of the key is the property reference, the second is the building reference eg '1234.01.0001'

Example

{"eventType":"Masterdata.Unit.Deleted",
  "data":{
    "reference":"1234.01.0001"
  }
}

Masterdata.Unit.ReferenceChanged

A user might change the reference of a unit in GARAIO REM. This event reflects such a change. If you store unit data in a local domain model you must apply this change to your data.

Note that a change of unit reference also leads to a change of tenancy agreement references in that unit. These changes will be published by separate messages, namely Letting.Tenancy.TenancyAgreementReferenceChanged.

Field Type Content / Remarks
eventType string Masterdata.Unit.ReferenceChanged
data hash
  reference string unique identifier for the unit; the first segment of the key is the property reference, the second is the building reference eg '1234.01.0001'
  newReference string new identifier for the unit

Example

{"eventType":"Masterdata.Unit.ReferenceChanged",
  "data":{
    "reference":"1234.01.0001",
    "newReference":"1234.01.0002"
  }
}

Masterdata.Condominium.Updated

Field Type Content / Remarks
eventType string Masterdata.Condominium.Updated
data hash
  reference string Unique identifier for the condominium unit
  unitTypeCode string Code to identify the unit type
  storeyCode string Code to identify the unit storey
  location string Location of the unit, where appropriate, e.g., left, middle, right; this is free text and might be null
  numberOfRooms string Number of rooms as a decimal, e.g., "3.0"; might be null
  ewid integer Read about it, might be null
  bfsId string Read about it, might be null
  unitCategoryCode string Code to identify the unit category
  headVotes integer Number of head votes for the condominium unit
  m2 decimal Area in square meters, might be null
  m3 decimal Volume in cubic meters, might be null

Example

{
  "eventType": "Masterdata.Condominium.Updated",
  "data": {
    "reference": "10001.561.339",
    "unitTypeCode": "10",
    "storeyCode": "3",
    "location": null,
    "numberOfRooms": "3.0",
    "ewid": null,
    "bfsId": null,
    "unitCategoryCode": "1",
    "headVotes": 1,
    "m2": null,
    "m3": null
  }
}

Masterdata.ManagementTeam.Updated

Field Type Content / Remarks
eventType string Masterdata.ManagementTeam.Updated
data hash
  propertyReference string unique identifier for the property
  managementTeamChanges array
    userRoleCode string user role code, eg R001
    surname string
    firstName string
    languageCode string de, fr, it or en; must be lower case
    phoneNumber string
    email string

Example

{"eventType":"Masterdata.ManagementTeam.Updated",
  "data":{
    "propertyReference":"1234",
    "managementTeamChanges":[
      {"userRoleCode":"R001",
       "surname":"Muster",
       "firstName":"Max",
       "languageCode":"de",
       "phoneNumber":"555 123 456",
       "email":"[email protected]"
      },
      {"userRoleCode":"R002",
       "surname":"Muster",
       "firstName":"Maxine",
       "languageCode":"fr",
       "phoneNumber":"555 654 321",
       "email":"[email protected]"
      }
    ]
  }
}

Masterdata.Configuration.SedexIdChanged

Field Type Content / Remarks
eventType string Masterdata.Configuration.SedexIdChanged
data hash
  sedexId string the new SedexID (e.g. T4-123456-2); A value null means the previously used SedexID is not valid anymore.

Example

{"eventType":"Masterdata.Configuration.SedexIdChanged",
  "data":{
    "sedexId":"T-123456-2"
  }
}

Masterdata.PersonContactData.Update

This message is sent from an external message publisher to a GARAIO REM instance and allows to update contact data of a person. Set the recipient property in the headers, eg "grem_wincasa". All attributes are optional unless noted otherwise in the remarks. Rules for all array attributes:

  • do not send the attribute if you do not want to create current data of this type
  • send an empty array ([]) to delete all current data of this type
  • send an array of valid date to fully replace the current data of this type

GARAIO REM replies with a standard Accepted / Rejected message containing the personReference and reject reasons, where appropriate

Field Type Content / Remarks
eventType string Masterdata.PersonContactData.Update
data hash
  personReference string reference of the person that should receive the communication updates; required
  privateEmails array list of new private emails
  businessEmails array list of new business emails
  otherEmails array list of new other emails
  privatePhoneNumbers array list of new private phone numbers
  businessPhoneNumbers array list of new business phone numbers
  mobilePhoneNumbers array list of new mobile phone numbers
  otherPhoneNumbers array list of new other phone numbers
  privateFaxNumbers array list of new private fax numbers
  businessFaxNumbers array list of new business fax numbers
  otherFaxNumbers array list of new other fax numbers
  privateUrls array list of new private urls
  businessUrls array list of new business urls
  otherUrls array list of new other urls
  contacts array
    name string name of the contact
    contactAddress string address / email / phone number of the contact

Examples

add email, phone number and contact data
{"eventType":"Masterdata.PersonContactData.Update",
  "data":{
    "personReference":"123456",
    "privateEmails":["[email protected]"],
    "privatePhoneNumbers":["+41 79 123 45 67"],
    "contacts":[
      {
        "name":"Max Muster",
        "contactAddress":"[email protected]"
      }
    ]
  }
}
accepted response message
{"eventType":"Letting.PersonContactData.UpdateAccepted",
  "data":{
    "personReference":"123456"
  }
}
rejected response message
{"eventType":"Letting.PersonContactData.UpdateRejected",
  "data":{
    "personReference":"123456",
    "reasons":[
      {
        "attribute":"privateEmails",
        "reason":"enthält ungültige Email-Adressen"
      }
    ]
  }
}

Masterdata.Person.Create

This message is sent from an external message publisher to a GARAIO REM instance and allows to update contact data of a person. Set the recipient property in the headers, eg "grem_wincasa". All attributes are optional unless noted otherwise in the remarks.

GARAIO REM replies with a standard Accepted / Rejected message containing the personReference and reject reasons, where appropriate

Field Type Content / Remarks
eventType string Masterdata.Person.Create
data hash
  createdAt string ISO 8601 encoded timestamp, eg '2024-02-06T14:10:11+01:00'. Defaults to current time.
  updatedAt string ISO 8601 encoded timestamp, eg '2024-02-06T14:10:11+01:00'. Defaults to current time.
  firstName string first name; required
  surname string surname for natural persons or company name for legal persons; required
  reference string an optional reference that must be unique. If none is provided, GARAIO REM will generate one.
  nameSuffix1 string additional name suffix (i.e. 'c/o Garaio REM AG')
  nameAddition2 string additional field to store name information on company records
  salutation string one of the following values will be accepted: none, sir, madam. Send either salutation or salutationCode but not both.
  salutationCode string a value of the salutation code table (see code table entries "Anreden" for valid codes). Send either salutation or salutationCode but not both.
  additionalSalutation string (max 50 characters) additional salutation (i.e. Dr. med.)
  maritalStatus string one of the following values will be accepted: unmarried, married, widowed, divorced, separated, civil_union. Send either maritalStatus or maritalStatusCode but not both.
  maritalStatusCode string a value of the marital status code table (see code table entries "Zivilstände" for valid codes). Send either maritalStatus or maritalStatusCode but not both.
  jobTitle string job title
  personType string person code for this person. Can be one of the following values: 'natural_person' for natural persons and 'legal_person' for legal persons and 'condominium' for condominiums. Defaults to natural_person.
  dateOfBirth string ISO 8601 encoded date, eg '2019-03-01'; only required if person is a natural person
  dateOfDeath string ISO 8601 encoded date, eg '2019-03-01'
  homeTown string home town
  nationalityCode string ISO country code, eg 'CH'
  sensitive boolean sensitive flag. true if the person is sensitive and only people with the "Personen Admin" role can mutate that record afterwards.
  rating string defines the creditor rating of this person.
  modeOfDispatch string defines the mode of dispatch for this person. One of the following values will be accepted: email, post
  sendEMail string email address where the person wants to receive documents if modeOfDispatch is set to email
  isCreditor boolean declares whether this person has a creditor profile.
  creditorProfileIsBlocked boolean declares whether this person's creditor profile is blocked.
  discount decimal discount for this person
  skonto decimal skonto for this person in percent.
  skontoInfo string skonto information for this person.
  skontoDays integer skonto information for this person. Must be empty, 0 or a positive integer
  creditorIndustryCodes array Creditor industry codes (given as strings) for this person. Must be a valid creditor industry codes (see code table entries "Kreditorbranchen" for valid codes).
  tenantIndustryCode string tenant industry code for this person. Must be a valid tenant industry code (see code table entries "Mieterbranchen" for valid codes).
  companyGroupReference string company group reference for this person. Must be a valid reference of an existing company record in GARAIO REM.
  brandName string brand name for this record
  hasDunningBlock boolean declares whether this person has a dunning block. true if they should have a dunning block and false if they shouldn't.
  isVATexempt boolean declares whether this record is VAT exempt. true if they should be VAT exempt and false if they shouldn't.
  UIDnumber string UID number for this person. Must be a valid UID number (i.e. 461.079.435).
  VATnr string VAT number for this person. Must be a valid VAT number (i.e. 461.079.435).
  hasPaymentBlock boolean declares whether this person has a payment block. true if they should have a payment block and false if they shouldn't.
  paymentBlockReason string reason for the payment block for this person.
  correspondenceLanguageCode string 'de', 'fr', 'it' or 'en'; must be lower case, defaults to de.
  iban string IBAN for this person.
  bic string BIC for this person.
  address hash current address
    city string city; required
    zipCode string zipCode; required
    street string street incl. number; required
    postbox string postbox; optional
    mailboxNumber string mailbox number; optional
    countryCode string ISO country code, eg 'CH'. Defaults to 'CH'.
  contactData hash ContactData of this person.

example

{"eventType":"Masterdata.Person.Create",
  "data":{
    "firstName":"Max",
    "surname":"Muster",
    "dateOfBirth":"1980-01-01",
    "correspondenceLanguageCode":"de",
    "jobTitle":"CEO",
    "homeTown":"Bern",
    "nationalityCode":"ch",
    "maritalStatus":"married",
    "salutation":"SIR",
    "address":{
      "city":"Bern",
      "zipCode":"3007",
      "street":"Gartenstrasse 1/3",
      "countryCode":"CH"
    }
  }
}
accepted response message
{"eventType":"Masterdata.Person.CreateAccepted",
  "data":{
    "personReference":"123456"
  }
}
rejected response message
{"eventType":"Masterdata.Person.CreateRejected",
  "data":{
    "reasons":[
      {
        "attribute":"surname",
        "reason":"darf nicht leer sein"
      }
    ]
  }
}

Masterdata.Person.Update

This message is sent from an external message publisher to a GARAIO REM instance and allows to update contact data of a person. Set the recipient property in the headers, eg "grem_wincasa". All attributes are optional unless noted otherwise in the remarks.

GARAIO REM replies with a standard Accepted / Rejected message containing the personReference and reject reasons, where appropriate

Field Type Content / Remarks
eventType string Masterdata.Person.Update
data hash
  createdAt string ISO 8601 encoded timestamp, eg '2024-02-06T14:10:11+01:00'. Left unchanged if not given.
  updatedAt string ISO 8601 encoded timestamp, eg '2024-02-06T14:10:11+01:00'. Defaults to current time.
  personReference string reference of the person that should receive the communication updates; required
  firstName string first name
  surname string surname for natural persons or company name for legal persons
  nameSuffix1 string additional name suffix (i.e. 'c/o Garaio REM AG')
  nameAddition2 string additional field to store name information on company records
  salutation string one of the following values will be accepted: none, sir, madam. Send either salutation or salutationCode but not both.
  salutationCode string a value of the salutation code table (see code table entries "Anreden" for valid codes). Send either salutation or salutationCode but not both.
  additionalSalutation string (max 50 characters) additional salutation (i.e. Dr. med.)
  maritalStatus string one of the following values will be accepted: unmarried, married, widowed, divorced, separated, civil_union. Send either maritalStatus or maritalStatusCode but not both.
  maritalStatusCode string a value of the marital status code table (see code table entries "Zivilstände" for valid codes). Send either maritalStatus or maritalStatusCode but not both.
  jobTitle string job title
  dateOfBirth string ISO 8601 encoded date, eg '2019-03-01'
  dateOfDeath string ISO 8601 encoded date, eg '2019-03-01'
  homeTown string home town
  nationalityCode string ISO country code, eg 'CH'
  sensitive boolean sensitive flag. true if the person is sensitive and only people with the "Personen Admin" role can mutate that record afterwards.
  rating string defines the creditor rating of this person.
  modeOfDispatch string defines the mode of dispatch for this person. One of the following values will be accepted: email, post
  sendEMail string email address where the person wants to receive documents if modeOfDispatch is set to email
  isCreditor boolean declares whether this person has a creditor profile.
  creditorProfileIsBlocked boolean declares whether this person's creditor profile is blocked.
  discount decimal discount for this person
  skonto decimal skonto for this person in percent.
  skontoInfo string skonto information for this person.
  skontoDays integer skonto information for this person. Must be empty, 0 or a positive integer
  creditorIndustry string creditor industry code for this person. Must be a valid creditor industry code (see code table entries "Kreditorbranchen" for valid codes).
  tenantIndustryCode string tenant industry code for this person. Must be a valid tenant industry code (see code table entries "Mieterbranchen" for valid codes).
  companyGroupReference string company group reference for this person. Must be a valid reference of an existing company record in GARAIO REM.
  brandName string brand name for this record
  hasDunningBlock boolean declares whether this person has a dunning block. true if they should have a dunning block and false if they shouldn't.
  isVATexempt boolean declares whether this record is VAT exempt. true if they should be VAT exempt and false if they shouldn't.
  UIDnumber string UID number for this person. Must be a valid UID number (i.e. 461.079.435).
  VATnr string VAT number for this person. Must be a valid VAT number (i.e. 461.079.435).
  hasPaymentBlock boolean declares whether this person has a payment block. true if they should have a payment block and false if they shouldn't.
  paymentBlockReason string reason for the payment block for this person.
  correspondenceLanguageCode string 'de', 'fr', 'it' or 'en'; must be lower case
  iban string IBAN for this person.
  bic string BIC for this person.
  address hash current address; do pass a complete address or leave it empty, partial updates are not supported
    city string city; required
    zipCode string zipCode; required
    street string street incl. number; required
    postbox string postbox; optional
    mailboxNumber string mailbox number; optional
    countryCode string ISO country code, eg 'CH'; required
    validFrom string optional ISO 8601 encoded date; pass a future date to create or update an address that becomes valid in the future
  contactData hash ContactData of this person.

examples

{"eventType":"Masterdata.Person.Update",
  "data":{
    "personReference":"123456",
    "firstName":"Max",
    "surname":"Muster",
    "dateOfBirth":"1980-01-01",
    "correspondenceLanguageCode":"de",
    "jobTitle":"CEO",
    "homeTown":"Bern",
    "nationalityCode":"ch",
    "maritalStatus":"married",
    "salutation":"SIR",
    "address":{
      "city":"Bern",
      "zipCode":"3007",
      "street":"Gartenstrasse 1/3",
      "countryCode":"CH",
      "postbox":"123456"
    }
  }
}
create a new address in the future (assuming today is the 4.3.2024)
{"eventType":"Masterdata.Person.Update",
  "data":{
    "personReference":"123456",
    "address":{
      "city":"Aarau Rohr",
      "zipCode":"5032",
      "street":"Salamattweg 15",
      "countryCode":"CH",
      "validFrom":"2024-04-01"
    }
  }
}
accepted response message
{"eventType":"Masterdata.Person.UpdateAccepted",
  "data":{
    "personReference":"123456"
  }
}
rejected response message
{"eventType":"Masterdata.Person.UpdateRejected",
  "data":{
    "personReference":"123456",
    "reasons":[
      {
        "attribute":"surname",
        "reason":"darf nicht leer sein"
      }
    ]
  }
}