> ## Documentation Index
> Fetch the complete documentation index at: https://cloro.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Map entries

> Business and place information extracted from ChatGPT responses, including ratings, reviews, contact details, and location data from Yelp and Google.

This section documents the **map entries** data returned by the [ChatGPT endpoint](/api-reference/endpoint/monitor-chatgpt). Map entries are part of the ChatGPT response, so no separate API call is needed.

## Example request

Map entries are returned by default when ChatGPT surfaces business or place data. No flag is required.

```json theme={null}
{
  "prompt": "best laundromats in Portland",
  "model": "CHATGPT",
  "country": "US"
}
```

This produces a response containing the `map` array documented below.

## Overview

Map entries are automatically extracted when ChatGPT returns business or place information from providers like **Yelp** and **Google Business**. No additional parameters are required. Map entries are included by default when available in the response.

<Frame caption="Map entries in ChatGPT">
  <img src="https://mintcdn.com/cloro/Qv2xgJAgMecwTTRq/images/chatgpt/map-entries.webp?fit=max&auto=format&n=Qv2xgJAgMecwTTRq&q=85&s=d696f579f472151dacab7b1c9cea247f" alt="Map entries in ChatGPT" width="2506" height="1464" data-path="images/chatgpt/map-entries.webp" />
</Frame>

## Map entry structure

Each map entry contains business information directly from ChatGPT's data providers:

### Core fields

| Field      | Type   | Description                                               |
| ---------- | ------ | --------------------------------------------------------- |
| `name`     | string | Business name                                             |
| `id`       | string | Business ID (Yelp ID or Google Place ID)                  |
| `provider` | string | Data provider: "yelp", "b1"/"b3" (Google), or "yelp-feed" |
| `position` | int    | Position/ranking in results (added by parser)             |

### Location fields

| Field            | Type   | Description                                  |
| ---------------- | ------ | -------------------------------------------- |
| `address`        | string | Full street address                          |
| `city`           | string | City name                                    |
| `state`          | string | State/province code                          |
| `zipcode`        | string | Postal/ZIP code                              |
| `countryCode`    | string | Country code (e.g., "US", "GB")              |
| `countryName`    | string | Full country name                            |
| `latitude`       | float  | GPS latitude coordinate                      |
| `longitude`      | float  | GPS longitude coordinate                     |
| `location`       | string | Human-readable location string               |
| `distanceMeters` | float  | Distance from user's location (if available) |

### Ratings and reviews

| Field              | Type               | Description                          |
| ------------------ | ------------------ | ------------------------------------ |
| `rating`           | float              | Business rating (typically 0-5)      |
| `reviewCount`      | int                | Number of reviews                    |
| `ratingScale`      | int                | Rating scale (usually 5)             |
| `reviews`          | BusinessReview\[]  | Array of detailed reviews            |
| `reviewHighlights` | ReviewHighlight\[] | Array of highlighted review snippets |

### Business info

| Field                 | Type   | Description                                  |
| --------------------- | ------ | -------------------------------------------- |
| `categories`          | array  | Business categories (list)                   |
| `description`         | string | Business description                         |
| `enrichedDescription` | string | Enhanced description with additional context |
| `descriptionCite`     | string | Citation/source for description              |
| `price`               | int    | Price level (1-4, number of \$ signs)        |
| `priceStr`            | string | Price display: "\$", "\$\$", "\$\$\$", etc.  |

### Contact and URLs

| Field                 | Type             | Description                          |
| --------------------- | ---------------- | ------------------------------------ |
| `phone`               | string           | Contact phone number                 |
| `websiteUrl`          | string           | Business website                     |
| `providerUrl`         | string           | Yelp/Google Business page URL        |
| `providerLogoUrl`     | string           | Provider logo (light theme)          |
| `providerLogoDarkUrl` | string           | Provider logo (dark theme)           |
| `imageUrl`            | string           | Primary business image               |
| `imageUrls`           | array            | All business images                  |
| `providerImages`      | ProviderImage\[] | Provider-hosted images with metadata |
| `yelpMenuUrl`         | string           | Yelp menu URL (Yelp only)            |

### Hours and status

| Field                 | Type            | Description              |
| --------------------- | --------------- | ------------------------ |
| `hours`               | BusinessHour\[] | Array of operating hours |
| `isOpen`              | boolean         | Currently open           |
| `isClosedPermanently` | boolean         | Permanently closed       |
| `isClosedTemporarily` | boolean         | Temporarily closed       |
| `nextOpenHour`        | BusinessHour    | Next opening time        |
| `specialHours`        | BusinessHour\[] | Special/holiday hours    |

### Additional fields

| Field                  | Type                   | Description                                                         |
| ---------------------- | ---------------------- | ------------------------------------------------------------------- |
| `attributes`           | object                 | Provider-specific attributes (parking, WiFi, payment methods, etc.) |
| `tags`                 | array                  | Business tags                                                       |
| `rank`                 | int                    | Business rank/position from provider                                |
| `popularityScore`      | float                  | Popularity score                                                    |
| `isClaimed`            | boolean                | Whether business claimed their listing                              |
| `dateOpened`           | string                 | Date business opened                                                |
| `dateClosed`           | string                 | Date business closed (if applicable)                                |
| `reservationProviders` | ReservationProvider\[] | Available reservation providers                                     |
| `fromCache`            | boolean                | Whether data was cached                                             |

### `BusinessHour`

Used by: `hours`, `nextOpenHour`, `specialHours`

| Field   | Type   | Description                                                                         |
| ------- | ------ | ----------------------------------------------------------------------------------- |
| `day`   | int    | Day of week: 0-6 (0=Sunday, 1=Monday, ..., 6=Saturday) or 1-7 depending on provider |
| `start` | string | Opening time in HHmm format (e.g., "0600" = 6:00 AM)                                |
| `end`   | string | Closing time in HHmm format (e.g., "2200" = 10:00 PM)                               |

### `BusinessReview`

Used by: `reviews`

| Field          | Type   | Description              |
| -------------- | ------ | ------------------------ |
| `id`           | string | Review ID from provider  |
| `url`          | string | Review URL (may be null) |
| `text`         | string | Review text content      |
| `rating`       | int    | Review rating (1-5)      |
| `time_created` | string | ISO 8601 timestamp       |

### `ReviewHighlight`

Used by: `reviewHighlights`

| Field          | Type   | Description                                                     |
| -------------- | ------ | --------------------------------------------------------------- |
| `photo`        | string | URL to associated photo                                         |
| `sentence`     | string | Review snippet with `[[HIGHLIGHT]]text[[ENDHIGHLIGHT]]` markers |
| `review_count` | int    | Number of reviews mentioning this highlight                     |

### `ProviderImage`

Used by: `providerImages`

| Field               | Type    | Description                                        |
| ------------------- | ------- | -------------------------------------------------- |
| `caption`           | string  | Image caption                                      |
| `id`                | string  | Image ID                                           |
| `is_user_submitted` | boolean | Whether user uploaded                              |
| `label`             | string  | Image category (e.g., "food", "inside", "outside") |
| `large_url`         | string  | Large size image URL                               |
| `medium_url`        | string  | Medium size image URL                              |
| `original_url`      | string  | Original size image URL                            |
| `url`               | string  | Standard image URL                                 |
| `slideshow_order`   | int     | Display order                                      |

### `ReservationProvider`

Used by: `reservationProviders`

| Field                      | Type   | Description                              |
| -------------------------- | ------ | ---------------------------------------- |
| `provider`                 | string | Service name (e.g., "yelp", "opentable") |
| `provider_restaurant_id`   | string | Restaurant ID on provider                |
| `provider_reservation_url` | string | Reservation URL                          |
| `provider_name`            | string | Display name                             |
| `provider_logo`            | string | Logo URL                                 |
| `launcherPayload`          | any    | Additional provider data                 |

## Example usage

```json theme={null}
{
  "prompt": "best laundromats in Portland",
  "model": "CHATGPT",
  "country": "US"
}
```

**Response with map entries:**

```json theme={null}
{
  "success": true,
  "result": {
    "text": "Here are highly-rated laundromats in Portland...",
    "map": [
      {
        "id": "rVKID2OBQMyVpraqSjz9sg",
        "provider": "yelp",
        "name": "Spin Laundry Lounge",
        "position": 1,

        "address": "750 N Fremont St, Portland, OR 97227",
        "city": "Portland",
        "state": "OR",
        "zipcode": "97227",
        "countryCode": "US",
        "countryName": "United States",
        "latitude": 45.54764,
        "longitude": -122.67432,
        "location": "Portland, Oregon, United States",

        "rating": 4.2,
        "reviewCount": 381,
        "ratingScale": 5,

        "categories": ["Laundromat"],
        "price": 2,
        "priceStr": "$$",

        "phone": "+15032844794",
        "websiteUrl": "https://spinlaundrylounge.com",
        "providerUrl": "https://www.yelp.com/biz/spin-laundry-lounge-portland",
        "imageUrl": "https://s3-media0.fl.yelpcdn.com/bphoto/cOz0Qp5P3JgS1aLjVrR6_g/o.jpg",
        "imageUrls": [
          "https://s3-media0.fl.yelpcdn.com/bphoto/cOz0Qp5P3JgS1aLjVrR6_g/o.jpg"
        ],

        "isOpen": true,
        "isClosedPermanently": false,
        "hours": [
          {"day": 1, "start": "0700", "end": "2100"},
          {"day": 2, "start": "0700", "end": "2100"},
          {"day": 3, "start": "0700", "end": "2100"},
          {"day": 4, "start": "0700", "end": "2100"},
          {"day": 5, "start": "0700", "end": "2100"},
          {"day": 6, "start": "0700", "end": "2100"},
          {"day": 0, "start": "0700", "end": "2100"}
        ],
        "nextOpenHour": {"day": 2, "start": "0700", "end": "2100"},

        "attributes": {
          "wi_fi": "free",
          "business_accepts_credit_cards": true,
          "business_parking": {
            "street": true,
            "lot": false
          }
        },

        "fromCache": false
      }
    ]
  }
}
```

<Warning>
  **All fields are optional**

  Except for `name` and `position`, all fields in map entries are optional. Use optional chaining (`?.`) or check for field existence before accessing. Field availability depends on the provider (Yelp vs Google) and what data is available for each business.
</Warning>
