Contacts Object Structure
There are multiple mechanisms for contacting a place. For each available type of contact, the object contains an attribute that provides a list of contact details for that type. The possible types include:
Attribute | Type | Description |
---|---|---|
phone | Array[LabeledValue]; optional | A telephone number for voice calls |
fax | Array[LabeledValue]; optional | A telephone number for facsimile (telecopy) transmissions |
Array[LabeledValue]; optional | An e-mail address for sending messages to the place | |
website | Array[LabeledValue]; optional | A URL for the website operated by the place |
New types may be added at any time and client applications should iterate over all available contact types instead of just using this predefined set, to ensure that they always display all available contact mechanisms to their users.
The contacts within a type are ordered by relevance. So clients that are only capable of displaying a single contact per type should always display the first entry. But in general, client applications should iterate over all contacts and use the label assigned to the contacts to distinguish them.
When there are many items of the same type, these items can be combined. Two phone items, for example, can be displayed as shown below:
An example of multiple phone objects could be:
"contacts": {
"phone": [
{
"label": "Phone",
"value": "+33147206252"
},
{
"label": "Mobile",
"value": "+33147206252"
}
],
...
}
Labeled Value
Each individual contact item provides two attributes:
Attribute | Type | Description |
---|---|---|
value | String | A localized label to describe the purpose of the contact. |
label | String | A string value appropriate for the contact method. |