```mermaid
erDiagram
COMPANY ||--o{ BRAND : has
COMPANY ||--o{ LOCATION : has
BRAND ||--o{ LOCATION : has
LOCATION ||--|| LOCATION_DETAILS : has
LOCATION_DETAILS ||--o{ ACCESS_POINT : has
ACCESS_POINT ||--|| COORDINATES : has

LOCATION_DETAILS ||--|| ACTION_LINK_DETAILS : has
ACTION_LINK_DETAILS ||--|{ QUICKLINK : has

LOCATION_DETAILS ||--o{ DISPLAY_NAME : has
LOCATION_DETAILS ||--o| DISPLAY_POINT : has
DISPLAY_POINT ||--|| COORDINATES : has

LOCATION_DETAILS ||--o{ INTERNAL_NICKNAME : has
LOCATION_DETAILS ||--o{ LOCATION_ATTRIBUTE : has

LOCATION_DETAILS ||--o{ LOCATION_DESCRIPTION : has
LOCATION_DESCRIPTION ||--o{ DESCRIPTION : has

LOCATION_DETAILS ||--o{ LOCATION_KEYWORD : contains
LOCATION_KEYWORD ||--o{ OTHER : has
LOCATION_KEYWORD ||--o{ PRODUCT : has
LOCATION_KEYWORD ||--o{ SERVICE : has

LOCATION_DETAILS ||--|| LOCATION_STATUS : has

LOCATION_DETAILS ||--o| MAIN_ADDRESS : has
MAIN_ADDRESS ||--o| STRUCTURED_ADDRESS : has

LOCATION_DETAILS ||--o{ OPENING_HOURS_BY_DAY : has
OPENING_HOURS_BY_DAY ||--o{ TIMES : has

LOCATION_DETAILS ||--o{ SERVICE_HOUR : has
SERVICE_HOUR ||--o{ HOURS_BY_DAY : has
HOURS_BY_DAY ||--o{ TIMES : has

LOCATION_DETAILS ||--o{ SPECIAL_HOUR : has
SPECIAL_HOUR ||--o{ HOURS_BY_DAY : has
SPECIAL_HOUR ||--o{ DESCRIPTION : has

LOCATION_DETAILS ||--o{ PHONE_NUMBER : has
LOCATION_DETAILS ||--o{ URL : has
```

```mermaid
erDiagram
COMPANY ||--o{ BRAND : has
COMPANY ||--o{ LOCATION : has
BRAND ||--o{ LOCATION : has
LOCATION ||--|| LOCATION_DETAILS : has

LOCATION_DETAILS {
    string partnersLocationId
    string partnersLocationVersion
    string brandId
    string[] categories
    string callToAction
    string confidenceLevel
    string geometry
    string[] paymentMethods
    uri placeCardUrl
    string storeCode
}

LOCATION_DETAILS ||--o{ ACCESS_POINT : has
ACCESS_POINT ||--|| COORDINATES : has

ACCESS_POINT {
    string source
    string navigation
}

COORDINATES {
    string latitude
    string longitude
}

LOCATION_DETAILS ||--|| ACTION_LINK_DETAILS : has
ACTION_LINK_DETAILS ||--|{ QUICKLINK : has

QUICKLINK {
    string category
    uri quicklinkUrl
    string relationship
    uri appStoreUrl
}

LOCATION_DETAILS ||--o{ DISPLAY_NAME : has
DISPLAY_NAME {
    string name
    string locale
    boolean primary
    string pronunciation
}

LOCATION_DETAILS ||--o| DISPLAY_POINT : has
DISPLAY_POINT ||--|| COORDINATES : has

DISPLAY_POINT {
    string source
}

LOCATION_DETAILS ||--o{ INTERNAL_NICKNAME : has
INTERNAL_NICKNAME {
    string name
    string locale
}

LOCATION_DETAILS ||--o{ LOCATION_ATTRIBUTE : has
LOCATION_ATTRIBUTE {
    string name
    string value
}

LOCATION_DETAILS ||--o{ LOCATION_DESCRIPTION : has
LOCATION_DESCRIPTION ||--o{ DESCRIPTION : has

LOCATION_DESCRIPTION {
    string type
}

DESCRIPTION {
    string text
    string locale
}

LOCATION_DETAILS ||--o{ LOCATION_KEYWORD : contains
LOCATION_KEYWORD ||--o{ OTHER : has

OTHER {
    string keyword
    string locale
}

LOCATION_KEYWORD ||--o{ PRODUCT : has

PRODUCT {
    string keyword
    string locale
}

LOCATION_KEYWORD ||--o{ SERVICE : has

SERVICE {
    string keyword
    string locale
}

LOCATION_DETAILS ||--|| LOCATION_STATUS : has

LOCATION_STATUS {
    string status
    string closedDate
    string openingDate
    string reopenDate
}

LOCATION_DETAILS ||--o| MAIN_ADDRESS : has
MAIN_ADDRESS ||--o| STRUCTURED_ADDRESS : has

MAIN_ADDRESS {
    string fullAddress
    string locale
}

STRUCTURED_ADDRESS {
    string unit
    string floor
    string building
    string thoroughfare
    string subThoroughfare
    string fullThoroughfare
    string[] dependentLocality
    string subLocality
    string locality
    string subAdministrativeArea
    string administrativeArea
    string postCode
    string countryCode
}

LOCATION_DETAILS ||--o{ OPENING_HOURS_BY_DAY : has
OPENING_HOURS_BY_DAY ||--o{ TIMES : has

OPENING_HOURS_BY_DAY {
    string day
}

TIMES {
    string startTime
    string endTime
}

LOCATION_DETAILS ||--o{ SERVICE_HOUR : has
SERVICE_HOUR ||--o{ HOURS_BY_DAY : has
HOURS_BY_DAY ||--o{ TIMES : has

SERVICE_HOUR {
    string category
}

HOURS_BY_DAY {
    string day
}

LOCATION_DETAILS ||--o{ SPECIAL_HOUR : has
SPECIAL_HOUR ||--o{ HOURS_BY_DAY : has
SPECIAL_HOUR ||--o{ DESCRIPTION : has
HOURS_BY_DAY ||--o{ TIMES : has

SPECIAL_HOUR {
    date startDate
    date endDate
    boolean closed
}

LOCATION_DETAILS ||--o{ PHONE_NUMBER : has

PHONE_NUMBER {
    string phoneNumber
    string phoneExt
    string type
    boolean primary
}

LOCATION_DETAILS ||--o{ URL : has

URL {
    uri url
    string type
}
```