From 6f74e8bada1f3337717f98594928a74bb9dd3a44 Mon Sep 17 00:00:00 2001 From: henrikvalv3 Date: Tue, 3 Feb 2026 16:33:21 +0000 Subject: [PATCH 1/3] feat(places-insights): add full javascript demo application --- .../places-insights-demo/README.md | 132 + places_insights/places-insights-demo/auth.js | 70 + .../places-insights-demo/brands.json | 8185 +++++++++++++++++ .../places-insights-demo/config.js.template | 33 + .../places-insights-demo/display.js | 238 + places_insights/places-insights-demo/help.js | 139 + .../places-insights-demo/index.html | 265 + places_insights/places-insights-demo/main.js | 358 + places_insights/places-insights-demo/map.js | 308 + .../places-insights-demo/place_types.js | 72 + places_insights/places-insights-demo/query.js | 417 + .../places-insights-demo/routes.js | 69 + places_insights/places-insights-demo/state.js | 160 + .../places-insights-demo/style.css | 520 ++ places_insights/places-insights-demo/ui.js | 320 + 15 files changed, 11286 insertions(+) create mode 100644 places_insights/places-insights-demo/README.md create mode 100644 places_insights/places-insights-demo/auth.js create mode 100644 places_insights/places-insights-demo/brands.json create mode 100644 places_insights/places-insights-demo/config.js.template create mode 100644 places_insights/places-insights-demo/display.js create mode 100644 places_insights/places-insights-demo/help.js create mode 100644 places_insights/places-insights-demo/index.html create mode 100644 places_insights/places-insights-demo/main.js create mode 100644 places_insights/places-insights-demo/map.js create mode 100644 places_insights/places-insights-demo/place_types.js create mode 100644 places_insights/places-insights-demo/query.js create mode 100644 places_insights/places-insights-demo/routes.js create mode 100644 places_insights/places-insights-demo/state.js create mode 100644 places_insights/places-insights-demo/style.css create mode 100644 places_insights/places-insights-demo/ui.js diff --git a/places_insights/places-insights-demo/README.md b/places_insights/places-insights-demo/README.md new file mode 100644 index 0000000..307884e --- /dev/null +++ b/places_insights/places-insights-demo/README.md @@ -0,0 +1,132 @@ +# Places Insights Demo Application + +This is a client-side web application that demonstrates how to query and visualize Google Places Insights data. It allows users to define geographic search areas, apply a variety of filters, and see aggregated results from Google BigQuery displayed on a Google Map. + +The application is built entirely with HTML, CSS, and JavaScript, using the Google Maps Platform JavaScript API for mapping, Deck.gl for H3 heatmap visualizations, and Google Identity Services for client-side OAuth 2.0 authentication. + +--- + +## Prerequisites + +Before you can run this application, you must have a Google Cloud project with billing enabled and ensure the following are set up: + +### 1. Places Insights Subscription + +This demo queries the Places Insights datasets in BigQuery. You must subscribe to these datasets in the Google Cloud Marketplace for the countries you wish to query. + +* **Action:** Visit the [Places Insights product page](https://developers.google.com/maps/documentation/placesinsights) and follow the instructions to subscribe to the datasets for your project. + +### 2. Enabled APIs + +Ensure the following APIs are enabled in your Google Cloud project: + +* **BigQuery API** (for running the queries) +* **Maps JavaScript API** (for displaying the map) +* **Geocoding API** (for centering the map on countries/regions) +* **Routes API** (for the "Route Search" feature) +* **Places API (New)** (for the Place Autocomplete web components and Place Details) +* **Places UI Kit API** (Required for the `` component used in the H3 Function demo) + +### 3. IAM Permissions + +The Google account you authorize with must have the appropriate IAM permissions in your Cloud project to run BigQuery jobs. At a minimum, this typically includes: + +* `BigQuery Job User` +* `BigQuery Resource Viewer` + +--- + +## Setup + +Follow these steps to configure and run the application locally. + +### 1. Create an OAuth 2.0 Client ID + +This application uses client-side OAuth 2.0 to authorize users to run BigQuery queries on their own behalf. + +1. In the Google Cloud Console, navigate to **APIs & Services > Credentials**. +2. Click **+ CREATE CREDENTIALS** and select **OAuth client ID**. +3. For "Application type", select **Web application**. +4. Give it a name (e.g., "Places Insights Demo"). +5. Under **Authorized JavaScript origins**, click **+ ADD URI**. +6. Enter the origin for your local development server. For most servers, this is `http://localhost:8000`. +7. Click **CREATE**. +8. Copy the **Your Client ID** value. You will need this in the next step. + +### 2. Create a Google Maps Platform API Key + +1. On the same **Credentials** page, click **+ CREATE CREDENTIALS** and select **API key**. +2. Copy the generated API key. +3. **Important:** For security in a production environment, you should restrict this key to your website's domain and ensure it only has access to the APIs listed in the Prerequisites section. + +### 3. Configure the Application + +1. In the project directory, find the file named `config.js.template` (or create a new `config.js` file). +2. **Rename** this file to `config.js`. +3. Open `config.js` and fill in the placeholder values with your project-specific credentials: + + ```javascript + window.APP_CONFIG = { + // Your Google Cloud Project ID + GCP_PROJECT_ID: 'YOUR_GCP_PROJECT_ID', + + // The OAuth 2.0 Client ID you created in Step 1 + OAUTH_CLIENT_ID: 'YOUR_OAUTH_CLIENT_ID.apps.googleusercontent.com', + + // The Google Maps Platform API Key you created in Step 2 + MAPS_API_KEY: 'YOUR_MAPS_API_KEY', + + /** + * Defines which dataset to query. + * Options: 'FULL' or 'SAMPLE' + * - 'FULL': Queries the full country datasets (e.g., places_insights___us.places). + * - 'SAMPLE': Queries the city sample datasets (e.g., places_insights___us___sample.places_sample). + */ + DATASET: 'FULL', + }; + ``` + +4. **Dataset Selection:** Set the `DATASET` parameter to `'SAMPLE'` if you are using the [sample datasets](https://developers.google.com/maps/documentation/placesinsights/cloud-setup#sample_data), or `'FULL'` if you have subscribed to the [full datasets](https://developers.google.com/maps/documentation/placesinsights/cloud-setup#full_data). +5. **Security Note:** The `config.js` file **must not be committed to version control**. + +### 4. Run a Local Server + +Because of browser security policies related to OAuth 2.0, you cannot run this application by opening the `index.html` file directly. You must serve it from a local web server. + +1. Open a terminal in the project's root directory. +2. If you have Python 3 installed, you can run a simple server with the command: + ```sh + python3 -m http.server 8000 + ``` +3. Open your web browser and navigate to `http://localhost:8000`. + +--- + +## How to Use the Application + +For a detailed walkthrough, click the **Help** button in the application's sidebar. + +### Quick Start + +1. **Select a Location:** Choose a country or city you have subscribed to in Places Insights. +2. **Authorize:** Sign in with your Google account to enable querying. +3. **Choose a Demo Type:** + * **Circle Search:** Click on the map to define a search radius. + * **Polygon Search:** Draw a custom shape on the map or paste a WKT string. + * **Region Search:** Search by administrative names like "London" or "California". You can add multiple regions to search at once. + * **Route Search:** Select an origin and destination to search along a calculated driving route. + * **Places Count Per H3 (Function):** Uses server-side BigQuery functions for high-performance density mapping. This mode supports **low counts (0-4)** and **sample place markers**. +4. **Apply Filters:** Narrow your search using the collapsible filter sections: + * **Place Types:** Select types and optionally check **"Match Primary Type Only"** for stricter filtering. + * **Attributes:** Filter by Rating, Business Status (Operational/Closed), Price, etc. + * **Opening Hours:** Filter by day and time (Standard modes only). + * **Brands:** Filter by brand name or category (US Standard mode only). +5. **Visualize:** + * Leave **Show H3 Density Map** unchecked for simple aggregate counts (Standard modes only). + * Check the box to visualize the results as a color-coded heatmap of hexagonal cells. +6. **Run Search:** Click the "Run Search" button to execute the query and see the results on the map. + +### Interactive Features (H3 Function Mode) +When running the **Places Count Per H3** demo: +1. **Click a Hexagon:** Click on any colored H3 cell on the map. This will load up to 20 sample markers for places within that cell. +2. **View Details:** Click on any of the yellow markers to open a **Place Details Card** containing rich information (photos, reviews, opening hours) powered by the Places UI Kit. \ No newline at end of file diff --git a/places_insights/places-insights-demo/auth.js b/places_insights/places-insights-demo/auth.js new file mode 100644 index 0000000..b2daccd --- /dev/null +++ b/places_insights/places-insights-demo/auth.js @@ -0,0 +1,70 @@ +// --- AUTHENTICATION --- + +/** + * Initializes the Google Identity Services client. This is called once on page load. + */ +function initializeIdentityServices() { + if (!OAUTH_CLIENT_ID || !GCP_PROJECT_ID) { + updateStatus('Configuration missing. Please set up config.js.', 'error'); + return; + } + if (typeof google === 'undefined' || !google.accounts) { + updateStatus('Google Identity Services failed to load.', 'error'); + console.error('GSI client library not loaded or initialized.'); + return; + } + try { + // Initialize the token client for handling OAuth 2.0 flow. + tokenClient = google.accounts.oauth2.initTokenClient({ + client_id: OAUTH_CLIENT_ID, + scope: BQ_SCOPES, + callback: () => {}, // Callback is handled by the promise in ensureAccessToken. + }); + } catch (error) { + updateStatus('Could not initialize Google Identity Services.', 'error'); + console.error(error); + } +} + +/** + * Handles clicks on the main authorization button (sign-in or sign-out). + */ +function handleAuthClick() { + if (userSignedIn) { + // If the user is signed in, revoke the token and sign out. + if (accessToken) { + google.accounts.oauth2.revoke(accessToken, () => {}); + } + accessToken = null; + resetSignedInUi(); + } else { + // If the user is signed out, start the sign-in process. + ensureAccessToken({ prompt: 'consent' }); + } +} + +/** + * Gets a valid access token, prompting the user for consent if necessary. + * @param {object} options - Options for the token request (e.g., { prompt: 'consent' }). + * @returns {Promise} A promise that resolves with the access token. + */ +function ensureAccessToken(options = { prompt: '' }) { + if (accessToken) return Promise.resolve(accessToken); + + return new Promise((resolve, reject) => { + if (!tokenClient) { + return reject(new Error('Identity client not initialized.')); + } + // Define the callback for the token request. + tokenClient.callback = (tokenResponse) => { + if (tokenResponse.error) { + resetSignedInUi(); + return reject(new Error(tokenResponse.error_description || 'Authorization failed.')); + } + accessToken = tokenResponse.access_token; + setSignedInUi(); + resolve(accessToken); + }; + tokenClient.requestAccessToken(options); + }); +} \ No newline at end of file diff --git a/places_insights/places-insights-demo/brands.json b/places_insights/places-insights-demo/brands.json new file mode 100644 index 0000000..ce593f1 --- /dev/null +++ b/places_insights/places-insights-demo/brands.json @@ -0,0 +1,8185 @@ +[{ + "name": "\u0026 Other Stories", + "category": "Merchandise Retail" +}, { + "name": "1-800-Radiator", + "category": "Automotive and Parts Dealers" +}, { + "name": "100 Montaditos", + "category": "Food and Drink" +}, { + "name": "1st Source Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "24 Hour Fitness", + "category": "Fitness" +}, { + "name": "3 Day Blinds", + "category": "Merchandise Retail" +}, { + "name": "30 Minute Hit", + "category": "Fitness" +}, { + "name": "5.11 Tactical", + "category": "Merchandise Retail" +}, { + "name": "7 Brew Coffee", + "category": "Food and Drink" +}, { + "name": "7 For All Mankind", + "category": "Merchandise Retail" +}, { + "name": "7-Eleven", + "category": "Grocery and Liquor" +}, { + "name": "717 Parking Enterprises", + "category": "Parking" +}, { + "name": "76", + "category": "Gas Station" +}, { + "name": "84 Lumber", + "category": "Merchandise Retail" +}, { + "name": "85°C Bakery Cafe", + "category": "Food and Drink" +}, { + "name": "99 Ranch Market", + "category": "Grocery and Liquor" +}, { + "name": "99 Restaurants", + "category": "Food and Drink" +}, { + "name": "9Round", + "category": "Fitness" +}, { + "name": "A\u0026W", + "category": "Food and Drink" +}, { + "name": "AAFES", + "category": "Gas Station" +}, { + "name": "AAMCO Transmissions \u0026 Total Car Care", + "category": "Automotive Services" +}, { + "name": "ABANCA", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "ABC Auto", + "category": "Automotive and Parts Dealers" +}, { + "name": "ABC Fine Wine \u0026 Spirits", + "category": "Grocery and Liquor" +}, { + "name": "ABC SELECT SPIRITS", + "category": "Grocery and Liquor" +}, { + "name": "ABC Store", + "category": "Grocery and Liquor" +}, { + "name": "ABC Stores", + "category": "Grocery and Liquor" +}, { + "name": "ABC Supply Co., Inc.", + "category": "Merchandise Retail" +}, { + "name": "AC", + "category": "Lodging" +}, { + "name": "ACE Rent A Car", + "category": "Automotive Rentals" +}, { + "name": "ACME Markets", + "category": "Grocery and Liquor" +}, { + "name": "ACME Markets Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "AHF Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "AL Prime Energy", + "category": "Gas Station" +}, { + "name": "ALCOLOCK Ignition Interlock", + "category": "Automotive Services" +}, { + "name": "ALDI", + "category": "Grocery and Liquor" +}, { + "name": "AMC", + "category": "Movie theater" +}, { + "name": "AMERIPRIDE", + "category": "Merchandise Retail" +}, { + "name": "AMES Taping Tools", + "category": "Merchandise Retail" +}, { + "name": "ANZ", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "APM Monaco", + "category": "Merchandise Retail" +}, { + "name": "APlus", + "category": "Grocery and Liquor" +}, { + "name": "ARCO", + "category": "Gas Station" +}, { + "name": "ARITAUM", + "category": "Health and Personal Care Retailers" +}, { + "name": "AT\u0026T Store", + "category": "Telecommunications" +}, { + "name": "ATM (Associated Bank)", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "ATM (Regions Bank)", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "ATM (Umpqua Bank)", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "ATM Link", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "ATM M\u0026t Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "ATM USA, LLC", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Aaron Brothers Art \u0026 Framing", + "category": "Merchandise Retail" +}, { + "name": "Aaron\u0027s", + "category": "Merchandise Retail" +}, { + "name": "Abbey Carpet", + "category": "Merchandise Retail" +}, { + "name": "Abelardo\u0027s Mexican Fresh", + "category": "Food and Drink" +}, { + "name": "Abercrombie \u0026 Fitch", + "category": "Merchandise Retail" +}, { + "name": "Absolute Dental", + "category": "Dental" +}, { + "name": "Academy Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Academy Sports + Outdoors", + "category": "Merchandise Retail" +}, { + "name": "Acai Express", + "category": "Food and Drink" +}, { + "name": "Ace Hardware", + "category": "Merchandise Retail" +}, { + "name": "Ace Parking", + "category": "Parking" +}, { + "name": "Acer", + "category": "Electronics Retailers" +}, { + "name": "Acme Brick", + "category": "Merchandise Retail" +}, { + "name": "Acne Studios", + "category": "Merchandise Retail" +}, { + "name": "Actors Federal Credit Union", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Adam \u0026 Eve", + "category": "Merchandise Retail" +}, { + "name": "Adesa", + "category": "Automotive and Parts Dealers" +}, { + "name": "Advance Auto Parts", + "category": "Automotive and Parts Dealers" +}, { + "name": "Adyar Ananda Bhavan", + "category": "Food and Drink" +}, { + "name": "Aerie", + "category": "Merchandise Retail" +}, { + "name": "Aerus", + "category": "Merchandise Retail" +}, { + "name": "Aesop", + "category": "Health and Personal Care Retailers" +}, { + "name": "Affordable Dentures", + "category": "Dental" +}, { + "name": "Agnes b", + "category": "Merchandise Retail" +}, { + "name": "Agricultural Bank of China", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Airgas Store", + "category": "Merchandise Retail" +}, { + "name": "Ajisen Ramen", + "category": "Food and Drink" +}, { + "name": "Alamo Fireworks", + "category": "Merchandise Retail" +}, { + "name": "Alamo Rent A Car", + "category": "Automotive Rentals" +}, { + "name": "Albertsons", + "category": "Grocery and Liquor" +}, { + "name": "Albertsons Bakery", + "category": "Grocery and Liquor" +}, { + "name": "Albertsons Deli", + "category": "Grocery and Liquor" +}, { + "name": "Albertsons Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Alco Alert Ignition Interlock", + "category": "Automotive Services" +}, { + "name": "Aldo", + "category": "Merchandise Retail" +}, { + "name": "Alexander McQueen", + "category": "Merchandise Retail" +}, { + "name": "AllSaints", + "category": "Merchandise Retail" +}, { + "name": "Allegro Coffee Company", + "category": "Food and Drink" +}, { + "name": "Allen Edmonds", + "category": "Merchandise Retail" +}, { + "name": "Allied Auto Parts", + "category": "Automotive and Parts Dealers" +}, { + "name": "Alloy Wheel Repair Specialists", + "category": "Automotive Services" +}, { + "name": "Allpoint", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Allsup\u0027s Convenience Store", + "category": "Grocery and Liquor" +}, { + "name": "Alltown", + "category": "Gas Station" +}, { + "name": "Ally Fashion", + "category": "Merchandise Retail" +}, { + "name": "Alo Yoga", + "category": "Merchandise Retail" +}, { + "name": "Aloft Hotels", + "category": "Lodging" +}, { + "name": "Aloha Island Mart", + "category": "Grocery and Liquor" +}, { + "name": "Alon", + "category": "Gas Station" +}, { + "name": "AlphaGraphics", + "category": "Merchandise Retail" +}, { + "name": "Alsco", + "category": "Merchandise Retail" +}, { + "name": "Alta Convenience", + "category": "Grocery and Liquor" +}, { + "name": "Altar\u0027d State", + "category": "Merchandise Retail" +}, { + "name": "Amazon Fresh", + "category": "Grocery and Liquor" +}, { + "name": "Amc Cookware", + "category": "Merchandise Retail" +}, { + "name": "Amegy Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "AmericInn", + "category": "Lodging" +}, { + "name": "America First Credit Union", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "America\u0027s Mattress", + "category": "Merchandise Retail" +}, { + "name": "American Deli", + "category": "Food and Drink" +}, { + "name": "American Eagle Outfitters", + "category": "Merchandise Retail" +}, { + "name": "American Express", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "American Mattress", + "category": "Merchandise Retail" +}, { + "name": "American Olean Sales Service Center", + "category": "Merchandise Retail" +}, { + "name": "American Rental", + "category": "Merchandise Retail" +}, { + "name": "American Tire Depot", + "category": "Automotive Services" +}, { + "name": "American Vintage", + "category": "Merchandise Retail" +}, { + "name": "Americas Best Value Inn", + "category": "Lodging" +}, { + "name": "Ameris Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Ameristop Food Mart", + "category": "Grocery and Liquor" +}, { + "name": "Ami", + "category": "Merchandise Retail" +}, { + "name": "Amoco", + "category": "Gas Station" +}, { + "name": "Amorino", + "category": "Food and Drink" +}, { + "name": "Amplifon", + "category": "Health and Personal Care Retailers" +}, { + "name": "Amway", + "category": "Health and Personal Care Retailers" +}, { + "name": "Andbank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Andrea", + "category": "Merchandise Retail" +}, { + "name": "Andy\u0027s", + "category": "Food and Drink" +}, { + "name": "Ann Taylor", + "category": "Merchandise Retail" +}, { + "name": "Another Broken Egg Cafe", + "category": "Food and Drink" +}, { + "name": "Anteprima", + "category": "Merchandise Retail" +}, { + "name": "Anthony\u0027s Coal Fired Pizza", + "category": "Food and Drink" +}, { + "name": "Anthropologie", + "category": "Merchandise Retail" +}, { + "name": "Anytime Fitness", + "category": "Fitness" +}, { + "name": "Apollo Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Apple", + "category": "Electronics Retailers" +}, { + "name": "Apple Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Applebee\u0027s", + "category": "Food and Drink" +}, { + "name": "Applegreen", + "category": "Gas Station" +}, { + "name": "Apricot Lane", + "category": "Merchandise Retail" +}, { + "name": "Aqua Living Factory Outlets", + "category": "Merchandise Retail" +}, { + "name": "Arabian Oud", + "category": "Merchandise Retail" +}, { + "name": "Arby\u0027s", + "category": "Food and Drink" +}, { + "name": "Arc Thrift Store", + "category": "Merchandise Retail" +}, { + "name": "Arc\u0027teryx", + "category": "Merchandise Retail" +}, { + "name": "Arc3 Gases", + "category": "Merchandise Retail" +}, { + "name": "Arctic Circle", + "category": "Food and Drink" +}, { + "name": "Ardene", + "category": "Merchandise Retail" +}, { + "name": "Ardyss", + "category": "Merchandise Retail" +}, { + "name": "Arhaus", + "category": "Merchandise Retail" +}, { + "name": "Aritzia", + "category": "Merchandise Retail" +}, { + "name": "Armani", + "category": "Merchandise Retail" +}, { + "name": "Armed Forces Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Armstrong McCall", + "category": "Merchandise Retail" +}, { + "name": "Arnold Motor Supply", + "category": "Automotive and Parts Dealers" +}, { + "name": "Aroma Joe\u0027s Coffee", + "category": "Food and Drink" +}, { + "name": "Artemide", + "category": "Merchandise Retail" +}, { + "name": "Arvest Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Arvest Bank ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Ascend Hotel Collection", + "category": "Lodging" +}, { + "name": "Ascension St. John Hospital", + "category": "Hospital" +}, { + "name": "Ashley", + "category": "Merchandise Retail" +}, { + "name": "Ashley Stewart", + "category": "Merchandise Retail" +}, { + "name": "Asics", + "category": "Merchandise Retail" +}, { + "name": "Aspen Dental", + "category": "Dental" +}, { + "name": "Assistance League", + "category": "Merchandise Retail" +}, { + "name": "Associated Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Aston Martin", + "category": "Automotive and Parts Dealers" +}, { + "name": "Asus", + "category": "Electronics Retailers" +}, { + "name": "At Home", + "category": "Merchandise Retail" +}, { + "name": "Athleta", + "category": "Merchandise Retail" +}, { + "name": "Atlantis Citgo", + "category": "Grocery and Liquor" +}, { + "name": "Atomy", + "category": "Merchandise Retail" +}, { + "name": "Atul Bakery", + "category": "Food and Drink" +}, { + "name": "Atwoods", + "category": "Merchandise Retail" +}, { + "name": "Au Bon Pain", + "category": "Food and Drink" +}, { + "name": "Aubuchon Hardware", + "category": "Merchandise Retail" +}, { + "name": "Audemars Piguet", + "category": "Merchandise Retail" +}, { + "name": "Audibel", + "category": "Health and Personal Care Retailers" +}, { + "name": "AudioNova", + "category": "Health and Personal Care Retailers" +}, { + "name": "Auntie Anne\u0027s", + "category": "Food and Drink" +}, { + "name": "Auto Chlor", + "category": "Merchandise Retail" +}, { + "name": "Auto Glass Fitters", + "category": "Automotive Services" +}, { + "name": "Auto Glass Now", + "category": "Automotive Services" +}, { + "name": "Auto Plus Auto Parts", + "category": "Automotive and Parts Dealers" +}, { + "name": "Auto Value", + "category": "Automotive and Parts Dealers" +}, { + "name": "Auto Value Paint \u0026 Body Supply", + "category": "Automotive and Parts Dealers" +}, { + "name": "AutoNation Collision Center", + "category": "Automotive Services" +}, { + "name": "AutoZone Auto Parts", + "category": "Automotive and Parts Dealers" +}, { + "name": "Autobell Car Wash", + "category": "Automotive Services" +}, { + "name": "Autograph Collection", + "category": "Lodging" +}, { + "name": "Autoland", + "category": "Automotive and Parts Dealers" +}, { + "name": "Automobili Lamborghini S.p.A.", + "category": "Automotive and Parts Dealers" +}, { + "name": "Autopart International", + "category": "Automotive and Parts Dealers" +}, { + "name": "Aux Merveilleux de Fred", + "category": "Food and Drink" +}, { + "name": "Avid", + "category": "Lodging" +}, { + "name": "Avis", + "category": "Automotive Rentals" +}, { + "name": "Avon", + "category": "Merchandise Retail" +}, { + "name": "Aéropostale", + "category": "Merchandise Retail" +}, { + "name": "B\u0026B Theatres", + "category": "Movie theater" +}, { + "name": "B.Young", + "category": "Merchandise Retail" +}, { + "name": "BALENCIAGA", + "category": "Merchandise Retail" +}, { + "name": "BAO BAO ISSEY MIYAKE", + "category": "Merchandise Retail" +}, { + "name": "BCBGMAXAZRIA", + "category": "Merchandise Retail" +}, { + "name": "BFGoodrich", + "category": "Automotive Services" +}, { + "name": "BFS Foods", + "category": "Grocery and Liquor" +}, { + "name": "BIBIBOP Asian Grill", + "category": "Food and Drink" +}, { + "name": "BIGGBY COFFEE", + "category": "Food and Drink" +}, { + "name": "BIMBA Y LOLA", + "category": "Merchandise Retail" +}, { + "name": "BJ\u0027s Bakery", + "category": "Food and Drink" +}, { + "name": "BJ\u0027s Gas", + "category": "Gas Station" +}, { + "name": "BJ\u0027s Optical", + "category": "Health and Personal Care Retailers" +}, { + "name": "BJ\u0027s Restaurant \u0026 Brewhouse", + "category": "Food and Drink" +}, { + "name": "BJ\u0027s Wholesale Club", + "category": "Merchandise Retail" +}, { + "name": "BJ\u0027s Wholesale Club Tire Center", + "category": "Automotive Services" +}, { + "name": "BMO Bank of Montreal", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "BMO Bank of Montreal ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "BMO Harris ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "BMO Harris Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "BNP Paribas", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "BOSS Shop", + "category": "Merchandise Retail" +}, { + "name": "BP", + "category": "Gas Station" +}, { + "name": "BRAVO Cucina Italiana", + "category": "Food and Drink" +}, { + "name": "BVLGARI", + "category": "Merchandise Retail" +}, { + "name": "BYREDO", + "category": "Merchandise Retail" +}, { + "name": "Bacio di Latte", + "category": "Food and Drink" +}, { + "name": "Bahama Buck\u0027s", + "category": "Food and Drink" +}, { + "name": "Baja Fresh", + "category": "Food and Drink" +}, { + "name": "Bally Store", + "category": "Merchandise Retail" +}, { + "name": "Balmain", + "category": "Merchandise Retail" +}, { + "name": "Banana Republic", + "category": "Merchandise Retail" +}, { + "name": "Banana Republic Factory Store", + "category": "Merchandise Retail" +}, { + "name": "Banc Sabadell", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Banc of California", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "BancFirst", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Banco Estado", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Banco Itaú", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Banco Pichincha", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Banco República", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Banco de la Nación Argentina", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Banesco", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Bang \u0026 Olufsen", + "category": "Electronics Retailers" +}, { + "name": "Bangkok Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Bangor Savings Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Bank ABC", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Bank Of India", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Bank of America ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Bank of America Financial Center", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Bank of Baroda", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Bank of Colorado", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Bank of East Asia", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Bank of Hawaii", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Bank of Ireland", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Bank of the West", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Bank of the West - ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "BankPlus", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "BankUnited", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Banner Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Banner Urgent Care", + "category": "Hospital" +}, { + "name": "Banreservas", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Bar Louie", + "category": "Food and Drink" +}, { + "name": "Barbour", + "category": "Merchandise Retail" +}, { + "name": "Barclays", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Bargain Hunt", + "category": "Merchandise Retail" +}, { + "name": "Barnes \u0026 Noble", + "category": "Merchandise Retail" +}, { + "name": "Barro\u0027s Pizza", + "category": "Food and Drink" +}, { + "name": "Bashas\u0027", + "category": "Grocery and Liquor" +}, { + "name": "Baskin-Robbins", + "category": "Food and Drink" +}, { + "name": "Bass Pro Shops", + "category": "Merchandise Retail" +}, { + "name": "Bassett", + "category": "Merchandise Retail" +}, { + "name": "Bath \u0026 Body Works", + "category": "Merchandise Retail" +}, { + "name": "Batteries Plus Bulbs", + "category": "Automotive Services" +}, { + "name": "BayPort Credit Union", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Baymont Inn \u0026 Suites", + "category": "Lodging" +}, { + "name": "Bealls Outlet", + "category": "Merchandise Retail" +}, { + "name": "Beans \u0026 Brews", + "category": "Food and Drink" +}, { + "name": "BeaverTails", + "category": "Food and Drink" +}, { + "name": "Bebe", + "category": "Merchandise Retail" +}, { + "name": "Becu", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Bed Bath \u0026 Beyond", + "category": "Merchandise Retail" +}, { + "name": "Beef \u0027O\u0027 Brady\u0027s", + "category": "Food and Drink" +}, { + "name": "Beef Jerky Outlet", + "category": "Grocery and Liquor" +}, { + "name": "Belk", + "category": "Merchandise Retail" +}, { + "name": "BellStores", + "category": "Grocery and Liquor" +}, { + "name": "Belle Tire", + "category": "Automotive Services" +}, { + "name": "Bellino Fireworks", + "category": "Merchandise Retail" +}, { + "name": "Bellona", + "category": "Merchandise Retail" +}, { + "name": "Beltone Hearing Aid Center", + "category": "Health and Personal Care Retailers" +}, { + "name": "Ben \u0026 Jerry\u0027s", + "category": "Food and Drink" +}, { + "name": "Benetton", + "category": "Merchandise Retail" +}, { + "name": "Benihana", + "category": "Food and Drink" +}, { + "name": "Benjamin Moore", + "category": "Merchandise Retail" +}, { + "name": "Bento Sushi", + "category": "Food and Drink" +}, { + "name": "Berkshire Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Berluti", + "category": "Merchandise Retail" +}, { + "name": "Best Buy", + "category": "Electronics Retailers" +}, { + "name": "Best Western", + "category": "Lodging" +}, { + "name": "Best Western Plus", + "category": "Lodging" +}, { + "name": "Best Western Premier", + "category": "Lodging" +}, { + "name": "Best Western Signature Collection", + "category": "Lodging" +}, { + "name": "Best-One Tire \u0026 Service", + "category": "Automotive Services" +}, { + "name": "BevMo!", + "category": "Grocery and Liquor" +}, { + "name": "Bi-Mart", + "category": "Merchandise Retail" +}, { + "name": "Big 5 Sporting Goods", + "category": "Merchandise Retail" +}, { + "name": "Big Apple Bagels", + "category": "Food and Drink" +}, { + "name": "Big Apple Store", + "category": "Grocery and Liquor" +}, { + "name": "Big Boy", + "category": "Food and Drink" +}, { + "name": "Big Brand Tire \u0026 Service", + "category": "Automotive Services" +}, { + "name": "Big Frog Custom T-Shirts \u0026 More", + "category": "Merchandise Retail" +}, { + "name": "Big Lots", + "category": "Merchandise Retail" +}, { + "name": "Big O Tires", + "category": "Automotive Services" +}, { + "name": "Big Red Liquors", + "category": "Grocery and Liquor" +}, { + "name": "Big Y World Class Market", + "category": "Grocery and Liquor" +}, { + "name": "Bijou Brigitte", + "category": "Merchandise Retail" +}, { + "name": "Bikaner Sweets", + "category": "Food and Drink" +}, { + "name": "BikeLink", + "category": "Parking" +}, { + "name": "Bill Miller Bar-B-Q", + "category": "Food and Drink" +}, { + "name": "Billabong", + "category": "Merchandise Retail" +}, { + "name": "Birkenstock", + "category": "Merchandise Retail" +}, { + "name": "Biscuitville", + "category": "Food and Drink" +}, { + "name": "Black Bear Diner", + "category": "Food and Drink" +}, { + "name": "Black Rock Coffee Bar", + "category": "Food and Drink" +}, { + "name": "Black Sheep Coffee", + "category": "Food and Drink" +}, { + "name": "Black\u0027s Tire \u0026 Auto Service", + "category": "Automotive Services" +}, { + "name": "Blake\u0027s Lotaburger", + "category": "Food and Drink" +}, { + "name": "Blanc du Nil", + "category": "Merchandise Retail" +}, { + "name": "Blancpain", + "category": "Merchandise Retail" +}, { + "name": "Blank Street", + "category": "Food and Drink" +}, { + "name": "Blaze Pizza", + "category": "Food and Drink" +}, { + "name": "Blick Art Materials", + "category": "Merchandise Retail" +}, { + "name": "Blimpie", + "category": "Food and Drink" +}, { + "name": "Blinds To Go", + "category": "Merchandise Retail" +}, { + "name": "Blink Fitness", + "category": "Fitness" +}, { + "name": "Blue Bell Creameries", + "category": "Food and Drink" +}, { + "name": "Blue Bottle Coffee", + "category": "Food and Drink" +}, { + "name": "BlueWave Express Car Wash", + "category": "Automotive Services" +}, { + "name": "Bluegreen Vacations", + "category": "Lodging" +}, { + "name": "Bluemercury", + "category": "Health and Personal Care Retailers" +}, { + "name": "Bluestone Lane", + "category": "Food and Drink" +}, { + "name": "BoConcept", + "category": "Merchandise Retail" +}, { + "name": "Bob Evans", + "category": "Food and Drink" +}, { + "name": "Bob\u0027s Discount Furniture", + "category": "Merchandise Retail" +}, { + "name": "Bobablastic", + "category": "Food and Drink" +}, { + "name": "Body Fit", + "category": "Fitness" +}, { + "name": "Bodystreet", + "category": "Fitness" +}, { + "name": "Boggi Milano", + "category": "Merchandise Retail" +}, { + "name": "Bogner", + "category": "Merchandise Retail" +}, { + "name": "Bojangles\u0027 Famous Chicken \u0027n Biscuits", + "category": "Food and Drink" +}, { + "name": "Bomgaars", + "category": "Merchandise Retail" +}, { + "name": "Bonchon", + "category": "Food and Drink" +}, { + "name": "Bonefish Grill", + "category": "Food and Drink" +}, { + "name": "Bonobos", + "category": "Merchandise Retail" +}, { + "name": "Bonpoint", + "category": "Merchandise Retail" +}, { + "name": "Bookoff", + "category": "Merchandise Retail" +}, { + "name": "Books-A-Million", + "category": "Merchandise Retail" +}, { + "name": "Boomarang Diner", + "category": "Food and Drink" +}, { + "name": "Boost Mobile", + "category": "Telecommunications" +}, { + "name": "Booster Juice", + "category": "Food and Drink" +}, { + "name": "Boot Barn", + "category": "Merchandise Retail" +}, { + "name": "Bosa Donuts", + "category": "Food and Drink" +}, { + "name": "Boscov\u0027s", + "category": "Merchandise Retail" +}, { + "name": "Bose", + "category": "Electronics Retailers" +}, { + "name": "Bossini", + "category": "Merchandise Retail" +}, { + "name": "Bottega", + "category": "Merchandise Retail" +}, { + "name": "Boucheron", + "category": "Merchandise Retail" +}, { + "name": "Boulder Designs", + "category": "Merchandise Retail" +}, { + "name": "BoxDrop", + "category": "Merchandise Retail" +}, { + "name": "BoxLunch", + "category": "Merchandise Retail" +}, { + "name": "Bradesco", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Brake Check", + "category": "Automotive Services" +}, { + "name": "Brake Masters", + "category": "Automotive Services" +}, { + "name": "Brakes Plus", + "category": "Automotive Services" +}, { + "name": "Braum\u0027s Ice Cream \u0026 Burger Restaurant", + "category": "Food and Drink" +}, { + "name": "Bravo Supermarkets", + "category": "Grocery and Liquor" +}, { + "name": "Break Time", + "category": "Grocery and Liquor" +}, { + "name": "Breguet", + "category": "Merchandise Retail" +}, { + "name": "Breitling Boutique", + "category": "Merchandise Retail" +}, { + "name": "Bremer Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "BrewDog", + "category": "Food and Drink" +}, { + "name": "Bricks \u0026 Minifigs", + "category": "Merchandise Retail" +}, { + "name": "Brident Dental \u0026 Orthodontics", + "category": "Dental" +}, { + "name": "Bridgestone", + "category": "Automotive Services" +}, { + "name": "Bright Now! Dental", + "category": "Dental" +}, { + "name": "Brighton", + "category": "Merchandise Retail" +}, { + "name": "Brioche Dorée", + "category": "Food and Drink" +}, { + "name": "Brioni", + "category": "Merchandise Retail" +}, { + "name": "Brooks Brothers", + "category": "Merchandise Retail" +}, { + "name": "Brookshire Brothers", + "category": "Grocery and Liquor" +}, { + "name": "Brookshire Brothers Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Brookshire\u0027s", + "category": "Grocery and Liquor" +}, { + "name": "Brookshire\u0027s Fuel", + "category": "Gas Station" +}, { + "name": "Broward Health", + "category": "Hospital" +}, { + "name": "Brown\u0027s Shoe Fit Co", + "category": "Merchandise Retail" +}, { + "name": "Bruegger\u0027s Bagels", + "category": "Food and Drink" +}, { + "name": "Brunello Cucinelli", + "category": "Merchandise Retail" +}, { + "name": "Bruster\u0027s Real Ice Cream", + "category": "Food and Drink" +}, { + "name": "Bubba\u0027s 33", + "category": "Food and Drink" +}, { + "name": "Bubbakoo\u0027s Burritos", + "category": "Food and Drink" +}, { + "name": "Buckle", + "category": "Merchandise Retail" +}, { + "name": "Budget Blinds", + "category": "Merchandise Retail" +}, { + "name": "Budget Car Rental", + "category": "Automotive Rentals" +}, { + "name": "Budget Host", + "category": "Lodging" +}, { + "name": "Budget Inn", + "category": "Lodging" +}, { + "name": "Buff City Soap", + "category": "Merchandise Retail" +}, { + "name": "Buffalo Grill", + "category": "Food and Drink" +}, { + "name": "Buffalo Wild Wings", + "category": "Food and Drink" +}, { + "name": "Build-A-Bear", + "category": "Merchandise Retail" +}, { + "name": "Builders FirstSource", + "category": "Merchandise Retail" +}, { + "name": "Bulthaup", + "category": "Merchandise Retail" +}, { + "name": "Bumper To Bumper Auto Parts/Crow-Burlingame", + "category": "Automotive and Parts Dealers" +}, { + "name": "Bumper to Bumper", + "category": "Automotive and Parts Dealers" +}, { + "name": "Burberry", + "category": "Merchandise Retail" +}, { + "name": "Burger King", + "category": "Food and Drink" +}, { + "name": "BurgerFi", + "category": "Food and Drink" +}, { + "name": "Burke \u0026 Herbert Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Burlington", + "category": "Merchandise Retail" +}, { + "name": "Burn Boot Camp", + "category": "Fitness" +}, { + "name": "Burton", + "category": "Merchandise Retail" +}, { + "name": "Busey", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Bush\u0027s Chicken", + "category": "Food and Drink" +}, { + "name": "Byline Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Byrider", + "category": "Automotive and Parts Dealers" +}, { + "name": "Byrne Dairy", + "category": "Gas Station" +}, { + "name": "C Spire", + "category": "Telecommunications" +}, { + "name": "CANADA GOOSE", + "category": "Merchandise Retail" +}, { + "name": "CARSTAR", + "category": "Automotive Services" +}, { + "name": "CAVA", + "category": "Food and Drink" +}, { + "name": "CB\u0026S Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "CBD Plus USA", + "category": "Merchandise Retail" +}, { + "name": "CBD Store", + "category": "Health and Personal Care Retailers" +}, { + "name": "CEFCO", + "category": "Grocery and Liquor" +}, { + "name": "CELINE", + "category": "Merchandise Retail" +}, { + "name": "CGV", + "category": "Movie theater" +}, { + "name": "CHRISTUS", + "category": "Hospital" +}, { + "name": "CIBC Branch with ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "CKO Kickboxing", + "category": "Fitness" +}, { + "name": "CLARKS PUMP N SHOP", + "category": "Grocery and Liquor" +}, { + "name": "CO CO都可", + "category": "Food and Drink" +}, { + "name": "COBS Bread Bakery", + "category": "Food and Drink" +}, { + "name": "COCO-MAT", + "category": "Merchandise Retail" +}, { + "name": "COS", + "category": "Merchandise Retail" +}, { + "name": "COVID-19 Drive-Thru Testing at Walgreens", + "category": "Health and Personal Care Retailers" +}, { + "name": "CTown Supermarkets", + "category": "Grocery and Liquor" +}, { + "name": "CVS", + "category": "Health and Personal Care Retailers" +}, { + "name": "CVS Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Cabela\u0027s", + "category": "Merchandise Retail" +}, { + "name": "Cabinets To Go", + "category": "Merchandise Retail" +}, { + "name": "Cadence Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Cafe Rio", + "category": "Food and Drink" +}, { + "name": "Caffe Bene", + "category": "Food and Drink" +}, { + "name": "Caffe Vergnano", + "category": "Food and Drink" +}, { + "name": "Caffenio", + "category": "Food and Drink" +}, { + "name": "Caffè Nero", + "category": "Food and Drink" +}, { + "name": "Café Zupas", + "category": "Food and Drink" +}, { + "name": "Caliber Car Wash", + "category": "Automotive Services" +}, { + "name": "Caliber Collision", + "category": "Automotive Services" +}, { + "name": "California Bank \u0026 Trust", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "California Fish Grill", + "category": "Food and Drink" +}, { + "name": "California Pizza Kitchen", + "category": "Food and Drink" +}, { + "name": "Call It Spring", + "category": "Merchandise Retail" +}, { + "name": "Calligaris", + "category": "Merchandise Retail" +}, { + "name": "Calvin Klein", + "category": "Merchandise Retail" +}, { + "name": "Calzedonia", + "category": "Merchandise Retail" +}, { + "name": "Cambria", + "category": "Lodging" +}, { + "name": "Camden National Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Campanile", + "category": "Food and Drink" +}, { + "name": "Camper", + "category": "Merchandise Retail" +}, { + "name": "Camping World", + "category": "Automotive and Parts Dealers" +}, { + "name": "Canali", + "category": "Merchandise Retail" +}, { + "name": "Canara Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Candlewood Suites", + "category": "Lodging" +}, { + "name": "Cano Health", + "category": "Hospital" +}, { + "name": "Canon", + "category": "Electronics Retailers" +}, { + "name": "Capital City Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Capital O", + "category": "Lodging" +}, { + "name": "Capital One ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Capital One Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Capital One Café", + "category": "Food and Drink" +}, { + "name": "Capriotti\u0027s Sandwich Shop", + "category": "Food and Drink" +}, { + "name": "Captain D\u0027s", + "category": "Food and Drink" +}, { + "name": "Car Mart", + "category": "Automotive and Parts Dealers" +}, { + "name": "Car Toys", + "category": "Automotive Services" +}, { + "name": "Car Wash USA Express", + "category": "Automotive Services" +}, { + "name": "Car-X Tire \u0026 Auto", + "category": "Automotive Services" +}, { + "name": "CarMax", + "category": "Automotive and Parts Dealers" +}, { + "name": "CarMax Auctions", + "category": "Automotive and Parts Dealers" +}, { + "name": "Card My Yard", + "category": "Merchandise Retail" +}, { + "name": "Cardenas Market", + "category": "Grocery and Liquor" +}, { + "name": "Cardinal Health", + "category": "Health and Personal Care Retailers" +}, { + "name": "Cardtronics", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Carhartt", + "category": "Merchandise Retail" +}, { + "name": "Caribou Coffee", + "category": "Food and Drink" +}, { + "name": "Carl\u0027s Jr.", + "category": "Food and Drink" +}, { + "name": "Carolina Herrera", + "category": "Merchandise Retail" +}, { + "name": "Carpet One", + "category": "Merchandise Retail" +}, { + "name": "Carquest Auto Parts", + "category": "Automotive and Parts Dealers" +}, { + "name": "Carrabba\u0027s Italian Grill", + "category": "Food and Drink" +}, { + "name": "Carroll Motor Fuels", + "category": "Gas Station" +}, { + "name": "Carroll Tire", + "category": "Automotive Services" +}, { + "name": "Carter Bank \u0026 Trust", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Carter Lumber", + "category": "Merchandise Retail" +}, { + "name": "Carter\u0027s", + "category": "Merchandise Retail" +}, { + "name": "Cartier", + "category": "Merchandise Retail" +}, { + "name": "Carvana", + "category": "Automotive and Parts Dealers" +}, { + "name": "Carvel", + "category": "Food and Drink" +}, { + "name": "Casey\u0027s", + "category": "Food and Drink" +}, { + "name": "Cash2Bitcoin -Bitcoin ATM -24 Hour Bitcoin ATM Near Me", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "CashPoints® ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Casper", + "category": "Merchandise Retail" +}, { + "name": "Cassava Roots", + "category": "Food and Drink" +}, { + "name": "Castle Dental", + "category": "Dental" +}, { + "name": "Castrol", + "category": "Automotive Services" +}, { + "name": "Castrol Premium Lube Express", + "category": "Automotive Services" +}, { + "name": "Cathay Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Catimini", + "category": "Merchandise Retail" +}, { + "name": "Cato", + "category": "Merchandise Retail" +}, { + "name": "Caudalie Boutique SPA", + "category": "Health and Personal Care Retailers" +}, { + "name": "Cavender\u0027s Boot City", + "category": "Merchandise Retail" +}, { + "name": "Cenex", + "category": "Gas Station" +}, { + "name": "Centennial Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Centier Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Central Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Central Parking", + "category": "Parking" +}, { + "name": "Central Turf \u0026 Irrigation Supply", + "category": "Merchandise Retail" +}, { + "name": "Certified Oil Co", + "category": "Grocery and Liquor" +}, { + "name": "Champs Chicken", + "category": "Food and Drink" +}, { + "name": "Champs Sports", + "category": "Merchandise Retail" +}, { + "name": "Chanel", + "category": "Merchandise Retail" +}, { + "name": "Charleys Philly Steaks", + "category": "Food and Drink" +}, { + "name": "Charlotte Russe", + "category": "Merchandise Retail" +}, { + "name": "Charlotte Tilbury", + "category": "Health and Personal Care Retailers" +}, { + "name": "Chase ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Chase Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Chatime", + "category": "Food and Drink" +}, { + "name": "Cheba Hut", + "category": "Food and Drink" +}, { + "name": "Checkers", + "category": "Food and Drink" +}, { + "name": "Cheddar\u0027s Scratch Kitchen", + "category": "Food and Drink" +}, { + "name": "Chefstore", + "category": "Merchandise Retail" +}, { + "name": "Chemical Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Chester\u0027s Chicken", + "category": "Food and Drink" +}, { + "name": "Chestnut Market", + "category": "Grocery and Liquor" +}, { + "name": "Chevrolet", + "category": "Automotive and Parts Dealers" +}, { + "name": "Chevron", + "category": "Gas Station" +}, { + "name": "Chick-fil-A", + "category": "Food and Drink" +}, { + "name": "Chicken Express", + "category": "Food and Drink" +}, { + "name": "Chicken Salad Chick", + "category": "Food and Drink" +}, { + "name": "Chico\u0027s", + "category": "Merchandise Retail" +}, { + "name": "Chili\u0027s", + "category": "Food and Drink" +}, { + "name": "China House", + "category": "Food and Drink" +}, { + "name": "Chipotle Mexican Grill", + "category": "Food and Drink" +}, { + "name": "Chloé", + "category": "Merchandise Retail" +}, { + "name": "Chopard Boutique", + "category": "Merchandise Retail" +}, { + "name": "Chopt Creative Salad Company", + "category": "Food and Drink" +}, { + "name": "Christian Brothers Automotive", + "category": "Automotive Services" +}, { + "name": "Christian Dior", + "category": "Merchandise Retail" +}, { + "name": "Christian Louboutin", + "category": "Merchandise Retail" +}, { + "name": "Christofle", + "category": "Merchandise Retail" +}, { + "name": "Chuck E. Cheese", + "category": "Food and Drink" +}, { + "name": "Church’s Texas Chicken®", + "category": "Food and Drink" +}, { + "name": "Churromania", + "category": "Food and Drink" +}, { + "name": "Chuy\u0027s", + "category": "Food and Drink" +}, { + "name": "Chuze Fitness", + "category": "Fitness" +}, { + "name": "Cicis", + "category": "Food and Drink" +}, { + "name": "CineStar", + "category": "Movie theater" +}, { + "name": "Cinemark Tinseltown USA", + "category": "Movie theater" +}, { + "name": "Cinnabon", + "category": "Food and Drink" +}, { + "name": "Cinnaholic", + "category": "Food and Drink" +}, { + "name": "Cintas First Aid \u0026 Safety", + "category": "Merchandise Retail" +}, { + "name": "Cintas Uniform Services", + "category": "Merchandise Retail" +}, { + "name": "Cinépolis", + "category": "Movie theater" +}, { + "name": "Circle K", + "category": "Grocery and Liquor" +}, { + "name": "Cirilla\u0027s", + "category": "Merchandise Retail" +}, { + "name": "Citgo", + "category": "Gas Station" +}, { + "name": "Citi Trends", + "category": "Merchandise Retail" +}, { + "name": "Citibank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Citibank ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Citizen", + "category": "Merchandise Retail" +}, { + "name": "Citizens Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Citizens Bank ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Citizens Business Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "City Barbeque", + "category": "Food and Drink" +}, { + "name": "City Center Parking", + "category": "Parking" +}, { + "name": "City Express Hotels", + "category": "Lodging" +}, { + "name": "City Furniture", + "category": "Merchandise Retail" +}, { + "name": "City Gear", + "category": "Merchandise Retail" +}, { + "name": "City National Bank Branch", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "City of Hope", + "category": "Hospital" +}, { + "name": "Clarion Hotels", + "category": "Lodging" +}, { + "name": "Clarion Pointe", + "category": "Lodging" +}, { + "name": "Clark Gas", + "category": "Gas Station" +}, { + "name": "Clarks", + "category": "Merchandise Retail" +}, { + "name": "Clean Eatz", + "category": "Food and Drink" +}, { + "name": "Clean Energy", + "category": "Gas Station" +}, { + "name": "Clean Juice", + "category": "Food and Drink" +}, { + "name": "ClearChoice Dental Implant Center", + "category": "Dental" +}, { + "name": "Cleveland Clinic", + "category": "Hospital" +}, { + "name": "Clinique", + "category": "Health and Personal Care Retailers" +}, { + "name": "Clothes Mentor", + "category": "Merchandise Retail" +}, { + "name": "Club Champion", + "category": "Merchandise Retail" +}, { + "name": "Club Monaco", + "category": "Merchandise Retail" +}, { + "name": "Club Pilates", + "category": "Fitness" +}, { + "name": "Club Wyndham", + "category": "Lodging" +}, { + "name": "CoCo壱番屋", + "category": "Food and Drink" +}, { + "name": "Coach", + "category": "Merchandise Retail" +}, { + "name": "Coast Dental", + "category": "Dental" +}, { + "name": "Coast Guard Exchange", + "category": "Merchandise Retail" +}, { + "name": "Cobblestone Inn \u0026 Suites", + "category": "Lodging" +}, { + "name": "Coburn Supply Co", + "category": "Merchandise Retail" +}, { + "name": "Coen Markets", + "category": "Gas Station" +}, { + "name": "Coffee Beanery", + "category": "Food and Drink" +}, { + "name": "Coffee Fellows", + "category": "Food and Drink" +}, { + "name": "Coin Cloud Bitcoin ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "CoinBTM - Bitcoin ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "CoinFlip Bitcoin ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Coinsource Bitcoin ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Coinstar", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Cold Stone", + "category": "Food and Drink" +}, { + "name": "Cole Haan", + "category": "Merchandise Retail" +}, { + "name": "Coleman", + "category": "Merchandise Retail" +}, { + "name": "Colonial Parking", + "category": "Parking" +}, { + "name": "Columbia Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Columbia Factory Store", + "category": "Merchandise Retail" +}, { + "name": "Comerica Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Comerica Bank - ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Comfort Dental", + "category": "Dental" +}, { + "name": "Comfort Inn", + "category": "Lodging" +}, { + "name": "Commerce Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Commerce Bank ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Commerzbank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Commissary", + "category": "Grocery and Liquor" +}, { + "name": "Community Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Community Bank, N.A.", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Condado Tacos", + "category": "Food and Drink" +}, { + "name": "Connect Hearing", + "category": "Health and Personal Care Retailers" +}, { + "name": "Conoco", + "category": "Gas Station" +}, { + "name": "Consolidated Pipe", + "category": "Merchandise Retail" +}, { + "name": "Convenient Food Mart", + "category": "Grocery and Liquor" +}, { + "name": "Converse", + "category": "Merchandise Retail" +}, { + "name": "Cook Out", + "category": "Food and Drink" +}, { + "name": "CoolVu", + "category": "Automotive Services" +}, { + "name": "Cooper", + "category": "Automotive Services" +}, { + "name": "Cooperativa Policía Nacional", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Copart", + "category": "Automotive and Parts Dealers" +}, { + "name": "Corner Bakery", + "category": "Food and Drink" +}, { + "name": "Cortefiel", + "category": "Merchandise Retail" +}, { + "name": "CosmoProf", + "category": "Merchandise Retail" +}, { + "name": "Cost Plus World Market", + "category": "Merchandise Retail" +}, { + "name": "Costa Oil - 10 Minute Oil Change", + "category": "Automotive Services" +}, { + "name": "Costa Vida", + "category": "Food and Drink" +}, { + "name": "Costco Bakery", + "category": "Food and Drink" +}, { + "name": "Costco Food Court", + "category": "Food and Drink" +}, { + "name": "Costco Gasoline", + "category": "Gas Station" +}, { + "name": "Costco Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Costco Tire Center", + "category": "Automotive Services" +}, { + "name": "Costco Vision Center", + "category": "Health and Personal Care Retailers" +}, { + "name": "Costco Wholesale", + "category": "Merchandise Retail" +}, { + "name": "Costco hearing aid store", + "category": "Health and Personal Care Retailers" +}, { + "name": "Cotelac", + "category": "Merchandise Retail" +}, { + "name": "Cottage Inn", + "category": "Food and Drink" +}, { + "name": "Cotton On", + "category": "Merchandise Retail" +}, { + "name": "Cotton Patch Cafe", + "category": "Food and Drink" +}, { + "name": "Couche-Tard", + "category": "Grocery and Liquor" +}, { + "name": "Country Fair", + "category": "Gas Station" +}, { + "name": "Country Inns \u0026 Suites", + "category": "Lodging" +}, { + "name": "Courtyard by Marriott", + "category": "Lodging" +}, { + "name": "Cousins Subs", + "category": "Food and Drink" +}, { + "name": "Cracker Barrel Old Country Store", + "category": "Food and Drink" +}, { + "name": "Crafty Crab", + "category": "Food and Drink" +}, { + "name": "Crash Champions Collision Repair", + "category": "Automotive Services" +}, { + "name": "Crate and Barrel", + "category": "Merchandise Retail" +}, { + "name": "Credit Suisse AG", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Cricket Wireless", + "category": "Telecommunications" +}, { + "name": "Cricket Wireless Authorized Retailer", + "category": "Telecommunications" +}, { + "name": "Crocs", + "category": "Merchandise Retail" +}, { + "name": "Crosby\u0027s", + "category": "Grocery and Liquor" +}, { + "name": "Crown Fried Chicken", + "category": "Food and Drink" +}, { + "name": "Crown Trophy", + "category": "Merchandise Retail" +}, { + "name": "Crowne Plaza", + "category": "Lodging" +}, { + "name": "Crumbl Cookies", + "category": "Food and Drink" +}, { + "name": "Crunch", + "category": "Fitness" +}, { + "name": "Cuadra", + "category": "Merchandise Retail" +}, { + "name": "Cub Foods", + "category": "Grocery and Liquor" +}, { + "name": "Cub Foods Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Culligan", + "category": "Merchandise Retail" +}, { + "name": "Culver\u0027s", + "category": "Food and Drink" +}, { + "name": "Cumberland Farms", + "category": "Grocery and Liquor" +}, { + "name": "Cupbop", + "category": "Food and Drink" +}, { + "name": "Curaleaf", + "category": "Merchandise Retail" +}, { + "name": "Curio Collection", + "category": "Lodging" +}, { + "name": "D\u0027Angelo Grilled Sandwiches", + "category": "Food and Drink" +}, { + "name": "D.P. Dough", + "category": "Food and Drink" +}, { + "name": "DECO Windshield Repair", + "category": "Automotive Services" +}, { + "name": "DELSEY", + "category": "Merchandise Retail" +}, { + "name": "DICK\u0027S Sporting Goods", + "category": "Merchandise Retail" +}, { + "name": "DKNY", + "category": "Merchandise Retail" +}, { + "name": "DNB", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "DPF Alternatives", + "category": "Automotive Services" +}, { + "name": "DSW Designer Shoe Warehouse", + "category": "Merchandise Retail" +}, { + "name": "DTLR", + "category": "Merchandise Retail" +}, { + "name": "DXL", + "category": "Merchandise Retail" +}, { + "name": "Daily Thread", + "category": "Merchandise Retail" +}, { + "name": "Dairy Queen", + "category": "Food and Drink" +}, { + "name": "Daiso", + "category": "Merchandise Retail" +}, { + "name": "Daltile Sales Service Center", + "category": "Merchandise Retail" +}, { + "name": "Dandy Mini Mart", + "category": "Grocery and Liquor" +}, { + "name": "Daniel Wellington", + "category": "Merchandise Retail" +}, { + "name": "Daniel\u0027s Jewelers", + "category": "Merchandise Retail" +}, { + "name": "Dash In", + "category": "Grocery and Liquor" +}, { + "name": "Dave \u0026 Buster\u0027s", + "category": "Food and Drink" +}, { + "name": "Dave\u0027s Hot Chicken", + "category": "Food and Drink" +}, { + "name": "David Yurman", + "category": "Merchandise Retail" +}, { + "name": "David\u0027s Bridal", + "category": "Merchandise Retail" +}, { + "name": "Davivienda", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Daylight Donuts", + "category": "Food and Drink" +}, { + "name": "Days Inn", + "category": "Lodging" +}, { + "name": "Dean \u0026 DeLuca", + "category": "Food and Drink" +}, { + "name": "Del Taco", + "category": "Food and Drink" +}, { + "name": "Dell", + "category": "Electronics Retailers" +}, { + "name": "Delta", + "category": "Lodging" +}, { + "name": "Delvaux", + "category": "Merchandise Retail" +}, { + "name": "Denny\u0027s", + "category": "Food and Drink" +}, { + "name": "Dental Depot", + "category": "Dental" +}, { + "name": "Dental Dreams", + "category": "Dental" +}, { + "name": "DentalWorks", + "category": "Dental" +}, { + "name": "Denver Mattress Company", + "category": "Merchandise Retail" +}, { + "name": "Desert Financial Credit Union", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Desigual", + "category": "Merchandise Retail" +}, { + "name": "Detail Garage - Auto Detailing Supplies", + "category": "Merchandise Retail" +}, { + "name": "Deutsche Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Deutsche Bank Wealth Management", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Dex Imaging", + "category": "Merchandise Retail" +}, { + "name": "Diamond Braces", + "category": "Dental" +}, { + "name": "Diamond Parking", + "category": "Parking" +}, { + "name": "Dickey\u0027s Barbecue Pit", + "category": "Food and Drink" +}, { + "name": "Dickies", + "category": "Merchandise Retail" +}, { + "name": "Dillard\u0027s", + "category": "Merchandise Retail" +}, { + "name": "Dillons", + "category": "Grocery and Liquor" +}, { + "name": "Dillons Fuel Center", + "category": "Gas Station" +}, { + "name": "Dillons Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Dime Community Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Din Tai Fung", + "category": "Food and Drink" +}, { + "name": "Ding Tea", + "category": "Food and Drink" +}, { + "name": "Dippin\u0027 Dots", + "category": "Food and Drink" +}, { + "name": "DirecTV", + "category": "Telecommunications" +}, { + "name": "Dirty Dough", + "category": "Food and Drink" +}, { + "name": "Discount Fireworks Superstore", + "category": "Merchandise Retail" +}, { + "name": "Discount Smoke Shop", + "category": "Merchandise Retail" +}, { + "name": "Discount Tire", + "category": "Automotive Services" +}, { + "name": "Disney Store", + "category": "Merchandise Retail" +}, { + "name": "Do It Best", + "category": "Merchandise Retail" +}, { + "name": "Dockers", + "category": "Merchandise Retail" +}, { + "name": "Dog Haus Biergarten", + "category": "Food and Drink" +}, { + "name": "Dolce\u0026Gabbana", + "category": "Merchandise Retail" +}, { + "name": "Dollar Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Dollar General", + "category": "Merchandise Retail" +}, { + "name": "Dollar Rent A Car", + "category": "Automotive Rentals" +}, { + "name": "Dollar Tree", + "category": "Merchandise Retail" +}, { + "name": "Domino\u0027s Pizza", + "category": "Food and Drink" +}, { + "name": "Don Roberto Jewelers", + "category": "Merchandise Retail" +}, { + "name": "Donatos Pizza", + "category": "Food and Drink" +}, { + "name": "Dorothy Gaynor", + "category": "Merchandise Retail" +}, { + "name": "Double Quick", + "category": "Grocery and Liquor" +}, { + "name": "DoubleTree by Hilton", + "category": "Lodging" +}, { + "name": "Doğtaş", + "category": "Merchandise Retail" +}, { + "name": "Dr. Martens", + "category": "Merchandise Retail" +}, { + "name": "DriveTime Used Cars", + "category": "Automotive and Parts Dealers" +}, { + "name": "Drug Mart", + "category": "Health and Personal Care Retailers" +}, { + "name": "Drury", + "category": "Lodging" +}, { + "name": "Dry Goods", + "category": "Merchandise Retail" +}, { + "name": "Dsquared2", + "category": "Merchandise Retail" +}, { + "name": "Duane Reade", + "category": "Grocery and Liquor" +}, { + "name": "Duane Reade Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Duchess", + "category": "Grocery and Liquor" +}, { + "name": "Duck Donuts", + "category": "Food and Drink" +}, { + "name": "Duck Thru", + "category": "Gas Station" +}, { + "name": "Duluth Trading Company", + "category": "Merchandise Retail" +}, { + "name": "Dunham\u0027s Sports", + "category": "Merchandise Retail" +}, { + "name": "Dunhill", + "category": "Merchandise Retail" +}, { + "name": "Dunkin\u0027 Donuts", + "category": "Food and Drink" +}, { + "name": "Dunn-Edwards Paints", + "category": "Merchandise Retail" +}, { + "name": "Dutch Bros", + "category": "Food and Drink" +}, { + "name": "Duty Free Americas", + "category": "Merchandise Retail" +}, { + "name": "Dynamite", + "category": "Merchandise Retail" +}, { + "name": "Dyson", + "category": "Merchandise Retail" +}, { + "name": "E Z Stop", + "category": "Gas Station" +}, { + "name": "E-Z Mart", + "category": "Grocery and Liquor" +}, { + "name": "ECCO Outlet", + "category": "Merchandise Retail" +}, { + "name": "EILEEN FISHER", + "category": "Merchandise Retail" +}, { + "name": "EM ExtraMile", + "category": "Grocery and Liquor" +}, { + "name": "EVISU", + "category": "Merchandise Retail" +}, { + "name": "Eagle Stop", + "category": "Gas Station" +}, { + "name": "Earls", + "category": "Food and Drink" +}, { + "name": "EarthWise Pet", + "category": "Merchandise Retail" +}, { + "name": "Earthbound Trading Co.", + "category": "Merchandise Retail" +}, { + "name": "East West Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "East of Chicago", + "category": "Food and Drink" +}, { + "name": "Eastern Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Eat\u0027n Park", + "category": "Food and Drink" +}, { + "name": "Econo Lodge", + "category": "Lodging" +}, { + "name": "Ecowater Systems", + "category": "Merchandise Retail" +}, { + "name": "Eddie Bauer", + "category": "Merchandise Retail" +}, { + "name": "Edible Arrangements", + "category": "Merchandise Retail" +}, { + "name": "Eggs Up Grill", + "category": "Food and Drink" +}, { + "name": "Einstein Bros. Bagels", + "category": "Food and Drink" +}, { + "name": "El Car Wash", + "category": "Automotive Services" +}, { + "name": "El Pollo Loco", + "category": "Food and Drink" +}, { + "name": "El Super", + "category": "Grocery and Liquor" +}, { + "name": "Element", + "category": "Lodging" +}, { + "name": "Elisabetta Franchi", + "category": "Merchandise Retail" +}, { + "name": "Elite Hearing Centers of America", + "category": "Health and Personal Care Retailers" +}, { + "name": "Ellianos Coffee", + "category": "Food and Drink" +}, { + "name": "Embassy Suites by Hilton", + "category": "Lodging" +}, { + "name": "Emser Tile", + "category": "Merchandise Retail" +}, { + "name": "Engen", + "category": "Gas Station" +}, { + "name": "English Color \u0026 Supply", + "category": "Automotive Services" +}, { + "name": "Enmarket", + "category": "Gas Station" +}, { + "name": "Enmarket", + "category": "Grocery and Liquor" +}, { + "name": "Enterprise Bank \u0026 Trust", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Enterprise Car Sales", + "category": "Automotive and Parts Dealers" +}, { + "name": "Enterprise Rent-A-Car", + "category": "Automotive Rentals" +}, { + "name": "Equinox", + "category": "Fitness" +}, { + "name": "Erbert and Gerberts", + "category": "Food and Drink" +}, { + "name": "Eres", + "category": "Merchandise Retail" +}, { + "name": "Escada", + "category": "Merchandise Retail" +}, { + "name": "Espressamente Illy", + "category": "Food and Drink" +}, { + "name": "Estee Lauder", + "category": "Health and Personal Care Retailers" +}, { + "name": "Etam", + "category": "Merchandise Retail" +}, { + "name": "Ethan Allen", + "category": "Merchandise Retail" +}, { + "name": "Etro", + "category": "Merchandise Retail" +}, { + "name": "Europcar", + "category": "Automotive Rentals" +}, { + "name": "Eurostars Hotels", + "category": "Lodging" +}, { + "name": "Everbowl", + "category": "Food and Drink" +}, { + "name": "Evereve", + "category": "Merchandise Retail" +}, { + "name": "Everything But Water", + "category": "Merchandise Retail" +}, { + "name": "Ewing Irrigation \u0026 Landscape Supply", + "category": "Merchandise Retail" +}, { + "name": "Express", + "category": "Merchandise Retail" +}, { + "name": "Express Factory Outlet", + "category": "Merchandise Retail" +}, { + "name": "Express Oil Change \u0026 Tire Engineers", + "category": "Automotive Services" +}, { + "name": "Extended Stay", + "category": "Lodging" +}, { + "name": "Exxon", + "category": "Gas Station" +}, { + "name": "Eyemart Express", + "category": "Health and Personal Care Retailers" +}, { + "name": "F\u0026M Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "F.W. Webb Company", + "category": "Merchandise Retail" +}, { + "name": "F45 Training", + "category": "Fitness" +}, { + "name": "FASTSIGNS", + "category": "Merchandise Retail" +}, { + "name": "FENG CHA", + "category": "Food and Drink" +}, { + "name": "FILA", + "category": "Merchandise Retail" +}, { + "name": "FYE", + "category": "Merchandise Retail" +}, { + "name": "Fabindia", + "category": "Merchandise Retail" +}, { + "name": "Fabletics", + "category": "Merchandise Retail" +}, { + "name": "Factory Connection", + "category": "Merchandise Retail" +}, { + "name": "Factory Motor Parts", + "category": "Automotive and Parts Dealers" +}, { + "name": "Faherty Brand", + "category": "Merchandise Retail" +}, { + "name": "FairBridge Inn \u0026 Suites", + "category": "Lodging" +}, { + "name": "Fairfield Inn by Marriott", + "category": "Lodging" +}, { + "name": "Fairmont", + "category": "Lodging" +}, { + "name": "Falconeri", + "category": "Merchandise Retail" +}, { + "name": "Family Dollar", + "category": "Merchandise Retail" +}, { + "name": "Family Express", + "category": "Grocery and Liquor" +}, { + "name": "Family Fare", + "category": "Grocery and Liquor" +}, { + "name": "Family Farm \u0026 Home", + "category": "Merchandise Retail" +}, { + "name": "Famous Dave\u0027s", + "category": "Food and Drink" +}, { + "name": "Famous Footwear", + "category": "Merchandise Retail" +}, { + "name": "Famsa", + "category": "Merchandise Retail" +}, { + "name": "Fanzz", + "category": "Merchandise Retail" +}, { + "name": "Fareway Grocery", + "category": "Grocery and Liquor" +}, { + "name": "Farmer Boys", + "category": "Food and Drink" +}, { + "name": "Farmers Home Furniture", + "category": "Merchandise Retail" +}, { + "name": "Farmers National Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Farrell-Calhoun Paint", + "category": "Merchandise Retail" +}, { + "name": "Farrow \u0026 Ball", + "category": "Merchandise Retail" +}, { + "name": "Fas Mart", + "category": "Grocery and Liquor" +}, { + "name": "Fast Stop", + "category": "Gas Station" +}, { + "name": "Fast-Fix Jewelry \u0026 Watch Repairs", + "category": "Merchandise Retail" +}, { + "name": "Fastenal", + "category": "Merchandise Retail" +}, { + "name": "Fastrac", + "category": "Grocery and Liquor" +}, { + "name": "Fastrip", + "category": "Gas Station" +}, { + "name": "FatFace", + "category": "Merchandise Retail" +}, { + "name": "Fatburger", + "category": "Food and Drink" +}, { + "name": "Fazoli\u0027s", + "category": "Food and Drink" +}, { + "name": "Febal Casa", + "category": "Merchandise Retail" +}, { + "name": "Fendi", + "category": "Merchandise Retail" +}, { + "name": "Ferguson", + "category": "Merchandise Retail" +}, { + "name": "Ferrari", + "category": "Automotive and Parts Dealers" +}, { + "name": "Ficohsa", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Fidelity Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Fiesta", + "category": "Grocery and Liquor" +}, { + "name": "Fiesta Inn", + "category": "Lodging" +}, { + "name": "Fifth Third Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Fifth Third Bank \u0026 ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Filiberto\u0027s Mexican Food", + "category": "Food and Drink" +}, { + "name": "Fine Fare", + "category": "Grocery and Liquor" +}, { + "name": "Fine Wine \u0026 Good Spirits", + "category": "Grocery and Liquor" +}, { + "name": "Finishmaster", + "category": "Merchandise Retail" +}, { + "name": "Firebirds Wood Fired Grill", + "category": "Food and Drink" +}, { + "name": "Firehouse Subs", + "category": "Food and Drink" +}, { + "name": "Firestone", + "category": "Automotive Services" +}, { + "name": "Firestone Complete Auto Care", + "category": "Automotive Services" +}, { + "name": "First American Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First Citizens Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First Citizens Bank ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First Commonwealth Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First Convenience Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First Financial Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First Guaranty Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First Hawaiian Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First Horizon", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First Horizon Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First Interstate Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First Merchants Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First Mid Bancshares", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First National Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First National Bank ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First National Bank Omaha", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First Security Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First State Community Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First United Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "First Watch", + "category": "Food and Drink" +}, { + "name": "FirstBank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Fisher Auto Parts", + "category": "Automotive and Parts Dealers" +}, { + "name": "Fitness 19", + "category": "Fitness" +}, { + "name": "Fitness First", + "category": "Fitness" +}, { + "name": "Five Below", + "category": "Merchandise Retail" +}, { + "name": "Five Guys", + "category": "Food and Drink" +}, { + "name": "Five Star Bank,", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Five Star Food Mart", + "category": "Grocery and Liquor" +}, { + "name": "Fix Auto", + "category": "Automotive Services" +}, { + "name": "Flagstar Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Flame Broiler", + "category": "Food and Drink" +}, { + "name": "Fleet Feet", + "category": "Merchandise Retail" +}, { + "name": "FleetPride", + "category": "Automotive Services" +}, { + "name": "Fleming\u0027s Prime Steakhouse \u0026 Wine Bar", + "category": "Food and Drink" +}, { + "name": "Flip Flop Shops", + "category": "Merchandise Retail" +}, { + "name": "Floor \u0026 Decor", + "category": "Merchandise Retail" +}, { + "name": "Floor Coverings International", + "category": "Merchandise Retail" +}, { + "name": "Flooring America", + "category": "Merchandise Retail" +}, { + "name": "Flormar", + "category": "Health and Personal Care Retailers" +}, { + "name": "Florsheim", + "category": "Merchandise Retail" +}, { + "name": "Flowers Baking Co", + "category": "Merchandise Retail" +}, { + "name": "Flyers", + "category": "Gas Station" +}, { + "name": "Fogo de Chão Brazilian Steakhouse", + "category": "Food and Drink" +}, { + "name": "Food 4 Less", + "category": "Grocery and Liquor" +}, { + "name": "Food City", + "category": "Grocery and Liquor" +}, { + "name": "Food City Gas \u0027N Go", + "category": "Gas Station" +}, { + "name": "Food City Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Food Giant", + "category": "Grocery and Liquor" +}, { + "name": "Food Lion", + "category": "Grocery and Liquor" +}, { + "name": "FoodMaxx", + "category": "Grocery and Liquor" +}, { + "name": "Foodtown", + "category": "Grocery and Liquor" +}, { + "name": "Foot Locker", + "category": "Merchandise Retail" +}, { + "name": "Foot Solutions", + "category": "Merchandise Retail" +}, { + "name": "Forever 21", + "category": "Merchandise Retail" +}, { + "name": "Fort Sill National Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Fossil", + "category": "Merchandise Retail" +}, { + "name": "Fosters Freeze", + "category": "Food and Drink" +}, { + "name": "Four Points by Sheraton", + "category": "Lodging" +}, { + "name": "Four Seasons", + "category": "Lodging" +}, { + "name": "Fox Rent A Car", + "category": "Automotive Rentals" +}, { + "name": "Fox\u0027s Pizza Den", + "category": "Food and Drink" +}, { + "name": "Foxtail Coffee", + "category": "Food and Drink" +}, { + "name": "Fragrance Outlet", + "category": "Merchandise Retail" +}, { + "name": "Franciscan Health", + "category": "Hospital" +}, { + "name": "Franz Bakery", + "category": "Food and Drink" +}, { + "name": "Fred Meyer", + "category": "Grocery and Liquor" +}, { + "name": "Fred Meyer Fuel Center", + "category": "Gas Station" +}, { + "name": "Fred Meyer Garden Center", + "category": "Merchandise Retail" +}, { + "name": "Fred Meyer Jewelers", + "category": "Merchandise Retail" +}, { + "name": "Fred Meyer Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Fred Perry", + "category": "Merchandise Retail" +}, { + "name": "Freddy\u0027s Frozen Custard \u0026 Steakburgers", + "category": "Food and Drink" +}, { + "name": "Free People", + "category": "Merchandise Retail" +}, { + "name": "Freebirds World Burrito", + "category": "Food and Drink" +}, { + "name": "Freightliner", + "category": "Automotive and Parts Dealers" +}, { + "name": "Fresh Market", + "category": "Grocery and Liquor" +}, { + "name": "Fresh Thyme Farmers Market", + "category": "Grocery and Liquor" +}, { + "name": "Freshii", + "category": "Food and Drink" +}, { + "name": "Friendly\u0027s", + "category": "Food and Drink" +}, { + "name": "Frontier Communications", + "category": "Telecommunications" +}, { + "name": "Frost Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Fry\u0027s Food And Drug", + "category": "Grocery and Liquor" +}, { + "name": "Fuddruckers", + "category": "Food and Drink" +}, { + "name": "Fulton Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Furla", + "category": "Merchandise Retail" +}, { + "name": "Furniture Row", + "category": "Merchandise Retail" +}, { + "name": "Fuzzy\u0027s Taco Shop", + "category": "Food and Drink" +}, { + "name": "G by GUESS", + "category": "Merchandise Retail" +}, { + "name": "G\u0026M", + "category": "Gas Station" +}, { + "name": "G-Star RAW Store", + "category": "Merchandise Retail" +}, { + "name": "GATE Gas Station", + "category": "Gas Station" +}, { + "name": "GCI", + "category": "Telecommunications" +}, { + "name": "GNC", + "category": "Health and Personal Care Retailers" +}, { + "name": "Gabe\u0027s", + "category": "Merchandise Retail" +}, { + "name": "Galls", + "category": "Merchandise Retail" +}, { + "name": "Game X Change", + "category": "Merchandise Retail" +}, { + "name": "GameStop", + "category": "Merchandise Retail" +}, { + "name": "Games Workshop", + "category": "Merchandise Retail" +}, { + "name": "Ganni", + "category": "Merchandise Retail" +}, { + "name": "Gant", + "category": "Merchandise Retail" +}, { + "name": "Gap", + "category": "Merchandise Retail" +}, { + "name": "Gap Body", + "category": "Merchandise Retail" +}, { + "name": "Gap Factory", + "category": "Merchandise Retail" +}, { + "name": "GapKids", + "category": "Merchandise Retail" +}, { + "name": "Garden Center at The Home Depot", + "category": "Merchandise Retail" +}, { + "name": "Garden Inn", + "category": "Lodging" +}, { + "name": "Garmin", + "category": "Electronics Retailers" +}, { + "name": "Gas and Supply", + "category": "Merchandise Retail" +}, { + "name": "Genesis Health Clubs", + "category": "Fitness" +}, { + "name": "Genji", + "category": "Food and Drink" +}, { + "name": "Genki Sushi", + "category": "Food and Drink" +}, { + "name": "Genoa Healthcare", + "category": "Health and Personal Care Retailers" +}, { + "name": "Gerard Darel", + "category": "Merchandise Retail" +}, { + "name": "Gerber Collision \u0026 Glass", + "category": "Automotive Services" +}, { + "name": "German American Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "German Doner Kebab", + "category": "Food and Drink" +}, { + "name": "Gerry\u0027s Grill", + "category": "Food and Drink" +}, { + "name": "GetGo", + "category": "Grocery and Liquor" +}, { + "name": "Getaround", + "category": "Automotive Rentals" +}, { + "name": "Giant", + "category": "Merchandise Retail" +}, { + "name": "Giant Eagle Bakery", + "category": "Food and Drink" +}, { + "name": "Giant Eagle Deli", + "category": "Grocery and Liquor" +}, { + "name": "Giant Eagle Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Giant Eagle Supermarket", + "category": "Grocery and Liquor" +}, { + "name": "Giant Food", + "category": "Grocery and Liquor" +}, { + "name": "Giant Food Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Giant Gas", + "category": "Gas Station" +}, { + "name": "Gionino\u0027s Pizzeria", + "category": "Food and Drink" +}, { + "name": "Giordano\u0027s", + "category": "Food and Drink" +}, { + "name": "Giri", + "category": "Merchandise Retail" +}, { + "name": "Git-N-Go", + "category": "Gas Station" +}, { + "name": "Givenchy", + "category": "Merchandise Retail" +}, { + "name": "Glass America", + "category": "Automotive Services" +}, { + "name": "Glidden Professional Paint Center", + "category": "Merchandise Retail" +}, { + "name": "Glik\u0027s", + "category": "Merchandise Retail" +}, { + "name": "Gloria Jean\u0027s", + "category": "Food and Drink" +}, { + "name": "Gloria Jean\u0027s Coffees", + "category": "Food and Drink" +}, { + "name": "Go Mart", + "category": "Gas Station" +}, { + "name": "Go Rentals", + "category": "Automotive Rentals" +}, { + "name": "Go! Calendars \u0026 Games", + "category": "Merchandise Retail" +}, { + "name": "Godfather\u0027s Pizza", + "category": "Food and Drink" +}, { + "name": "Godiva Chocolatier", + "category": "Food and Drink" +}, { + "name": "Gold Star Chili", + "category": "Food and Drink" +}, { + "name": "Gold\u0027s Gym", + "category": "Fitness" +}, { + "name": "Goldcar", + "category": "Automotive Rentals" +}, { + "name": "Golden Chick", + "category": "Food and Drink" +}, { + "name": "Golden Corral Buffet and Grill", + "category": "Food and Drink" +}, { + "name": "Golden Goose", + "category": "Merchandise Retail" +}, { + "name": "Golden Krust", + "category": "Food and Drink" +}, { + "name": "Golden Nozzle Car Wash", + "category": "Automotive Services" +}, { + "name": "Goldilocks", + "category": "Food and Drink" +}, { + "name": "Golf Galaxy", + "category": "Merchandise Retail" +}, { + "name": "Gong Cha", + "category": "Food and Drink" +}, { + "name": "Good 2 Go", + "category": "Grocery and Liquor" +}, { + "name": "Good Year", + "category": "Automotive Services" +}, { + "name": "Goodcents Deli Fresh Subs", + "category": "Food and Drink" +}, { + "name": "Goodwill", + "category": "Merchandise Retail" +}, { + "name": "Goodwill Houston Select Stores", + "category": "Merchandise Retail" +}, { + "name": "Goodwill Store", + "category": "Merchandise Retail" +}, { + "name": "Goodwill Store and Donation Center", + "category": "Merchandise Retail" +}, { + "name": "Goodyear Commercial Tire \u0026 Service Centers", + "category": "Automotive Services" +}, { + "name": "Gordon Food Service Store", + "category": "Grocery and Liquor" +}, { + "name": "Graeter\u0027s Ice Cream", + "category": "Food and Drink" +}, { + "name": "Graff", + "category": "Merchandise Retail" +}, { + "name": "Grainger Industrial Supply", + "category": "Merchandise Retail" +}, { + "name": "Grand Hyatt", + "category": "Lodging" +}, { + "name": "Granite Group", + "category": "Merchandise Retail" +}, { + "name": "Grease Monkey", + "category": "Automotive Services" +}, { + "name": "Great American Cookies", + "category": "Food and Drink" +}, { + "name": "Great Expressions Dental Centers", + "category": "Dental" +}, { + "name": "Great Harvest Bread", + "category": "Grocery and Liquor" +}, { + "name": "Great Southern Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Green Motion", + "category": "Automotive Rentals" +}, { + "name": "Greenberg Dental \u0026 Orthodontics", + "category": "Dental" +}, { + "name": "Gregorys Coffee", + "category": "Food and Drink" +}, { + "name": "Grimco Inc.", + "category": "Merchandise Retail" +}, { + "name": "Grocery Outlet", + "category": "Grocery and Liquor" +}, { + "name": "Grom", + "category": "Food and Drink" +}, { + "name": "Grosfillex", + "category": "Merchandise Retail" +}, { + "name": "Guaranty Bank \u0026 Trust", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Guaranty Bank and Trust Company", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Gucci", + "category": "Merchandise Retail" +}, { + "name": "Guess", + "category": "Merchandise Retail" +}, { + "name": "Guess Accessories", + "category": "Merchandise Retail" +}, { + "name": "Guitar Center", + "category": "Merchandise Retail" +}, { + "name": "Gulf", + "category": "Gas Station" +}, { + "name": "Gulfeagle Supply", + "category": "Merchandise Retail" +}, { + "name": "Guthrie\u0027s", + "category": "Food and Drink" +}, { + "name": "Guzman Y Gomez", + "category": "Food and Drink" +}, { + "name": "Gymboree", + "category": "Merchandise Retail" +}, { + "name": "Gyu-Kaku", + "category": "Food and Drink" +}, { + "name": "H \u0026 S Energy", + "category": "Gas Station" +}, { + "name": "H Mart", + "category": "Grocery and Liquor" +}, { + "name": "H\u0026M", + "category": "Merchandise Retail" +}, { + "name": "H\u0026M Home", + "category": "Merchandise Retail" +}, { + "name": "H-E-B Bakery", + "category": "Food and Drink" +}, { + "name": "H-E-B Fuel", + "category": "Gas Station" +}, { + "name": "H-E-B Grocery", + "category": "Grocery and Liquor" +}, { + "name": "H-E-B Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "H.Stern", + "category": "Merchandise Retail" +}, { + "name": "HEYTEA", + "category": "Food and Drink" +}, { + "name": "HP", + "category": "Electronics Retailers" +}, { + "name": "HSBC ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "HTeaO", + "category": "Food and Drink" +}, { + "name": "Habitat for Humanity ReStore", + "category": "Merchandise Retail" +}, { + "name": "Hackett", + "category": "Merchandise Retail" +}, { + "name": "Hafele", + "category": "Merchandise Retail" +}, { + "name": "HaiDiLao Hot pot", + "category": "Food and Drink" +}, { + "name": "Hajoca", + "category": "Merchandise Retail" +}, { + "name": "Half Price Books", + "category": "Merchandise Retail" +}, { + "name": "Hallmark", + "category": "Merchandise Retail" +}, { + "name": "Hampton Inn", + "category": "Lodging" +}, { + "name": "Han-Dee Hugo\u0027s", + "category": "Grocery and Liquor" +}, { + "name": "Hancock Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Handel\u0027s Homemade Ice Cream", + "category": "Food and Drink" +}, { + "name": "Handy Mart", + "category": "Grocery and Liquor" +}, { + "name": "Hanesbrands", + "category": "Merchandise Retail" +}, { + "name": "Hangar 54 Pizza", + "category": "Food and Drink" +}, { + "name": "Hangry Joe\u0027s", + "category": "Food and Drink" +}, { + "name": "Hannaford", + "category": "Grocery and Liquor" +}, { + "name": "Hannaford Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Happy State Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Happy\u0027s Pizza", + "category": "Food and Drink" +}, { + "name": "Harbor Freight Tools", + "category": "Merchandise Retail" +}, { + "name": "Hard Rock Cafe", + "category": "Food and Drink" +}, { + "name": "Hardee\u0027s", + "category": "Food and Drink" +}, { + "name": "Hardware Hank", + "category": "Merchandise Retail" +}, { + "name": "Harps", + "category": "Grocery and Liquor" +}, { + "name": "Harris Teeter", + "category": "Grocery and Liquor" +}, { + "name": "Harris Teeter Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Hartz Chicken Buffet", + "category": "Food and Drink" +}, { + "name": "Havaianas", + "category": "Merchandise Retail" +}, { + "name": "Havertys Furniture", + "category": "Merchandise Retail" +}, { + "name": "Havoline Xpress Lube", + "category": "Automotive Services" +}, { + "name": "Hawaiian Bros.", + "category": "Food and Drink" +}, { + "name": "Haworth", + "category": "Merchandise Retail" +}, { + "name": "Hawthorn Suites", + "category": "Lodging" +}, { + "name": "Health Mart", + "category": "Health and Personal Care Retailers" +}, { + "name": "HearUSA", + "category": "Health and Personal Care Retailers" +}, { + "name": "Heartland Bank and Trust Company", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Hele Gas", + "category": "Gas Station" +}, { + "name": "Helly Hansen", + "category": "Merchandise Retail" +}, { + "name": "Helzberg Diamonds", + "category": "Merchandise Retail" +}, { + "name": "Henry Schein", + "category": "Merchandise Retail" +}, { + "name": "Herbalife Independent Distributor", + "category": "Health and Personal Care Retailers" +}, { + "name": "Heritage Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Herman Miller", + "category": "Merchandise Retail" +}, { + "name": "Hermes", + "category": "Merchandise Retail" +}, { + "name": "Hershey\u0027s Ice Cream", + "category": "Food and Drink" +}, { + "name": "Hertz", + "category": "Automotive Rentals" +}, { + "name": "Hertz Car Sales", + "category": "Automotive and Parts Dealers" +}, { + "name": "Hibbett Sports", + "category": "Merchandise Retail" +}, { + "name": "Hickory Farms", + "category": "Merchandise Retail" +}, { + "name": "High\u0027s", + "category": "Gas Station" +}, { + "name": "Hilti Store", + "category": "Merchandise Retail" +}, { + "name": "Hilton", + "category": "Lodging" +}, { + "name": "Hilton Grand Vacations", + "category": "Lodging" +}, { + "name": "Hitachi", + "category": "Electronics Retailers" +}, { + "name": "Hobby Lobby", + "category": "Merchandise Retail" +}, { + "name": "HobbyTown", + "category": "Merchandise Retail" +}, { + "name": "Holiday Inn", + "category": "Lodging" +}, { + "name": "Holiday Inn Express", + "category": "Lodging" +}, { + "name": "Holiday Inn Resort", + "category": "Lodging" +}, { + "name": "Holiday Oil Co", + "category": "Gas Station" +}, { + "name": "Holiday Stationstores", + "category": "Grocery and Liquor" +}, { + "name": "Hollister Co.", + "category": "Merchandise Retail" +}, { + "name": "Hollywood Feed", + "category": "Merchandise Retail" +}, { + "name": "Home2 Suites by Hilton", + "category": "Lodging" +}, { + "name": "HomeGoods", + "category": "Merchandise Retail" +}, { + "name": "HomeSense", + "category": "Merchandise Retail" +}, { + "name": "HomeStreet Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "HomeTowne Studios", + "category": "Lodging" +}, { + "name": "Homewood Suites", + "category": "Lodging" +}, { + "name": "Honda Parts", + "category": "Automotive and Parts Dealers" +}, { + "name": "Honey Birdette", + "category": "Merchandise Retail" +}, { + "name": "Honey Dew Donuts", + "category": "Food and Drink" +}, { + "name": "Hook \u0026 Reel Cajun Seafood Restaurant and Bar", + "category": "Food and Drink" +}, { + "name": "Hooters", + "category": "Food and Drink" +}, { + "name": "Horizon Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Hot Head Burritos", + "category": "Food and Drink" +}, { + "name": "Hot Stuff Pizza", + "category": "Food and Drink" +}, { + "name": "Hot Topic", + "category": "Merchandise Retail" +}, { + "name": "Hotel Indigo", + "category": "Lodging" +}, { + "name": "Hotel O", + "category": "Lodging" +}, { + "name": "Howard Johnson\u0027s", + "category": "Lodging" +}, { + "name": "HuHot Mongolian Grill", + "category": "Food and Drink" +}, { + "name": "Hublot", + "category": "Merchandise Retail" +}, { + "name": "Huddle House", + "category": "Food and Drink" +}, { + "name": "Hudson News", + "category": "Merchandise Retail" +}, { + "name": "Huey Magoo\u0027s", + "category": "Food and Drink" +}, { + "name": "Hughes Supply", + "category": "Merchandise Retail" +}, { + "name": "Hui Lau Shan", + "category": "Food and Drink" +}, { + "name": "Human Bean", + "category": "Food and Drink" +}, { + "name": "Humanscale", + "category": "Merchandise Retail" +}, { + "name": "Hungry Howie\u0027s Pizza", + "category": "Food and Drink" +}, { + "name": "Hunt Brothers Pizza", + "category": "Food and Drink" +}, { + "name": "Hunter Douglas", + "category": "Merchandise Retail" +}, { + "name": "Huntington Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Huntington Bank ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Hurley", + "category": "Merchandise Retail" +}, { + "name": "Hush Puppies", + "category": "Merchandise Retail" +}, { + "name": "Husqvarna", + "category": "Merchandise Retail" +}, { + "name": "Hustler Hollywood", + "category": "Merchandise Retail" +}, { + "name": "Hutchinson", + "category": "Merchandise Retail" +}, { + "name": "Hwy 55 Burgers Shakes \u0026 Fries", + "category": "Food and Drink" +}, { + "name": "Hy-Vee", + "category": "Food and Drink" +}, { + "name": "Hy-Vee", + "category": "Grocery and Liquor" +}, { + "name": "Hy-Vee Deli", + "category": "Grocery and Liquor" +}, { + "name": "Hy-Vee Garden Center", + "category": "Merchandise Retail" +}, { + "name": "Hy-Vee Gas", + "category": "Merchandise Retail" +}, { + "name": "Hy-Vee Market Grille", + "category": "Food and Drink" +}, { + "name": "Hy-Vee Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Hy-Vee Wine \u0026 Spirits", + "category": "Grocery and Liquor" +}, { + "name": "Hyatt Centric", + "category": "Lodging" +}, { + "name": "Hyatt House", + "category": "Lodging" +}, { + "name": "Hyatt Place", + "category": "Lodging" +}, { + "name": "Hyatt Regency", + "category": "Lodging" +}, { + "name": "Häagen-Dazs", + "category": "Food and Drink" +}, { + "name": "Hästens", + "category": "Merchandise Retail" +}, { + "name": "IBC Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "IBC Bank ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "IDI Distributors", + "category": "Merchandise Retail" +}, { + "name": "IGA", + "category": "Grocery and Liquor" +}, { + "name": "IHG", + "category": "Lodging" +}, { + "name": "IHOP", + "category": "Food and Drink" +}, { + "name": "IKEA", + "category": "Merchandise Retail" +}, { + "name": "IKEA Restaurant", + "category": "Food and Drink" +}, { + "name": "INTRUST Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "IT Trattoria", + "category": "Food and Drink" +}, { + "name": "IT\u0027SUGAR", + "category": "Food and Drink" +}, { + "name": "IWC Schaffhausen", + "category": "Merchandise Retail" +}, { + "name": "Iberostar", + "category": "Lodging" +}, { + "name": "Icon Parking", + "category": "Parking" +}, { + "name": "Ike\u0027s Love and Sandwiches", + "category": "Food and Drink" +}, { + "name": "Image360", + "category": "Merchandise Retail" +}, { + "name": "Imax", + "category": "Movie theater" +}, { + "name": "Imo\u0027s Pizza", + "category": "Food and Drink" +}, { + "name": "Impark", + "category": "Parking" +}, { + "name": "In-N-Out Burger", + "category": "Food and Drink" +}, { + "name": "InMotion Entertainment", + "category": "Electronics Retailers" +}, { + "name": "InTown Suites", + "category": "Lodging" +}, { + "name": "Independent Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Indigo", + "category": "Merchandise Retail" +}, { + "name": "Indochino", + "category": "Merchandise Retail" +}, { + "name": "Infiniti", + "category": "Automotive and Parts Dealers" +}, { + "name": "Ingles Gas Express", + "category": "Gas Station" +}, { + "name": "Ingles Market", + "category": "Grocery and Liquor" +}, { + "name": "Ingles Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Inglot", + "category": "Health and Personal Care Retailers" +}, { + "name": "Innovative Hearing", + "category": "Health and Personal Care Retailers" +}, { + "name": "Insomnia Cookies", + "category": "Food and Drink" +}, { + "name": "Instant Imprints", + "category": "Merchandise Retail" +}, { + "name": "InterContinental", + "category": "Lodging" +}, { + "name": "Interceramic Tile \u0026 Stone Gallery", + "category": "Merchandise Retail" +}, { + "name": "Interstate All Battery Center", + "category": "Automotive Services" +}, { + "name": "Intesa Sanpaolo Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Intimissimi", + "category": "Merchandise Retail" +}, { + "name": "Ippudo", + "category": "Food and Drink" +}, { + "name": "Iris Galerie", + "category": "Electronics Retailers" +}, { + "name": "Irving Oil", + "category": "Gas Station" +}, { + "name": "Isabel Marant", + "category": "Merchandise Retail" +}, { + "name": "It\u0027s Boba Time", + "category": "Food and Drink" +}, { + "name": "It\u0027s Fashion", + "category": "Merchandise Retail" +}, { + "name": "It\u0027s Just Wings", + "category": "Food and Drink" +}, { + "name": "J.Crew", + "category": "Merchandise Retail" +}, { + "name": "J.Jill", + "category": "Merchandise Retail" +}, { + "name": "J.McLaughlin", + "category": "Merchandise Retail" +}, { + "name": "J.プレス", + "category": "Merchandise Retail" +}, { + "name": "JBL", + "category": "Electronics Retailers" +}, { + "name": "JC Licht", + "category": "Merchandise Retail" +}, { + "name": "JCPenney", + "category": "Merchandise Retail" +}, { + "name": "JD Sports", + "category": "Merchandise Retail" +}, { + "name": "JINS", + "category": "Health and Personal Care Retailers" +}, { + "name": "JOANN Fabrics and Crafts", + "category": "Merchandise Retail" +}, { + "name": "JOE \u0026 THE JUICE", + "category": "Food and Drink" +}, { + "name": "JW Marriott", + "category": "Lodging" +}, { + "name": "Jacadi", + "category": "Merchandise Retail" +}, { + "name": "Jack in the Box", + "category": "Food and Drink" +}, { + "name": "Jack\u0027s", + "category": "Food and Drink" +}, { + "name": "Jacksons Food Stores", + "category": "Grocery and Liquor" +}, { + "name": "Jaeger-LeCoultre", + "category": "Merchandise Retail" +}, { + "name": "Jake\u0027s Fireworks", + "category": "Merchandise Retail" +}, { + "name": "Jamba", + "category": "Food and Drink" +}, { + "name": "James Avery", + "category": "Merchandise Retail" +}, { + "name": "Janie and Jack", + "category": "Merchandise Retail" +}, { + "name": "Jared", + "category": "Merchandise Retail" +}, { + "name": "Jason\u0027s Deli", + "category": "Food and Drink" +}, { + "name": "JdV by Hyatt", + "category": "Lodging" +}, { + "name": "Jefferson Dental \u0026 Orthodontics", + "category": "Dental" +}, { + "name": "Jeni\u0027s Splendid Ice Creams", + "category": "Food and Drink" +}, { + "name": "Jeremiah\u0027s Italian Ice", + "category": "Food and Drink" +}, { + "name": "Jersey Mike\u0027s Subs", + "category": "Food and Drink" +}, { + "name": "Jet\u0027s Pizza", + "category": "Food and Drink" +}, { + "name": "Jewel-Osco", + "category": "Grocery and Liquor" +}, { + "name": "Jewel-Osco Deli", + "category": "Grocery and Liquor" +}, { + "name": "Jewel-Osco Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Jiffy Lube", + "category": "Automotive Services" +}, { + "name": "Jiffy Mart", + "category": "Gas Station" +}, { + "name": "Jil Sander", + "category": "Merchandise Retail" +}, { + "name": "Jim \u0027N Nick\u0027s Bar-B-Q", + "category": "Food and Drink" +}, { + "name": "Jimmy Choo", + "category": "Merchandise Retail" +}, { + "name": "Jimmy John\u0027s", + "category": "Food and Drink" +}, { + "name": "Jimmy\u0027s Egg", + "category": "Food and Drink" +}, { + "name": "Jo Malone", + "category": "Merchandise Retail" +}, { + "name": "Jo Malone London", + "category": "Merchandise Retail" +}, { + "name": "Jockey", + "category": "Merchandise Retail" +}, { + "name": "Joe Hudson\u0027s Collision Center", + "category": "Automotive Services" +}, { + "name": "Joe\u0027s Auto Parks", + "category": "Parking" +}, { + "name": "Johnny Rockets", + "category": "Food and Drink" +}, { + "name": "Johnny Was", + "category": "Merchandise Retail" +}, { + "name": "Johnny\u0027s Markets", + "category": "Grocery and Liquor" +}, { + "name": "Johnny\u0027s New York Style Pizza", + "category": "Food and Drink" +}, { + "name": "Johnson Fitness \u0026 Wellness Store (formerly 2nd Wind Exercise Equipment)", + "category": "Merchandise Retail" +}, { + "name": "Johnston \u0026 Murphy", + "category": "Merchandise Retail" +}, { + "name": "Jollibee", + "category": "Food and Drink" +}, { + "name": "Jos. A. Bank", + "category": "Merchandise Retail" +}, { + "name": "Journeys", + "category": "Merchandise Retail" +}, { + "name": "Joyalukkas Jewellery", + "category": "Merchandise Retail" +}, { + "name": "Juan Valdez", + "category": "Food and Drink" +}, { + "name": "Juice It Up!", + "category": "Food and Drink" +}, { + "name": "Junaid Jamshed", + "category": "Merchandise Retail" +}, { + "name": "Just Between Friends", + "category": "Merchandise Retail" +}, { + "name": "Just Salad", + "category": "Food and Drink" +}, { + "name": "Just Tires", + "category": "Automotive Services" +}, { + "name": "JustFoodForDogs", + "category": "Merchandise Retail" +}, { + "name": "K\u0026G Fashion Superstore", + "category": "Merchandise Retail" +}, { + "name": "KARE", + "category": "Merchandise Retail" +}, { + "name": "KBC", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "KFC", + "category": "Food and Drink" +}, { + "name": "KIKO Milano", + "category": "Health and Personal Care Retailers" +}, { + "name": "KPOT Korean BBQ \u0026 Hot Pot", + "category": "Food and Drink" +}, { + "name": "Kalyan Jewellers", + "category": "Merchandise Retail" +}, { + "name": "Kansasland Tire \u0026 Service", + "category": "Automotive Services" +}, { + "name": "Kartell", + "category": "Merchandise Retail" +}, { + "name": "Kate Spade", + "category": "Merchandise Retail" +}, { + "name": "Kay Jewelers", + "category": "Merchandise Retail" +}, { + "name": "Kay Jewelers Outlet", + "category": "Merchandise Retail" +}, { + "name": "Kee Wah Bakery", + "category": "Food and Drink" +}, { + "name": "Keke\u0027s Breakfast Cafe", + "category": "Food and Drink" +}, { + "name": "Keller Supply Company", + "category": "Merchandise Retail" +}, { + "name": "Kelley\u0027s Market", + "category": "Grocery and Liquor" +}, { + "name": "Kendra Scott", + "category": "Merchandise Retail" +}, { + "name": "Kenzo", + "category": "Merchandise Retail" +}, { + "name": "Key Food", + "category": "Grocery and Liquor" +}, { + "name": "KeyBank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "KeyBank ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Keystone Automotive", + "category": "Automotive and Parts Dealers" +}, { + "name": "Kid to Kid", + "category": "Merchandise Retail" +}, { + "name": "Kids Foot Locker", + "category": "Merchandise Retail" +}, { + "name": "Kiehl\u0027s", + "category": "Health and Personal Care Retailers" +}, { + "name": "Kilwins", + "category": "Food and Drink" +}, { + "name": "Kimpton", + "category": "Lodging" +}, { + "name": "Kindred Healthcare", + "category": "Hospital" +}, { + "name": "Kinetico", + "category": "Merchandise Retail" +}, { + "name": "King Koil", + "category": "Merchandise Retail" +}, { + "name": "King Soopers", + "category": "Grocery and Liquor" +}, { + "name": "King Soopers Fuel Center", + "category": "Gas Station" +}, { + "name": "King Soopers Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Kinney Drugs", + "category": "Health and Personal Care Retailers" +}, { + "name": "Kinokuniya", + "category": "Merchandise Retail" +}, { + "name": "Kipling", + "category": "Merchandise Retail" +}, { + "name": "Kirkland\u0027s", + "category": "Merchandise Retail" +}, { + "name": "Knights Inn", + "category": "Lodging" +}, { + "name": "Kohl\u0027s", + "category": "Merchandise Retail" +}, { + "name": "Kohler", + "category": "Merchandise Retail" +}, { + "name": "Kolache Factory", + "category": "Food and Drink" +}, { + "name": "Krispy Kreme", + "category": "Food and Drink" +}, { + "name": "Krispy Krunchy Chicken", + "category": "Food and Drink" +}, { + "name": "Krist Food Mart", + "category": "Gas Station" +}, { + "name": "Kroger", + "category": "Grocery and Liquor" +}, { + "name": "Kroger Bakery", + "category": "Food and Drink" +}, { + "name": "Kroger Deli", + "category": "Grocery and Liquor" +}, { + "name": "Kroger Fuel Center", + "category": "Gas Station" +}, { + "name": "Kroger Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Kromasol", + "category": "Health and Personal Care Retailers" +}, { + "name": "Krown", + "category": "Automotive Services" +}, { + "name": "Kryolan city", + "category": "Health and Personal Care Retailers" +}, { + "name": "Krystal", + "category": "Food and Drink" +}, { + "name": "Kum \u0026 Go", + "category": "Gas Station" +}, { + "name": "Kung Fu Tea", + "category": "Food and Drink" +}, { + "name": "Kwik Fill", + "category": "Gas Station" +}, { + "name": "Kwik Shop", + "category": "Gas Station" +}, { + "name": "Kwik Trip", + "category": "Gas Station" +}, { + "name": "L\u0026L Hawaiian Barbecue", + "category": "Food and Drink" +}, { + "name": "L\u0027Occitane", + "category": "Health and Personal Care Retailers" +}, { + "name": "L\u0027Oreal", + "category": "Health and Personal Care Retailers" +}, { + "name": "L.L. Bean", + "category": "Merchandise Retail" +}, { + "name": "LA Fitness", + "category": "Fitness" +}, { + "name": "LAZ Parking", + "category": "Parking" +}, { + "name": "LKQ", + "category": "Automotive and Parts Dealers" +}, { + "name": "LKQ Pick Your Part", + "category": "Automotive and Parts Dealers" +}, { + "name": "LL Flooring", + "category": "Merchandise Retail" +}, { + "name": "LOFT", + "category": "Merchandise Retail" +}, { + "name": "LUKOIL", + "category": "Gas Station" +}, { + "name": "LUPICIA", + "category": "Grocery and Liquor" +}, { + "name": "LUSH", + "category": "Health and Personal Care Retailers" +}, { + "name": "La Diperie", + "category": "Food and Drink" +}, { + "name": "La Madeleine", + "category": "Food and Drink" +}, { + "name": "La Michoacana Meat Market", + "category": "Grocery and Liquor" +}, { + "name": "La Michoacana Plus", + "category": "Food and Drink" +}, { + "name": "La Quinta by Wyndham", + "category": "Lodging" +}, { + "name": "La-Z-Boy", + "category": "Merchandise Retail" +}, { + "name": "LaRosa\u0027s", + "category": "Food and Drink" +}, { + "name": "Label Shopper", + "category": "Merchandise Retail" +}, { + "name": "Lacoste", + "category": "Merchandise Retail" +}, { + "name": "Lacrosse Unlimited", + "category": "Merchandise Retail" +}, { + "name": "Ladurée", + "category": "Food and Drink" +}, { + "name": "Lake City Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Lakeshore Learning Store", + "category": "Merchandise Retail" +}, { + "name": "Lalique", + "category": "Merchandise Retail" +}, { + "name": "Lancôme", + "category": "Health and Personal Care Retailers" +}, { + "name": "Land Rover", + "category": "Automotive and Parts Dealers" +}, { + "name": "Lane Bryant", + "category": "Merchandise Retail" +}, { + "name": "Laneige", + "category": "Health and Personal Care Retailers" +}, { + "name": "Lanvin", + "category": "Merchandise Retail" +}, { + "name": "Lawson", + "category": "Grocery and Liquor" +}, { + "name": "Lazy Dog Restaurant \u0026 Bar", + "category": "Food and Drink" +}, { + "name": "Le Creuset", + "category": "Merchandise Retail" +}, { + "name": "Le Labo", + "category": "Merchandise Retail" +}, { + "name": "Le Macaron French Pastries", + "category": "Food and Drink" +}, { + "name": "Le Méridien", + "category": "Lodging" +}, { + "name": "Le Pain Quotidien", + "category": "Food and Drink" +}, { + "name": "LeSportsac", + "category": "Merchandise Retail" +}, { + "name": "Learning Express", + "category": "Merchandise Retail" +}, { + "name": "Ledo Pizza", + "category": "Food and Drink" +}, { + "name": "Lee\u0027s Famous Recipe Chicken", + "category": "Food and Drink" +}, { + "name": "Lee\u0027s Sandwiches", + "category": "Food and Drink" +}, { + "name": "Leica Camera AG", + "category": "Electronics Retailers" +}, { + "name": "Lelas", + "category": "Health and Personal Care Retailers" +}, { + "name": "Lennys Grill \u0026 Subs", + "category": "Food and Drink" +}, { + "name": "Lenovo", + "category": "Electronics Retailers" +}, { + "name": "Leo\u0027s Coney Island", + "category": "Food and Drink" +}, { + "name": "Leonard Buildings \u0026 Truck Accessories", + "category": "Automotive Services" +}, { + "name": "Leonidas", + "category": "Food and Drink" +}, { + "name": "Les Schwab Tire Center", + "category": "Automotive Services" +}, { + "name": "Leslie\u0027s Pool Supplies, Service \u0026 Repair", + "category": "Merchandise Retail" +}, { + "name": "Levi\u0027s", + "category": "Merchandise Retail" +}, { + "name": "Lewis Family Drug", + "category": "Health and Personal Care Retailers" +}, { + "name": "Liberty", + "category": "Gas Station" +}, { + "name": "Liberty Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "LibertyX Bitcoin Cashier", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Lidl", + "category": "Grocery and Liquor" +}, { + "name": "Lids", + "category": "Merchandise Retail" +}, { + "name": "Life Time, Inc.", + "category": "Fitness" +}, { + "name": "Lifewave", + "category": "Health and Personal Care Retailers" +}, { + "name": "Ligne Roset", + "category": "Merchandise Retail" +}, { + "name": "Lilly Pulitzer", + "category": "Merchandise Retail" +}, { + "name": "Lincoln Electric", + "category": "Merchandise Retail" +}, { + "name": "Lindt", + "category": "Food and Drink" +}, { + "name": "Line-X", + "category": "Automotive Services" +}, { + "name": "Lion\u0027s Den", + "category": "Merchandise Retail" +}, { + "name": "Liquor Mart", + "category": "Grocery and Liquor" +}, { + "name": "Little Caesars Pizza", + "category": "Food and Drink" +}, { + "name": "Little Charlies Pizza", + "category": "Food and Drink" +}, { + "name": "Little General Store", + "category": "Grocery and Liquor" +}, { + "name": "Little Gym", + "category": "Fitness" +}, { + "name": "Livingston Audiology \u0026 Hearing Aid Center", + "category": "Health and Personal Care Retailers" +}, { + "name": "Lloyds Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Loaf \u0027N Jug", + "category": "Gas Station" +}, { + "name": "Locke Supply", + "category": "Merchandise Retail" +}, { + "name": "Loewe", + "category": "Merchandise Retail" +}, { + "name": "Logan\u0027s Roadhouse", + "category": "Food and Drink" +}, { + "name": "Lolli and Pops", + "category": "Food and Drink" +}, { + "name": "Long John Silver\u0027s", + "category": "Food and Drink" +}, { + "name": "LongHorn Steakhouse", + "category": "Food and Drink" +}, { + "name": "Longchamp", + "category": "Merchandise Retail" +}, { + "name": "Longines Boutique", + "category": "Merchandise Retail" +}, { + "name": "Loop Neighborhood Market", + "category": "Grocery and Liquor" +}, { + "name": "Loro Piana", + "category": "Merchandise Retail" +}, { + "name": "Lou Malnati\u0027s Pizzeria", + "category": "Food and Drink" +}, { + "name": "Louis Vuitton", + "category": "Merchandise Retail" +}, { + "name": "Louisiana Fried Chicken", + "category": "Food and Drink" +}, { + "name": "Lovesac", + "category": "Merchandise Retail" +}, { + "name": "Loving Hut", + "category": "Food and Drink" +}, { + "name": "Lovisa", + "category": "Merchandise Retail" +}, { + "name": "Low Bob\u0027s Discount Tobacco", + "category": "Merchandise Retail" +}, { + "name": "Lowe\u0027s", + "category": "Grocery and Liquor" +}, { + "name": "Lowe\u0027s Home Improvement", + "category": "Merchandise Retail" +}, { + "name": "Lowes Foods", + "category": "Grocery and Liquor" +}, { + "name": "Lucid Hearing Center", + "category": "Health and Personal Care Retailers" +}, { + "name": "Lucky", + "category": "Grocery and Liquor" +}, { + "name": "Lucky Brand", + "category": "Merchandise Retail" +}, { + "name": "Lumen Technologies", + "category": "Telecommunications" +}, { + "name": "Luna Grill", + "category": "Food and Drink" +}, { + "name": "Lycamobile", + "category": "Telecommunications" +}, { + "name": "M\u0026T Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "MAC", + "category": "Health and Personal Care Retailers" +}, { + "name": "MAD Fireworks", + "category": "Merchandise Retail" +}, { + "name": "MAPCO", + "category": "Grocery and Liquor" +}, { + "name": "MAX\u0026Co.", + "category": "Merchandise Retail" +}, { + "name": "MC2 Saint Barth", + "category": "Merchandise Retail" +}, { + "name": "MCM", + "category": "Merchandise Retail" +}, { + "name": "MFA Oil Petro-Card 24", + "category": "Gas Station" +}, { + "name": "MGallery", + "category": "Lodging" +}, { + "name": "MHC Kenworth", + "category": "Automotive and Parts Dealers" +}, { + "name": "MISSION BBQ", + "category": "Food and Drink" +}, { + "name": "MOD Pizza", + "category": "Food and Drink" +}, { + "name": "MOOYAH Burgers, Fries \u0026 Shakes", + "category": "Food and Drink" +}, { + "name": "Maaco Collision Repair \u0026 Auto Painting", + "category": "Automotive Services" +}, { + "name": "Macron", + "category": "Merchandise Retail" +}, { + "name": "Macy\u0027s", + "category": "Merchandise Retail" +}, { + "name": "Macy\u0027s Backstage", + "category": "Merchandise Retail" +}, { + "name": "Macy\u0027s Furniture Gallery", + "category": "Merchandise Retail" +}, { + "name": "Macy\u0027s eSpot Kiosk", + "category": "Electronics Retailers" +}, { + "name": "Madewell", + "category": "Merchandise Retail" +}, { + "name": "Maggiano\u0027s Little Italy", + "category": "Food and Drink" +}, { + "name": "Magnetsigns", + "category": "Merchandise Retail" +}, { + "name": "Magnuson Hotel", + "category": "Lodging" +}, { + "name": "Main Event", + "category": "Food and Drink" +}, { + "name": "Mainstay Suites", + "category": "Lodging" +}, { + "name": "Mainstream Boutique", + "category": "Merchandise Retail" +}, { + "name": "Maison Margiela", + "category": "Merchandise Retail" +}, { + "name": "Maje", + "category": "Merchandise Retail" +}, { + "name": "Majorica", + "category": "Merchandise Retail" +}, { + "name": "Malabar Gold \u0026 Diamonds", + "category": "Merchandise Retail" +}, { + "name": "Manchu Wok", + "category": "Food and Drink" +}, { + "name": "Mancino\u0027s Pizza \u0026 Grinders", + "category": "Food and Drink" +}, { + "name": "Mandarin Oriental", + "category": "Lodging" +}, { + "name": "Mango", + "category": "Merchandise Retail" +}, { + "name": "Manhattan Bagel", + "category": "Food and Drink" +}, { + "name": "Manheim", + "category": "Automotive and Parts Dealers" +}, { + "name": "Mania Jeans", + "category": "Merchandise Retail" +}, { + "name": "Mantra", + "category": "Lodging" +}, { + "name": "Manyavar", + "category": "Merchandise Retail" +}, { + "name": "Maple Street Biscuit Company", + "category": "Food and Drink" +}, { + "name": "Marathon Gas", + "category": "Gas Station" +}, { + "name": "Marble Slab Creamery", + "category": "Food and Drink" +}, { + "name": "Marc Cain", + "category": "Merchandise Retail" +}, { + "name": "Marc Jacobs", + "category": "Merchandise Retail" +}, { + "name": "Marc\u0027s Stores", + "category": "Grocery and Liquor" +}, { + "name": "Marco\u0027s Pizza", + "category": "Food and Drink" +}, { + "name": "Marcus", + "category": "Movie theater" +}, { + "name": "Marella", + "category": "Merchandise Retail" +}, { + "name": "Marimekko", + "category": "Merchandise Retail" +}, { + "name": "Marina Rinaldi", + "category": "Merchandise Retail" +}, { + "name": "Marine Layer", + "category": "Merchandise Retail" +}, { + "name": "Market Basket", + "category": "Grocery and Liquor" +}, { + "name": "Marni", + "category": "Merchandise Retail" +}, { + "name": "Marriott", + "category": "Lodging" +}, { + "name": "Marshalls", + "category": "Merchandise Retail" +}, { + "name": "Martin\u0027s", + "category": "Grocery and Liquor" +}, { + "name": "Marugame Seimen", + "category": "Food and Drink" +}, { + "name": "Mary Kay", + "category": "Health and Personal Care Retailers" +}, { + "name": "Massimo Dutti", + "category": "Merchandise Retail" +}, { + "name": "Master Halco", + "category": "Merchandise Retail" +}, { + "name": "Mattress By Appointment", + "category": "Merchandise Retail" +}, { + "name": "Mattress Firm", + "category": "Merchandise Retail" +}, { + "name": "Mattress Warehouse", + "category": "Merchandise Retail" +}, { + "name": "Maurices", + "category": "Merchandise Retail" +}, { + "name": "Maverik Adventure\u0027s First Stop", + "category": "Gas Station" +}, { + "name": "Mavi", + "category": "Merchandise Retail" +}, { + "name": "Mavis Tires", + "category": "Automotive Services" +}, { + "name": "Max Mara", + "category": "Merchandise Retail" +}, { + "name": "Max Studio", + "category": "Merchandise Retail" +}, { + "name": "Max\u0027s Restaurant", + "category": "Food and Drink" +}, { + "name": "Maybank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Mayweather Boxing + Fitness", + "category": "Fitness" +}, { + "name": "Mazzio\u0027s", + "category": "Food and Drink" +}, { + "name": "McAlister\u0027s Deli", + "category": "Food and Drink" +}, { + "name": "McCarthy Tire Service", + "category": "Automotive Services" +}, { + "name": "McDonald\u0027s", + "category": "Food and Drink" +}, { + "name": "McLaren", + "category": "Automotive and Parts Dealers" +}, { + "name": "McMenamins", + "category": "Food and Drink" +}, { + "name": "Me-n-Ed\u0027s", + "category": "Food and Drink" +}, { + "name": "Medical Marijuana Dispensary | Liberty Health Sciences", + "category": "Merchandise Retail" +}, { + "name": "Medicap Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Medicine Shoppe", + "category": "Health and Personal Care Retailers" +}, { + "name": "Meijer", + "category": "Grocery and Liquor" +}, { + "name": "Meijer Gas Station", + "category": "Gas Station" +}, { + "name": "Meijer Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Meineke Car Care Center", + "category": "Automotive Services" +}, { + "name": "Melia Hotels and Resorts", + "category": "Lodging" +}, { + "name": "Mellow Mushroom", + "category": "Food and Drink" +}, { + "name": "Melrose", + "category": "Merchandise Retail" +}, { + "name": "Melting Pot", + "category": "Food and Drink" +}, { + "name": "Men\u0027s Wearhouse", + "category": "Merchandise Retail" +}, { + "name": "Menchie\u0027s", + "category": "Food and Drink" +}, { + "name": "Mendocino Farms", + "category": "Food and Drink" +}, { + "name": "Mephisto", + "category": "Merchandise Retail" +}, { + "name": "Merle Norman Cosmetic Studio", + "category": "Health and Personal Care Retailers" +}, { + "name": "Merrell", + "category": "Merchandise Retail" +}, { + "name": "Messika", + "category": "Merchandise Retail" +}, { + "name": "Metro Diner", + "category": "Food and Drink" +}, { + "name": "Metro Infusion Center", + "category": "Hospital" +}, { + "name": "Metro by T-Mobile", + "category": "Telecommunications" +}, { + "name": "Mex Rent A Car", + "category": "Automotive Rentals" +}, { + "name": "Michael Kors", + "category": "Merchandise Retail" +}, { + "name": "Michaels Companies, Inc", + "category": "Merchandise Retail" +}, { + "name": "Michelin", + "category": "Automotive Services" +}, { + "name": "Microtel Inn", + "category": "Lodging" +}, { + "name": "MidFirst Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "MidWestOne Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Midas", + "category": "Automotive Services" +}, { + "name": "Midland States Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Midwest Dental La Crosse", + "category": "Dental" +}, { + "name": "Miele", + "category": "Merchandise Retail" +}, { + "name": "Mighty Auto Parts", + "category": "Automotive and Parts Dealers" +}, { + "name": "Miller Paint Company", + "category": "Merchandise Retail" +}, { + "name": "Miller\u0027s Ale House", + "category": "Food and Drink" +}, { + "name": "Mimi\u0027s Cafe", + "category": "Food and Drink" +}, { + "name": "Miniso", + "category": "Merchandise Retail" +}, { + "name": "Minit Mart", + "category": "Grocery and Liquor" +}, { + "name": "Mirabito", + "category": "Grocery and Liquor" +}, { + "name": "Miracle-Ear", + "category": "Health and Personal Care Retailers" +}, { + "name": "Missoni", + "category": "Merchandise Retail" +}, { + "name": "Mister Car Wash", + "category": "Automotive Services" +}, { + "name": "Mitre 10", + "category": "Merchandise Retail" +}, { + "name": "Miu Miu", + "category": "Merchandise Retail" +}, { + "name": "Mobil", + "category": "Gas Station" +}, { + "name": "MobilityWorks", + "category": "Automotive and Parts Dealers" +}, { + "name": "Mochinut", + "category": "Food and Drink" +}, { + "name": "Mod Wash", + "category": "Automotive Services" +}, { + "name": "Moe\u0027s Southwest Grill", + "category": "Food and Drink" +}, { + "name": "Moleskine Store", + "category": "Merchandise Retail" +}, { + "name": "Molteni\u0026C Flagship Store", + "category": "Merchandise Retail" +}, { + "name": "Molton Brown", + "category": "Merchandise Retail" +}, { + "name": "Monarch Dental", + "category": "Dental" +}, { + "name": "Moncler", + "category": "Merchandise Retail" +}, { + "name": "MoneyGram", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Monical\u0027s Pizza", + "category": "Food and Drink" +}, { + "name": "Monro, Inc", + "category": "Automotive Services" +}, { + "name": "Montblanc", + "category": "Merchandise Retail" +}, { + "name": "Montefiore", + "category": "Hospital" +}, { + "name": "Montepio", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Morton\u0027s The Steakhouse", + "category": "Food and Drink" +}, { + "name": "Moschino", + "category": "Merchandise Retail" +}, { + "name": "Motel 6", + "category": "Lodging" +}, { + "name": "Mother\u0027s Nutritional Center", + "category": "Grocery and Liquor" +}, { + "name": "Moto Mart", + "category": "Gas Station" +}, { + "name": "Mount Carmel Medical Group", + "category": "Hospital" +}, { + "name": "Mountain Mike\u0027s Pizza", + "category": "Food and Drink" +}, { + "name": "Mountain Warehouse", + "category": "Merchandise Retail" +}, { + "name": "Movado", + "category": "Merchandise Retail" +}, { + "name": "Moxie\u0027s Grill \u0026 Bar", + "category": "Food and Drink" +}, { + "name": "Moxy", + "category": "Lodging" +}, { + "name": "Mr. Gatti\u0027s Pizza", + "category": "Food and Drink" +}, { + "name": "Mr. Hero", + "category": "Food and Drink" +}, { + "name": "Mr. Pickle\u0027s Sandwich Shop", + "category": "Food and Drink" +}, { + "name": "Mr. Tire Auto Service Centers", + "category": "Automotive Services" +}, { + "name": "Mr. W Fireworks", + "category": "Merchandise Retail" +}, { + "name": "Mr. Wish", + "category": "Food and Drink" +}, { + "name": "MrJims.Pizza", + "category": "Food and Drink" +}, { + "name": "Mrs. Fields", + "category": "Food and Drink" +}, { + "name": "Mud Bay", + "category": "Merchandise Retail" +}, { + "name": "Muji", + "category": "Grocery and Liquor" +}, { + "name": "Murphy USA", + "category": "Gas Station" +}, { + "name": "Music \u0026 Arts", + "category": "Merchandise Retail" +}, { + "name": "My Gym", + "category": "Fitness" +}, { + "name": "My Hearing Centers", + "category": "Health and Personal Care Retailers" +}, { + "name": "My Place Hotel", + "category": "Lodging" +}, { + "name": "MÜV", + "category": "Merchandise Retail" +}, { + "name": "Möge Tee", + "category": "Food and Drink" +}, { + "name": "NAB", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "NAPA Auto Parts", + "category": "Automotive and Parts Dealers" +}, { + "name": "NBP", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "NBT Bank of Syracuse", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "NH Collection Hotels", + "category": "Lodging" +}, { + "name": "NH Liquor \u0026 Wine Outlet", + "category": "Grocery and Liquor" +}, { + "name": "NOURIA ENERGY", + "category": "Grocery and Liquor" +}, { + "name": "NTB-National Tire \u0026 Battery", + "category": "Automotive Services" +}, { + "name": "Nando\u0027s", + "category": "Food and Drink" +}, { + "name": "Napa Autocare Center", + "category": "Automotive Services" +}, { + "name": "Nathan\u0027s", + "category": "Food and Drink" +}, { + "name": "National Bank of Arizona", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "National Bitcoin ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "National Car Rental", + "category": "Automotive Rentals" +}, { + "name": "National Coatings \u0026 Supplies", + "category": "Merchandise Retail" +}, { + "name": "National Pool Tile Group", + "category": "Merchandise Retail" +}, { + "name": "National Seating \u0026 Mobility", + "category": "Health and Personal Care Retailers" +}, { + "name": "National Vision", + "category": "Health and Personal Care Retailers" +}, { + "name": "Natura", + "category": "Health and Personal Care Retailers" +}, { + "name": "Natural Grocers", + "category": "Grocery and Liquor" +}, { + "name": "Naturalizer", + "category": "Merchandise Retail" +}, { + "name": "Nature Republic", + "category": "Health and Personal Care Retailers" +}, { + "name": "Nature\u0027s Sunshine Products", + "category": "Health and Personal Care Retailers" +}, { + "name": "Naturissimo", + "category": "Food and Drink" +}, { + "name": "Natuzzi", + "category": "Merchandise Retail" +}, { + "name": "Nautica", + "category": "Merchandise Retail" +}, { + "name": "Nautical Bowls", + "category": "Food and Drink" +}, { + "name": "Navy Exchange", + "category": "Merchandise Retail" +}, { + "name": "Navy Federal Credit Union ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Nekter Juice Bar", + "category": "Food and Drink" +}, { + "name": "Nespresso", + "category": "Merchandise Retail" +}, { + "name": "Neuhaus", + "category": "Food and Drink" +}, { + "name": "New Balance", + "category": "Merchandise Retail" +}, { + "name": "New China", + "category": "Food and Drink" +}, { + "name": "New York Community Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "New York Fries", + "category": "Food and Drink" +}, { + "name": "New York Pizzeria", + "category": "Food and Drink" +}, { + "name": "NewYork–Presbyterian Hospital", + "category": "Hospital" +}, { + "name": "Newk\u0027s Eatery", + "category": "Food and Drink" +}, { + "name": "Nextcar", + "category": "Automotive Rentals" +}, { + "name": "Nicolet National Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Nike Factory Store", + "category": "Merchandise Retail" +}, { + "name": "Nike Store", + "category": "Merchandise Retail" +}, { + "name": "Nikon", + "category": "Electronics Retailers" +}, { + "name": "Nine West", + "category": "Merchandise Retail" +}, { + "name": "Nippon Rent-a-car", + "category": "Automotive Rentals" +}, { + "name": "Noah\u0027s Bagels", + "category": "Food and Drink" +}, { + "name": "Nokia", + "category": "Electronics Retailers" +}, { + "name": "Noodles and Company", + "category": "Food and Drink" +}, { + "name": "Nordea", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Nordstrom", + "category": "Merchandise Retail" +}, { + "name": "Nordstrom Ebar Artisan Coffee", + "category": "Food and Drink" +}, { + "name": "Nordstrom Rack", + "category": "Merchandise Retail" +}, { + "name": "Northern Tool + Equipment", + "category": "Merchandise Retail" +}, { + "name": "Northwest Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Nothing Bundt Cakes", + "category": "Food and Drink" +}, { + "name": "Novotel", + "category": "Lodging" +}, { + "name": "Novus Glass", + "category": "Automotive Services" +}, { + "name": "NrGize", + "category": "Food and Drink" +}, { + "name": "Nutrishop", + "category": "Health and Personal Care Retailers" +}, { + "name": "O\u0027Charley’s Restaurant \u0026 Bar", + "category": "Food and Drink" +}, { + "name": "O\u0027Neill", + "category": "Merchandise Retail" +}, { + "name": "O\u0027Reilly Auto Parts", + "category": "Automotive and Parts Dealers" +}, { + "name": "OAKBERRY", + "category": "Food and Drink" +}, { + "name": "OCBC", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "OSIM", + "category": "Merchandise Retail" +}, { + "name": "OSKA", + "category": "Merchandise Retail" +}, { + "name": "OXXO", + "category": "Grocery and Liquor" +}, { + "name": "OYO", + "category": "Lodging" +}, { + "name": "OYO Townhouse", + "category": "Lodging" +}, { + "name": "Oakley", + "category": "Merchandise Retail" +}, { + "name": "Ocean State Job Lot", + "category": "Merchandise Retail" +}, { + "name": "OceanFirst Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Off Broadway Shoe Warehouse", + "category": "Merchandise Retail" +}, { + "name": "Office Depot", + "category": "Merchandise Retail" +}, { + "name": "OfficeMax", + "category": "Merchandise Retail" +}, { + "name": "Officine Panerai", + "category": "Merchandise Retail" +}, { + "name": "Oil Changers", + "category": "Automotive Services" +}, { + "name": "Ojo de Agua", + "category": "Food and Drink" +}, { + "name": "Old Chicago", + "category": "Food and Drink" +}, { + "name": "Old National Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Old Navy", + "category": "Merchandise Retail" +}, { + "name": "Old Second National Bank ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Olive Garden Italian Restaurant", + "category": "Food and Drink" +}, { + "name": "Ollie\u0027s Bargain Outlet", + "category": "Merchandise Retail" +}, { + "name": "Olsen Europe", + "category": "Merchandise Retail" +}, { + "name": "Omega", + "category": "Merchandise Retail" +}, { + "name": "Omni", + "category": "Lodging" +}, { + "name": "Omnicare", + "category": "Health and Personal Care Retailers" +}, { + "name": "Omnilife", + "category": "Merchandise Retail" +}, { + "name": "On The Border Mexican Grill \u0026 Cantina", + "category": "Food and Drink" +}, { + "name": "On the Run", + "category": "Grocery and Liquor" +}, { + "name": "OnCue Express", + "category": "Grocery and Liquor" +}, { + "name": "Once Upon A Child", + "category": "Merchandise Retail" +}, { + "name": "One Parking", + "category": "Parking" +}, { + "name": "Ono Hawaiian BBQ", + "category": "Food and Drink" +}, { + "name": "Orange Julius", + "category": "Food and Drink" +}, { + "name": "Orange Leaf", + "category": "Food and Drink" +}, { + "name": "Orangetheory Fitness", + "category": "Fitness" +}, { + "name": "Oreck", + "category": "Merchandise Retail" +}, { + "name": "Origin Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Original Joe\u0027s", + "category": "Food and Drink" +}, { + "name": "Original Pancake House", + "category": "Food and Drink" +}, { + "name": "Original Penguin", + "category": "Merchandise Retail" +}, { + "name": "Origins", + "category": "Health and Personal Care Retailers" +}, { + "name": "Orvis", + "category": "Merchandise Retail" +}, { + "name": "OshKosh B\u0027gosh", + "category": "Merchandise Retail" +}, { + "name": "Outback Steakhouse", + "category": "Food and Drink" +}, { + "name": "Outdoor Cover Warehouse", + "category": "Merchandise Retail" +}, { + "name": "P.C. Richard \u0026 Son", + "category": "Merchandise Retail" +}, { + "name": "P.F. Chang\u0027s", + "category": "Food and Drink" +}, { + "name": "PANDORA", + "category": "Merchandise Retail" +}, { + "name": "PDQ Restaurant", + "category": "Food and Drink" +}, { + "name": "PGA TOUR Superstore", + "category": "Merchandise Retail" +}, { + "name": "PGW Auto Glass", + "category": "Automotive and Parts Dealers" +}, { + "name": "PHILIPP PLEIN", + "category": "Merchandise Retail" +}, { + "name": "PIP Marketing, Signs, Print", + "category": "Merchandise Retail" +}, { + "name": "PJ\u0027s Coffee", + "category": "Food and Drink" +}, { + "name": "PNC ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "PNC Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "POP MART", + "category": "Merchandise Retail" +}, { + "name": "PPG Paints", + "category": "Merchandise Retail" +}, { + "name": "PUMA", + "category": "Merchandise Retail" +}, { + "name": "Pacific Dental", + "category": "Dental" +}, { + "name": "Pacific Pride", + "category": "Gas Station" +}, { + "name": "Pacific Sunwear", + "category": "Merchandise Retail" +}, { + "name": "Padel Nuestro", + "category": "Merchandise Retail" +}, { + "name": "Pagoda", + "category": "Merchandise Retail" +}, { + "name": "Painted Tree Boutiques", + "category": "Merchandise Retail" +}, { + "name": "Palace Inn", + "category": "Lodging" +}, { + "name": "Pancheros Mexican Grill", + "category": "Food and Drink" +}, { + "name": "Panda Express", + "category": "Food and Drink" +}, { + "name": "Panera Bread", + "category": "Food and Drink" +}, { + "name": "Papa Gino\u0027s", + "category": "Food and Drink" +}, { + "name": "Papa John\u0027s Pizza", + "category": "Food and Drink" +}, { + "name": "Papa Murphy\u0027s Take \u0027N\u0027 Bake Pizza", + "category": "Food and Drink" +}, { + "name": "Paper Source", + "category": "Merchandise Retail" +}, { + "name": "Papé Kenworth", + "category": "Automotive and Parts Dealers" +}, { + "name": "Par Mar Stores", + "category": "Grocery and Liquor" +}, { + "name": "Pardon My Cheesesteak", + "category": "Food and Drink" +}, { + "name": "Paris Baguette", + "category": "Food and Drink" +}, { + "name": "Paris Miki", + "category": "Health and Personal Care Retailers" +}, { + "name": "Parisi Speed School", + "category": "Fitness" +}, { + "name": "Park Hyatt", + "category": "Lodging" +}, { + "name": "Park Inn", + "category": "Lodging" +}, { + "name": "Park National Bank:", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Parts Authority", + "category": "Automotive and Parts Dealers" +}, { + "name": "Parts City Auto Parts", + "category": "Automotive and Parts Dealers" +}, { + "name": "Party City", + "category": "Merchandise Retail" +}, { + "name": "Patagonia, Inc.", + "category": "Merchandise Retail" +}, { + "name": "Patek Philippe", + "category": "Merchandise Retail" +}, { + "name": "Patel Brothers", + "category": "Grocery and Liquor" +}, { + "name": "Patterson Dental", + "category": "Merchandise Retail" +}, { + "name": "Paul \u0026 Shark", + "category": "Merchandise Retail" +}, { + "name": "Paul Smith", + "category": "Merchandise Retail" +}, { + "name": "Paul Stuart", + "category": "Merchandise Retail" +}, { + "name": "Payless Car Rental", + "category": "Automotive Rentals" +}, { + "name": "Payless ShoeSource", + "category": "Merchandise Retail" +}, { + "name": "Peach Cobbler Factory", + "category": "Food and Drink" +}, { + "name": "Pedego Electric Bikes", + "category": "Merchandise Retail" +}, { + "name": "Peerless Tires", + "category": "Automotive Services" +}, { + "name": "Peet\u0027s Coffee", + "category": "Food and Drink" +}, { + "name": "Pei Wei", + "category": "Food and Drink" +}, { + "name": "Pelican\u0027s SnoBalls", + "category": "Food and Drink" +}, { + "name": "Pemex", + "category": "Gas Station" +}, { + "name": "Penn Station East Coast Subs", + "category": "Food and Drink" +}, { + "name": "Pennzoil", + "category": "Automotive Services" +}, { + "name": "People\u0027s United Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Peoples Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Pep Boys Auto Parts \u0026 Service", + "category": "Automotive Services" +}, { + "name": "Pepe\u0027s Mexican Restaurants", + "category": "Food and Drink" +}, { + "name": "Pepper Lunch", + "category": "Food and Drink" +}, { + "name": "Pepper Palace", + "category": "Grocery and Liquor" +}, { + "name": "Perfumania", + "category": "Health and Personal Care Retailers" +}, { + "name": "Perfumes 4U", + "category": "Merchandise Retail" +}, { + "name": "Perkins Restaurant \u0026 Bakery", + "category": "Food and Drink" +}, { + "name": "Pestana", + "category": "Lodging" +}, { + "name": "Pet Food Express", + "category": "Merchandise Retail" +}, { + "name": "Pet Planet", + "category": "Merchandise Retail" +}, { + "name": "Pet Supermarket", + "category": "Merchandise Retail" +}, { + "name": "Pet Supplies Plus", + "category": "Merchandise Retail" +}, { + "name": "Pet Valu", + "category": "Merchandise Retail" +}, { + "name": "PetSmart", + "category": "Merchandise Retail" +}, { + "name": "Petco", + "category": "Merchandise Retail" +}, { + "name": "Pete\u0027s", + "category": "Grocery and Liquor" +}, { + "name": "Peter Piper Pizza", + "category": "Food and Drink" +}, { + "name": "Peterbilt", + "category": "Automotive and Parts Dealers" +}, { + "name": "Petland", + "category": "Merchandise Retail" +}, { + "name": "Petsense", + "category": "Merchandise Retail" +}, { + "name": "Phantom Fireworks", + "category": "Merchandise Retail" +}, { + "name": "Phar Merica", + "category": "Health and Personal Care Retailers" +}, { + "name": "Phillips 66", + "category": "Gas Station" +}, { + "name": "Philly Pretzel Factory", + "category": "Food and Drink" +}, { + "name": "Philz Coffee", + "category": "Food and Drink" +}, { + "name": "Phiten", + "category": "Merchandise Retail" +}, { + "name": "Phuc Long Coffee \u0026 Tea", + "category": "Food and Drink" +}, { + "name": "Piada Italian Street Food", + "category": "Food and Drink" +}, { + "name": "Piaget", + "category": "Merchandise Retail" +}, { + "name": "Pick \u0027n Save", + "category": "Grocery and Liquor" +}, { + "name": "Pick \u0027n Save Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Pick n Pay", + "category": "Grocery and Liquor" +}, { + "name": "Pieology", + "category": "Food and Drink" +}, { + "name": "Piercing Pagoda", + "category": "Merchandise Retail" +}, { + "name": "Piggly Wiggly", + "category": "Grocery and Liquor" +}, { + "name": "Pinch A Penny Pool Patio Spa", + "category": "Merchandise Retail" +}, { + "name": "Pinkberry", + "category": "Food and Drink" +}, { + "name": "Pinko", + "category": "Merchandise Retail" +}, { + "name": "Pinnacle Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Pinnacle Financial Partners", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Pio Pio", + "category": "Food and Drink" +}, { + "name": "Pirelli", + "category": "Automotive Services" +}, { + "name": "Pita Pit", + "category": "Food and Drink" +}, { + "name": "Pittsburgh Paints \u0026 Stains - Available At Menard\u0027s", + "category": "Merchandise Retail" +}, { + "name": "Pizza Boli\u0027s", + "category": "Food and Drink" +}, { + "name": "Pizza Factory", + "category": "Food and Drink" +}, { + "name": "Pizza Guys", + "category": "Food and Drink" +}, { + "name": "Pizza Hut", + "category": "Food and Drink" +}, { + "name": "Pizza Inn", + "category": "Food and Drink" +}, { + "name": "Pizza King", + "category": "Food and Drink" +}, { + "name": "Pizza Patron", + "category": "Food and Drink" +}, { + "name": "Pizza Plus", + "category": "Food and Drink" +}, { + "name": "Pizza Pro", + "category": "Food and Drink" +}, { + "name": "Pizza Ranch", + "category": "Food and Drink" +}, { + "name": "PizzaForno", + "category": "Food and Drink" +}, { + "name": "Plaid Pantry", + "category": "Grocery and Liquor" +}, { + "name": "Planet Fitness", + "category": "Fitness" +}, { + "name": "Planet Smoothie", + "category": "Food and Drink" +}, { + "name": "Plato\u0027s Closet", + "category": "Merchandise Retail" +}, { + "name": "Play It Again Sports", + "category": "Merchandise Retail" +}, { + "name": "Playa Bowls", + "category": "Food and Drink" +}, { + "name": "Plaza Azteca", + "category": "Food and Drink" +}, { + "name": "Plaza Tire Service", + "category": "Automotive Services" +}, { + "name": "Poggenpohl", + "category": "Merchandise Retail" +}, { + "name": "Point S Tire \u0026 Auto Service", + "category": "Automotive Services" +}, { + "name": "Poke Bar", + "category": "Food and Drink" +}, { + "name": "Poke Bros.", + "category": "Food and Drink" +}, { + "name": "Poke House", + "category": "Food and Drink" +}, { + "name": "Pokeworks", + "category": "Food and Drink" +}, { + "name": "Polestar", + "category": "Automotive and Parts Dealers" +}, { + "name": "Poliform", + "category": "Merchandise Retail" +}, { + "name": "Pollo Campero", + "category": "Food and Drink" +}, { + "name": "Pollo Feliz", + "category": "Food and Drink" +}, { + "name": "Pollo Pepe", + "category": "Food and Drink" +}, { + "name": "Pollo Regio", + "category": "Food and Drink" +}, { + "name": "Pollo Tropical", + "category": "Food and Drink" +}, { + "name": "Pomellato", + "category": "Merchandise Retail" +}, { + "name": "Pomp\u0027s Tire", + "category": "Automotive Services" +}, { + "name": "Popeyes Louisiana Kitchen", + "category": "Food and Drink" +}, { + "name": "Porcelanosa", + "category": "Merchandise Retail" +}, { + "name": "Port of Subs", + "category": "Food and Drink" +}, { + "name": "Portillo\u0027s Hot Dogs", + "category": "Food and Drink" +}, { + "name": "Potbelly Sandwich Shop", + "category": "Food and Drink" +}, { + "name": "Pottery Barn", + "category": "Merchandise Retail" +}, { + "name": "Powerhouse Gym", + "category": "Fitness" +}, { + "name": "Prada", + "category": "Merchandise Retail" +}, { + "name": "Precision Tune Auto Care", + "category": "Automotive Services" +}, { + "name": "Premium Outlets", + "category": "Merchandise Retail" +}, { + "name": "Premium Parking", + "category": "Parking" +}, { + "name": "Pressed Juicery", + "category": "Food and Drink" +}, { + "name": "Presto! ATM at Publix®", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Pret A Manger", + "category": "Food and Drink" +}, { + "name": "Pretzelmaker", + "category": "Food and Drink" +}, { + "name": "Prezzo", + "category": "Food and Drink" +}, { + "name": "Price Chopper", + "category": "Grocery and Liquor" +}, { + "name": "Price Chopper Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Price Rite", + "category": "Grocery and Liquor" +}, { + "name": "Primark", + "category": "Merchandise Retail" +}, { + "name": "Primo Hoagies", + "category": "Food and Drink" +}, { + "name": "Pro Image Sports", + "category": "Merchandise Retail" +}, { + "name": "ProSource", + "category": "Merchandise Retail" +}, { + "name": "Promod", + "category": "Merchandise Retail" +}, { + "name": "Pronovias", + "category": "Merchandise Retail" +}, { + "name": "Prosperity Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Provident Bank of New Jersey", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Psycho Bunny", + "category": "Merchandise Retail" +}, { + "name": "Publix", + "category": "Grocery and Liquor" +}, { + "name": "Publix Liquors", + "category": "Grocery and Liquor" +}, { + "name": "Publix Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Pullman Hotels and Resorts", + "category": "Lodging" +}, { + "name": "Pulp Juice and Smoothie Bar", + "category": "Food and Drink" +}, { + "name": "Pump \u0026 Pantry", + "category": "Merchandise Retail" +}, { + "name": "Purcell Tire and Service Center", + "category": "Automotive Services" +}, { + "name": "Pure Green", + "category": "Food and Drink" +}, { + "name": "Pure Romance", + "category": "Merchandise Retail" +}, { + "name": "Purificación García", + "category": "Merchandise Retail" +}, { + "name": "Purple", + "category": "Merchandise Retail" +}, { + "name": "QDOBA", + "category": "Food and Drink" +}, { + "name": "Quad Coin Bitcoin ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Quality Food Center", + "category": "Grocery and Liquor" +}, { + "name": "Quality Inn", + "category": "Lodging" +}, { + "name": "Quarles Fleet Fueling", + "category": "Gas Station" +}, { + "name": "Quick Fuel", + "category": "Gas Station" +}, { + "name": "Quick Lane", + "category": "Automotive Services" +}, { + "name": "Quick Quack Car Wash", + "category": "Automotive Services" +}, { + "name": "Quick Stop", + "category": "Grocery and Liquor" +}, { + "name": "Quick Track", + "category": "Grocery and Liquor" +}, { + "name": "QuickChek", + "category": "Gas Station" +}, { + "name": "Quickly", + "category": "Food and Drink" +}, { + "name": "Quik Stop", + "category": "Grocery and Liquor" +}, { + "name": "QuikTrip", + "category": "Gas Station" +}, { + "name": "Quiksilver", + "category": "Merchandise Retail" +}, { + "name": "Quiznos", + "category": "Food and Drink" +}, { + "name": "R-Store", + "category": "Grocery and Liquor" +}, { + "name": "R.E. Michel Company", + "category": "Merchandise Retail" +}, { + "name": "R.P. Lumber Company", + "category": "Merchandise Retail" +}, { + "name": "RCB Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "RDA Pro Mart", + "category": "Merchandise Retail" +}, { + "name": "REEDS Jewelers", + "category": "Merchandise Retail" +}, { + "name": "REI", + "category": "Merchandise Retail" +}, { + "name": "RIMOWA", + "category": "Merchandise Retail" +}, { + "name": "RISE", + "category": "Merchandise Retail" +}, { + "name": "RNR Tire Express \u0026 Custom Wheels", + "category": "Automotive Services" +}, { + "name": "ROSA CLARÁ", + "category": "Merchandise Retail" +}, { + "name": "RaceTrac", + "category": "Gas Station" +}, { + "name": "RaceWay", + "category": "Gas Station" +}, { + "name": "Rack Room Shoes", + "category": "Merchandise Retail" +}, { + "name": "RadioShack", + "category": "Electronics Retailers" +}, { + "name": "Radisson", + "category": "Lodging" +}, { + "name": "Radisson Blu", + "category": "Lodging" +}, { + "name": "Radisson Individuals", + "category": "Lodging" +}, { + "name": "Rainbow", + "category": "Merchandise Retail" +}, { + "name": "Rainbow Vacuum", + "category": "Merchandise Retail" +}, { + "name": "Rainsoft", + "category": "Merchandise Retail" +}, { + "name": "Raise the Roost", + "category": "Food and Drink" +}, { + "name": "Raising Cane\u0027s Chicken Fingers", + "category": "Food and Drink" +}, { + "name": "Raley\u0027s", + "category": "Grocery and Liquor" +}, { + "name": "Raley\u0027s Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Rally House", + "category": "Merchandise Retail" +}, { + "name": "Rally\u0027s", + "category": "Food and Drink" +}, { + "name": "Ralph Lauren", + "category": "Merchandise Retail" +}, { + "name": "Ralph\u0027s Italian Ices", + "category": "Food and Drink" +}, { + "name": "Ralphs", + "category": "Grocery and Liquor" +}, { + "name": "Ralphs Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Ramada By Wyndham", + "category": "Lodging" +}, { + "name": "Ray-Ban", + "category": "Merchandise Retail" +}, { + "name": "Raymour \u0026 Flanigan Furniture", + "category": "Merchandise Retail" +}, { + "name": "Real Fruit Bubble Tea", + "category": "Food and Drink" +}, { + "name": "Rebel", + "category": "Grocery and Liquor" +}, { + "name": "Red Apple", + "category": "Merchandise Retail" +}, { + "name": "Red Carpet Inn", + "category": "Lodging" +}, { + "name": "Red Mango", + "category": "Food and Drink" +}, { + "name": "Red Ribbon Bakeshop", + "category": "Food and Drink" +}, { + "name": "Red Robin Gourmet Burgers and Brews", + "category": "Food and Drink" +}, { + "name": "Red Roof Inn", + "category": "Lodging" +}, { + "name": "Red Roof Inn Plus", + "category": "Lodging" +}, { + "name": "Red Star Vapor", + "category": "Merchandise Retail" +}, { + "name": "Red Wing", + "category": "Merchandise Retail" +}, { + "name": "Reebok", + "category": "Merchandise Retail" +}, { + "name": "Reece Plumbing", + "category": "Merchandise Retail" +}, { + "name": "Reformation", + "category": "Merchandise Retail" +}, { + "name": "Refuel", + "category": "Gas Station" +}, { + "name": "Regal", + "category": "Movie theater" +}, { + "name": "Regions Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Reiss", + "category": "Merchandise Retail" +}, { + "name": "Relax The Back", + "category": "Merchandise Retail" +}, { + "name": "Renaissance", + "category": "Lodging" +}, { + "name": "Renasant Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Rent One", + "category": "Merchandise Retail" +}, { + "name": "Rent-A-Center", + "category": "Merchandise Retail" +}, { + "name": "Rent-A-Wheel", + "category": "Automotive Services" +}, { + "name": "Rent-A-Wreck", + "category": "Automotive Rentals" +}, { + "name": "Republic Parking", + "category": "Parking" +}, { + "name": "Residence Inn by Marriott", + "category": "Lodging" +}, { + "name": "Restaurant Depot", + "category": "Merchandise Retail" +}, { + "name": "Restoration Hardware", + "category": "Merchandise Retail" +}, { + "name": "Retro Fitness", + "category": "Fitness" +}, { + "name": "Rhino Linings", + "category": "Automotive Services" +}, { + "name": "Richelieu", + "category": "Merchandise Retail" +}, { + "name": "Riddle’s Jewelry", + "category": "Merchandise Retail" +}, { + "name": "Rinascimento", + "category": "Merchandise Retail" +}, { + "name": "Rip Curl", + "category": "Merchandise Retail" +}, { + "name": "Rita\u0027s", + "category": "Food and Drink" +}, { + "name": "Rite Aid", + "category": "Health and Personal Care Retailers" +}, { + "name": "Ritz-Carlton Hotel Company", + "category": "Lodging" +}, { + "name": "Rivian", + "category": "Automotive Services" +}, { + "name": "Riyad Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Robeks Fresh Juices \u0026 Smoothies", + "category": "Food and Drink" +}, { + "name": "Robert Allen", + "category": "Merchandise Retail" +}, { + "name": "Roberto Cavalli", + "category": "Merchandise Retail" +}, { + "name": "Roberto\u0027s Taco Shop", + "category": "Food and Drink" +}, { + "name": "Roche Bobois", + "category": "Merchandise Retail" +}, { + "name": "Rock N Roll Sushi", + "category": "Food and Drink" +}, { + "name": "Rocket Fizz", + "category": "Food and Drink" +}, { + "name": "Rockland Trust", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Rocky Mountain Chocolate", + "category": "Food and Drink" +}, { + "name": "Rodd \u0026 Gunn", + "category": "Merchandise Retail" +}, { + "name": "Rodda Paint", + "category": "Merchandise Retail" +}, { + "name": "Rodeway Inn", + "category": "Lodging" +}, { + "name": "Roger Vivier", + "category": "Merchandise Retail" +}, { + "name": "Rolex", + "category": "Merchandise Retail" +}, { + "name": "Romeo\u0027s Pizza", + "category": "Food and Drink" +}, { + "name": "Rooms To Go", + "category": "Merchandise Retail" +}, { + "name": "Rosa\u0027s Café \u0026 Tortilla Factory", + "category": "Food and Drink" +}, { + "name": "Rosati\u0027s Pizza", + "category": "Food and Drink" +}, { + "name": "Rose Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Roses", + "category": "Merchandise Retail" +}, { + "name": "Ross Dress for Less", + "category": "Merchandise Retail" +}, { + "name": "Round Table Pizza", + "category": "Food and Drink" +}, { + "name": "Rouses Market", + "category": "Grocery and Liquor" +}, { + "name": "Royal Farms", + "category": "Grocery and Liquor" +}, { + "name": "Royal Prestige", + "category": "Merchandise Retail" +}, { + "name": "Royce", + "category": "Food and Drink" +}, { + "name": "Rubio\u0027s", + "category": "Food and Drink" +}, { + "name": "Ruby Thai Kitchen", + "category": "Food and Drink" +}, { + "name": "Ruby Tuesday", + "category": "Food and Drink" +}, { + "name": "Rudy\u0027s", + "category": "Food and Drink" +}, { + "name": "Runners Need", + "category": "Merchandise Retail" +}, { + "name": "Running Room", + "category": "Merchandise Retail" +}, { + "name": "Runnings", + "category": "Grocery and Liquor" +}, { + "name": "Runza", + "category": "Food and Drink" +}, { + "name": "Rush Bowls", + "category": "Food and Drink" +}, { + "name": "Rush Truck Center", + "category": "Automotive and Parts Dealers" +}, { + "name": "Ruth\u0027s Chris Steak House", + "category": "Food and Drink" +}, { + "name": "Rutter\u0027s", + "category": "Gas Station" +}, { + "name": "Ryder Used Truck Sales", + "category": "Merchandise Retail" +}, { + "name": "S\u0026T Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "SANDMAN HOTEL", + "category": "Lodging" +}, { + "name": "SAS Shoes", + "category": "Merchandise Retail" +}, { + "name": "SC Fuels", + "category": "Gas Station" +}, { + "name": "SCP Distributors LLC", + "category": "Merchandise Retail" +}, { + "name": "SECU Credit Union", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "SEPHORA", + "category": "Health and Personal Care Retailers" +}, { + "name": "SEPTA", + "category": "Parking" +}, { + "name": "SHOP \u0027n SAVE", + "category": "Grocery and Liquor" +}, { + "name": "SKECHERS", + "category": "Merchandise Retail" +}, { + "name": "SNIPES", + "category": "Merchandise Retail" +}, { + "name": "SPENGA", + "category": "Fitness" +}, { + "name": "STAR Financial Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Safeway", + "category": "Grocery and Liquor" +}, { + "name": "Safeway Bakery", + "category": "Food and Drink" +}, { + "name": "Safeway Fuel Station", + "category": "Gas Station" +}, { + "name": "Safeway Liquor", + "category": "Grocery and Liquor" +}, { + "name": "Safeway Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Saint Laurent", + "category": "Merchandise Retail" +}, { + "name": "Saje Natural Wellness", + "category": "Health and Personal Care Retailers" +}, { + "name": "Saks OFF 5TH", + "category": "Merchandise Retail" +}, { + "name": "Salad and Go", + "category": "Food and Drink" +}, { + "name": "Saladworks", + "category": "Food and Drink" +}, { + "name": "Salata", + "category": "Food and Drink" +}, { + "name": "Salerm", + "category": "Health and Personal Care Retailers" +}, { + "name": "Sally Beauty", + "category": "Health and Personal Care Retailers" +}, { + "name": "Salon Service Group", + "category": "Merchandise Retail" +}, { + "name": "SalonCentric", + "category": "Health and Personal Care Retailers" +}, { + "name": "Salsarita\u0027s Fresh", + "category": "Food and Drink" +}, { + "name": "Saltgrass Steak House", + "category": "Food and Drink" +}, { + "name": "Salvation Army Thrift Store", + "category": "Merchandise Retail" +}, { + "name": "Salvatore Ferragamo", + "category": "Merchandise Retail" +}, { + "name": "Sam\u0027s Club", + "category": "Merchandise Retail" +}, { + "name": "Sam\u0027s Club Bakery", + "category": "Grocery and Liquor" +}, { + "name": "Sam\u0027s Club Gas Station", + "category": "Gas Station" +}, { + "name": "Sam\u0027s Club Hearing Aid Center", + "category": "Health and Personal Care Retailers" +}, { + "name": "Sam\u0027s Club Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Sam\u0027s Club Tire \u0026 Battery", + "category": "Automotive Services" +}, { + "name": "Sam\u0027s Southern Eatery", + "category": "Food and Drink" +}, { + "name": "Sam\u0027s Xpress® Car Wash", + "category": "Automotive Services" +}, { + "name": "Samsonite", + "category": "Merchandise Retail" +}, { + "name": "Samsung", + "category": "Electronics Retailers" +}, { + "name": "San Martín", + "category": "Food and Drink" +}, { + "name": "Sandro", + "category": "Merchandise Retail" +}, { + "name": "Sandy Spring Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Sanitas Medical Center", + "category": "Hospital" +}, { + "name": "Sankalp", + "category": "Food and Drink" +}, { + "name": "Sanrio Gift Gate", + "category": "Merchandise Retail" +}, { + "name": "Santander Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Santander Bank ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Sapatinho de Luxo", + "category": "Merchandise Retail" +}, { + "name": "Saravana Bhavan", + "category": "Food and Drink" +}, { + "name": "Sarku Japan", + "category": "Food and Drink" +}, { + "name": "Sav-On Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Save A Lot", + "category": "Grocery and Liquor" +}, { + "name": "Save Mart", + "category": "Grocery and Liquor" +}, { + "name": "Savvy Sliders", + "category": "Food and Drink" +}, { + "name": "Sbarro", + "category": "Food and Drink" +}, { + "name": "Scavolini", + "category": "Merchandise Retail" +}, { + "name": "Schewel Furniture Company", + "category": "Merchandise Retail" +}, { + "name": "Schlotzsky\u0027s", + "category": "Food and Drink" +}, { + "name": "Schnucks", + "category": "Grocery and Liquor" +}, { + "name": "Scooter\u0027s Coffee", + "category": "Food and Drink" +}, { + "name": "Scott Petroleum", + "category": "Gas Station" +}, { + "name": "Scrubs \u0026 Beyond", + "category": "Merchandise Retail" +}, { + "name": "Seacoast Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Seasons Corner Market", + "category": "Grocery and Liquor" +}, { + "name": "Seattle\u0027s Best Coffee", + "category": "Food and Drink" +}, { + "name": "Security Bank of Kansas City", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "See\u0027s Candies", + "category": "Food and Drink" +}, { + "name": "Seiko", + "category": "Merchandise Retail" +}, { + "name": "Select Specialty Hospital", + "category": "Hospital" +}, { + "name": "Selina", + "category": "Lodging" +}, { + "name": "Serta", + "category": "Merchandise Retail" +}, { + "name": "Service Tire Truck Centers", + "category": "Automotive Services" +}, { + "name": "Shah\u0027s Halal Food", + "category": "Food and Drink" +}, { + "name": "Shake Shack", + "category": "Food and Drink" +}, { + "name": "Shakey\u0027s", + "category": "Food and Drink" +}, { + "name": "Sharetea", + "category": "Food and Drink" +}, { + "name": "Sharp", + "category": "Electronics Retailers" +}, { + "name": "Shaw\u0027s", + "category": "Grocery and Liquor" +}, { + "name": "Shazam Atm", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Sheetz", + "category": "Grocery and Liquor" +}, { + "name": "Shell", + "category": "Gas Station" +}, { + "name": "Shell Select", + "category": "Grocery and Liquor" +}, { + "name": "Shelo Nabel", + "category": "Merchandise Retail" +}, { + "name": "Sheraton Hotels and Resorts", + "category": "Lodging" +}, { + "name": "Sherwin-Williams Automotive Finishes", + "category": "Merchandise Retail" +}, { + "name": "Sherwin-Williams Commercial Paint Store", + "category": "Merchandise Retail" +}, { + "name": "Sherwin-Williams Floorcovering Store", + "category": "Merchandise Retail" +}, { + "name": "Sherwin-Williams Paint Store", + "category": "Merchandise Retail" +}, { + "name": "Sherwin-Williams Product Finishes", + "category": "Merchandise Retail" +}, { + "name": "Sherwin-Williams Spray Source Center", + "category": "Merchandise Retail" +}, { + "name": "Shiekh Shoes", + "category": "Merchandise Retail" +}, { + "name": "Shinhan Bank America", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Shipley Do-Nuts", + "category": "Food and Drink" +}, { + "name": "Shiseido", + "category": "Health and Personal Care Retailers" +}, { + "name": "Shoe Carnival", + "category": "Merchandise Retail" +}, { + "name": "Shoe Dept.", + "category": "Merchandise Retail" +}, { + "name": "Shoe Palace", + "category": "Merchandise Retail" +}, { + "name": "Shoe Sensation", + "category": "Merchandise Retail" +}, { + "name": "Shoe Station", + "category": "Merchandise Retail" +}, { + "name": "Shoney\u0027s", + "category": "Food and Drink" +}, { + "name": "ShopRite", + "category": "Grocery and Liquor" +}, { + "name": "ShopRite Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Short Stop Food Mart", + "category": "Grocery and Liquor" +}, { + "name": "Showcase", + "category": "Merchandise Retail" +}, { + "name": "Sid Harvey\u0027s", + "category": "Merchandise Retail" +}, { + "name": "Sierra", + "category": "Merchandise Retail" +}, { + "name": "Sigma Alimentos", + "category": "Grocery and Liquor" +}, { + "name": "Signarama", + "category": "Merchandise Retail" +}, { + "name": "Signs By Tomorrow", + "category": "Merchandise Retail" +}, { + "name": "Signs Now", + "category": "Merchandise Retail" +}, { + "name": "Simmons Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Simple Mobile", + "category": "Telecommunications" +}, { + "name": "Simple Simon\u0027s Pizza", + "category": "Food and Drink" +}, { + "name": "Sinclair", + "category": "Gas Station" +}, { + "name": "Singer", + "category": "Merchandise Retail" +}, { + "name": "Sir Speedy", + "category": "Merchandise Retail" +}, { + "name": "SiteOne Landscape Supply", + "category": "Merchandise Retail" +}, { + "name": "Sixt Rent a Car", + "category": "Automotive Rentals" +}, { + "name": "Sizzler", + "category": "Food and Drink" +}, { + "name": "Skyline Chili", + "category": "Food and Drink" +}, { + "name": "Sleep Inn", + "category": "Lodging" +}, { + "name": "Sleep Number", + "category": "Merchandise Retail" +}, { + "name": "Sleep Outfitters", + "category": "Merchandise Retail" +}, { + "name": "Slim Chickens", + "category": "Food and Drink" +}, { + "name": "Slumberland", + "category": "Merchandise Retail" +}, { + "name": "Smallcakes Cupcakery", + "category": "Food and Drink" +}, { + "name": "Smart \u0026 Final", + "category": "Grocery and Liquor" +}, { + "name": "SmartBank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Smashburger", + "category": "Food and Drink" +}, { + "name": "Smeg", + "category": "Merchandise Retail" +}, { + "name": "Smile Doctors Braces by Kincaid Orthodontics", + "category": "Dental" +}, { + "name": "Smile Doctors Braces by Waugh Orthodontics", + "category": "Dental" +}, { + "name": "Smith\u0027s", + "category": "Grocery and Liquor" +}, { + "name": "Smoker Friendly", + "category": "Merchandise Retail" +}, { + "name": "Smokers Choice", + "category": "Merchandise Retail" +}, { + "name": "Smokey Bones", + "category": "Food and Drink" +}, { + "name": "Smoothie King", + "category": "Food and Drink" +}, { + "name": "Snap Fitness", + "category": "Fitness" +}, { + "name": "Snap-On Tools", + "category": "Merchandise Retail" +}, { + "name": "Snappy Tomato Pizza", + "category": "Food and Drink" +}, { + "name": "Snidel", + "category": "Merchandise Retail" +}, { + "name": "Snider Fleet Solutions", + "category": "Automotive Services" +}, { + "name": "Snooze an A.M. Eatery", + "category": "Food and Drink" +}, { + "name": "SoBol", + "category": "Food and Drink" +}, { + "name": "Societe Generale", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Sodexo", + "category": "Food and Drink" +}, { + "name": "Sodiê Doces", + "category": "Food and Drink" +}, { + "name": "Sofitel", + "category": "Lodging" +}, { + "name": "Soma", + "category": "Merchandise Retail" +}, { + "name": "Somerset Trust", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Sonesta", + "category": "Lodging" +}, { + "name": "Sonesta ES", + "category": "Lodging" +}, { + "name": "Sonesta Select", + "category": "Lodging" +}, { + "name": "Sonesta Simply Suites", + "category": "Lodging" +}, { + "name": "Sonic Drive-In", + "category": "Food and Drink" +}, { + "name": "Sonny\u0027s BBQ", + "category": "Food and Drink" +}, { + "name": "Sonus Hearing Care Professionals", + "category": "Health and Personal Care Retailers" +}, { + "name": "Sony Group Corporation", + "category": "Electronics Retailers" +}, { + "name": "Sourdough \u0026 Co", + "category": "Food and Drink" +}, { + "name": "South State Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Southern Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Southern Boom Fireworks", + "category": "Merchandise Retail" +}, { + "name": "Southern Pipe \u0026 Supply", + "category": "Merchandise Retail" +}, { + "name": "Southern Tire Mart", + "category": "Automotive Services" +}, { + "name": "Southside Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Space NK", + "category": "Merchandise Retail" +}, { + "name": "Spark", + "category": "Lodging" +}, { + "name": "Spec\u0027s Wines, Spirits \u0026 Finer Foods", + "category": "Grocery and Liquor" +}, { + "name": "Spectrum Paint", + "category": "Merchandise Retail" +}, { + "name": "SpeeDee Oil Change \u0026 Auto Service", + "category": "Automotive Services" +}, { + "name": "SpeedPro", + "category": "Merchandise Retail" +}, { + "name": "Speedco", + "category": "Automotive Services" +}, { + "name": "Speedco Truck Lube and Tires", + "category": "Automotive Services" +}, { + "name": "Speedway", + "category": "Gas Station" +}, { + "name": "Speedy Café", + "category": "Food and Drink" +}, { + "name": "Sperry", + "category": "Merchandise Retail" +}, { + "name": "Spice \u0026 Tea Exchange", + "category": "Grocery and Liquor" +}, { + "name": "Spinx", + "category": "Grocery and Liquor" +}, { + "name": "Spirit Halloween", + "category": "Merchandise Retail" +}, { + "name": "Splash Car Wash", + "category": "Automotive Services" +}, { + "name": "Sportsman", + "category": "Merchandise Retail" +}, { + "name": "Spring Market", + "category": "Grocery and Liquor" +}, { + "name": "SpringHill Suites", + "category": "Lodging" +}, { + "name": "Sprint Mart", + "category": "Grocery and Liquor" +}, { + "name": "Sprouts Farmers Market", + "category": "Grocery and Liquor" +}, { + "name": "St. Regis", + "category": "Lodging" +}, { + "name": "Standard Plumbing Supply", + "category": "Merchandise Retail" +}, { + "name": "Staples", + "category": "Merchandise Retail" +}, { + "name": "Starbucks", + "category": "Food and Drink" +}, { + "name": "State Beauty Supply", + "category": "Merchandise Retail" +}, { + "name": "Stater Bros. Markets", + "category": "Grocery and Liquor" +}, { + "name": "Staybridge Suites", + "category": "Lodging" +}, { + "name": "Steak \u0027n Shake", + "category": "Food and Drink" +}, { + "name": "Stefano Ricci", + "category": "Merchandise Retail" +}, { + "name": "Steinway Piano Gallery", + "category": "Merchandise Retail" +}, { + "name": "Steve Madden", + "category": "Merchandise Retail" +}, { + "name": "Stewart\u0027s Shops", + "category": "Gas Station" +}, { + "name": "Stinker Stores", + "category": "Grocery and Liquor" +}, { + "name": "Stock Yards Bank \u0026 Trust", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Stone Island", + "category": "Merchandise Retail" +}, { + "name": "Stoneside Blinds \u0026 Shades", + "category": "Merchandise Retail" +}, { + "name": "Stop \u0026 Shop Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Stop-N-Go", + "category": "Grocery and Liquor" +}, { + "name": "StretchLab", + "category": "Fitness" +}, { + "name": "Strickland Brothers 10 Minute Oil Change", + "category": "Automotive Services" +}, { + "name": "Stripes", + "category": "Grocery and Liquor" +}, { + "name": "Stuart Weitzman", + "category": "Merchandise Retail" +}, { + "name": "Studio 6", + "category": "Lodging" +}, { + "name": "Studio Pilates International", + "category": "Fitness" +}, { + "name": "SuKarne", + "category": "Merchandise Retail" +}, { + "name": "Suburban Extended Stay", + "category": "Lodging" +}, { + "name": "Subway Restaurants", + "category": "Food and Drink" +}, { + "name": "Suitsupply", + "category": "Merchandise Retail" +}, { + "name": "Sullivan Tire \u0026 Auto Service", + "category": "Automotive Services" +}, { + "name": "Summer Moon Coffee", + "category": "Food and Drink" +}, { + "name": "Sun Valley Market \u0026 Deli", + "category": "Grocery and Liquor" +}, { + "name": "Sunflower Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Sunglass Hut", + "category": "Merchandise Retail" +}, { + "name": "Sunnyside Dispensary", + "category": "Merchandise Retail" +}, { + "name": "Sunoco", + "category": "Gas Station" +}, { + "name": "Super 1 Food", + "category": "Grocery and Liquor" +}, { + "name": "Super 8", + "category": "Lodging" +}, { + "name": "Super Star Car Wash", + "category": "Automotive Services" +}, { + "name": "Super Wash", + "category": "Automotive Services" +}, { + "name": "Superdry™", + "category": "Merchandise Retail" +}, { + "name": "Superior Auto, Inc", + "category": "Automotive and Parts Dealers" +}, { + "name": "Superior Grocers", + "category": "Grocery and Liquor" +}, { + "name": "Superior Pool Products", + "category": "Merchandise Retail" +}, { + "name": "Sur La Table", + "category": "Merchandise Retail" +}, { + "name": "SureStay", + "category": "Lodging" +}, { + "name": "SureStay Collection", + "category": "Lodging" +}, { + "name": "SureStay Plus", + "category": "Lodging" +}, { + "name": "Surf City Squeeze", + "category": "Food and Drink" +}, { + "name": "Surf Style", + "category": "Merchandise Retail" +}, { + "name": "Sushi Roll", + "category": "Food and Drink" +}, { + "name": "Swarovski", + "category": "Merchandise Retail" +}, { + "name": "Swatch", + "category": "Merchandise Retail" +}, { + "name": "Sweaty Betty", + "category": "Merchandise Retail" +}, { + "name": "Sweet Fire Tobacco", + "category": "Merchandise Retail" +}, { + "name": "Sweet Frog", + "category": "Food and Drink" +}, { + "name": "Synovus Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "T-Mobile", + "category": "Telecommunications" +}, { + "name": "T.J. Maxx", + "category": "Merchandise Retail" +}, { + "name": "TAG Heuer", + "category": "Merchandise Retail" +}, { + "name": "TCBY", + "category": "Food and Drink" +}, { + "name": "TD Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "TD Bank ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "TD Canada Trust ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "TGI Fridays", + "category": "Food and Drink" +}, { + "name": "THomas Pink", + "category": "Merchandise Retail" +}, { + "name": "TISSOT", + "category": "Merchandise Retail" +}, { + "name": "TNT Fireworks", + "category": "Merchandise Retail" +}, { + "name": "TOD\u0027S Boutique", + "category": "Merchandise Retail" +}, { + "name": "TOGO\u0027S Sandwiches", + "category": "Food and Drink" +}, { + "name": "TOUS", + "category": "Merchandise Retail" +}, { + "name": "TRYP by Wyndham", + "category": "Lodging" +}, { + "name": "Taco Bell", + "category": "Food and Drink" +}, { + "name": "Taco Bueno", + "category": "Food and Drink" +}, { + "name": "Taco Cabana", + "category": "Food and Drink" +}, { + "name": "Taco Casa", + "category": "Food and Drink" +}, { + "name": "Taco John\u0027s", + "category": "Food and Drink" +}, { + "name": "Taco Time", + "category": "Food and Drink" +}, { + "name": "Taj", + "category": "Lodging" +}, { + "name": "Take 5 Oil Change", + "category": "Automotive Services" +}, { + "name": "Talbots", + "category": "Merchandise Retail" +}, { + "name": "Tandy Leather", + "category": "Merchandise Retail" +}, { + "name": "Tapestry Collection", + "category": "Lodging" +}, { + "name": "Taqueria Arandas", + "category": "Food and Drink" +}, { + "name": "Target", + "category": "Merchandise Retail" +}, { + "name": "Target Mobile", + "category": "Telecommunications" +}, { + "name": "Taziki\u0027s", + "category": "Food and Drink" +}, { + "name": "Technogym", + "category": "Merchandise Retail" +}, { + "name": "Ted Baker", + "category": "Merchandise Retail" +}, { + "name": "Tempur-Pedic", + "category": "Merchandise Retail" +}, { + "name": "Ten Ren\u0027s Tea", + "category": "Food and Drink" +}, { + "name": "Teriyaki Madness", + "category": "Food and Drink" +}, { + "name": "Terrible\u0027s", + "category": "Gas Station" +}, { + "name": "Tesla Service Center", + "category": "Automotive Services" +}, { + "name": "Texaco", + "category": "Gas Station" +}, { + "name": "Texas Roadhouse", + "category": "Food and Drink" +}, { + "name": "Texas de Brazil", + "category": "Food and Drink" +}, { + "name": "The Athlete\u0027s Foot", + "category": "Merchandise Retail" +}, { + "name": "The Brass Tap", + "category": "Food and Drink" +}, { + "name": "The Camp Transformation Center", + "category": "Fitness" +}, { + "name": "The Capital Grille", + "category": "Food and Drink" +}, { + "name": "The Cheesecake Factory", + "category": "Food and Drink" +}, { + "name": "The Children\u0027s Place", + "category": "Merchandise Retail" +}, { + "name": "The Chopped Leaf", + "category": "Food and Drink" +}, { + "name": "The Coffee Bean", + "category": "Food and Drink" +}, { + "name": "The Container Store", + "category": "Merchandise Retail" +}, { + "name": "The Giant Company", + "category": "Grocery and Liquor" +}, { + "name": "The Great Greek Mediterranean Grill", + "category": "Food and Drink" +}, { + "name": "The Habit Burger Grill", + "category": "Food and Drink" +}, { + "name": "The Halal Guys", + "category": "Food and Drink" +}, { + "name": "The Home Depot", + "category": "Merchandise Retail" +}, { + "name": "The Honey Baked Ham Company", + "category": "Food and Drink" +}, { + "name": "The Juicy Crab", + "category": "Food and Drink" +}, { + "name": "The Keg Steakhouse \u0026 Bar", + "category": "Food and Drink" +}, { + "name": "The Kooples", + "category": "Merchandise Retail" +}, { + "name": "The LEGO Store", + "category": "Merchandise Retail" +}, { + "name": "The Luxury Collection", + "category": "Lodging" +}, { + "name": "The Medicine Shoppe® Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "The North Face", + "category": "Merchandise Retail" +}, { + "name": "The Old Spaghetti Factory", + "category": "Food and Drink" +}, { + "name": "The Original Mattress Factory", + "category": "Merchandise Retail" +}, { + "name": "The Paper Store", + "category": "Merchandise Retail" +}, { + "name": "The Parts House", + "category": "Automotive and Parts Dealers" +}, { + "name": "The Shade Store", + "category": "Merchandise Retail" +}, { + "name": "The Taco Maker", + "category": "Food and Drink" +}, { + "name": "The Tile Shop", + "category": "Merchandise Retail" +}, { + "name": "The Tire Choice \u0026 Total Car Care", + "category": "Automotive Services" +}, { + "name": "The Vitamin Shoppe", + "category": "Health and Personal Care Retailers" +}, { + "name": "The Wing Experience", + "category": "Food and Drink" +}, { + "name": "Theory", + "category": "Merchandise Retail" +}, { + "name": "Thorntons", + "category": "Gas Station" +}, { + "name": "Thrifty", + "category": "Automotive Rentals" +}, { + "name": "Thrifty White Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Ticketmaster", + "category": "Merchandise Retail" +}, { + "name": "Tidal Wave Auto Spa", + "category": "Automotive Services" +}, { + "name": "Tiff\u0027s Treats", + "category": "Food and Drink" +}, { + "name": "Tiffany \u0026 Co.", + "category": "Merchandise Retail" +}, { + "name": "Tijuana Flats", + "category": "Food and Drink" +}, { + "name": "Tillys", + "category": "Merchandise Retail" +}, { + "name": "Tim Hortons", + "category": "Food and Drink" +}, { + "name": "Timberland", + "category": "Merchandise Retail" +}, { + "name": "Tint World", + "category": "Automotive Services" +}, { + "name": "Tire Discounters", + "category": "Automotive Services" +}, { + "name": "Tire Kingdom", + "category": "Automotive Services" +}, { + "name": "Tire Warehouse", + "category": "Automotive Services" +}, { + "name": "Tires Plus", + "category": "Automotive Services" +}, { + "name": "Tobacco SuperStore", + "category": "Merchandise Retail" +}, { + "name": "Tobacco king", + "category": "Merchandise Retail" +}, { + "name": "Tom Ford", + "category": "Merchandise Retail" +}, { + "name": "Tom James Company", + "category": "Merchandise Retail" +}, { + "name": "Tom N Toms", + "category": "Food and Drink" +}, { + "name": "Tom Thumb", + "category": "Gas Station" +}, { + "name": "Tom Thumb", + "category": "Grocery and Liquor" +}, { + "name": "Tom Thumb Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Tommy Bahama", + "category": "Merchandise Retail" +}, { + "name": "Tommy Hilfiger", + "category": "Merchandise Retail" +}, { + "name": "Tommy\u0027s Express Car Wash", + "category": "Automotive Services" +}, { + "name": "Tony Roma\u0027s", + "category": "Food and Drink" +}, { + "name": "Toot\u0027n Totum", + "category": "Grocery and Liquor" +}, { + "name": "Topgolf", + "category": "Fitness" +}, { + "name": "Toppers", + "category": "Food and Drink" +}, { + "name": "Tops", + "category": "Grocery and Liquor" +}, { + "name": "Tops Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Torchy\u0027s Tacos", + "category": "Food and Drink" +}, { + "name": "Torrid", + "category": "Merchandise Retail" +}, { + "name": "Tory Burch", + "category": "Merchandise Retail" +}, { + "name": "Tostado Café Club", + "category": "Food and Drink" +}, { + "name": "Total Wine \u0026 More", + "category": "Grocery and Liquor" +}, { + "name": "Total Wireless", + "category": "Telecommunications" +}, { + "name": "Tous Les Jours", + "category": "Food and Drink" +}, { + "name": "Town Fair Tire", + "category": "Automotive Services" +}, { + "name": "Town Pump", + "category": "Grocery and Liquor" +}, { + "name": "TowneBank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "TownePlace Suites", + "category": "Lodging" +}, { + "name": "Toyo Tires", + "category": "Automotive Services" +}, { + "name": "Toys\"R\"Us", + "category": "Merchandise Retail" +}, { + "name": "Tractor Supply Co.", + "category": "Merchandise Retail" +}, { + "name": "Tradehome Shoes", + "category": "Merchandise Retail" +}, { + "name": "Trader Joe\u0027s", + "category": "Grocery and Liquor" +}, { + "name": "Trailer Birds", + "category": "Food and Drink" +}, { + "name": "Transtar Industries", + "category": "Automotive and Parts Dealers" +}, { + "name": "Travelodge", + "category": "Lodging" +}, { + "name": "TravisMathew", + "category": "Merchandise Retail" +}, { + "name": "Trek", + "category": "Merchandise Retail" +}, { + "name": "Tri Counties Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Tribute Portfolio", + "category": "Lodging" +}, { + "name": "Tropical Smoothie Cafe", + "category": "Food and Drink" +}, { + "name": "Tropical Sno", + "category": "Food and Drink" +}, { + "name": "Tru By Hilton", + "category": "Lodging" +}, { + "name": "TruckPro", + "category": "Automotive Services" +}, { + "name": "True Religion", + "category": "Merchandise Retail" +}, { + "name": "Truist Financial", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Trulieve", + "category": "Merchandise Retail" +}, { + "name": "Trung Nguyên Legend Café", + "category": "Food and Drink" +}, { + "name": "Trustco Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Trustmark", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Trustmark ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Tudor\u0027s Biscuit World", + "category": "Food and Drink" +}, { + "name": "Tuffy Tire \u0026 Auto Service Center", + "category": "Automotive Services" +}, { + "name": "Tumi", + "category": "Merchandise Retail" +}, { + "name": "Turkey Hill Minit Market", + "category": "Gas Station" +}, { + "name": "Turo", + "category": "Automotive Rentals" +}, { + "name": "Tutti Frutti", + "category": "Food and Drink" +}, { + "name": "Twice Daily", + "category": "Grocery and Liquor" +}, { + "name": "Twin Liquors", + "category": "Grocery and Liquor" +}, { + "name": "Twin Peaks", + "category": "Food and Drink" +}, { + "name": "U-Save Car \u0026 Truck Rental", + "category": "Automotive Rentals" +}, { + "name": "U.S. Bank Branch", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "U.S. Cellular", + "category": "Telecommunications" +}, { + "name": "U.S.AutoForce", + "category": "Automotive Services" +}, { + "name": "UBS", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "UFC Gym", + "category": "Fitness" +}, { + "name": "UGG", + "category": "Merchandise Retail" +}, { + "name": "UMB BANK ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "UMB Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "UNIQLO", + "category": "Merchandise Retail" +}, { + "name": "UNOde50", + "category": "Merchandise Retail" +}, { + "name": "UNTUCKit", + "category": "Merchandise Retail" +}, { + "name": "UOB", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "US Patriot Tactical", + "category": "Merchandise Retail" +}, { + "name": "US Polo", + "category": "Merchandise Retail" +}, { + "name": "USAA", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "USANA Health Sciences", + "category": "Health and Personal Care Retailers" +}, { + "name": "Ulta Beauty", + "category": "Health and Personal Care Retailers" +}, { + "name": "Umpqua Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Unbank Bitcoin ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Under Armour", + "category": "Merchandise Retail" +}, { + "name": "Uni-Mart", + "category": "Grocery and Liquor" +}, { + "name": "UniCredit Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "UniFirst", + "category": "Merchandise Retail" +}, { + "name": "Union Bank \u0026 Trust ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "United Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "United Community Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "United Dairy Farmers", + "category": "Gas Station" +}, { + "name": "United Refrigeration", + "category": "Merchandise Retail" +}, { + "name": "United Supermarkets", + "category": "Grocery and Liquor" +}, { + "name": "United Supermarkets Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "University of Virginia Health System", + "category": "Hospital" +}, { + "name": "Uno Pizzeria \u0026 Grill", + "category": "Food and Drink" +}, { + "name": "Uptown Cheapskate", + "category": "Merchandise Retail" +}, { + "name": "Urban Outfitters", + "category": "Merchandise Retail" +}, { + "name": "Urban Planet", + "category": "Merchandise Retail" +}, { + "name": "VALENTINO", + "category": "Merchandise Retail" +}, { + "name": "VASA Fitness", + "category": "Fitness" +}, { + "name": "VILEBREQUIN", + "category": "Merchandise Retail" +}, { + "name": "VILLA, Join the Movement", + "category": "Merchandise Retail" +}, { + "name": "VIP Smoke Shop", + "category": "Merchandise Retail" +}, { + "name": "VIP Tires \u0026 Service", + "category": "Automotive Services" +}, { + "name": "VP Racing Fuels", + "category": "Gas Station" +}, { + "name": "Vacheron Constantin", + "category": "Merchandise Retail" +}, { + "name": "VakıfBank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Valero", + "category": "Gas Station" +}, { + "name": "Vallarta Supermarkets", + "category": "Grocery and Liquor" +}, { + "name": "Valley Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Value City Furniture", + "category": "Merchandise Retail" +}, { + "name": "Value Village", + "category": "Merchandise Retail" +}, { + "name": "Valvoline Instant Oil Change", + "category": "Automotive Services" +}, { + "name": "Van Cleef \u0026 Arpels", + "category": "Merchandise Retail" +}, { + "name": "Van Leeuwen Ice Cream", + "category": "Food and Drink" +}, { + "name": "Vans", + "category": "Merchandise Retail" +}, { + "name": "Vape City", + "category": "Merchandise Retail" +}, { + "name": "Vapiano", + "category": "Food and Drink" +}, { + "name": "Vapor Maven", + "category": "Merchandise Retail" +}, { + "name": "Venchi", + "category": "Food and Drink" +}, { + "name": "Vera Bradley", + "category": "Merchandise Retail" +}, { + "name": "Veritiv", + "category": "Merchandise Retail" +}, { + "name": "Verizon", + "category": "Telecommunications" +}, { + "name": "Verizon Authorized Retailer - Russell Cellular", + "category": "Telecommunications" +}, { + "name": "Verizon Authorized Retailer - TCC", + "category": "Telecommunications" +}, { + "name": "Verizon Authorized Retailer - Victra", + "category": "Telecommunications" +}, { + "name": "Verizon Authorized Retailer - Wireless Zone", + "category": "Telecommunications" +}, { + "name": "Verizon Authorized Retailer — Cellular Sales", + "category": "Telecommunications" +}, { + "name": "Versace", + "category": "Merchandise Retail" +}, { + "name": "Versona", + "category": "Merchandise Retail" +}, { + "name": "Veterans Health Administration", + "category": "Hospital" +}, { + "name": "Victoria\u0027s Secret", + "category": "Merchandise Retail" +}, { + "name": "Vietcombank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Viking Sewing Gallery", + "category": "Merchandise Retail" +}, { + "name": "Villa Fresh Italian Kitchen", + "category": "Food and Drink" +}, { + "name": "Village Inn", + "category": "Food and Drink" +}, { + "name": "Vince", + "category": "Merchandise Retail" +}, { + "name": "Vineyard Vines", + "category": "Merchandise Retail" +}, { + "name": "Virginia ABC", + "category": "Grocery and Liquor" +}, { + "name": "Vista Paint", + "category": "Merchandise Retail" +}, { + "name": "Vitality Bowls", + "category": "Food and Drink" +}, { + "name": "Vivi Bubble Tea", + "category": "Food and Drink" +}, { + "name": "Vocelli Pizza", + "category": "Food and Drink" +}, { + "name": "Voco", + "category": "Lodging" +}, { + "name": "Volcom", + "category": "Merchandise Retail" +}, { + "name": "Volvo Penta", + "category": "Merchandise Retail" +}, { + "name": "Vons", + "category": "Grocery and Liquor" +}, { + "name": "Vons Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "VyStar Credit Union ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "W", + "category": "Lodging" +}, { + "name": "W.B. Mason", + "category": "Merchandise Retail" +}, { + "name": "WB Liquors \u0026 Wine", + "category": "Grocery and Liquor" +}, { + "name": "WSFS Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "WSS", + "category": "Merchandise Retail" +}, { + "name": "WaBa Grill", + "category": "Food and Drink" +}, { + "name": "WaFd Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Waffle House", + "category": "Food and Drink" +}, { + "name": "Wagamama", + "category": "Food and Drink" +}, { + "name": "Wahlburgers", + "category": "Food and Drink" +}, { + "name": "Walgreens", + "category": "Health and Personal Care Retailers" +}, { + "name": "Walgreens Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Walk-On\u0027s Sports Bistreaux", + "category": "Food and Drink" +}, { + "name": "Walmart", + "category": "Merchandise Retail" +}, { + "name": "Walmart Auto Care Centers", + "category": "Automotive Services" +}, { + "name": "Walmart Bakery", + "category": "Food and Drink" +}, { + "name": "Walmart Connection Center", + "category": "Electronics Retailers" +}, { + "name": "Walmart Deli", + "category": "Food and Drink" +}, { + "name": "Walmart Fuel Station", + "category": "Gas Station" +}, { + "name": "Walmart Garden Center", + "category": "Merchandise Retail" +}, { + "name": "Walmart Neighborhood Market", + "category": "Grocery and Liquor" +}, { + "name": "Walmart Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Walmart Photo Center", + "category": "Electronics Retailers" +}, { + "name": "Walmart Vision \u0026 Glasses", + "category": "Health and Personal Care Retailers" +}, { + "name": "Warby Parker", + "category": "Health and Personal Care Retailers" +}, { + "name": "Wawa", + "category": "Food and Drink" +}, { + "name": "Wayback Burgers", + "category": "Food and Drink" +}, { + "name": "We Buy Any Car", + "category": "Automotive and Parts Dealers" +}, { + "name": "Webster Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Wegmans", + "category": "Grocery and Liquor" +}, { + "name": "Wegmans Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Wegmans Wine \u0026 Beer", + "category": "Grocery and Liquor" +}, { + "name": "Weigel\u0027s", + "category": "Grocery and Liquor" +}, { + "name": "Weis Markets", + "category": "Grocery and Liquor" +}, { + "name": "Weis Pharmacy", + "category": "Health and Personal Care Retailers" +}, { + "name": "Wells Fargo ATM", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Wells Fargo Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Wendy\u0027s", + "category": "Food and Drink" +}, { + "name": "WesBanco Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Wesco", + "category": "Gas Station" +}, { + "name": "Wesco Autobody Supply", + "category": "Automotive and Parts Dealers" +}, { + "name": "West Marine", + "category": "Merchandise Retail" +}, { + "name": "Westamerica Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Western Dental \u0026 Orthodontics", + "category": "Dental" +}, { + "name": "Westfield", + "category": "Merchandise Retail" +}, { + "name": "Westin Hotels \u0026 Resorts", + "category": "Lodging" +}, { + "name": "Westrock Orthodontics", + "category": "Dental" +}, { + "name": "Wetzel\u0027s Pretzels", + "category": "Food and Drink" +}, { + "name": "Whataburger", + "category": "Food and Drink" +}, { + "name": "Which Wich", + "category": "Food and Drink" +}, { + "name": "Whistle Express Car Wash", + "category": "Automotive Services" +}, { + "name": "Whistles", + "category": "Merchandise Retail" +}, { + "name": "Whit\u0027s Frozen Custard", + "category": "Food and Drink" +}, { + "name": "White Castle", + "category": "Food and Drink" +}, { + "name": "White House Black Market", + "category": "Merchandise Retail" +}, { + "name": "WhiteWater Express Car Wash", + "category": "Automotive Services" +}, { + "name": "Whole Foods Market", + "category": "Grocery and Liquor" +}, { + "name": "Wienerschnitzel", + "category": "Food and Drink" +}, { + "name": "Wild Bill\u0027s Tobacco", + "category": "Merchandise Retail" +}, { + "name": "Wild Birds Unlimited", + "category": "Merchandise Retail" +}, { + "name": "Wild Willy\u0027s Fireworks", + "category": "Merchandise Retail" +}, { + "name": "Williams-Sonoma", + "category": "Merchandise Retail" +}, { + "name": "WinCo Foods", + "category": "Grocery and Liquor" +}, { + "name": "Winchell\u0027s", + "category": "Food and Drink" +}, { + "name": "Windsor", + "category": "Merchandise Retail" +}, { + "name": "Windsor Plywood", + "category": "Merchandise Retail" +}, { + "name": "Wing Snob", + "category": "Food and Drink" +}, { + "name": "Wing Street", + "category": "Food and Drink" +}, { + "name": "Wing Wah", + "category": "Food and Drink" +}, { + "name": "Wing Zone", + "category": "Food and Drink" +}, { + "name": "Wingate By Wyndham", + "category": "Lodging" +}, { + "name": "Wings Etc.", + "category": "Food and Drink" +}, { + "name": "Wings and Rings", + "category": "Food and Drink" +}, { + "name": "Wingstop", + "category": "Food and Drink" +}, { + "name": "Winn-Dixie", + "category": "Grocery and Liquor" +}, { + "name": "Winn-Dixie Wine \u0026 Spirits", + "category": "Grocery and Liquor" +}, { + "name": "Winsupply", + "category": "Merchandise Retail" +}, { + "name": "Wok To Walk", + "category": "Food and Drink" +}, { + "name": "Wolfgang Puck Express", + "category": "Food and Drink" +}, { + "name": "Wolford", + "category": "Merchandise Retail" +}, { + "name": "Woodcraft", + "category": "Merchandise Retail" +}, { + "name": "Woodforest National Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Woodspring Suites", + "category": "Lodging" +}, { + "name": "Workout Anytime", + "category": "Fitness" +}, { + "name": "World Gym", + "category": "Fitness" +}, { + "name": "WorldMark", + "category": "Lodging" +}, { + "name": "Worldpac", + "category": "Automotive and Parts Dealers" +}, { + "name": "Wow Bao", + "category": "Food and Drink" +}, { + "name": "Wrangler", + "category": "Merchandise Retail" +}, { + "name": "Wyndham", + "category": "Lodging" +}, { + "name": "Wyndham Garden", + "category": "Lodging" +}, { + "name": "Wyndham Grand", + "category": "Lodging" +}, { + "name": "Wyndham Hotels \u0026 Resorts", + "category": "Lodging" +}, { + "name": "XADO", + "category": "Merchandise Retail" +}, { + "name": "XL Parts", + "category": "Automotive and Parts Dealers" +}, { + "name": "Xhale City", + "category": "Merchandise Retail" +}, { + "name": "Xtra Mart", + "category": "Grocery and Liquor" +}, { + "name": "Y-3", + "category": "Merchandise Retail" +}, { + "name": "YESCO", + "category": "Merchandise Retail" +}, { + "name": "Yankee Candle", + "category": "Merchandise Retail" +}, { + "name": "Yard House", + "category": "Food and Drink" +}, { + "name": "Yataş", + "category": "Merchandise Retail" +}, { + "name": "Yesway", + "category": "Grocery and Liquor" +}, { + "name": "Yogen Früz", + "category": "Food and Drink" +}, { + "name": "Yogurtland", + "category": "Food and Drink" +}, { + "name": "Yoshinoya", + "category": "Food and Drink" +}, { + "name": "YouFit Gyms", + "category": "Fitness" +}, { + "name": "Your Pie", + "category": "Food and Drink" +}, { + "name": "Your Wireless World", + "category": "Telecommunications" +}, { + "name": "Yum Yum Donuts", + "category": "Food and Drink" +}, { + "name": "Yves Delorme", + "category": "Merchandise Retail" +}, { + "name": "ZAGG", + "category": "Electronics Retailers" +}, { + "name": "Zadig \u0026 Voltaire", + "category": "Merchandise Retail" +}, { + "name": "Zales", + "category": "Merchandise Retail" +}, { + "name": "Zambrero", + "category": "Food and Drink" +}, { + "name": "Zara", + "category": "Merchandise Retail" +}, { + "name": "Zaxby\u0027s Chicken Fingers \u0026 Buffalo Wings", + "category": "Food and Drink" +}, { + "name": "Zegna", + "category": "Merchandise Retail" +}, { + "name": "Zen Diamond", + "category": "Merchandise Retail" +}, { + "name": "Zen Leaf", + "category": "Merchandise Retail" +}, { + "name": "Ziebart", + "category": "Automotive Services" +}, { + "name": "Ziggi\u0027s Coffee", + "category": "Food and Drink" +}, { + "name": "Zions Bank", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "Zips Car Wash", + "category": "Automotive Services" +}, { + "name": "Zumiez", + "category": "Merchandise Retail" +}, { + "name": "Zwilling J.A. Henckels", + "category": "Merchandise Retail" +}, { + "name": "[solidcore]", + "category": "Fitness" +}, { + "name": "abercrombie kids", + "category": "Merchandise Retail" +}, { + "name": "adidas", + "category": "Merchandise Retail" +}, { + "name": "alice + olivia", + "category": "Merchandise Retail" +}, { + "name": "ampm", + "category": "Gas Station" +}, { + "name": "ba\u0026sh", + "category": "Merchandise Retail" +}, { + "name": "babyGap", + "category": "Merchandise Retail" +}, { + "name": "barre3", + "category": "Fitness" +}, { + "name": "celio", + "category": "Merchandise Retail" +}, { + "name": "dd\u0027s DISCOUNTS", + "category": "Merchandise Retail" +}, { + "name": "delta", + "category": "Gas Station" +}, { + "name": "diptyque", + "category": "Merchandise Retail" +}, { + "name": "francesca\u0027s", + "category": "Merchandise Retail" +}, { + "name": "gorjana", + "category": "Merchandise Retail" +}, { + "name": "hi HealthInnovations", + "category": "Health and Personal Care Retailers" +}, { + "name": "honeygrow", + "category": "Food and Drink" +}, { + "name": "iPark", + "category": "Parking" +}, { + "name": "lululemon", + "category": "Merchandise Retail" +}, { + "name": "nana\u0027s green tea", + "category": "Food and Drink" +}, { + "name": "nexAir", + "category": "Merchandise Retail" +}, { + "name": "rue21", + "category": "Merchandise Retail" +}, { + "name": "sweetgreen", + "category": "Food and Drink" +}, { + "name": "truenorth", + "category": "Grocery and Liquor" +}, { + "name": "west elm", + "category": "Merchandise Retail" +}, { + "name": "おむすび権米衛", + "category": "Food and Drink" +}, { + "name": "アビステ", + "category": "Merchandise Retail" +}, { + "name": "ワンズ", + "category": "Automotive Rentals" +}, { + "name": "一蘭", + "category": "Food and Drink" +}, { + "name": "三井住友銀行", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "三菱UFJ銀行", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "中国工商银行", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "中国銀行", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "中国银行", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "六福珠宝", + "category": "Merchandise Retail" +}, { + "name": "同仁堂", + "category": "Health and Personal Care Retailers" +}, { + "name": "小肥羊", + "category": "Food and Drink" +}, { + "name": "横浜銀行", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "玉山銀行", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "福岡銀行", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "築地銀だこ", + "category": "Food and Drink" +}, { + "name": "群馬銀行", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "華南銀行", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "都 ホテル", + "category": "Lodging" +}, { + "name": "風来坊", + "category": "Food and Drink" +}, { + "name": "국민은행", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "기업은행", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "나르지오", + "category": "Merchandise Retail" +}, { + "name": "농협은행", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "알라딘", + "category": "Merchandise Retail" +}, { + "name": "우리은행", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "정관장", + "category": "Grocery and Liquor" +}, { + "name": "토니모리", + "category": "Health and Personal Care Retailers" +}, { + "name": "하나은행", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "한국산업은행", + "category": "ATMs, Banks and Credit Unions" +}, { + "name": "한국외환은행", + "category": "ATMs, Banks and Credit Unions" +}] \ No newline at end of file diff --git a/places_insights/places-insights-demo/config.js.template b/places_insights/places-insights-demo/config.js.template new file mode 100644 index 0000000..b90b8e7 --- /dev/null +++ b/places_insights/places-insights-demo/config.js.template @@ -0,0 +1,33 @@ +// This file contains the client-side configuration for connecting to Google Cloud. +// RENAME this file to "config.js" and fill in your actual credentials. +// IMPORTANT: config.js is ignored by Git to keep your credentials private. + +window.APP_CONFIG = { + /** + * Your Google Cloud Project ID. + * This is the project where BigQuery API calls will be billed. + */ + GCP_PROJECT_ID: 'YOUR_GCP_PROJECT_ID', + + /** + * Your OAuth 2.0 Client ID for a Web Application. + * This ID is used to authenticate users and get their consent to run queries on their behalf. + * Ensure your app's origin (e.g., http://localhost:8000) is in the "Authorized JavaScript origins". + */ + OAUTH_CLIENT_ID: 'YOUR_OAUTH_CLIENT_ID.apps.googleusercontent.com', + + /** + * Your Google Maps Platform API Key. + * This is used to display the map and call the Routes API. + * Ensure it has "Maps JavaScript API", "Geocoding API", and "Routes API" enabled. + */ + MAPS_API_KEY: 'YOUR_MAPS_API_KEY', + + /** + * Defines which dataset to query. + * Options: 'FULL' or 'SAMPLE' + * - 'FULL': Queries the full country datasets (e.g., places_insights___us.places). + * - 'SAMPLE': Queries the city sample datasets (e.g., places_insights___us___sample.places_sample). + */ + DATASET: 'FULL', +}; \ No newline at end of file diff --git a/places_insights/places-insights-demo/display.js b/places_insights/places-insights-demo/display.js new file mode 100644 index 0000000..1d5cb87 --- /dev/null +++ b/places_insights/places-insights-demo/display.js @@ -0,0 +1,238 @@ +// --- DISPLAY & DATA HELPERS --- + +/** + * Displays the result of a simple aggregate query in a Google Maps InfoWindow. + * This function is now capable of handling multiple rows for brand queries. + * @param {object} bqResult The JSON response from the BigQuery API. + * @param {google.maps.LatLng} center The location to anchor the InfoWindow. + */ +function displayResultsOnMap(bqResult, center) { + if (infoWindow) infoWindow.close(); + + // Handle cases where the query returns no rows (e.g., count < 5). + if (!bqResult.rows || bqResult.rows.length === 0) { + infoWindow = new google.maps.InfoWindow({ + content: "

Query returned no results.
(Note: Aggregations may require a minimum count to appear).

" + }); + infoWindow.setPosition(center); + infoWindow.open(map); + return; + } + + const schema = bqResult.schema.fields; + + // Build an HTML string from all rows in the result. + let content = '
'; + + bqResult.rows.forEach((row, rowIndex) => { + if (rowIndex > 0) { + content += '
'; + } + const rowData = row.f; + schema.forEach((field, index) => { + const name = field.name.replace(/_/g, ' ').replace(/\b\w/g, l => l.toUpperCase()); + content += `${name}: ${rowData[index].v}
`; + }); + }); + + content += '
'; + + infoWindow = new google.maps.InfoWindow({ content }); + infoWindow.setPosition(center); + infoWindow.open(map); +} + +/** + * Displays the results of an H3 density query as a deck.gl heatmap layer. + * This version processes parallel arrays of h3 indices and counts from a single-row ARRAY_AGG result. + * @param {object} bqResult The JSON response from the BigQuery API. + */ +function displayH3Results(bqResult) { + const tooltip = document.getElementById('tooltip'); + + // With ARRAY_AGG, we expect exactly one row. + if (!bqResult.rows || bqResult.rows.length === 0) { + updateStatus("Query returned no results. Try a larger search area or different filters.", 'info'); + return; + } + + const rowData = bqResult.rows[0].f; + const indices = rowData[0].v; // Array of h3_index objects: [{v: '...'}, {v: '...'}] + const counts = rowData[1].v; // Array of count objects: [{v: '...'}, {v: '...'}] + + // If the first index is null or the array is empty, it means the ARRAY_AGG was empty. + if (!indices || indices.length === 0 || indices[0].v === null) { + updateStatus("Query returned no results. Try a larger search area or different filters.", 'info'); + return; + } + + const h3Data = []; + for (let i = 0; i < indices.length; i++) { + h3Data.push({ + h3_index: indices[i].v, + count: parseInt(counts[i].v, 10), + }); + } + + const maxCount = Math.max(...h3Data.map(d => d.count)); + + // Create a new deck.gl GeoJsonLayer for the H3 cells. + const layer = new deck.GeoJsonLayer({ + id: 'h3-layer', + data: h3Data.map(d => { + const boundary = h3.cellToBoundary(d.h3_index); + const coordinates = boundary.map(p => [p[1], p[0]]); // Swap to [lng, lat] + coordinates.push(coordinates[0]); // Close the polygon ring + + return { + type: 'Feature', + geometry: { + type: 'Polygon', + coordinates: [coordinates] + }, + properties: { count: d.count } + }; + }), + wrapLongitude: true, + pickable: true, + stroked: true, + filled: true, + lineWidthMinPixels: 1, + getFillColor: d => colorScale(d.properties.count, maxCount), + getLineColor: [255, 255, 255, 100], + onHover: info => { + isHoveringH3 = !!info.object; // Track hover state to prevent map click conflicts + + if (info.object) { + tooltip.style.display = 'block'; + tooltip.style.left = `${info.x}px`; + tooltip.style.top = `${info.y}px`; + tooltip.innerHTML = `Count: ${info.object.properties.count}`; + } else { + tooltip.style.display = 'none'; + } + } + }); + + deckglOverlay.setProps({ layers: [layer] }); +} + + +/** + * Parses a WKT Polygon string (e.g., "POLYGON((lng lat, ...))") into a GeoJSON coordinates array. + * Uses Regex to robustly handle optional spaces after POLYGON. + * @param {string} wkt The WKT string. + * @returns {Array} Array of [lng, lat] pairs. + */ +function parseWktPolygon(wkt) { + if (!wkt) return []; + + // Match POLYGON((...)) or POLYGON ((...)) case-insensitive + const match = wkt.match(/POLYGON\s*\(\((.*)\)\)/i); + + if (!match || !match[1]) { + console.error("Failed to parse WKT:", wkt); + return []; + } + + try { + const content = match[1]; + return [content.split(',').map(pair => { + const [lng, lat] = pair.trim().split(/\s+/); // Split by any whitespace + return [parseFloat(lng), parseFloat(lat)]; + })]; + } catch (e) { + console.error("Failed to parse WKT coordinates:", wkt, e); + return []; + } +} + +/** + * Displays results from the PLACES_COUNT_PER_H3 function. + * Uses the server-side 'geography' geometry directly. + * @param {object} bqResult + */ +function displayH3FunctionResults(bqResult) { + const tooltip = document.getElementById('tooltip'); + + if (!bqResult.rows || bqResult.rows.length === 0) { + updateStatus("Query returned no results.", 'info'); + return; + } + + // Map rows to GeoJSON features + const features = bqResult.rows.map(row => { + const cols = row.f; + // Schema assumed: h3_cell_index (0), geography (1), count (2), place_ids (3) + const wkt = cols[1].v; + const count = parseInt(cols[2].v, 10); + + // Parse place_ids. BigQuery returns arrays as {v: [{v: 'id1'}, {v: 'id2'}]} + let placeIds = []; + if (cols[3] && cols[3].v) { + placeIds = cols[3].v.map(item => item.v); + } + + return { + type: 'Feature', + geometry: { + type: 'Polygon', + coordinates: parseWktPolygon(wkt) + }, + properties: { + count: count, + place_ids: placeIds + } + }; + }); + + const maxCount = Math.max(...features.map(f => f.properties.count)); + + const layer = new deck.GeoJsonLayer({ + id: 'h3-func-layer', + data: features, + pickable: true, + stroked: true, + filled: true, + lineWidthMinPixels: 1, + getFillColor: d => colorScale(d.properties.count, maxCount), + getLineColor: [255, 255, 255, 150], + onHover: info => { + isHoveringH3 = !!info.object; // Track hover state + + if (info.object) { + tooltip.style.display = 'block'; + tooltip.style.left = `${info.x}px`; + tooltip.style.top = `${info.y}px`; + let html = `Count: ${info.object.properties.count}`; + if (info.object.properties.place_ids && info.object.properties.place_ids.length > 0) { + html += `
Click to show sample places`; + } + tooltip.innerHTML = html; + } else { + tooltip.style.display = 'none'; + } + }, + onClick: info => { + if (info.object && info.object.properties.place_ids) { + loadPlaceMarkers(info.object.properties.place_ids); + } + } + }); + + deckglOverlay.setProps({ layers: [layer] }); +} + +/** + * Calculates a color for a heatmap cell based on its value relative to the max value. + * @param {number} value The count for the current cell. + * @param {number} max The maximum count in the dataset. + * @returns {Array} An RGBA color array. + */ +function colorScale(value, max) { + const percentage = Math.sqrt(value / max); // Use sqrt for better visual distribution of colors. + const r = 255; + const g = 255 - (200 * percentage); + const b = 0; + return [r, g, b, 180]; // Yellow to Red, with some transparency +} \ No newline at end of file diff --git a/places_insights/places-insights-demo/help.js b/places_insights/places-insights-demo/help.js new file mode 100644 index 0000000..c5fbc16 --- /dev/null +++ b/places_insights/places-insights-demo/help.js @@ -0,0 +1,139 @@ +/** + * Generates the HTML content for the User Guide modal dynamically based on the configuration. + * @returns {string} HTML string for the guide. + */ +function generateGuideHtml() { + const isSample = DATASET === 'SAMPLE'; + const locationType = isSample ? 'City' : 'Country'; + const locationTypeLower = locationType.toLowerCase(); + + // Example dataset name for explanation + const exampleLocation = isSample ? 'London, United Kingdom' : 'United Kingdom'; + const exampleDataset = isSample ? 'places_insights___gb___sample' : 'places_insights___gb'; + + return ` +

1. Introduction

+

+ Welcome to the Places Insights Demo! This interactive web application is designed to help you explore and visualize Google's rich geospatial data without needing to write any code. Using a simple interface, you can define search areas on a map, apply powerful filters, and get aggregated insights directly from Google BigQuery, displayed visually on Google Maps. +

+

+ This guide will walk you through all the features of the application, from getting started to running advanced queries. +

+ +

2. Getting Started

+

+ Before you can run a query, there are two initial steps you must complete. +

+

Step 1: Select a ${locationType}

+

+ When you first load the application, you will be greeted by a modal window prompting you to select a ${locationTypeLower}. +

+
    +
  • Why is this important? The ${locationTypeLower} you choose determines which BigQuery dataset your queries will run against (e.g., selecting "${exampleLocation}" targets the ${exampleDataset} dataset).
  • +
  • Action: Choose a ${locationTypeLower} from the dropdown menu and click Show Map.
  • +
+ +

Step 2: Authorize with Google

+

+ Once the map loads, you will see a control sidebar on the left. To run queries, you must grant the application permission to use your Google account. +

+
    +
  • Why is this important? This is a purely client-side application. It runs queries in BigQuery on your behalf, and the costs associated with those queries are billed to your Google Cloud project. Authorization is required to securely link your actions in the browser to your BigQuery account.
  • +
  • Action: Click the green Authorize with Google button and follow the prompts in the Google sign-in window. Once successful, the button will change to Sign Out and the status message will turn green.
  • +
+ +

3. Defining Your Search Area (Demo Types)

+

+ The "Demo Type" dropdown is the primary way to define the geographic area for your search. +

+

A. Circle Search

+

+ This is the simplest search method, ideal for analyzing the area around a specific point. +

+
    +
  1. Select Circle Search from the "Demo Type" dropdown.
  2. +
  3. Set a Radius (meters) in the input box.
  4. +
  5. Click anywhere on the map. A blue circle will appear, defining your search area. Clicking a new location will move the circle.
  6. +
+ +

B. Polygon Search

+

+ This mode allows you to define a custom, multi-sided search area. You can do this in two ways: +

+
    +
  • By Drawing: +
      +
    1. Select Polygon Search from the "Demo Type" dropdown.
    2. +
    3. Click the Start Drawing button. Your cursor will turn into a crosshair.
    4. +
    5. Click on the map to place the corners (vertices) of your polygon.
    6. +
    7. When you are done, click the Finish Drawing button. An editable blue polygon will appear. You can drag the corners or edges to refine the shape.
    8. +
    9. Click Clear Polygon to start over.
    10. +
    +
  • +
  • By Pasting WKT: +
      +
    1. If you have a polygon in Well-Known Text (WKT) format (e.g., POLYGON((lng lat, ...))), you can paste it directly into the Polygon (WKT) text area. The map will automatically draw the shape.
    2. +
    3. Conversely, as you draw or edit a polygon on the map, its WKT representation will automatically appear in the text area.
    4. +
    +
  • +
+ +

C. Region Search

+

+ This powerful mode allows you to search by administrative names like cities, states, or postal codes instead of drawing on the map. +

+
    +
  1. Select Region Search from the "Demo Type" dropdown.
  2. +
  3. Choose a Region Type from the dropdown. This list is dynamically populated based on the selected ${locationTypeLower}.
  4. +
  5. Enter a name in the Region Name(s) input box (e.g., "London").
  6. +
  7. (Optional) Add Multiple Regions: To search across several regions at once, click the + button after typing each name.
  8. +
+ +

D. Route Search

+

+ This mode is designed for analyzing a corridor along a driving route. +

+
    +
  1. Select Route Search from the "Demo Type" dropdown.
  2. +
  3. In the Origin input, start typing an address or place name and select a location from the autocomplete suggestions.
  4. +
  5. Do the same for the Destination input.
  6. +
  7. Set a Radius (meters) to define the buffer around the route.
  8. +
+ +

E. Places Count Per H3 (Function)

+

+ This advanced mode uses BigQuery's server-side functions to generate high-performance density maps. +

+
    +
  • Low Counts: Unlike standard aggregation, this mode can return counts lower than 5 (including 0).
  • +
  • Sample Places: This mode returns sample Place IDs. Click on any hexagon on the map to load markers for up to 20 sample places in that cell. Clicking a marker will reveal full place details.
  • +
  • Limitations: Brand filters and Opening Hours are not supported in this mode.
  • +
+ +

4. Refining Your Search with Filters

+

+ The filter sections are collapsible; click on any filter title to expand it. +

+
    +
  • Included Place Types: Start typing a place category (e.g., restaurant, park) and click a suggestion to add it as a tag.
  • +
  • Match Primary Type Only: Check this box to search strictly for places where the selected type is their primary classification (e.g., finding a "Restaurant" that is primarily a restaurant, not a hotel with a restaurant).
  • +
  • Business Status: Filter places by their operational status (Operational, Closed Temporarily, Closed Permanently, or Any). Default is Operational.
  • +
  • Attribute Filters: Set min/max ratings or select checkboxes for amenities (e.g., "Offers Delivery").
  • +
  • Opening Hours: Select a Day of Week and time window (Not available in H3 Function mode).
  • +
  • Brand Filters (US Only): Filter by Brand Category or Brand Name (Not available in H3 Function mode).
  • +
+ +

5. Choosing Your Visualization

+
    +
  • Simple Count (Default): Results are displayed as numbers in a pop-up window.
  • +
  • H3 Density Map: Check the Show H3 Density Map box to see a heatmap. Use the H3 Resolution slider to change the cell size. (This is always enabled in H3 Function mode).
  • +
+ +

6. Running a Query and Managing the App

+
    +
  • Run Search: Click the blue Run Search button to execute the query.
  • +
  • View/Copy Query: After running a query, click View Query to see the SQL code. You can copy this SQL to run it directly in the BigQuery console.
  • +
  • Change ${locationType}: Click Change ${locationType} to restart with a different dataset.
  • +
+ `; +} \ No newline at end of file diff --git a/places_insights/places-insights-demo/index.html b/places_insights/places-insights-demo/index.html new file mode 100644 index 0000000..d8bf541 --- /dev/null +++ b/places_insights/places-insights-demo/index.html @@ -0,0 +1,265 @@ + + + + + + Places Insights Demo + + + + +
+ +
+ + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/places_insights/places-insights-demo/main.js b/places_insights/places-insights-demo/main.js new file mode 100644 index 0000000..de89e65 --- /dev/null +++ b/places_insights/places-insights-demo/main.js @@ -0,0 +1,358 @@ +// --- MAIN APPLICATION ENTRY POINT --- + +/** + * Hides the "View Query" button and clears the last executed query state. + * This is called whenever a search parameter is changed. + */ +function invalidateQueryState() { + document.getElementById('view-query-btn').classList.add('hidden'); + lastExecutedQuery = null; +} + +/** + * Populates the country/city selection dropdown based on the configuration mode. + */ +function populateLocationSelect() { + const select = document.getElementById("country-select"); + const title = document.getElementById("selector-title"); + const changeBtn = document.getElementById("change-country-btn"); + + // Clear existing options (keep the default disabled one) + while (select.options.length > 1) { + select.remove(1); + } + + if (DATASET === 'SAMPLE') { + title.textContent = "Select a City for the Demo"; + if (changeBtn) changeBtn.textContent = "Change City"; + + Object.keys(SAMPLE_LOCATIONS).sort().forEach(location => { + const option = document.createElement("option"); + option.value = location; + option.textContent = location; + select.appendChild(option); + }); + } else { + // FULL dataset mode + title.textContent = "Select a Country for the Demo"; + if (changeBtn) changeBtn.textContent = "Change Country"; + + Object.keys(COUNTRY_CODES).sort().forEach(location => { + const option = document.createElement("option"); + option.value = location; + option.textContent = location; + select.appendChild(option); + }); + } +} + +/** + * Handles the initial start of the demo after a location is selected from the modal. + */ +function handleStartDemo() { + selectedCountryName = document.getElementById("country-select").value; + if (selectedCountryName) { + document.getElementById("country-selector-modal").classList.add("hidden"); + document.getElementById("sidebar").classList.remove("hidden"); + + const brandFilters = document.getElementById('brand-filters'); + // Logic for Brand Filters visibility + let isUS = false; + if (DATASET === 'SAMPLE') { + isUS = SAMPLE_LOCATIONS[selectedCountryName] === 'us'; + } else { + isUS = selectedCountryName === 'United States'; + } + + if (isUS) { + brandFilters.classList.remove('hidden'); + } else { + brandFilters.classList.add('hidden'); + } + + populateRegionTypes(selectedCountryName); + startDemo(selectedCountryName); + } else { + alert("Please select a location to begin."); + } +} + +/** + * Handles clicks on the "Change Country/City" button. + */ +function handleChangeCountryClick() { + document.getElementById('country-selector-modal').classList.remove('hidden'); + document.getElementById('sidebar').classList.add('hidden'); + resetSidebarUI(); + clearAllOverlays(true); + invalidateQueryState(); +} + +/** + * Handles clicks on the "+" button to add a region to the list. + */ +function handleAddRegionClick() { + const regionInput = document.getElementById('region-name-input'); + const regionList = document.getElementById('selected-regions-list'); + const regionName = regionInput.value.trim(); + + if (regionName) { + addTag(toTitleCase(regionName), regionList); // Apply Title Case here + regionInput.value = ''; + regionInput.focus(); + invalidateQueryState(); + } +} + +/** + * Generates the help HTML via help.js and displays the modal. + */ +function showHelpModal() { + const guideModal = document.getElementById('guide-modal'); + const guideContent = document.getElementById('guide-content'); + + // Use the function from help.js to generate fresh HTML based on current config + try { + guideContent.innerHTML = generateGuideHtml(); + } catch (error) { + console.error(error); + guideContent.innerHTML = '

Error: Could not load the user guide.

'; + } + + guideModal.classList.remove('hidden'); +} + +/** + * Hides the specified modal. + * @param {string} modalId The ID of the modal to hide. + */ +function hideModal(modalId) { + document.getElementById(modalId).classList.add('hidden'); +} + +/** + * Displays the last executed query in a modal. + */ +function showQueryModal() { + if (lastExecutedQuery) { + document.getElementById('query-content').textContent = lastExecutedQuery; + document.getElementById('query-modal').classList.remove('hidden'); + } else { + alert("No valid query has been executed yet."); + } +} + +/** + * Copies the displayed SQL query to the clipboard. + */ +function handleCopyQueryClick() { + const queryText = document.getElementById('query-content').textContent; + const copyButton = document.getElementById('copy-query-btn'); + + navigator.clipboard.writeText(queryText).then(() => { + copyButton.textContent = 'Copied!'; + setTimeout(() => { + copyButton.textContent = 'Copy SQL'; + }, 2000); // Revert text after 2 seconds + }).catch(err => { + console.error('Failed to copy text: ', err); + alert('Failed to copy query to clipboard.'); + }); +} + + +/** + * Populates the Region Type dropdown based on the selected country's configuration. + */ +function populateRegionTypes(locationName) { + const select = document.getElementById('region-type-select'); + select.innerHTML = ''; + + let countryCode; + if (DATASET === 'SAMPLE') { + countryCode = SAMPLE_LOCATIONS[locationName]; + } else { + countryCode = COUNTRY_CODES[locationName]; + } + + const regionFields = REGION_FIELD_CONFIG[countryCode]; + + if (regionFields && regionFields.length > 0) { + const defaultOption = document.createElement('option'); + defaultOption.value = ''; + defaultOption.textContent = '-- Select a region type --'; + defaultOption.disabled = true; + defaultOption.selected = true; + select.appendChild(defaultOption); + + regionFields.forEach(field => { + const option = document.createElement('option'); + option.value = `${field.field}|${field.type}`; + option.textContent = field.label; + select.appendChild(option); + }); + } else { + const disabledOption = document.createElement('option'); + disabledOption.textContent = 'Region search not available'; + disabledOption.disabled = true; + select.appendChild(disabledOption); + } +} + +/** + * Fetches the brand data from the JSON file and sets up the brand-related UI. + */ +async function loadAndSetupBrandsData() { + try { + const response = await fetch('brands.json'); + if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`); + BRANDS_DATA = await response.json(); + + populateBrandCategories(); + initializeBrandAutocomplete(); + + } catch (error) { + console.error("Could not load brands.json:", error); + alert("Failed to load brand data. Brand filtering will be disabled."); + } +} + +/** + * Initializes the Place Autocomplete (New) web components for route search. + */ +async function initializeRouteSearch() { + const { PlaceAutocompleteElement } = await google.maps.importLibrary("places"); + + const originContainer = document.getElementById('origin-input-container'); + const destinationContainer = document.getElementById('destination-input-container'); + + const originAutocomplete = new PlaceAutocompleteElement(); + const destinationAutocomplete = new PlaceAutocompleteElement(); + + originContainer.appendChild(originAutocomplete); + destinationContainer.appendChild(destinationAutocomplete); + + originAutocomplete.addEventListener('gmp-select', async ({ placePrediction }) => { + invalidateQueryState(); + const place = placePrediction.toPlace(); + await place.fetchFields({ fields: ['location'] }); + originPlace = place; + }); + + destinationAutocomplete.addEventListener('gmp-select', async ({ placePrediction }) => { + invalidateQueryState(); + const place = placePrediction.toPlace(); + await place.fetchFields({ fields: ['location'] }); + destinationPlace = place; + }); +} + + +/** + * Sets up the accordion functionality for collapsible fieldsets. + */ +function initializeAccordion() { + const fieldsets = document.querySelectorAll('.collapsible-fieldset'); + fieldsets.forEach(fieldset => { + const legend = fieldset.querySelector('legend'); + legend.addEventListener('click', () => { + const wasOpen = fieldset.classList.contains('is-open'); + + fieldsets.forEach(fs => fs.classList.remove('is-open')); + + if (!wasOpen) { + fieldset.classList.add('is-open'); + } + }); + }); +} + + +/** + * This function runs once the entire page, including all external scripts, has finished loading. + */ +window.onload = () => { + // Populate the selector based on config + populateLocationSelect(); + + const elements = { + sidebar: document.getElementById('sidebar'), + authButton: document.getElementById('auth-button'), + runQueryBtn: document.getElementById('run-query-btn'), + viewQueryBtn: document.getElementById('view-query-btn'), + copyQueryBtn: document.getElementById('copy-query-btn'), + demoTypeSelect: document.getElementById('demo-type-select'), + startButton: document.getElementById("start-demo-btn"), + changeCountryBtn: document.getElementById('change-country-btn'), + addRegionBtn: document.getElementById('add-region-btn'), + showHelpBtn: document.getElementById('show-help-btn'), + guideModal: document.getElementById('guide-modal'), + queryModal: document.getElementById('query-modal'), + closeHelpBtn: document.querySelector('#guide-modal .close-modal-btn'), + closeQueryBtn: document.querySelector('#query-modal .close-modal-btn'), + h3Toggle: document.getElementById('h3-density-toggle'), + h3Controls: document.getElementById('h3-resolution-controls'), + h3Slider: document.getElementById('h3-resolution-slider'), + h3Value: document.getElementById('h3-resolution-value'), + wktInput: document.getElementById('wkt-input'), + clearPolygonBtn: document.getElementById('clear-polygon-btn'), + startDrawingBtn: document.getElementById('start-drawing-btn'), + finishDrawingBtn: document.getElementById('finish-drawing-btn'), + dayOfWeekSelect: document.getElementById('day-of-week-select'), + startTimeInput: document.getElementById('start-time-input'), + endTimeInput: document.getElementById('end-time-input') + }; + + // Central invalidation listener for any change within the sidebar. + elements.sidebar.addEventListener('input', invalidateQueryState); + + elements.authButton.addEventListener('click', handleAuthClick); + elements.runQueryBtn.addEventListener('click', runQuery); + elements.viewQueryBtn.addEventListener('click', showQueryModal); + elements.copyQueryBtn.addEventListener('click', handleCopyQueryClick); + elements.startButton.addEventListener("click", handleStartDemo); + elements.changeCountryBtn.addEventListener('click', handleChangeCountryClick); + elements.addRegionBtn.addEventListener('click', handleAddRegionClick); + elements.showHelpBtn.addEventListener('click', showHelpModal); + elements.closeHelpBtn.addEventListener('click', () => hideModal('guide-modal')); + elements.closeQueryBtn.addEventListener('click', () => hideModal('query-modal')); + elements.guideModal.addEventListener('click', (e) => { + if (e.target === elements.guideModal) hideModal('guide-modal'); + }); + elements.queryModal.addEventListener('click', (e) => { + if (e.target === elements.queryModal) hideModal('query-modal'); + }); + elements.demoTypeSelect.addEventListener('change', handleDemoTypeChange); + + elements.h3Toggle.addEventListener('change', (e) => { + elements.h3Controls.classList.toggle('hidden', !e.target.checked); + }); + elements.h3Slider.addEventListener('input', (e) => { + elements.h3Value.textContent = e.target.value; + }); + + elements.clearPolygonBtn.addEventListener('click', clearPolygon); + elements.startDrawingBtn.addEventListener('click', startDrawing); + elements.finishDrawingBtn.addEventListener('click', finishDrawing); + + // New: Event listener for opening hours filter + elements.dayOfWeekSelect.addEventListener('change', (e) => { + const daySelected = e.target.value !== ''; + elements.startTimeInput.disabled = !daySelected; + elements.endTimeInput.disabled = !daySelected; + if (!daySelected) { + elements.startTimeInput.value = ''; + elements.endTimeInput.value = ''; + } + }); + + initializeIdentityServices(); + initializeAutocomplete(document.getElementById('place-type-input')); + initializeRouteSearch(); + loadAndSetupBrandsData(); + initializeAccordion(); + + // Set initial state for time inputs + elements.startTimeInput.disabled = true; + elements.endTimeInput.disabled = true; +}; \ No newline at end of file diff --git a/places_insights/places-insights-demo/map.js b/places_insights/places-insights-demo/map.js new file mode 100644 index 0000000..25dbdce --- /dev/null +++ b/places_insights/places-insights-demo/map.js @@ -0,0 +1,308 @@ +// --- MAP & DRAWING LOGIC --- + +// New state for sample markers +let sampleMarkers = []; +let detailsInfoWindow = null; + +/** + * Main entry point for map initialization after country selection. + */ +async function startDemo(countryName) { + try { + await initMap(countryName); + } catch (error) { + console.error("Error starting the demo:", error); + alert("Map initialization failed. Check console for details."); + document.getElementById("country-selector-modal").classList.remove("hidden"); + document.getElementById("sidebar").classList.add("hidden"); + } +} + +/** + * Initializes the Google Map, deck.gl overlay, and main click listener. + */ +async function initMap(countryName) { + const { Map, Circle, InfoWindow, Polyline, Polygon } = await google.maps.importLibrary("maps"); + const { Geocoder } = await google.maps.importLibrary("geocoding"); + const geocoder = new Geocoder(); + const { results } = await geocoder.geocode({ address: countryName }); + + if (results.length > 0) { + map = new Map(document.getElementById("map"), { + mapId: "DEMO_MAP_ID", + mapTypeControl: false, + streetViewControl: false + }); + map.fitBounds(results[0].geometry.viewport); + + deckglOverlay = new deck.GoogleMapsOverlay({}); + deckglOverlay.setMap(map); + map.addListener('click', handleMapClick); + } else { + throw new Error("Geocoding failed for the selected country."); + } +} + +/** + * Handles the user changing the demo type (Circle vs. Polygon vs. Region vs. Route). + */ +function handleDemoTypeChange(e) { + const demoType = e.target.value; + const isH3Function = demoType === 'h3-function'; + + // 1. Reset UI to the selected mode (clears inputs, sets correct visibility) + resetSidebarUI(demoType); + + // 2. Apply Special Rules for H3 Function + if (isH3Function) { + // Force H3 Toggle ON and disabled + const h3Toggle = document.getElementById('h3-density-toggle'); + h3Toggle.checked = true; + h3Toggle.disabled = true; + + // Show Slider with Max 8 + document.getElementById('h3-resolution-controls').classList.remove('hidden'); + const h3Slider = document.getElementById('h3-resolution-slider'); + h3Slider.max = '8'; + if (parseInt(h3Slider.value) > 8) { + h3Slider.value = '8'; + document.getElementById('h3-resolution-value').textContent = '8'; + } + + // Always Hide Brand Filters for Function mode + document.getElementById('brand-filters').classList.add('hidden'); + + // Hide Opening Hours for Function mode + document.getElementById('opening-hours-filters').classList.add('hidden'); + + } else { + // 3. Restore Standard State (if not handled by resetSidebarUI defaults) + // Ensure Country-specific Brand Filters are visible if applicable (US) + const brandFilters = document.getElementById('brand-filters'); + if (selectedCountryName === 'United States') { + brandFilters.classList.remove('hidden'); + } + + // Show Opening Hours + document.getElementById('opening-hours-filters').classList.remove('hidden'); + } + + map.setOptions({ draggableCursor: 'grab' }); + clearAllOverlays(true); + invalidateQueryState(); +} + +/** + * Central handler for all clicks on the map. + */ +function handleMapClick(e) { + // If we are hovering over an H3 cell (and likely clicking it), ignore the map click + // This prevents the map background click from clearing the H3 overlay + if (isHoveringH3) return; + + const demoType = document.getElementById('demo-type-select').value; + // Allow circle placement for both standard Circle Search AND the new H3 Function + if (demoType === 'circle-search' || demoType === 'h3-function') { + invalidateQueryState(); + clearAllOverlays(true); + searchCenter = e.latLng; + const radius = parseInt(document.getElementById('radius-input').value, 10); + searchCircle = new google.maps.Circle({ + strokeColor: "#4285F4", strokeOpacity: 0.8, strokeWeight: 2, + fillColor: "transparent", map, center: searchCenter, radius: radius, + }); + } else if (demoType === 'polygon-search' && isDrawing) { + invalidateQueryState(); + polygonVertices.push(e.latLng); + tempPolyline.setPath(polygonVertices); + } +} + +/** + * Puts the application into "drawing mode". + */ +function startDrawing() { + invalidateQueryState(); + clearPolygon(); + isDrawing = true; + polygonVertices = []; + map.setOptions({ draggableCursor: 'crosshair' }); + tempPolyline = new google.maps.Polyline({ map: map, strokeColor: "#0000FF", strokeWeight: 2 }); + + document.getElementById('start-drawing-btn').classList.add('hidden'); + document.getElementById('finish-drawing-btn').classList.remove('hidden'); + document.getElementById('polygon-instructions').textContent = "Click points on the map. Click 'Finish' when done."; +} + +/** + * Exits "drawing mode" and finalizes the polygon shape. + */ +function finishDrawing() { + if (!isDrawing) return; + isDrawing = false; + map.setOptions({ draggableCursor: 'grab' }); + + if (tempPolyline) tempPolyline.setMap(null); + tempPolyline = null; + + document.getElementById('start-drawing-btn').classList.remove('hidden'); + document.getElementById('finish-drawing-btn').classList.add('hidden'); + document.getElementById('polygon-instructions').textContent = "Define a search area by drawing or pasting WKT."; + + if (polygonVertices.length < 3) { + polygonVertices = []; + return; + } + + searchPolygon = new google.maps.Polygon({ + paths: polygonVertices, editable: true, draggable: true, fillColor: '#5599FF', + fillOpacity: 0.3, strokeColor: '#0000FF', strokeWeight: 2, map: map, + }); + + updateWktFromPolygon(searchPolygon); + + searchPolygon.getPaths().forEach(path => { + google.maps.event.addListener(path, 'set_at', () => { + updateWktFromPolygon(searchPolygon); + invalidateQueryState(); + }); + google.maps.event.addListener(path, 'insert_at', () => { + updateWktFromPolygon(searchPolygon); + invalidateQueryState(); + }); + }); + invalidateQueryState(); +} + +/** + * Clears all visual overlays from the map. + * @param {boolean} fullReset If true, also nullifies state variables for search geometry. + */ +function clearAllOverlays(fullReset = false) { + if (isDrawing) finishDrawing(); + if (searchCircle) searchCircle.setMap(null); + if (searchPolygon) searchPolygon.setMap(null); + if (routePolyline) routePolyline.setMap(null); + if (infoWindow) infoWindow.close(); + if (deckglOverlay) deckglOverlay.setProps({ layers: [] }); + + clearSampleMarkers(); + + if (fullReset) { + searchCenter = null; + searchCircle = null; + searchPolygon = null; + routePolyline = null; + originPlace = null; + destinationPlace = null; + } +} + +/** + * Clears only the polygon and its associated state. + */ +function clearPolygon() { + invalidateQueryState(); + if (isDrawing) finishDrawing(); + if (searchPolygon) searchPolygon.setMap(null); + searchPolygon = null; + document.getElementById('wkt-input').value = ''; + document.getElementById('wkt-input').classList.remove('invalid'); +} + +/** + * Clears all sample place markers from the map. + */ +function clearSampleMarkers() { + sampleMarkers.forEach(m => m.map = null); + sampleMarkers = []; + if (detailsInfoWindow) { + detailsInfoWindow.close(); + } +} + +/** + * Fetches details for a list of place IDs and puts markers on the map. + * @param {string[]} placeIds List of Place IDs to show. + */ +async function loadPlaceMarkers(placeIds) { + clearSampleMarkers(); + + if (!placeIds || placeIds.length === 0) return; + + // Limit to top 20 to ensure performance/rate limits + const limit = 20; + const subset = placeIds.slice(0, limit); + + updateStatus(`Fetching locations for ${subset.length} places...`); + + try { + const { Place } = await google.maps.importLibrary("places"); + const { AdvancedMarkerElement, PinElement } = await google.maps.importLibrary("marker"); + // Import to register web components for InfoWindow + await google.maps.importLibrary("places"); + + if (!detailsInfoWindow) { + detailsInfoWindow = new google.maps.InfoWindow(); + } + + const bounds = new google.maps.LatLngBounds(); + + for (const id of subset) { + // Individual try/catch so one failure doesn't stop the loop + try { + const place = new Place({ id: id }); + await place.fetchFields({ fields: ['location'] }); + + if (!place.location) continue; + + const pin = new PinElement({ + scale: 0.8, + background: "#FBBC04", + borderColor: "#137333", + glyphColor: "white" + }); + + const marker = new AdvancedMarkerElement({ + map: map, + position: place.location, + content: pin.element, + title: "Click for details" + }); + + // Click Listener: Create Web Component in InfoWindow + marker.addListener('click', () => { + const container = document.createElement('div'); + container.className = 'info-window-component-container'; + + const details = document.createElement('gmp-place-details-compact'); + details.setAttribute('orientation', 'vertical'); + + const request = document.createElement('gmp-place-details-place-request'); + request.setAttribute('place', id); + + const allContent = document.createElement('gmp-place-all-content'); + + details.appendChild(request); + details.appendChild(allContent); + container.appendChild(details); + + detailsInfoWindow.setContent(container); + detailsInfoWindow.open(map, marker); + }); + + sampleMarkers.push(marker); + bounds.extend(place.location); + + } catch (e) { + console.warn(`Failed to fetch place ${id}`, e); + } + } + + updateStatus(`Showing ${sampleMarkers.length} sample places. Click a marker for details.`, 'success'); + + } catch (error) { + console.error("Error loading markers:", error); + updateStatus("Error loading sample markers.", 'error'); + } +} \ No newline at end of file diff --git a/places_insights/places-insights-demo/place_types.js b/places_insights/places-insights-demo/place_types.js new file mode 100644 index 0000000..48a5009 --- /dev/null +++ b/places_insights/places-insights-demo/place_types.js @@ -0,0 +1,72 @@ +// This file contains a comprehensive list of place types from the documentation +// to be used by the application's autocomplete feature. + +const PLACE_TYPES = [ + 'accounting', 'acai_shop', 'administrative_area_level_1', 'administrative_area_level_2', 'administrative_area_level_3', 'administrative_area_level_4', 'administrative_area_level_5', + 'adult_club', 'advertising_agency', 'afghan_restaurant', 'african_restaurant', 'airport', 'airport_gate', 'airport_lounge', 'airport_terminal', 'airpost', 'airprt_runway', + 'american_restaurant', 'amphitheater', 'amusement_center', 'amusement_park', 'animal_and_plant_health_inspection_service', 'animal_shelter', 'aquarium', 'archipelago', + 'art_gallery', 'art_school', 'art_studio', 'ashram', 'asian_restaurant', 'assisted_living_facility', 'athletic_field', 'atm', 'attraction', 'auditorium', 'australian_restaurant', + 'austrian_restaurant', 'auto_detailing_service', 'auto_parts_store', 'auto_repair_shop', 'badminton_court', 'bagel_shop', 'bakery', 'ballet_school', 'bank', 'banquet_hall', + 'bar', 'barbecue_restaurant', 'barber_shop', 'baseball_field', 'basketball_court', 'beach', 'beauty_salon', 'bed_and_breakfast', 'belgian_restaurant', 'beverages', 'bicycle_store', + 'billiards_hall', 'bistro', 'boat_club', 'boat_dealer', 'boat_launch', 'boat_rental', 'boat_tour_agency', 'boating_and_sailing', 'book_store', 'botanical_garden', 'bowling_alley', + 'brazilian_restaurant', 'breakfast_restaurant', 'brewery', 'british_restaurant', 'brunch_restaurant', 'buddhist_temple', 'buffet_restaurant', 'bungalow', 'burrito_restaurant', 'bus_charter', + 'bus_station', 'bus_stop', 'business_park', 'butcher_shop', 'cafe', 'cafeteria', 'cajun_restaurant', 'cake_shop', 'californian_restaurant', 'cambodian_restaurant', 'campground', + 'camping_cabin', 'canadian_restaurant', 'candy_store', 'cannabis_store', 'cape', 'car_dealer', 'car_rental', 'car_repair', 'car_wash', 'caribbean_restaurant', 'carpenter', + 'casino', 'catering_service', 'cemetery', 'chalet', 'charity', 'charter_school', 'check_cashing_service', 'child_care_agency', 'childrens_club', 'childrens_museum', 'chilean_restaurant', + 'chinese_restaurant', 'chiropractor', 'chocolate_shop', 'christmas_market', 'church', 'city_hall', 'civic_center', 'classical_music_venue', 'clinic', 'clothing_store', + 'club', 'cocktail_bar', 'coffee_shop', 'college', 'colombian_restaurant', 'comedy_club', 'community_center', 'community_garden', 'community_hall', 'computer_repair_service', + 'concert_hall', 'condominium_complex', 'confectionery', 'conference_center', 'convenience_store', 'convention_center', 'cooperative', 'corporate_office', 'cosmetics_store', 'cottage', + 'country', 'country_club', 'courthouse', 'couture_store', 'coworking_space', 'creek', 'creole_restaurant', 'creperie', 'cricket_ground', 'cultural_center', 'currency_exchange', 'curtain_store', + 'cycling_park', 'czech_restaurant', 'dance_hall', 'dance_school', 'day_care_center', 'deli', 'dental_clinic', 'dentist', 'department_store', 'dessert_restaurant', 'dessert_shop', + 'dim_sum_restaurant', 'diner', 'disc_golf_course', 'distillery', 'dive_shop', 'dog_park', 'dominican_restaurant', 'donut_shop', 'door_and_window_store', 'drama_school', 'driving_school', + 'drugstore', 'dry_cleaner', 'dump_truck_dealer', 'dumpling_restaurant', 'dutch_restaurant', 'eclectic_restaurant', 'ecuadorian_restaurant', 'educational_center', 'egyptian_restaurant', + 'electric_vehicle_charging_station', 'electrical_equipment_supplier', 'electrician', 'electronics_store', 'elementary_school', 'embassy', 'emergency_room', 'english_restaurant', 'equestrian_club', + 'eritrean_restaurant', 'ethiopian_restaurant', 'event_venue', 'extended_stay_hotel', 'family_restaurant', 'farm', 'farmers_market', 'fast_food_restaurant', 'ferris_wheel', 'ferry_terminal', + 'festival', 'filipino_restaurant', 'fine_dining_restaurant', 'finnish_restaurant', 'fire_station', 'fish_and_chips_restaurant', 'fish_store', 'fishing_charter', 'fishing_pond', 'fitness_center', + 'flea_market', 'florist', 'food_and_drink', 'food_court', 'food_delivery', 'food_pantry', 'food_producer', 'food_truck', 'football_field', 'foot_care', 'forest', 'fraternal_organization', + 'french_restaurant', 'frozen_yogurt_shop', 'fruit_and_vegetable_store', 'funeral_home', 'furniture_store', 'fusion_restaurant', 'game_store', 'garden', 'gas_station', 'gastropub', + 'general_contractor', 'geological_feature', 'german_restaurant', 'ghanaian_restaurant', 'gift_shop', 'glass_and_mirror_shop', 'go_kart_track', 'golf_course', 'gourmet_grocery_store', + 'government_office', 'greek_restaurant', 'grocery_store', 'guatemalan_restaurant', 'guest_house', 'gym', 'gymnastics_center', 'hair_care', 'hair_salon', 'haitian_restaurant', + 'halal_restaurant', 'hamburger_restaurant', 'handball_court', 'hardware_store', 'hawaiian_restaurant', 'health_and_wellness', 'health_food_store', 'health_spa', 'heliport', 'high_school', + 'hiking_area', 'hindu_temple', 'historical_landmark', 'historical_place', 'historical_society', 'hockey_rink', 'home_goods_store', 'home_improvement_store', 'honduran_restaurant', + 'horse_riding_school', 'hospital', 'hostel', 'hot_dog_stand', 'hot_pot_restaurant', 'hotel', 'house', 'household_goods_store', 'housing_complex', 'hungarian_restaurant', 'ice_cream_shop', + 'ice_skating_rink', 'indian_restaurant', 'indonesian_restaurant', 'indoor_cycling', 'indoor_playground', 'industrial_park', 'inn', 'insurance_agency', 'internet_cafe', 'intersection', + 'investment_firm', 'irish_pub', 'irish_restaurant', 'island', 'israeli_restaurant', 'italian_restaurant', 'jamaican_restaurant', 'japanese_restaurant', 'jazz_club', 'jewelry_store', 'jewish_restaurant', + 'judo_school', 'juice_shop', 'karaoke', 'kebab_shop', 'kindergarten', 'korean_restaurant', 'kosher_restaurant', 'labor_union', 'lake', 'landmark', 'language_school', 'laotian_restaurant', + 'latin_american_restaurant', 'laundromat', 'laundry', 'law_firm', 'lawyer', 'leather_goods_store', 'lebanese_restaurant', 'legal_services', 'leisure_center', 'library', 'light_rail_station', + 'liquor_store', 'loan_agency', 'locality', 'locksmith', 'lodging', 'lounge', 'luggage_store', 'lunch_restaurant', 'madagascan_restaurant', 'mail_box', 'mailing_service', 'malaysian_restaurant', + 'marina', 'market', 'marketplace', 'martial_arts_school', 'masonic_temple', 'massage_therapist', 'meal_delivery', 'meal_takeaway', 'medical_clinic', 'medical_lab', 'medical_supply_store', + 'meditation_center', 'mediterranean_restaurant', 'meeting_room', 'memorial_park', 'mental_health_clinic', 'mexican_restaurant', 'middle_eastern_restaurant', 'military_base', + 'miniature_golf_course', 'mobile_home_park', 'modern_art_museum', 'modern_european_restaurant', 'mongolian_restaurant', 'monument', 'moroccan_restaurant', 'mosque', 'motel', 'motorcycle_dealer', + 'motorcycle_rental', 'motorcycle_repair_shop', 'mountain', 'mountain_peak', 'movie_rental', 'movie_theater', 'moving_company', 'museum', 'music_school', 'music_venue', 'nail_salon', + 'national_forest', 'national_park', 'natural_feature', 'nepalese_restaurant', 'new_zealand_restaurant', 'nicaraguan_restaurant', 'night_club', 'nigerian_restaurant', 'non_profit_organization', + 'noodle_restaurant', 'nordic_restaurant', 'north_african_restaurant', 'north_indian_restaurant', 'norwegian_restaurant', 'nursing_home', 'observation_deck', 'observatory', 'off_roading_area', + 'office_supply_store', 'opera_house', 'optician', 'optometrist', 'orthodox_church', 'orthopedic_surgeon', 'orthopedist', 'osteopath', 'outlet_store', 'package_delivery_service', + 'paella_restaurant', 'pakistani_restaurant', 'pan_asian_restaurant', 'panamanian_restaurant', 'park', 'park_and_ride', 'parking', 'parking_garage', 'parkway', 'party_planner', 'passport_office', + 'pastry_shop', 'patio', 'pawn_shop', 'pediatrician', 'peninsula', 'pension', 'performing_arts_theater', 'persian_restaurant', 'peruvian_restaurant', 'pet_store', 'pharmacy', 'philharmonic_hall', + 'phone_repair_shop', 'photographer', 'physical_therapist', 'physician', 'physiotherapist', 'picnic_ground', 'pier', 'pilates_studio', 'pizza_restaurant', 'pizza_takeaway', 'place_of_worship', + 'planetarium', 'plant_nursery', 'plumber', 'podiatrist', 'point_of_interest', 'police_station', 'polish_restaurant', 'political_organization', 'pond', 'pool_hall', 'port', 'portuguese_restaurant', + 'post_office', 'poultry_store', 'prefecture', 'preschool', 'primary_school', 'private_guest_room', 'private_school', 'private_tutor', 'produce_market', 'professional_organization', 'psychiatrist', + 'psychologist', 'psychotherapist', 'pub', 'public_bath', 'public_bathroom', 'public_housing', 'public_school', 'public_transportation', 'puerto_rican_restaurant', 'pumping_station', 'punjabi_restaurant', + 'quarry', 'race_track', 'racquetball_court', 'ramen_restaurant', 'ranch', 'rapid_transit_station', 'real_estate_agency', 'recreation_center', 'recycling_center', 'redevelopment_agency', + 'reggae_night_club', 'regional_park', 'rehabilitation_center', 'religious_organization', 'rental_agency', 'repair_service', 'research_institute', 'reservable', 'reservoir', 'resort', 'resort_hotel', + 'restaurant', 'rest_stop', 'retirement_home', 'river', 'road', 'rock_climbing_gym', 'roller_coaster', 'roller_skating_rink', 'romanian_restaurant', 'roofing_contractor', 'rooming_house', + 'route', 'rv_park', 'sailing_club', 'salad_shop', 'salon', 'salsa_club', 'salvadoran_restaurant', 'sandwich_shop', 'sauna', 'savannah', 'school', 'school_district_office', 'science_museum', + 'scottish_restaurant', 'scuba_diving_center', 'sculpture', 'seafood_restaurant', 'secondary_school', 'self_storage_facility', 'senior_center', 'serbian_restaurant', 'service_station', + 'sex_therapist', 'shabu_shabu_restaurant', 'shawarma_restaurant', 'shipping_and_mailing_service', 'shoe_store', 'shopping_mall', 'shooting_range', 'shrine', 'sichuan_restaurant', 'sicilian_restaurant', + 'singaporean_restaurant', 'skate_park', 'skateboard_shop', 'skating_rink', 'ski_resort', 'skin_care_clinic', 'skydiving_center', 'slovak_restaurant', 'slovenian_restaurant', 'smoothie_shop', + 'snack_bar', 'soccer_field', 'social_club', 'social_security_office', 'social_service_organization', 'softball_field', 'soul_food_restaurant', 'soup_restaurant', 'south_african_restaurant', + 'south_indian_restaurant', 'south_pacific_restaurant', 'south_american_restaurant', 'southeast_asian_restaurant', 'southwestern_restaurant', 'souvenir_store', 'spa', 'spanish_restaurant', + 'special_education_school', 'sports_bar', 'sports_club', 'sports_complex', 'sporting_goods_store', 'squash_court', 'stadium', 'stable', 'state_park', 'steak_house', 'storage', 'store', + 'street', 'strip_club', 'student_housing', 'studio', 'subway_station', 'sushi_restaurant', 'swamp', 'swedish_restaurant', 'swimming_pool', 'swim_club', 'swiss_restaurant', 'synagogue', + 'syrian_restaurant', 'taco_restaurant', 'taiwanese_restaurant', 'takeout', 'tanning_salon', 'tapas_restaurant', 'tasting_room', 'tattoo_shop', 'tax_assessor', 'tax_consultant', 'tax_department', + 'taxi_stand', 'tea_house', 'tea_room', 'technical_school', 'telecommunications_service_provider', 'telemarketing_service', 'temple', 'tennis_court', 'tennis_club', 'teppanyaki_restaurant', + 'thai_restaurant', 'theatre', 'theme_park', 'therapist', 'tibetan_restaurant', 'ticket_outlet', 'tiki_bar', 'tire_shop', 'title_company', 'tobacco_shop', 'tongolese_restaurant', 'tourist_attraction', + 'tour_agency', 'townhouse_complex', 'town_hall', 'trade_school', 'traditional_music_venue', 'trail', 'trailer_dealer', 'train_station', 'transit_depot', 'transit_station', 'translation_service', + 'transportation', 'travel_agency', 'truck_stop', 'trinidadian_restaurant', 'turkish_restaurant', 'tuscan_restaurant', 'udon_restaurant', 'ukrainian_restaurant', 'unagi_restaurant', 'university', + 'uruguayan_restaurant', 'used_car_dealer', 'uyghur_restaurant', 'uzbek_restaurant', 'variety_store', 'vegan_restaurant', 'vegetarian_restaurant', 'vehicle_inspection', 'venetian_restaurant', + 'venezuelan_restaurant', 'veterans_affairs', 'veterinarian', 'video_arcade', 'video_game_store', 'video_production_service', 'vietnamese_restaurant', 'villa', 'village_hall', 'vineyard', + 'visitor_center', 'volcano', 'volleyball_court', 'warehouse_store', 'waste_management_service', 'watch_repair_service', 'waterfall', 'water_park', 'water_skiing_club', 'water_sports_equipment_rental', + 'waxing_salon', 'wedding_planner', 'wedding_venue', 'welsh_restaurant', 'western_restaurant', 'wharf', 'wholesale_club', 'wholesaler', 'wifi_hotspot', 'wildlife_park', 'wildlife_refuge', 'wine_bar', + 'winery', 'womens_health_clinic', 'yakitori_restaurant', 'yoga_studio', 'youth_organization', 'zoo' +]; \ No newline at end of file diff --git a/places_insights/places-insights-demo/query.js b/places_insights/places-insights-demo/query.js new file mode 100644 index 0000000..2d258a7 --- /dev/null +++ b/places_insights/places-insights-demo/query.js @@ -0,0 +1,417 @@ +// --- BIGQUERY QUERY LOGIC --- + +// Note: fetchRouteAsWkt is imported from routes.js + +// --- SEARCH PARAMETER HELPERS --- + +function getCircleSearchParams() { + if (!searchCenter) { + return { success: false, message: "Click a location on the map to set the search center." }; + } + const radius = parseInt(document.getElementById('radius-input').value, 10); + const filter = `ST_DWITHIN(ST_GEOGPOINT(${searchCenter.lng()}, ${searchCenter.lat()}), places.point, ${radius})`; + return { success: true, filter, center: searchCenter, searchAreaVar: '' }; +} + +function getPolygonSearchParams() { + if (!searchPolygon) { + return { success: false, message: "Draw or paste a polygon to define the search area." }; + } + const wkt = document.getElementById('wkt-input').value; + const searchAreaVar = `DECLARE search_area GEOGRAPHY; SET search_area = ST_GEOGFROMTEXT("""${wkt}""");`; + const filter = 'ST_CONTAINS(search_area, places.point)'; + return { success: true, filter, center: searchPolygon.getPath().getAt(0), searchAreaVar }; +} + +async function getRegionSearchParams() { + const regionInputValue = document.getElementById('region-type-select').value; + const regionNameInput = toTitleCase(document.getElementById('region-name-input').value.trim()); + const regionTags = [...document.querySelectorAll('#selected-regions-list span')].map(s => s.textContent); + + if (!regionInputValue || (!regionNameInput && regionTags.length === 0)) { + return { success: false, message: "Select a Region Type and enter at least one Region Name." }; + } + + const uniqueRegionNames = [...new Set([...regionTags, regionNameInput].filter(Boolean))]; + const [field, dataType] = regionInputValue.split('|'); + const filter = buildRegionFilter(field, dataType, uniqueRegionNames); + + updateStatus('Geocoding regions...'); + const { Geocoder } = await google.maps.importLibrary("geocoding"); + const bounds = new google.maps.LatLngBounds(); + const geocodePromises = uniqueRegionNames.map(name => new Geocoder().geocode({ address: `${name}, ${selectedCountryName}` })); + + const resultsArray = await Promise.all(geocodePromises); + resultsArray.forEach(({ results }) => { + if (results.length > 0) bounds.union(results[0].geometry.viewport); + }); + + if (bounds.isEmpty()) { + throw new Error(`Could not geocode any of the specified regions.`); + } + map.fitBounds(bounds); + + return { + success: true, filter, center: bounds.getCenter(), searchAreaVar: '', + isMultiRegion: uniqueRegionNames.length > 1, regionType: field, regionDataType: dataType + }; +} + +async function getRouteSearchParams() { + if (!originPlace || !destinationPlace) { + return { success: false, message: "Select both an origin and a destination for the route." }; + } + updateStatus('Calculating route...'); + // Call helper from routes.js + const routeData = await fetchRouteAsWkt(originPlace, destinationPlace); + const radius = parseInt(document.getElementById('route-radius-input').value, 10); + const searchAreaVar = `DECLARE route GEOGRAPHY; SET route = ST_GEOGFROMTEXT("""${routeData.wktString}""");`; + const filter = `ST_DWITHIN(route, places.point, ${radius})`; + return { success: true, filter, center: routeData.bounds.getCenter(), searchAreaVar }; +} + + +/** + * The main function to execute a query. It's called when the "Run Search" button is clicked. + */ +async function runQuery() { + const runQueryBtn = document.getElementById('run-query-btn'); + runQueryBtn.disabled = true; + runQueryBtn.textContent = 'Running...'; + updateStatus('Validating inputs...'); + + try { + const demoType = document.getElementById('demo-type-select').value; + + let countryCode; + if (DATASET === 'SAMPLE') { + countryCode = SAMPLE_LOCATIONS[selectedCountryName]; + } else { + countryCode = COUNTRY_CODES[selectedCountryName]; + } + + let sqlQuery; + + // Clean up any existing sample markers from H3 interaction + if (typeof clearSampleMarkers === 'function') { + clearSampleMarkers(); + } + + // 1. Branch for H3 Function (Special Case) + if (demoType === 'h3-function') { + if (!searchCenter) { + throw new Error("Click a location on the map to set the search center."); + } + updateStatus('Checking authorization...'); + const token = await ensureAccessToken(); + + updateStatus('Building function query...'); + sqlQuery = buildH3FunctionQuery(countryCode); + lastExecutedQuery = sqlQuery; + + if (infoWindow) infoWindow.close(); + if (deckglOverlay) deckglOverlay.setProps({ layers: [] }); + + updateStatus('Executing function...'); + const response = await fetch(`https://bigquery.googleapis.com/bigquery/v2/projects/${GCP_PROJECT_ID}/queries`, { + method: 'POST', + headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${token}` }, + body: JSON.stringify({ query: sqlQuery, useLegacySql: false, maxResults: 100000 }) + }); + + const result = await response.json(); + if (!response.ok) throw new Error(result.error?.message || 'API request failed.'); + + document.getElementById('view-query-btn').classList.remove('hidden'); + if (searchCircle) searchCircle.setMap(null); // Hide circle so heatmap is visible + + displayH3FunctionResults(result); + updateStatus('Query successful.', 'success'); + + } else { + // 2. Standard SQL Logic (Circle, Polygon, Region, Route) + + // Get Geometry Parameters + let searchParams; + switch (demoType) { + case 'circle-search': searchParams = getCircleSearchParams(); break; + case 'polygon-search': searchParams = getPolygonSearchParams(); break; + case 'region-search': searchParams = await getRegionSearchParams(); break; + case 'route-search': searchParams = await getRouteSearchParams(); break; + default: throw new Error("Invalid demo type selected."); + } + + if (!searchParams.success) { + updateStatus(searchParams.message, 'error'); + return; + } + + // Clear previous results and Authorize + if (infoWindow) infoWindow.close(); + if (deckglOverlay) deckglOverlay.setProps({ layers: [] }); + updateStatus('Checking authorization...'); + const token = await ensureAccessToken(); + + // Gather all other filters + updateStatus('Building query...'); + const allFilters = [searchParams.filter]; + + // Place Types Logic (Primary vs Included) + const placeTypes = [...document.querySelectorAll('#selected-types-list span')].map(s => s.textContent); + // Use new Checkbox + const usePrimaryType = document.getElementById('primary-type-checkbox').checked; + + if (placeTypes.length > 0) { + if (usePrimaryType) { + // Primary Type filter + const typeList = placeTypes.map(t => `'${t}'`).join(', '); + allFilters.push(`places.primary_type IN (${typeList})`); + } else { + // Included Type (Standard) filter + allFilters.push(`(${placeTypes.map(t => `'${t}' IN UNNEST(places.types)`).join(' OR ')})`); + } + } + + const attributes = [...document.querySelectorAll('.attribute-filter:checked')].map(cb => cb.name); + if (attributes.length > 0) allFilters.push(...buildAttributeFilter(attributes)); + const ratingFilter = buildRatingFilter(parseFloat(document.getElementById('min-rating-input').value), parseFloat(document.getElementById('max-rating-input').value)); + if (ratingFilter) allFilters.push(ratingFilter); + + const bizStatus = document.getElementById('business-status-select').value; + if (bizStatus) allFilters.push(`places.business_status = '${bizStatus}'`); + + // Brand Filters (only applicable here, not in H3 Function) + const brandNames = [...document.querySelectorAll('#selected-brands-list span')].map(s => s.textContent); + if (brandNames.length > 0) allFilters.push(buildBrandFilter(brandNames)); + const brandCategory = document.getElementById('brand-category-select').value; + if (brandCategory) allFilters.push(buildBrandCategoryFilter(brandCategory)); + + const openingDay = document.getElementById('day-of-week-select').value; + const hoursFilter = buildOpeningHoursFilter(openingDay, document.getElementById('start-time-input').value, document.getElementById('end-time-input').value); + if (hoursFilter.whereClause) allFilters.push(hoursFilter.whereClause); + + // Assemble FROM clause dynamically based on dataset type + let tableName; + if (DATASET === 'SAMPLE') { + tableName = `places_insights___${countryCode}___sample.places_sample`; + } else { + tableName = `places_insights___${countryCode}.places`; + } + + let fromClause = `FROM \`${tableName}\` places`; + + if (openingDay) fromClause += ` ${hoursFilter.unnestClause}`; + + // Brands Join Logic + const isBrandQuery = brandNames.length > 0 || !!brandCategory; + if (isBrandQuery) { + let brandsTable; + if (DATASET === 'SAMPLE') { + brandsTable = 'places_insights___us___sample.brands'; + } else { + brandsTable = 'places_insights___us.brands'; + } + + fromClause += `, UNNEST(places.brand_ids) AS brand_id LEFT JOIN \`${brandsTable}\` brands ON brand_id = brands.id`; + } + + const whereClause = allFilters.length > 0 ? `WHERE ${allFilters.join(' AND ')}` : ''; + + // Build the final SQL Query + const useH3 = document.getElementById('h3-density-toggle').checked; + + if (useH3) { + const h3Res = parseInt(document.getElementById('h3-resolution-slider').value, 10); + sqlQuery = buildH3DensityQuery(searchParams.searchAreaVar, fromClause, whereClause, h3Res); + } else { + sqlQuery = buildAggregateQuery(searchParams.searchAreaVar, fromClause, whereClause, placeTypes, isBrandQuery, searchParams.isMultiRegion, searchParams.regionType, searchParams.regionDataType); + } + lastExecutedQuery = sqlQuery; + + // Execute Query and Display Results + updateStatus('Executing query...'); + const response = await fetch(`https://bigquery.googleapis.com/bigquery/v2/projects/${GCP_PROJECT_ID}/queries`, { + method: 'POST', + headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${token}` }, + body: JSON.stringify({ query: sqlQuery, useLegacySql: false, maxResults: 100000 }) + }); + const result = await response.json(); + if (!response.ok) throw new Error(result.error?.message || 'API request failed.'); + + document.getElementById('view-query-btn').classList.remove('hidden'); + + if (useH3) { + if (searchCircle) searchCircle.setMap(null); + if (searchPolygon) searchPolygon.setMap(null); + displayH3Results(result); + } else { + if (searchCircle) searchCircle.setMap(map); + if (searchPolygon) searchPolygon.setMap(map); + displayResultsOnMap(result, searchParams.center); + } + + let successMessage = 'Query successful.'; + if (!useH3 && result.rows && Number(result.totalRows) > result.rows.length) { + successMessage += ` Warning: Displaying ${result.rows.length.toLocaleString()} of ${Number(result.totalRows).toLocaleString()} total rows.`; + } + updateStatus(successMessage, 'success'); + } + + } catch (error) { + console.error('Query failed:', error); + updateStatus(`Error: ${error.message}`, 'error'); + } finally { + runQueryBtn.disabled = false; + runQueryBtn.textContent = 'Run Search'; + } +} + + +// --- FILTER BUILDERS --- + +function buildBrandFilter(brandNames) { + if (!brandNames || brandNames.length === 0) return ''; + const sanitizedNames = brandNames.map(name => `"${name.replace(/"/g, '\\"')}"`).join(', '); + return `brands.name IN (${sanitizedNames})`; +} + +function buildBrandCategoryFilter(brandCategory) { + if (!brandCategory) return ''; + const sanitizedCategory = brandCategory.replace(/"/g, '\\"'); + return `brands.category = "${sanitizedCategory}"`; +} + +function buildOpeningHoursFilter(day, startTime, endTime) { + if (!day || (!startTime && !endTime)) return { unnestClause: '', whereClause: '' }; + const unnestClause = `, UNNEST(places.regular_opening_hours.${day}) AS opening_period`; + let conditions = []; + if (startTime) conditions.push(`opening_period.start_time <= TIME '${startTime}:00'`); + if (endTime) conditions.push(`opening_period.end_time >= TIME '${endTime}:00'`); + return { unnestClause, whereClause: conditions.join(' AND ') }; +} + +function buildAttributeFilter(attributes) { + if (!attributes || attributes.length === 0) return []; + return attributes.map(attr => `places.${attr} = TRUE`); +} + +function buildRatingFilter(min, max) { + const hasMin = !isNaN(min); + const hasMax = !isNaN(max); + if (hasMin && hasMax) return `places.rating BETWEEN ${min} AND ${max}`; + if (hasMin) return `places.rating >= ${min}`; + if (hasMax) return `places.rating <= ${max}`; + return ''; +} + +function buildRegionFilter(regionType, regionDataType, regionNames) { + if (!regionType || !regionNames || regionNames.length === 0) return ''; + const sanitizedNames = regionNames.map(name => `'${name.replace(/'/g, "\\'")}'`).join(', '); + if (regionDataType === 'STRING') { + return `places.${regionType} IN (${sanitizedNames})`; + } + return `EXISTS (SELECT 1 FROM UNNEST(places.${regionType}) AS name WHERE name IN (${sanitizedNames}))`; +} + +// --- UNIFIED QUERY BUILDERS --- + +function buildAggregateQuery(searchAreaVar, fromClause, whereClause, types, isBrandQuery, isMultiRegion, regionType, regionDataType) { + if (isMultiRegion && regionDataType === 'STRING') { + return `${searchAreaVar} SELECT WITH AGGREGATION_THRESHOLD places.${regionType} AS region_name, COUNT(*) AS count ${fromClause} ${whereClause} GROUP BY region_name ORDER BY count DESC`; + } + if (isBrandQuery) { + return `${searchAreaVar} SELECT WITH AGGREGATION_THRESHOLD brands.name, COUNT(places.id) AS count ${fromClause} ${whereClause} GROUP BY brands.name ORDER BY count DESC`; + } + if (types.length <= 1) { + return `${searchAreaVar} SELECT WITH AGGREGATION_THRESHOLD COUNT(*) AS total_count ${fromClause} ${whereClause}`; + } + const select = types.map(t => `COUNTIF('${t}' IN UNNEST(places.types)) AS ${t.replace(/ /g, '_')}_count`).join(',\n '); + return `${searchAreaVar} SELECT WITH AGGREGATION_THRESHOLD ${select}, COUNT(*) AS total_count ${fromClause} ${whereClause}`; +} + +function buildH3DensityQuery(searchAreaVar, fromClause, whereClause, resolution) { + // This is the inner query that performs the main aggregation. + const innerQuery = ` + SELECT WITH AGGREGATION_THRESHOLD + \`carto-os.carto.H3_FROMGEOGPOINT\`(places.point, ${resolution}) AS h3_index, + COUNT(*) AS place_count + ${fromClause} + ${whereClause} + GROUP BY h3_index + `; + + // This outer query wraps the inner one to aggregate results into arrays. + return `${searchAreaVar} + SELECT + ARRAY_AGG(h3_index) as indices, + ARRAY_AGG(place_count) as counts + FROM (${innerQuery}) + WHERE h3_index IS NOT NULL + `; +} + +// --- NEW FUNCTION QUERY BUILDER --- + +function buildH3FunctionQuery(countryCode) { + const radius = parseInt(document.getElementById('radius-input').value, 10); + const h3Resolution = parseInt(document.getElementById('h3-resolution-slider').value, 10); + + // Construct JSON_OBJECT fields + let jsonParts = []; + + // Geography (Point + Radius) + jsonParts.push(`'geography', ST_GEOGPOINT(${searchCenter.lng()}, ${searchCenter.lat()})`); + jsonParts.push(`'geography_radius', ${radius}`); + jsonParts.push(`'h3_resolution', ${h3Resolution}`); + + // Standard Filters + // 1. Business Status + const bizStatus = document.getElementById('business-status-select').value; + if (bizStatus) { + jsonParts.push(`'business_status', ['${bizStatus}']`); + } + + // 2. Place Types (Toggle logic) + const placeTypes = [...document.querySelectorAll('#selected-types-list span')].map(s => s.textContent); + // Use new Checkbox + const usePrimaryType = document.getElementById('primary-type-checkbox').checked; + + if (placeTypes.length > 0) { + const formattedTypes = placeTypes.map(t => `"${t}"`).join(', '); + if (usePrimaryType) { + jsonParts.push(`'primary_type', [${formattedTypes}]`); + } else { + jsonParts.push(`'types', [${formattedTypes}]`); + } + } + + // 3. Ratings + const minRating = parseFloat(document.getElementById('min-rating-input').value); + const maxRating = parseFloat(document.getElementById('max-rating-input').value); + if (!isNaN(minRating)) jsonParts.push(`'min_rating', ${minRating}`); + if (!isNaN(maxRating)) jsonParts.push(`'max_rating', ${maxRating}`); + + // 4. Boolean Attributes + const attributes = [...document.querySelectorAll('.attribute-filter:checked')].map(cb => cb.name); + attributes.forEach(attr => { + jsonParts.push(`'${attr}', TRUE`); + }); + + // Note: Brand filters are strictly excluded here. + + // Dynamic table name based on dataset configuration + let tableName; + if (DATASET === 'SAMPLE') { + tableName = `places_insights___${countryCode}___sample`; + } else { + tableName = `places_insights___${countryCode}`; + } + + return ` + SELECT * FROM \`${tableName}.PLACES_COUNT_PER_H3\`( + JSON_OBJECT( + ${jsonParts.join(',\n ')} + ) + ) + `; +} \ No newline at end of file diff --git a/places_insights/places-insights-demo/routes.js b/places_insights/places-insights-demo/routes.js new file mode 100644 index 0000000..8aac8dd --- /dev/null +++ b/places_insights/places-insights-demo/routes.js @@ -0,0 +1,69 @@ +// --- ROUTES API LOGIC --- + +/** + * Calls the Routes API to get a route between an origin and destination, + * draws it on the map, and returns the route as a WKT LINESTRING. + * @param {google.maps.places.Place} origin The origin Place object. + * @param {google.maps.places.Place} destination The destination Place object. + * @returns {Promise<{wktString: string, bounds: google.maps.LatLngBounds}>} + */ +async function fetchRouteAsWkt(origin, destination) { + const API_KEY = MAPS_API_KEY; + const URL = 'https://routes.googleapis.com/directions/v2:computeRoutes'; + + const originLatLng = origin.location.toJSON(); + const destinationLatLng = destination.location.toJSON(); + + const requestBody = { + origin: { location: { latLng: { latitude: originLatLng.lat, longitude: originLatLng.lng }}}, + destination: { location: { latLng: { latitude: destinationLatLng.lat, longitude: destinationLatLng.lng }}}, + travelMode: 'DRIVE', + routingPreference: 'TRAFFIC_AWARE', + polylineEncoding: 'GEO_JSON_LINESTRING', + computeAlternativeRoutes: false, + }; + + const response = await fetch(URL, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'X-Goog-Api-Key': API_KEY, + 'X-Goog-FieldMask': 'routes.polyline.geoJsonLinestring,routes.viewport', + }, + body: JSON.stringify(requestBody), + }); + + if (!response.ok) { + const errorBody = await response.json(); + console.error('Error from Routes API:', errorBody); + throw new Error(`Routes API request failed: ${errorBody.error?.message || response.status}`); + } + + const data = await response.json(); + if (!data.routes || data.routes.length === 0) { + throw new Error('No routes found between the selected origin and destination.'); + } + + const route = data.routes[0]; + const coordinates = route.polyline.geoJsonLinestring.coordinates; + const wktCoordinatePairs = coordinates.map(coord => `${coord[0]} ${coord[1]}`); + const wktString = `LINESTRING(${wktCoordinatePairs.join(', ')})`; + + if (routePolyline) routePolyline.setMap(null); + const path = coordinates.map(coord => ({ lng: coord[0], lat: coord[1] })); + routePolyline = new google.maps.Polyline({ + path: path, + strokeColor: '#4285F4', + strokeOpacity: 0.8, + strokeWeight: 6, + map: map, + }); + + const viewport = route.viewport; + const lowPoint = { lat: viewport.low.latitude, lng: viewport.low.longitude }; + const highPoint = { lat: viewport.high.latitude, lng: viewport.high.longitude }; + const bounds = new google.maps.LatLngBounds(lowPoint, highPoint); + map.fitBounds(bounds); + + return { wktString, bounds }; +} \ No newline at end of file diff --git a/places_insights/places-insights-demo/state.js b/places_insights/places-insights-demo/state.js new file mode 100644 index 0000000..9a3c827 --- /dev/null +++ b/places_insights/places-insights-demo/state.js @@ -0,0 +1,160 @@ +// --- CONFIGURATION CONSTANTS --- +// These are loaded from config.js and treated as constants throughout the app. +const config = window.APP_CONFIG || {}; +const GCP_PROJECT_ID = config.GCP_PROJECT_ID || ''; +const OAUTH_CLIENT_ID = config.OAUTH_CLIENT_ID || ''; +const MAPS_API_KEY = config.MAPS_API_KEY || ''; +const DATASET = config.DATASET || 'FULL'; +const BQ_SCOPES = 'https://www.googleapis.com/auth/bigquery'; + +// --- APPLICATION STATE --- +// Holds the name of the country/city selected in the initial modal. +let selectedCountryName = ''; + +// Maps full country names to their two-letter codes for BigQuery table names (FULL Dataset). +const COUNTRY_CODES = { + 'Australia': 'au', 'Brazil': 'br', 'Canada': 'ca', 'France': 'fr', 'Germany': 'de', + 'India': 'in', 'Indonesia': 'id', 'Italy': 'it', 'Japan': 'jp', 'Mexico': 'mx', + 'Spain': 'es', 'Switzerland': 'ch', 'United Kingdom': 'gb', 'United States': 'us' +}; + +// Maps sample city locations to their country codes (SAMPLE Dataset). +const SAMPLE_LOCATIONS = { + 'Sydney, Australia': 'au', + 'Sao Paulo, Brazil': 'br', + 'Toronto, Canada': 'ca', + 'Paris, France': 'fr', + 'Berlin, Germany': 'de', + 'Mumbai, India': 'in', + 'Jakarta, Indonesia': 'id', + 'Rome, Italy': 'it', + 'Tokyo, Japan': 'jp', + 'Mexico City, Mexico': 'mx', + 'Madrid, Spain': 'es', + 'Zurich, Switzerland': 'ch', + 'London, United Kingdom': 'gb', + 'New York City, United States': 'us' +}; + +// Holds the data from brands.json, loaded at startup. +let BRANDS_DATA = []; +// Configuration for country-specific region search fields, now with explicit types. +const REGION_FIELD_CONFIG = { + 'au': [ + { label: 'State / Territory', field: 'administrative_area_level_1_name', type: 'STRING' }, + { label: 'City / Locality', field: 'locality_names', type: 'ARRAY' }, + { label: 'Postal Code', field: 'postal_code_names', type: 'ARRAY' } + ], + 'br': [ + { label: 'State', field: 'administrative_area_level_1_name', type: 'STRING' }, + { label: 'City / Municipality', field: 'administrative_area_level_2_name', type: 'STRING' }, + { label: 'Locality', field: 'locality_names', type: 'ARRAY' }, + { label: 'Postal Code', field: 'postal_code_names', type: 'ARRAY' }, + { label: 'Neighborhood', field: 'sublocality_level_1_names', type: 'ARRAY' } + ], + 'ca': [ + { label: 'Province / Territory', field: 'administrative_area_level_1_name', type: 'STRING' }, + { label: 'City / Locality', field: 'locality_names', type: 'ARRAY' }, + { label: 'Neighborhood', field: 'neighborhood_names', type: 'ARRAY' }, + { label: 'Postal Code', field: 'postal_code_names', type: 'ARRAY' } + ], + 'de': [ + { label: 'State', field: 'administrative_area_level_1_name', type: 'STRING' }, + { label: 'District', field: 'administrative_area_level_3_name', type: 'STRING' }, + { label: 'City / Locality', field: 'locality_names', type: 'ARRAY' }, + { label: 'Postal Code', field: 'postal_code_names', type: 'ARRAY' }, + { label: 'Sublocality / Borough', field: 'sublocality_level_1_names', type: 'ARRAY' } + ], + 'es': [ + { label: 'Autonomous Community', field: 'administrative_area_level_1_name', type: 'STRING' }, + { label: 'Province', field: 'administrative_area_level_2_name', type: 'STRING' }, + { label: 'City / Locality', field: 'locality_names', type: 'ARRAY' }, + { label: 'Neighborhood', field: 'neighborhood_names', type: 'ARRAY' }, + { label: 'Postal Code', field: 'postal_code_names', type: 'ARRAY' } + ], + 'fr': [ + { label: 'Region', field: 'administrative_area_level_1_name', type: 'STRING' }, + { label: 'Department', field: 'administrative_area_level_2_name', type: 'STRING' }, + { label: 'City / Locality', field: 'locality_names', type: 'ARRAY' }, + { label: 'Postal Code', field: 'postal_code_names', type: 'ARRAY' }, + { label: 'Sublocality', field: 'sublocality_level_1_names', type: 'ARRAY' } + ], + 'gb': [ + { label: 'Country', field: 'administrative_area_level_1_name', type: 'STRING' }, + { label: 'City / Locality', field: 'locality_names', type: 'ARRAY' }, + { label: 'Postal Town', field: 'postal_town_names', type: 'ARRAY' }, + { label: 'Postal Code', field: 'postal_code_names', type: 'ARRAY' } + ], + 'in': [ + { label: 'State', field: 'administrative_area_level_1_name', type: 'STRING' }, + { label: 'District', field: 'administrative_area_level_3_name', type: 'STRING' }, + { label: 'City / Locality', field: 'locality_names', type: 'ARRAY' }, + { label: 'Postal Code (PIN)', field: 'postal_code_names', type: 'ARRAY' }, + { label: 'Sublocality', field: 'sublocality_level_1_names', type: 'ARRAY' } + ], + 'id': [ + { label: 'Province', field: 'administrative_area_level_1_name', type: 'STRING' }, + { label: 'Regency / City', field: 'administrative_area_level_2_name', type: 'STRING' }, + { label: 'District', field: 'administrative_area_level_3_name', type: 'STRING' }, + { label: 'Village / Kelurahan', field: 'administrative_area_level_4_name', type: 'STRING' }, + { label: 'City / Locality', field: 'locality_names', type: 'ARRAY' }, + { label: 'Postal Code', field: 'postal_code_names', type: 'ARRAY' } + ], + 'it': [ + { label: 'Region', field: 'administrative_area_level_1_name', type: 'STRING' }, + { label: 'Province', field: 'administrative_area_level_2_name', type: 'STRING' }, + { label: 'Municipality (Comune)', field: 'administrative_area_level_3_name', type: 'STRING' }, + { label: 'Postal Code', field: 'postal_code_names', type: 'ARRAY' } + ], + 'jp': [ + { label: 'Prefecture', field: 'administrative_area_level_1_name', type: 'STRING' }, + { label: 'City / Locality', field: 'locality_names', type: 'ARRAY' }, + { label: 'Postal Code', field: 'postal_code_names', type: 'ARRAY' }, + { label: 'Sublocality', field: 'sublocality_level_1_names', type: 'ARRAY' } + ], + 'mx': [ + { label: 'State', field: 'administrative_area_level_1_name', type: 'STRING' }, + { label: 'Municipality', field: 'administrative_area_level_2_name', type: 'STRING' }, + { label: 'City / Locality', field: 'locality_names', type: 'ARRAY' }, + { label: 'Postal Code', field: 'postal_code_names', type: 'ARRAY' } + ], + 'ch': [ + { label: 'Canton', field: 'administrative_area_level_1_name', type: 'STRING' }, + { label: 'District', field: 'administrative_area_level_2_name', type: 'STRING' }, + { label: 'Municipality / Locality', field: 'locality_names', type: 'ARRAY' }, + { label: 'Postal Code', field: 'postal_code_names', type: 'ARRAY' } + ], + 'us': [ + { label: 'State', field: 'administrative_area_level_1_name', type: 'STRING' }, + { label: 'County', field: 'administrative_area_level_2_name', type: 'STRING' }, + { label: 'City / Locality', field: 'locality_names', type: 'ARRAY' }, + { label: 'Neighborhood', field: 'neighborhood_names', type: 'ARRAY' }, + { label: 'Postal Code', field: 'postal_code_names', type: 'ARRAY' } + ] +}; + + +// --- MAP & OVERLAY STATE --- +// References to Google Maps and deck.gl objects. +let map, searchCenter, searchCircle, searchPolygon, infoWindow, deckglOverlay; + +// Route Search State +let originPlace = null, destinationPlace = null, routePolyline = null; + +// --- DRAWING STATE --- +// Manages the custom polygon drawing process. +let isDrawing = false; +let polygonVertices = []; +let tempPolyline; + +// --- AUTHENTICATION STATE --- +// Manages the user's sign-in status and access token. +let tokenClient, accessToken = null, userSignedIn = false; + +// --- UI STATE --- +// Caches the content of guide.html to avoid re-fetching. +let guideContentHtml = null; +// Caches the last successfully executed query. +let lastExecutedQuery = null; +// Tracks if mouse is hovering over an H3 cell to prevent map click conflicts +let isHoveringH3 = false; \ No newline at end of file diff --git a/places_insights/places-insights-demo/style.css b/places_insights/places-insights-demo/style.css new file mode 100644 index 0000000..2d64046 --- /dev/null +++ b/places_insights/places-insights-demo/style.css @@ -0,0 +1,520 @@ +/* Basic styles */ +html, +body { + height: 100%; + margin: 0; + padding: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; +} + +#map { + height: 100%; +} + +/* Modal styles */ +#country-selector-modal, +#guide-modal, +#query-modal { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.7); + z-index: 2000; + display: flex; + justify-content: center; + align-items: center; +} + +#country-selector-modal.hidden, +#guide-modal.hidden, +#query-modal.hidden { + display: none; +} + +.modal-content { + background-color: white; + padding: 25px 35px; + border-radius: 8px; + box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); + text-align: center; + width: 90%; + max-width: 450px; + position: relative; +} + +.modal-content h2 { + font-size: 24px; + margin-top: 0; +} + +.modal-content p { + margin-bottom: 25px; + color: #555; + font-size: 16px; +} + +#country-select { + width: 100%; + padding: 12px; + margin-bottom: 20px; + font-size: 16px; + border-radius: 4px; + border: 1px solid #ccc; + box-sizing: border-box; +} + +#start-demo-btn { + width: 100%; + padding: 12px; + font-size: 16px; + font-weight: bold; + background-color: #4285F4; + color: white; + border: none; + border-radius: 4px; + cursor: pointer; + transition: background-color 0.3s; +} + +#start-demo-btn:hover { + background-color: #357ae8; +} + +/* Help & Query Modal Specifics */ +#guide-modal .modal-content, +#query-modal .modal-content { + text-align: left; + max-width: 700px; + max-height: 80vh; + overflow-y: auto; +} + +.close-modal-btn { + position: absolute; + top: 10px; + right: 20px; + font-size: 28px; + font-weight: bold; + color: #aaa; + cursor: pointer; + line-height: 1; +} + +.close-modal-btn:hover { + color: #333; +} + +#guide-content h2, +#guide-content h3 { + margin-top: 1.5em; + margin-bottom: 0.5em; +} + +#guide-content p, +#guide-content ul, +#guide-content ol { + line-height: 1.6; +} + +#query-content { + background-color: #f1f3f4; + border-radius: 4px; + padding: 15px; + white-space: pre-wrap; + word-wrap: break-word; + font-family: monospace; + font-size: 13px; +} + +.modal-actions { + margin-top: 15px; + text-align: right; +} + + +/* Sidebar styles */ +#sidebar { + position: absolute; + top: 10px; + left: 10px; + width: 320px; + max-height: calc(100% - 20px); + overflow-y: auto; + background-color: white; + padding: 15px; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + z-index: 1000; +} + +.sidebar-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 15px; +} + +.sidebar-header h1 { + font-size: 20px; + margin: 0; +} + +.sidebar-header-buttons { + display: flex; + gap: 8px; +} + +.sidebar-header button { + font-size: 14px; + padding: 6px 10px; +} + +#sidebar hr { + border: none; + border-top: 1px solid #eee; + margin: 15px 0; +} + +.control-group { + margin-bottom: 15px; +} + +.control-group label { + display: block; + font-size: 14px; + font-weight: 500; + margin-bottom: 5px; +} + +.control-group input, +.control-group select, +.control-group textarea { + width: 100%; + padding: 8px; + font-size: 14px; + border: 1px solid #ccc; + border-radius: 4px; + box-sizing: border-box; +} + +.control-group textarea { + font-family: monospace; + resize: vertical; +} + +.control-group textarea.invalid { + border-color: #ea4335; +} + +.info-text { + font-size: 14px; + color: #555; + margin-top: 0; +} + +.advanced-options label, +.filter-group label { + display: flex; + align-items: center; + cursor: pointer; + font-weight: normal; +} + +.advanced-options input, +.filter-group input { + width: auto; + margin-right: 8px; +} + +.drawing-buttons { + display: flex; + gap: 8px; + margin-bottom: 15px; +} + +.drawing-buttons button { + flex: 1; +} + +.input-with-button { + display: flex; + gap: 8px; +} + +.input-with-button input { + flex: 1; +} + +.input-with-button button { + flex-shrink: 0; + padding-left: 12px; + padding-right: 12px; + font-weight: bold; +} + +/* Styles for Place Autocomplete (New) Web Component */ +#origin-input-container, +#destination-input-container { + min-height: 36px; +} + +gmp-place-autocomplete::part(input) { + width: 100%; + padding: 8px; + font-size: 14px; + border: 1px solid #ccc; + border-radius: 4px; + box-sizing: border-box; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; +} + + +/* Attribute Filters Section */ +.attribute-filters { + border: 1px solid #ddd; + border-radius: 4px; + padding: 0 10px; + margin-bottom: 15px; +} + +.attribute-filters legend { + font-weight: 500; + padding: 0 5px; +} + +.filter-group { + margin-bottom: 8px; +} + +.rating-inputs, +.time-inputs { + display: flex; + gap: 10px; + margin-bottom: 10px; +} + +.rating-inputs .control-group, +.time-inputs .control-group { + flex: 1; + margin-bottom: 0; +} + +/* Collapsible Accordion Styles */ +.collapsible-fieldset > legend { + cursor: pointer; + position: relative; + width: 100%; + box-sizing: border-box; + padding: 10px 5px; + margin-left: -5px; +} + +.collapsible-fieldset > legend::after { + content: '+'; + position: absolute; + right: 10px; + top: 50%; + transform: translateY(-50%); + font-weight: bold; +} + +.collapsible-fieldset.is-open > legend::after { + content: '−'; +} + +.collapsible-content { + max-height: 0; + overflow: hidden; + transition: max-height 0.3s ease-out; + padding: 0; +} + +.collapsible-fieldset.is-open > .collapsible-content { + max-height: 600px; /* A large enough value */ + padding: 10px 0; +} + +.collapsible-fieldset:not(.is-open) { + padding-top: 0; + padding-bottom: 0; + border-width: 1px 0; +} + +.collapsible-fieldset:not(.is-open):first-of-type { + border-top-width: 1px; +} + +.collapsible-fieldset:not(.is-open) > legend { + margin-bottom: 0; +} + + +/* Auth container & Buttons */ +.auth-container { + display: flex; + flex-direction: column; + gap: 10px; + align-items: stretch; +} + +#status { + margin: 0; + font-weight: bold; + text-align: center; + font-size: 13px; +} + +#status.error { + color: #ea4335; +} + +#status.success { + color: #34a853; +} + +.main-buttons { + display: flex; + gap: 8px; + margin-top: 15px; +} + +.main-buttons #run-query-btn { + flex-grow: 1; +} + +button { + padding: 10px 15px; + border: none; + border-radius: 4px; + cursor: pointer; + font-size: 16px; + transition: background-color 0.2s; +} + +button:disabled { + background-color: #ccc; + cursor: not-allowed; +} + +button.secondary-button { + background-color: #f1f3f4; + color: #5f6368; + font-size: 14px; + padding: 8px; +} + +button.secondary-button:hover:not(:disabled) { + background-color: #e8eaed; +} + +#run-query-btn { + background-color: #4285F4; + color: white; +} + +#run-query-btn:hover:not(:disabled) { + background-color: #357ae8; +} + +#auth-button { + background-color: #34a853; + color: white; +} + +#auth-button:hover { + background-color: #2c8e44; +} + +/* Autocomplete styles */ +.autocomplete-container { + position: relative; +} + +#autocomplete-suggestions, +#brand-autocomplete-suggestions { + position: absolute; + top: 100%; + left: 0; + right: 0; + background: white; + border: 1px solid #ccc; + border-top: none; + border-radius: 0 0 4px 4px; + z-index: 1001; + max-height: 200px; + overflow-y: auto; +} + +.suggestion-item { + padding: 8px; + cursor: pointer; +} + +.suggestion-item:hover { + background-color: #f0f0f0; +} + +/* Selected list styles */ +#selected-types-list, +#selected-brands-list, +#selected-regions-list { + list-style: none; + padding: 0; + margin: 10px 0; + display: flex; + flex-wrap: wrap; + gap: 8px; +} + +.selected-type-tag { + display: flex; + align-items: center; + background-color: #e0e0e0; + padding: 5px 10px; + border-radius: 15px; + font-size: 14px; +} + +.remove-tag-btn { + background: none; + border: none; + color: #555; + cursor: pointer; + margin-left: 8px; + font-size: 16px; + padding: 0; +} + +.remove-tag-btn:hover { + color: black; +} + +/* Tooltip for deck.gl */ +#tooltip { + position: absolute; + z-index: 1001; + pointer-events: none; + background: rgba(0, 0, 0, 0.8); + color: white; + padding: 8px; + border-radius: 4px; + font-size: 12px; +} + +.hidden { + display: none; +} + +/* InfoWindow container for Place Details Component */ +.info-window-component-container { + width: 300px; + min-height: 200px; + display: block; + overflow: hidden; +} + +.info-window-component-container gmp-place-details-compact { + width: 100%; +} \ No newline at end of file diff --git a/places_insights/places-insights-demo/ui.js b/places_insights/places-insights-demo/ui.js new file mode 100644 index 0000000..085ce9f --- /dev/null +++ b/places_insights/places-insights-demo/ui.js @@ -0,0 +1,320 @@ +// --- UI HELPERS --- + +/** + * Converts a string to Title Case. + * @param {string} str The string to convert. + * @returns {string} The Title Cased string. + */ +function toTitleCase(str) { + if (!str) return ''; + return str.toLowerCase().split(' ').map(word => { + return word.charAt(0).toUpperCase() + word.slice(1); + }).join(' '); +} + +/** + * Resets the sidebar UI to a specific mode's default state. + * Clears input values and toggles the appropriate control sections. + * @param {string} targetMode The demo mode to switch to (e.g., 'circle-search'). Defaults to 'circle-search'. + */ +function resetSidebarUI(targetMode = 'circle-search') { + const select = document.getElementById('demo-type-select'); + if (select.value !== targetMode) { + select.value = targetMode; + } + + // Map modes to their control container IDs + const modeToControls = { + 'circle-search': 'circle-search-controls', + 'h3-function': 'circle-search-controls', // H3 function uses circle inputs + 'polygon-search': 'polygon-search-controls', + 'region-search': 'region-search-controls', + 'route-search': 'route-search-controls' + }; + + const activeControlId = modeToControls[targetMode]; + + // Hide all control sections first + ['circle-search-controls', 'polygon-search-controls', 'region-search-controls', 'route-search-controls'] + .forEach(id => { + const el = document.getElementById(id); + if (id === activeControlId) { + el.classList.remove('hidden'); + } else { + el.classList.add('hidden'); + } + }); + + // Reset Input Values + // Set default radius to 5000m for H3 Function, 1000m for others + if (targetMode === 'h3-function') { + document.getElementById('radius-input').value = '5000'; + } else { + document.getElementById('radius-input').value = '1000'; + } + + document.getElementById('wkt-input').value = ''; + document.getElementById('wkt-input').classList.remove('invalid'); + document.getElementById('region-name-input').value = ''; + document.getElementById('selected-regions-list').innerHTML = ''; + document.getElementById('route-radius-input').value = '100'; + + // Reset Filters + document.getElementById('place-type-input').value = ''; + document.getElementById('selected-types-list').innerHTML = ''; + // Reset Type Checkbox + document.getElementById('primary-type-checkbox').checked = false; + + document.getElementById('min-rating-input').value = ''; + document.getElementById('max-rating-input').value = ''; + document.getElementById('business-status-select').value = 'OPERATIONAL'; + document.querySelectorAll('.attribute-filter').forEach(cb => cb.checked = false); + + // Reset Time + const daySelect = document.getElementById('day-of-week-select'); + const startInput = document.getElementById('start-time-input'); + const endInput = document.getElementById('end-time-input'); + daySelect.value = ''; + startInput.value = ''; + endInput.value = ''; + startInput.disabled = true; + endInput.disabled = true; + + // Reset Brands + document.getElementById('brand-category-select').value = ''; + document.getElementById('brand-name-input').value = ''; + document.getElementById('selected-brands-list').innerHTML = ''; + + // Reset H3 Controls (Default State) + // Specific overrides for 'h3-function' are handled in map.js after this call. + const h3Toggle = document.getElementById('h3-density-toggle'); + h3Toggle.checked = false; + h3Toggle.disabled = false; + + document.getElementById('h3-resolution-controls').classList.add('hidden'); + const h3Slider = document.getElementById('h3-resolution-slider'); + h3Slider.max = '12'; + h3Slider.value = '8'; + document.getElementById('h3-resolution-value').textContent = '8'; + + // Close Accordions + document.querySelectorAll('.collapsible-fieldset').forEach(fs => fs.classList.remove('is-open')); +} + + +/** + * A generic function to add a removable "tag" to a list. + */ +function addTag(text, listElement) { + if ([...listElement.querySelectorAll('span')].some(el => el.textContent === text)) return; + + const tag = document.createElement('li'); + tag.className = 'selected-type-tag'; + const textSpan = document.createElement('span'); + textSpan.textContent = text; + const removeBtn = document.createElement('button'); + removeBtn.className = 'remove-tag-btn'; + removeBtn.innerHTML = '×'; + removeBtn.onclick = () => { + tag.remove(); + invalidateQueryState(); // Invalidate when a tag is removed + }; + + tag.appendChild(textSpan); + tag.appendChild(removeBtn); + listElement.appendChild(tag); +} + +/** + * Initializes the place type autocomplete functionality. + */ +function initializeAutocomplete(inputElement) { + const suggestionsContainer = document.getElementById('autocomplete-suggestions'); + const selectedTypesList = document.getElementById('selected-types-list'); + + inputElement.addEventListener('input', () => { + const query = inputElement.value.toLowerCase(); + suggestionsContainer.innerHTML = ''; + if (!query) return; + + const filteredTypes = PLACE_TYPES + .filter(t => t.toLowerCase().includes(query)) + .sort((a, b) => { + const aL = a.toLowerCase(), bL = b.toLowerCase(); + const sA = (aL === query) ? 1 : (aL.startsWith(query) ? 2 : 3); + const sB = (bL === query) ? 1 : (bL.startsWith(query) ? 2 : 3); + if (sA !== sB) return sA - sB; + return a.localeCompare(b); + }).slice(0, 10); + + filteredTypes.forEach(type => { + const item = document.createElement('div'); + item.className = 'suggestion-item'; + item.textContent = type; + item.addEventListener('click', () => { + addTag(type, selectedTypesList); + inputElement.value = ''; + suggestionsContainer.innerHTML = ''; + invalidateQueryState(); // Invalidate on add + }); + suggestionsContainer.appendChild(item); + }); + }); + + document.addEventListener('click', e => { + if (!e.target.closest('.autocomplete-container')) { + suggestionsContainer.innerHTML = ''; + } + }); +} + + +/** + * Populates the brand category dropdown from the loaded brand data. + */ +function populateBrandCategories() { + const categorySelect = document.getElementById('brand-category-select'); + const categories = [...new Set(BRANDS_DATA.map(brand => brand.category))].sort(); + categories.forEach(category => { + const option = document.createElement('option'); + option.value = category; + option.textContent = category; + categorySelect.appendChild(option); + }); +} + +/** + * Initializes the brand name autocomplete functionality for multi-selection. + */ +function initializeBrandAutocomplete() { + const inputElement = document.getElementById('brand-name-input'); + const categorySelect = document.getElementById('brand-category-select'); + const suggestionsContainer = document.getElementById('brand-autocomplete-suggestions'); + const selectedBrandsList = document.getElementById('selected-brands-list'); + + const updateSuggestions = () => { + const query = inputElement.value.toLowerCase(); + const category = categorySelect.value; + suggestionsContainer.innerHTML = ''; + if (!query) return; + + const filteredBrands = BRANDS_DATA + .filter(brand => !category || brand.category === category) + .filter(brand => brand.name.toLowerCase().includes(query)) + .slice(0, 10); + + filteredBrands.forEach(brand => { + const item = document.createElement('div'); + item.className = 'suggestion-item'; + item.textContent = brand.name; + item.addEventListener('click', () => { + addTag(brand.name, selectedBrandsList); + inputElement.value = ''; + suggestionsContainer.innerHTML = ''; + invalidateQueryState(); // Invalidate on add + }); + suggestionsContainer.appendChild(item); + }); + }; + + inputElement.addEventListener('input', updateSuggestions); + + categorySelect.addEventListener('change', () => { + inputElement.value = ''; + suggestionsContainer.innerHTML = ''; + }); +} + + +/** + * Converts a google.maps.Polygon object to a WKT string and updates the textarea. + */ +function updateWktFromPolygon(polygon) { + const path = polygon.getPath().getArray(); + const wktInput = document.getElementById('wkt-input'); + if (path.length < 3) { + wktInput.value = ''; + return; + } + let wkt = "POLYGON(("; + wkt += path.map(p => `${p.lng()} ${p.lat()}`).join(', '); + wkt += `, ${path[0].lng()} ${path[0].lat()}`; + wkt += "))"; + wktInput.value = wkt; + wktInput.classList.remove('invalid'); +} + +/** + * Handles user input in the WKT textarea, parsing it and drawing a polygon on the map. + */ +function handleWktInputChange(e) { + const wktString = e.target.value; + const wktInput = e.target; + try { + const coords = wktString.match(/\(\((.*)\)\)/)[1].split(',').map(c => { + const parts = c.trim().split(' '); + return { lng: parseFloat(parts[0]), lat: parseFloat(parts[1]) }; + }); + + if (coords.length < 4 || isNaN(coords[0].lat)) throw new Error("Invalid coordinate format"); + + clearAllOverlays(); + + searchPolygon = new google.maps.Polygon({ + paths: coords, + editable: true, draggable: true, fillColor: '#5599FF', fillOpacity: 0.3, + strokeColor: '#0000FF', strokeWeight: 2, map: map + }); + + searchPolygon.getPaths().forEach(path => { + google.maps.event.addListener(path, 'set_at', () => { + updateWktFromPolygon(searchPolygon); + invalidateQueryState(); + }); + google.maps.event.addListener(path, 'insert_at', () => { + updateWktFromPolygon(searchPolygon); + invalidateQueryState(); + }); + }); + + wktInput.classList.remove('invalid'); + } catch (err) { + wktInput.classList.add('invalid'); + } +} + +// --- STATUS & AUTH UI HELPERS --- + +/** + * Updates the status message in the sidebar. + * @param {string} message The text to display. + * @param {string} type 'info', 'success', or 'error'. + */ +function updateStatus(message, type = 'info') { + const statusDisplay = document.getElementById('status'); + if (statusDisplay) { + statusDisplay.textContent = message; + statusDisplay.className = type; + } +} + +/** + * Updates the UI to a "signed-in" state. + */ +function setSignedInUi() { + userSignedIn = true; + document.getElementById('auth-button').textContent = 'Sign Out'; + document.getElementById('run-query-btn').disabled = false; + updateStatus('Authorized successfully.', 'success'); +} + +/** + * Updates the UI to a "signed-out" state. + */ +function resetSignedInUi() { + userSignedIn = false; + document.getElementById('auth-button').textContent = 'Authorize with Google'; + document.getElementById('run-query-btn').disabled = true; + accessToken = null; + updateStatus('Please authorize to run a query.'); +} \ No newline at end of file From 5ad8b48c3dc8005de7077c0831e36daeadeb0f67 Mon Sep 17 00:00:00 2001 From: henrikvalv3 Date: Tue, 3 Feb 2026 16:54:08 +0000 Subject: [PATCH 2/3] fix: add missing license headers to javascript source files --- places_insights/places-insights-demo/auth.js | 14 ++++++++++++++ places_insights/places-insights-demo/display.js | 14 ++++++++++++++ places_insights/places-insights-demo/help.js | 14 ++++++++++++++ places_insights/places-insights-demo/main.js | 14 ++++++++++++++ places_insights/places-insights-demo/map.js | 14 ++++++++++++++ .../places-insights-demo/place_types.js | 14 ++++++++++++++ places_insights/places-insights-demo/query.js | 14 ++++++++++++++ places_insights/places-insights-demo/routes.js | 14 ++++++++++++++ places_insights/places-insights-demo/state.js | 14 ++++++++++++++ places_insights/places-insights-demo/ui.js | 14 ++++++++++++++ 10 files changed, 140 insertions(+) diff --git a/places_insights/places-insights-demo/auth.js b/places_insights/places-insights-demo/auth.js index b2daccd..27a1553 100644 --- a/places_insights/places-insights-demo/auth.js +++ b/places_insights/places-insights-demo/auth.js @@ -1,3 +1,17 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + // --- AUTHENTICATION --- /** diff --git a/places_insights/places-insights-demo/display.js b/places_insights/places-insights-demo/display.js index 1d5cb87..69d2af2 100644 --- a/places_insights/places-insights-demo/display.js +++ b/places_insights/places-insights-demo/display.js @@ -1,3 +1,17 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + // --- DISPLAY & DATA HELPERS --- /** diff --git a/places_insights/places-insights-demo/help.js b/places_insights/places-insights-demo/help.js index c5fbc16..1b8faae 100644 --- a/places_insights/places-insights-demo/help.js +++ b/places_insights/places-insights-demo/help.js @@ -1,3 +1,17 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + /** * Generates the HTML content for the User Guide modal dynamically based on the configuration. * @returns {string} HTML string for the guide. diff --git a/places_insights/places-insights-demo/main.js b/places_insights/places-insights-demo/main.js index de89e65..3b61d33 100644 --- a/places_insights/places-insights-demo/main.js +++ b/places_insights/places-insights-demo/main.js @@ -1,3 +1,17 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + // --- MAIN APPLICATION ENTRY POINT --- /** diff --git a/places_insights/places-insights-demo/map.js b/places_insights/places-insights-demo/map.js index 25dbdce..cfbafcd 100644 --- a/places_insights/places-insights-demo/map.js +++ b/places_insights/places-insights-demo/map.js @@ -1,3 +1,17 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + // --- MAP & DRAWING LOGIC --- // New state for sample markers diff --git a/places_insights/places-insights-demo/place_types.js b/places_insights/places-insights-demo/place_types.js index 48a5009..334081a 100644 --- a/places_insights/places-insights-demo/place_types.js +++ b/places_insights/places-insights-demo/place_types.js @@ -1,3 +1,17 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + // This file contains a comprehensive list of place types from the documentation // to be used by the application's autocomplete feature. diff --git a/places_insights/places-insights-demo/query.js b/places_insights/places-insights-demo/query.js index 2d258a7..bda69f7 100644 --- a/places_insights/places-insights-demo/query.js +++ b/places_insights/places-insights-demo/query.js @@ -1,3 +1,17 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + // --- BIGQUERY QUERY LOGIC --- // Note: fetchRouteAsWkt is imported from routes.js diff --git a/places_insights/places-insights-demo/routes.js b/places_insights/places-insights-demo/routes.js index 8aac8dd..7ebfa23 100644 --- a/places_insights/places-insights-demo/routes.js +++ b/places_insights/places-insights-demo/routes.js @@ -1,3 +1,17 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + // --- ROUTES API LOGIC --- /** diff --git a/places_insights/places-insights-demo/state.js b/places_insights/places-insights-demo/state.js index 9a3c827..0b52597 100644 --- a/places_insights/places-insights-demo/state.js +++ b/places_insights/places-insights-demo/state.js @@ -1,3 +1,17 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + // --- CONFIGURATION CONSTANTS --- // These are loaded from config.js and treated as constants throughout the app. const config = window.APP_CONFIG || {}; diff --git a/places_insights/places-insights-demo/ui.js b/places_insights/places-insights-demo/ui.js index 085ce9f..a74e1c5 100644 --- a/places_insights/places-insights-demo/ui.js +++ b/places_insights/places-insights-demo/ui.js @@ -1,3 +1,17 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + // --- UI HELPERS --- /** From 26326c95023807764fc182b03598a774106029c1 Mon Sep 17 00:00:00 2001 From: henrikvalv3 Date: Tue, 3 Feb 2026 17:17:07 +0000 Subject: [PATCH 3/3] refactor(search): optimize brands search logic --- .../places-insights-demo/brands.json | 8185 ----------------- .../places-insights-demo/index.html | 10 +- places_insights/places-insights-demo/main.js | 37 +- places_insights/places-insights-demo/query.js | 12 +- places_insights/places-insights-demo/ui.js | 59 - 5 files changed, 24 insertions(+), 8279 deletions(-) delete mode 100644 places_insights/places-insights-demo/brands.json diff --git a/places_insights/places-insights-demo/brands.json b/places_insights/places-insights-demo/brands.json deleted file mode 100644 index ce593f1..0000000 --- a/places_insights/places-insights-demo/brands.json +++ /dev/null @@ -1,8185 +0,0 @@ -[{ - "name": "\u0026 Other Stories", - "category": "Merchandise Retail" -}, { - "name": "1-800-Radiator", - "category": "Automotive and Parts Dealers" -}, { - "name": "100 Montaditos", - "category": "Food and Drink" -}, { - "name": "1st Source Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "24 Hour Fitness", - "category": "Fitness" -}, { - "name": "3 Day Blinds", - "category": "Merchandise Retail" -}, { - "name": "30 Minute Hit", - "category": "Fitness" -}, { - "name": "5.11 Tactical", - "category": "Merchandise Retail" -}, { - "name": "7 Brew Coffee", - "category": "Food and Drink" -}, { - "name": "7 For All Mankind", - "category": "Merchandise Retail" -}, { - "name": "7-Eleven", - "category": "Grocery and Liquor" -}, { - "name": "717 Parking Enterprises", - "category": "Parking" -}, { - "name": "76", - "category": "Gas Station" -}, { - "name": "84 Lumber", - "category": "Merchandise Retail" -}, { - "name": "85°C Bakery Cafe", - "category": "Food and Drink" -}, { - "name": "99 Ranch Market", - "category": "Grocery and Liquor" -}, { - "name": "99 Restaurants", - "category": "Food and Drink" -}, { - "name": "9Round", - "category": "Fitness" -}, { - "name": "A\u0026W", - "category": "Food and Drink" -}, { - "name": "AAFES", - "category": "Gas Station" -}, { - "name": "AAMCO Transmissions \u0026 Total Car Care", - "category": "Automotive Services" -}, { - "name": "ABANCA", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "ABC Auto", - "category": "Automotive and Parts Dealers" -}, { - "name": "ABC Fine Wine \u0026 Spirits", - "category": "Grocery and Liquor" -}, { - "name": "ABC SELECT SPIRITS", - "category": "Grocery and Liquor" -}, { - "name": "ABC Store", - "category": "Grocery and Liquor" -}, { - "name": "ABC Stores", - "category": "Grocery and Liquor" -}, { - "name": "ABC Supply Co., Inc.", - "category": "Merchandise Retail" -}, { - "name": "AC", - "category": "Lodging" -}, { - "name": "ACE Rent A Car", - "category": "Automotive Rentals" -}, { - "name": "ACME Markets", - "category": "Grocery and Liquor" -}, { - "name": "ACME Markets Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "AHF Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "AL Prime Energy", - "category": "Gas Station" -}, { - "name": "ALCOLOCK Ignition Interlock", - "category": "Automotive Services" -}, { - "name": "ALDI", - "category": "Grocery and Liquor" -}, { - "name": "AMC", - "category": "Movie theater" -}, { - "name": "AMERIPRIDE", - "category": "Merchandise Retail" -}, { - "name": "AMES Taping Tools", - "category": "Merchandise Retail" -}, { - "name": "ANZ", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "APM Monaco", - "category": "Merchandise Retail" -}, { - "name": "APlus", - "category": "Grocery and Liquor" -}, { - "name": "ARCO", - "category": "Gas Station" -}, { - "name": "ARITAUM", - "category": "Health and Personal Care Retailers" -}, { - "name": "AT\u0026T Store", - "category": "Telecommunications" -}, { - "name": "ATM (Associated Bank)", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "ATM (Regions Bank)", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "ATM (Umpqua Bank)", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "ATM Link", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "ATM M\u0026t Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "ATM USA, LLC", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Aaron Brothers Art \u0026 Framing", - "category": "Merchandise Retail" -}, { - "name": "Aaron\u0027s", - "category": "Merchandise Retail" -}, { - "name": "Abbey Carpet", - "category": "Merchandise Retail" -}, { - "name": "Abelardo\u0027s Mexican Fresh", - "category": "Food and Drink" -}, { - "name": "Abercrombie \u0026 Fitch", - "category": "Merchandise Retail" -}, { - "name": "Absolute Dental", - "category": "Dental" -}, { - "name": "Academy Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Academy Sports + Outdoors", - "category": "Merchandise Retail" -}, { - "name": "Acai Express", - "category": "Food and Drink" -}, { - "name": "Ace Hardware", - "category": "Merchandise Retail" -}, { - "name": "Ace Parking", - "category": "Parking" -}, { - "name": "Acer", - "category": "Electronics Retailers" -}, { - "name": "Acme Brick", - "category": "Merchandise Retail" -}, { - "name": "Acne Studios", - "category": "Merchandise Retail" -}, { - "name": "Actors Federal Credit Union", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Adam \u0026 Eve", - "category": "Merchandise Retail" -}, { - "name": "Adesa", - "category": "Automotive and Parts Dealers" -}, { - "name": "Advance Auto Parts", - "category": "Automotive and Parts Dealers" -}, { - "name": "Adyar Ananda Bhavan", - "category": "Food and Drink" -}, { - "name": "Aerie", - "category": "Merchandise Retail" -}, { - "name": "Aerus", - "category": "Merchandise Retail" -}, { - "name": "Aesop", - "category": "Health and Personal Care Retailers" -}, { - "name": "Affordable Dentures", - "category": "Dental" -}, { - "name": "Agnes b", - "category": "Merchandise Retail" -}, { - "name": "Agricultural Bank of China", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Airgas Store", - "category": "Merchandise Retail" -}, { - "name": "Ajisen Ramen", - "category": "Food and Drink" -}, { - "name": "Alamo Fireworks", - "category": "Merchandise Retail" -}, { - "name": "Alamo Rent A Car", - "category": "Automotive Rentals" -}, { - "name": "Albertsons", - "category": "Grocery and Liquor" -}, { - "name": "Albertsons Bakery", - "category": "Grocery and Liquor" -}, { - "name": "Albertsons Deli", - "category": "Grocery and Liquor" -}, { - "name": "Albertsons Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Alco Alert Ignition Interlock", - "category": "Automotive Services" -}, { - "name": "Aldo", - "category": "Merchandise Retail" -}, { - "name": "Alexander McQueen", - "category": "Merchandise Retail" -}, { - "name": "AllSaints", - "category": "Merchandise Retail" -}, { - "name": "Allegro Coffee Company", - "category": "Food and Drink" -}, { - "name": "Allen Edmonds", - "category": "Merchandise Retail" -}, { - "name": "Allied Auto Parts", - "category": "Automotive and Parts Dealers" -}, { - "name": "Alloy Wheel Repair Specialists", - "category": "Automotive Services" -}, { - "name": "Allpoint", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Allsup\u0027s Convenience Store", - "category": "Grocery and Liquor" -}, { - "name": "Alltown", - "category": "Gas Station" -}, { - "name": "Ally Fashion", - "category": "Merchandise Retail" -}, { - "name": "Alo Yoga", - "category": "Merchandise Retail" -}, { - "name": "Aloft Hotels", - "category": "Lodging" -}, { - "name": "Aloha Island Mart", - "category": "Grocery and Liquor" -}, { - "name": "Alon", - "category": "Gas Station" -}, { - "name": "AlphaGraphics", - "category": "Merchandise Retail" -}, { - "name": "Alsco", - "category": "Merchandise Retail" -}, { - "name": "Alta Convenience", - "category": "Grocery and Liquor" -}, { - "name": "Altar\u0027d State", - "category": "Merchandise Retail" -}, { - "name": "Amazon Fresh", - "category": "Grocery and Liquor" -}, { - "name": "Amc Cookware", - "category": "Merchandise Retail" -}, { - "name": "Amegy Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "AmericInn", - "category": "Lodging" -}, { - "name": "America First Credit Union", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "America\u0027s Mattress", - "category": "Merchandise Retail" -}, { - "name": "American Deli", - "category": "Food and Drink" -}, { - "name": "American Eagle Outfitters", - "category": "Merchandise Retail" -}, { - "name": "American Express", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "American Mattress", - "category": "Merchandise Retail" -}, { - "name": "American Olean Sales Service Center", - "category": "Merchandise Retail" -}, { - "name": "American Rental", - "category": "Merchandise Retail" -}, { - "name": "American Tire Depot", - "category": "Automotive Services" -}, { - "name": "American Vintage", - "category": "Merchandise Retail" -}, { - "name": "Americas Best Value Inn", - "category": "Lodging" -}, { - "name": "Ameris Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Ameristop Food Mart", - "category": "Grocery and Liquor" -}, { - "name": "Ami", - "category": "Merchandise Retail" -}, { - "name": "Amoco", - "category": "Gas Station" -}, { - "name": "Amorino", - "category": "Food and Drink" -}, { - "name": "Amplifon", - "category": "Health and Personal Care Retailers" -}, { - "name": "Amway", - "category": "Health and Personal Care Retailers" -}, { - "name": "Andbank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Andrea", - "category": "Merchandise Retail" -}, { - "name": "Andy\u0027s", - "category": "Food and Drink" -}, { - "name": "Ann Taylor", - "category": "Merchandise Retail" -}, { - "name": "Another Broken Egg Cafe", - "category": "Food and Drink" -}, { - "name": "Anteprima", - "category": "Merchandise Retail" -}, { - "name": "Anthony\u0027s Coal Fired Pizza", - "category": "Food and Drink" -}, { - "name": "Anthropologie", - "category": "Merchandise Retail" -}, { - "name": "Anytime Fitness", - "category": "Fitness" -}, { - "name": "Apollo Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Apple", - "category": "Electronics Retailers" -}, { - "name": "Apple Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Applebee\u0027s", - "category": "Food and Drink" -}, { - "name": "Applegreen", - "category": "Gas Station" -}, { - "name": "Apricot Lane", - "category": "Merchandise Retail" -}, { - "name": "Aqua Living Factory Outlets", - "category": "Merchandise Retail" -}, { - "name": "Arabian Oud", - "category": "Merchandise Retail" -}, { - "name": "Arby\u0027s", - "category": "Food and Drink" -}, { - "name": "Arc Thrift Store", - "category": "Merchandise Retail" -}, { - "name": "Arc\u0027teryx", - "category": "Merchandise Retail" -}, { - "name": "Arc3 Gases", - "category": "Merchandise Retail" -}, { - "name": "Arctic Circle", - "category": "Food and Drink" -}, { - "name": "Ardene", - "category": "Merchandise Retail" -}, { - "name": "Ardyss", - "category": "Merchandise Retail" -}, { - "name": "Arhaus", - "category": "Merchandise Retail" -}, { - "name": "Aritzia", - "category": "Merchandise Retail" -}, { - "name": "Armani", - "category": "Merchandise Retail" -}, { - "name": "Armed Forces Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Armstrong McCall", - "category": "Merchandise Retail" -}, { - "name": "Arnold Motor Supply", - "category": "Automotive and Parts Dealers" -}, { - "name": "Aroma Joe\u0027s Coffee", - "category": "Food and Drink" -}, { - "name": "Artemide", - "category": "Merchandise Retail" -}, { - "name": "Arvest Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Arvest Bank ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Ascend Hotel Collection", - "category": "Lodging" -}, { - "name": "Ascension St. John Hospital", - "category": "Hospital" -}, { - "name": "Ashley", - "category": "Merchandise Retail" -}, { - "name": "Ashley Stewart", - "category": "Merchandise Retail" -}, { - "name": "Asics", - "category": "Merchandise Retail" -}, { - "name": "Aspen Dental", - "category": "Dental" -}, { - "name": "Assistance League", - "category": "Merchandise Retail" -}, { - "name": "Associated Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Aston Martin", - "category": "Automotive and Parts Dealers" -}, { - "name": "Asus", - "category": "Electronics Retailers" -}, { - "name": "At Home", - "category": "Merchandise Retail" -}, { - "name": "Athleta", - "category": "Merchandise Retail" -}, { - "name": "Atlantis Citgo", - "category": "Grocery and Liquor" -}, { - "name": "Atomy", - "category": "Merchandise Retail" -}, { - "name": "Atul Bakery", - "category": "Food and Drink" -}, { - "name": "Atwoods", - "category": "Merchandise Retail" -}, { - "name": "Au Bon Pain", - "category": "Food and Drink" -}, { - "name": "Aubuchon Hardware", - "category": "Merchandise Retail" -}, { - "name": "Audemars Piguet", - "category": "Merchandise Retail" -}, { - "name": "Audibel", - "category": "Health and Personal Care Retailers" -}, { - "name": "AudioNova", - "category": "Health and Personal Care Retailers" -}, { - "name": "Auntie Anne\u0027s", - "category": "Food and Drink" -}, { - "name": "Auto Chlor", - "category": "Merchandise Retail" -}, { - "name": "Auto Glass Fitters", - "category": "Automotive Services" -}, { - "name": "Auto Glass Now", - "category": "Automotive Services" -}, { - "name": "Auto Plus Auto Parts", - "category": "Automotive and Parts Dealers" -}, { - "name": "Auto Value", - "category": "Automotive and Parts Dealers" -}, { - "name": "Auto Value Paint \u0026 Body Supply", - "category": "Automotive and Parts Dealers" -}, { - "name": "AutoNation Collision Center", - "category": "Automotive Services" -}, { - "name": "AutoZone Auto Parts", - "category": "Automotive and Parts Dealers" -}, { - "name": "Autobell Car Wash", - "category": "Automotive Services" -}, { - "name": "Autograph Collection", - "category": "Lodging" -}, { - "name": "Autoland", - "category": "Automotive and Parts Dealers" -}, { - "name": "Automobili Lamborghini S.p.A.", - "category": "Automotive and Parts Dealers" -}, { - "name": "Autopart International", - "category": "Automotive and Parts Dealers" -}, { - "name": "Aux Merveilleux de Fred", - "category": "Food and Drink" -}, { - "name": "Avid", - "category": "Lodging" -}, { - "name": "Avis", - "category": "Automotive Rentals" -}, { - "name": "Avon", - "category": "Merchandise Retail" -}, { - "name": "Aéropostale", - "category": "Merchandise Retail" -}, { - "name": "B\u0026B Theatres", - "category": "Movie theater" -}, { - "name": "B.Young", - "category": "Merchandise Retail" -}, { - "name": "BALENCIAGA", - "category": "Merchandise Retail" -}, { - "name": "BAO BAO ISSEY MIYAKE", - "category": "Merchandise Retail" -}, { - "name": "BCBGMAXAZRIA", - "category": "Merchandise Retail" -}, { - "name": "BFGoodrich", - "category": "Automotive Services" -}, { - "name": "BFS Foods", - "category": "Grocery and Liquor" -}, { - "name": "BIBIBOP Asian Grill", - "category": "Food and Drink" -}, { - "name": "BIGGBY COFFEE", - "category": "Food and Drink" -}, { - "name": "BIMBA Y LOLA", - "category": "Merchandise Retail" -}, { - "name": "BJ\u0027s Bakery", - "category": "Food and Drink" -}, { - "name": "BJ\u0027s Gas", - "category": "Gas Station" -}, { - "name": "BJ\u0027s Optical", - "category": "Health and Personal Care Retailers" -}, { - "name": "BJ\u0027s Restaurant \u0026 Brewhouse", - "category": "Food and Drink" -}, { - "name": "BJ\u0027s Wholesale Club", - "category": "Merchandise Retail" -}, { - "name": "BJ\u0027s Wholesale Club Tire Center", - "category": "Automotive Services" -}, { - "name": "BMO Bank of Montreal", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "BMO Bank of Montreal ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "BMO Harris ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "BMO Harris Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "BNP Paribas", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "BOSS Shop", - "category": "Merchandise Retail" -}, { - "name": "BP", - "category": "Gas Station" -}, { - "name": "BRAVO Cucina Italiana", - "category": "Food and Drink" -}, { - "name": "BVLGARI", - "category": "Merchandise Retail" -}, { - "name": "BYREDO", - "category": "Merchandise Retail" -}, { - "name": "Bacio di Latte", - "category": "Food and Drink" -}, { - "name": "Bahama Buck\u0027s", - "category": "Food and Drink" -}, { - "name": "Baja Fresh", - "category": "Food and Drink" -}, { - "name": "Bally Store", - "category": "Merchandise Retail" -}, { - "name": "Balmain", - "category": "Merchandise Retail" -}, { - "name": "Banana Republic", - "category": "Merchandise Retail" -}, { - "name": "Banana Republic Factory Store", - "category": "Merchandise Retail" -}, { - "name": "Banc Sabadell", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Banc of California", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "BancFirst", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Banco Estado", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Banco Itaú", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Banco Pichincha", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Banco República", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Banco de la Nación Argentina", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Banesco", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Bang \u0026 Olufsen", - "category": "Electronics Retailers" -}, { - "name": "Bangkok Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Bangor Savings Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Bank ABC", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Bank Of India", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Bank of America ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Bank of America Financial Center", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Bank of Baroda", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Bank of Colorado", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Bank of East Asia", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Bank of Hawaii", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Bank of Ireland", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Bank of the West", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Bank of the West - ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "BankPlus", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "BankUnited", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Banner Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Banner Urgent Care", - "category": "Hospital" -}, { - "name": "Banreservas", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Bar Louie", - "category": "Food and Drink" -}, { - "name": "Barbour", - "category": "Merchandise Retail" -}, { - "name": "Barclays", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Bargain Hunt", - "category": "Merchandise Retail" -}, { - "name": "Barnes \u0026 Noble", - "category": "Merchandise Retail" -}, { - "name": "Barro\u0027s Pizza", - "category": "Food and Drink" -}, { - "name": "Bashas\u0027", - "category": "Grocery and Liquor" -}, { - "name": "Baskin-Robbins", - "category": "Food and Drink" -}, { - "name": "Bass Pro Shops", - "category": "Merchandise Retail" -}, { - "name": "Bassett", - "category": "Merchandise Retail" -}, { - "name": "Bath \u0026 Body Works", - "category": "Merchandise Retail" -}, { - "name": "Batteries Plus Bulbs", - "category": "Automotive Services" -}, { - "name": "BayPort Credit Union", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Baymont Inn \u0026 Suites", - "category": "Lodging" -}, { - "name": "Bealls Outlet", - "category": "Merchandise Retail" -}, { - "name": "Beans \u0026 Brews", - "category": "Food and Drink" -}, { - "name": "BeaverTails", - "category": "Food and Drink" -}, { - "name": "Bebe", - "category": "Merchandise Retail" -}, { - "name": "Becu", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Bed Bath \u0026 Beyond", - "category": "Merchandise Retail" -}, { - "name": "Beef \u0027O\u0027 Brady\u0027s", - "category": "Food and Drink" -}, { - "name": "Beef Jerky Outlet", - "category": "Grocery and Liquor" -}, { - "name": "Belk", - "category": "Merchandise Retail" -}, { - "name": "BellStores", - "category": "Grocery and Liquor" -}, { - "name": "Belle Tire", - "category": "Automotive Services" -}, { - "name": "Bellino Fireworks", - "category": "Merchandise Retail" -}, { - "name": "Bellona", - "category": "Merchandise Retail" -}, { - "name": "Beltone Hearing Aid Center", - "category": "Health and Personal Care Retailers" -}, { - "name": "Ben \u0026 Jerry\u0027s", - "category": "Food and Drink" -}, { - "name": "Benetton", - "category": "Merchandise Retail" -}, { - "name": "Benihana", - "category": "Food and Drink" -}, { - "name": "Benjamin Moore", - "category": "Merchandise Retail" -}, { - "name": "Bento Sushi", - "category": "Food and Drink" -}, { - "name": "Berkshire Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Berluti", - "category": "Merchandise Retail" -}, { - "name": "Best Buy", - "category": "Electronics Retailers" -}, { - "name": "Best Western", - "category": "Lodging" -}, { - "name": "Best Western Plus", - "category": "Lodging" -}, { - "name": "Best Western Premier", - "category": "Lodging" -}, { - "name": "Best Western Signature Collection", - "category": "Lodging" -}, { - "name": "Best-One Tire \u0026 Service", - "category": "Automotive Services" -}, { - "name": "BevMo!", - "category": "Grocery and Liquor" -}, { - "name": "Bi-Mart", - "category": "Merchandise Retail" -}, { - "name": "Big 5 Sporting Goods", - "category": "Merchandise Retail" -}, { - "name": "Big Apple Bagels", - "category": "Food and Drink" -}, { - "name": "Big Apple Store", - "category": "Grocery and Liquor" -}, { - "name": "Big Boy", - "category": "Food and Drink" -}, { - "name": "Big Brand Tire \u0026 Service", - "category": "Automotive Services" -}, { - "name": "Big Frog Custom T-Shirts \u0026 More", - "category": "Merchandise Retail" -}, { - "name": "Big Lots", - "category": "Merchandise Retail" -}, { - "name": "Big O Tires", - "category": "Automotive Services" -}, { - "name": "Big Red Liquors", - "category": "Grocery and Liquor" -}, { - "name": "Big Y World Class Market", - "category": "Grocery and Liquor" -}, { - "name": "Bijou Brigitte", - "category": "Merchandise Retail" -}, { - "name": "Bikaner Sweets", - "category": "Food and Drink" -}, { - "name": "BikeLink", - "category": "Parking" -}, { - "name": "Bill Miller Bar-B-Q", - "category": "Food and Drink" -}, { - "name": "Billabong", - "category": "Merchandise Retail" -}, { - "name": "Birkenstock", - "category": "Merchandise Retail" -}, { - "name": "Biscuitville", - "category": "Food and Drink" -}, { - "name": "Black Bear Diner", - "category": "Food and Drink" -}, { - "name": "Black Rock Coffee Bar", - "category": "Food and Drink" -}, { - "name": "Black Sheep Coffee", - "category": "Food and Drink" -}, { - "name": "Black\u0027s Tire \u0026 Auto Service", - "category": "Automotive Services" -}, { - "name": "Blake\u0027s Lotaburger", - "category": "Food and Drink" -}, { - "name": "Blanc du Nil", - "category": "Merchandise Retail" -}, { - "name": "Blancpain", - "category": "Merchandise Retail" -}, { - "name": "Blank Street", - "category": "Food and Drink" -}, { - "name": "Blaze Pizza", - "category": "Food and Drink" -}, { - "name": "Blick Art Materials", - "category": "Merchandise Retail" -}, { - "name": "Blimpie", - "category": "Food and Drink" -}, { - "name": "Blinds To Go", - "category": "Merchandise Retail" -}, { - "name": "Blink Fitness", - "category": "Fitness" -}, { - "name": "Blue Bell Creameries", - "category": "Food and Drink" -}, { - "name": "Blue Bottle Coffee", - "category": "Food and Drink" -}, { - "name": "BlueWave Express Car Wash", - "category": "Automotive Services" -}, { - "name": "Bluegreen Vacations", - "category": "Lodging" -}, { - "name": "Bluemercury", - "category": "Health and Personal Care Retailers" -}, { - "name": "Bluestone Lane", - "category": "Food and Drink" -}, { - "name": "BoConcept", - "category": "Merchandise Retail" -}, { - "name": "Bob Evans", - "category": "Food and Drink" -}, { - "name": "Bob\u0027s Discount Furniture", - "category": "Merchandise Retail" -}, { - "name": "Bobablastic", - "category": "Food and Drink" -}, { - "name": "Body Fit", - "category": "Fitness" -}, { - "name": "Bodystreet", - "category": "Fitness" -}, { - "name": "Boggi Milano", - "category": "Merchandise Retail" -}, { - "name": "Bogner", - "category": "Merchandise Retail" -}, { - "name": "Bojangles\u0027 Famous Chicken \u0027n Biscuits", - "category": "Food and Drink" -}, { - "name": "Bomgaars", - "category": "Merchandise Retail" -}, { - "name": "Bonchon", - "category": "Food and Drink" -}, { - "name": "Bonefish Grill", - "category": "Food and Drink" -}, { - "name": "Bonobos", - "category": "Merchandise Retail" -}, { - "name": "Bonpoint", - "category": "Merchandise Retail" -}, { - "name": "Bookoff", - "category": "Merchandise Retail" -}, { - "name": "Books-A-Million", - "category": "Merchandise Retail" -}, { - "name": "Boomarang Diner", - "category": "Food and Drink" -}, { - "name": "Boost Mobile", - "category": "Telecommunications" -}, { - "name": "Booster Juice", - "category": "Food and Drink" -}, { - "name": "Boot Barn", - "category": "Merchandise Retail" -}, { - "name": "Bosa Donuts", - "category": "Food and Drink" -}, { - "name": "Boscov\u0027s", - "category": "Merchandise Retail" -}, { - "name": "Bose", - "category": "Electronics Retailers" -}, { - "name": "Bossini", - "category": "Merchandise Retail" -}, { - "name": "Bottega", - "category": "Merchandise Retail" -}, { - "name": "Boucheron", - "category": "Merchandise Retail" -}, { - "name": "Boulder Designs", - "category": "Merchandise Retail" -}, { - "name": "BoxDrop", - "category": "Merchandise Retail" -}, { - "name": "BoxLunch", - "category": "Merchandise Retail" -}, { - "name": "Bradesco", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Brake Check", - "category": "Automotive Services" -}, { - "name": "Brake Masters", - "category": "Automotive Services" -}, { - "name": "Brakes Plus", - "category": "Automotive Services" -}, { - "name": "Braum\u0027s Ice Cream \u0026 Burger Restaurant", - "category": "Food and Drink" -}, { - "name": "Bravo Supermarkets", - "category": "Grocery and Liquor" -}, { - "name": "Break Time", - "category": "Grocery and Liquor" -}, { - "name": "Breguet", - "category": "Merchandise Retail" -}, { - "name": "Breitling Boutique", - "category": "Merchandise Retail" -}, { - "name": "Bremer Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "BrewDog", - "category": "Food and Drink" -}, { - "name": "Bricks \u0026 Minifigs", - "category": "Merchandise Retail" -}, { - "name": "Brident Dental \u0026 Orthodontics", - "category": "Dental" -}, { - "name": "Bridgestone", - "category": "Automotive Services" -}, { - "name": "Bright Now! Dental", - "category": "Dental" -}, { - "name": "Brighton", - "category": "Merchandise Retail" -}, { - "name": "Brioche Dorée", - "category": "Food and Drink" -}, { - "name": "Brioni", - "category": "Merchandise Retail" -}, { - "name": "Brooks Brothers", - "category": "Merchandise Retail" -}, { - "name": "Brookshire Brothers", - "category": "Grocery and Liquor" -}, { - "name": "Brookshire Brothers Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Brookshire\u0027s", - "category": "Grocery and Liquor" -}, { - "name": "Brookshire\u0027s Fuel", - "category": "Gas Station" -}, { - "name": "Broward Health", - "category": "Hospital" -}, { - "name": "Brown\u0027s Shoe Fit Co", - "category": "Merchandise Retail" -}, { - "name": "Bruegger\u0027s Bagels", - "category": "Food and Drink" -}, { - "name": "Brunello Cucinelli", - "category": "Merchandise Retail" -}, { - "name": "Bruster\u0027s Real Ice Cream", - "category": "Food and Drink" -}, { - "name": "Bubba\u0027s 33", - "category": "Food and Drink" -}, { - "name": "Bubbakoo\u0027s Burritos", - "category": "Food and Drink" -}, { - "name": "Buckle", - "category": "Merchandise Retail" -}, { - "name": "Budget Blinds", - "category": "Merchandise Retail" -}, { - "name": "Budget Car Rental", - "category": "Automotive Rentals" -}, { - "name": "Budget Host", - "category": "Lodging" -}, { - "name": "Budget Inn", - "category": "Lodging" -}, { - "name": "Buff City Soap", - "category": "Merchandise Retail" -}, { - "name": "Buffalo Grill", - "category": "Food and Drink" -}, { - "name": "Buffalo Wild Wings", - "category": "Food and Drink" -}, { - "name": "Build-A-Bear", - "category": "Merchandise Retail" -}, { - "name": "Builders FirstSource", - "category": "Merchandise Retail" -}, { - "name": "Bulthaup", - "category": "Merchandise Retail" -}, { - "name": "Bumper To Bumper Auto Parts/Crow-Burlingame", - "category": "Automotive and Parts Dealers" -}, { - "name": "Bumper to Bumper", - "category": "Automotive and Parts Dealers" -}, { - "name": "Burberry", - "category": "Merchandise Retail" -}, { - "name": "Burger King", - "category": "Food and Drink" -}, { - "name": "BurgerFi", - "category": "Food and Drink" -}, { - "name": "Burke \u0026 Herbert Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Burlington", - "category": "Merchandise Retail" -}, { - "name": "Burn Boot Camp", - "category": "Fitness" -}, { - "name": "Burton", - "category": "Merchandise Retail" -}, { - "name": "Busey", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Bush\u0027s Chicken", - "category": "Food and Drink" -}, { - "name": "Byline Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Byrider", - "category": "Automotive and Parts Dealers" -}, { - "name": "Byrne Dairy", - "category": "Gas Station" -}, { - "name": "C Spire", - "category": "Telecommunications" -}, { - "name": "CANADA GOOSE", - "category": "Merchandise Retail" -}, { - "name": "CARSTAR", - "category": "Automotive Services" -}, { - "name": "CAVA", - "category": "Food and Drink" -}, { - "name": "CB\u0026S Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "CBD Plus USA", - "category": "Merchandise Retail" -}, { - "name": "CBD Store", - "category": "Health and Personal Care Retailers" -}, { - "name": "CEFCO", - "category": "Grocery and Liquor" -}, { - "name": "CELINE", - "category": "Merchandise Retail" -}, { - "name": "CGV", - "category": "Movie theater" -}, { - "name": "CHRISTUS", - "category": "Hospital" -}, { - "name": "CIBC Branch with ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "CKO Kickboxing", - "category": "Fitness" -}, { - "name": "CLARKS PUMP N SHOP", - "category": "Grocery and Liquor" -}, { - "name": "CO CO都可", - "category": "Food and Drink" -}, { - "name": "COBS Bread Bakery", - "category": "Food and Drink" -}, { - "name": "COCO-MAT", - "category": "Merchandise Retail" -}, { - "name": "COS", - "category": "Merchandise Retail" -}, { - "name": "COVID-19 Drive-Thru Testing at Walgreens", - "category": "Health and Personal Care Retailers" -}, { - "name": "CTown Supermarkets", - "category": "Grocery and Liquor" -}, { - "name": "CVS", - "category": "Health and Personal Care Retailers" -}, { - "name": "CVS Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Cabela\u0027s", - "category": "Merchandise Retail" -}, { - "name": "Cabinets To Go", - "category": "Merchandise Retail" -}, { - "name": "Cadence Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Cafe Rio", - "category": "Food and Drink" -}, { - "name": "Caffe Bene", - "category": "Food and Drink" -}, { - "name": "Caffe Vergnano", - "category": "Food and Drink" -}, { - "name": "Caffenio", - "category": "Food and Drink" -}, { - "name": "Caffè Nero", - "category": "Food and Drink" -}, { - "name": "Café Zupas", - "category": "Food and Drink" -}, { - "name": "Caliber Car Wash", - "category": "Automotive Services" -}, { - "name": "Caliber Collision", - "category": "Automotive Services" -}, { - "name": "California Bank \u0026 Trust", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "California Fish Grill", - "category": "Food and Drink" -}, { - "name": "California Pizza Kitchen", - "category": "Food and Drink" -}, { - "name": "Call It Spring", - "category": "Merchandise Retail" -}, { - "name": "Calligaris", - "category": "Merchandise Retail" -}, { - "name": "Calvin Klein", - "category": "Merchandise Retail" -}, { - "name": "Calzedonia", - "category": "Merchandise Retail" -}, { - "name": "Cambria", - "category": "Lodging" -}, { - "name": "Camden National Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Campanile", - "category": "Food and Drink" -}, { - "name": "Camper", - "category": "Merchandise Retail" -}, { - "name": "Camping World", - "category": "Automotive and Parts Dealers" -}, { - "name": "Canali", - "category": "Merchandise Retail" -}, { - "name": "Canara Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Candlewood Suites", - "category": "Lodging" -}, { - "name": "Cano Health", - "category": "Hospital" -}, { - "name": "Canon", - "category": "Electronics Retailers" -}, { - "name": "Capital City Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Capital O", - "category": "Lodging" -}, { - "name": "Capital One ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Capital One Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Capital One Café", - "category": "Food and Drink" -}, { - "name": "Capriotti\u0027s Sandwich Shop", - "category": "Food and Drink" -}, { - "name": "Captain D\u0027s", - "category": "Food and Drink" -}, { - "name": "Car Mart", - "category": "Automotive and Parts Dealers" -}, { - "name": "Car Toys", - "category": "Automotive Services" -}, { - "name": "Car Wash USA Express", - "category": "Automotive Services" -}, { - "name": "Car-X Tire \u0026 Auto", - "category": "Automotive Services" -}, { - "name": "CarMax", - "category": "Automotive and Parts Dealers" -}, { - "name": "CarMax Auctions", - "category": "Automotive and Parts Dealers" -}, { - "name": "Card My Yard", - "category": "Merchandise Retail" -}, { - "name": "Cardenas Market", - "category": "Grocery and Liquor" -}, { - "name": "Cardinal Health", - "category": "Health and Personal Care Retailers" -}, { - "name": "Cardtronics", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Carhartt", - "category": "Merchandise Retail" -}, { - "name": "Caribou Coffee", - "category": "Food and Drink" -}, { - "name": "Carl\u0027s Jr.", - "category": "Food and Drink" -}, { - "name": "Carolina Herrera", - "category": "Merchandise Retail" -}, { - "name": "Carpet One", - "category": "Merchandise Retail" -}, { - "name": "Carquest Auto Parts", - "category": "Automotive and Parts Dealers" -}, { - "name": "Carrabba\u0027s Italian Grill", - "category": "Food and Drink" -}, { - "name": "Carroll Motor Fuels", - "category": "Gas Station" -}, { - "name": "Carroll Tire", - "category": "Automotive Services" -}, { - "name": "Carter Bank \u0026 Trust", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Carter Lumber", - "category": "Merchandise Retail" -}, { - "name": "Carter\u0027s", - "category": "Merchandise Retail" -}, { - "name": "Cartier", - "category": "Merchandise Retail" -}, { - "name": "Carvana", - "category": "Automotive and Parts Dealers" -}, { - "name": "Carvel", - "category": "Food and Drink" -}, { - "name": "Casey\u0027s", - "category": "Food and Drink" -}, { - "name": "Cash2Bitcoin -Bitcoin ATM -24 Hour Bitcoin ATM Near Me", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "CashPoints® ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Casper", - "category": "Merchandise Retail" -}, { - "name": "Cassava Roots", - "category": "Food and Drink" -}, { - "name": "Castle Dental", - "category": "Dental" -}, { - "name": "Castrol", - "category": "Automotive Services" -}, { - "name": "Castrol Premium Lube Express", - "category": "Automotive Services" -}, { - "name": "Cathay Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Catimini", - "category": "Merchandise Retail" -}, { - "name": "Cato", - "category": "Merchandise Retail" -}, { - "name": "Caudalie Boutique SPA", - "category": "Health and Personal Care Retailers" -}, { - "name": "Cavender\u0027s Boot City", - "category": "Merchandise Retail" -}, { - "name": "Cenex", - "category": "Gas Station" -}, { - "name": "Centennial Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Centier Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Central Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Central Parking", - "category": "Parking" -}, { - "name": "Central Turf \u0026 Irrigation Supply", - "category": "Merchandise Retail" -}, { - "name": "Certified Oil Co", - "category": "Grocery and Liquor" -}, { - "name": "Champs Chicken", - "category": "Food and Drink" -}, { - "name": "Champs Sports", - "category": "Merchandise Retail" -}, { - "name": "Chanel", - "category": "Merchandise Retail" -}, { - "name": "Charleys Philly Steaks", - "category": "Food and Drink" -}, { - "name": "Charlotte Russe", - "category": "Merchandise Retail" -}, { - "name": "Charlotte Tilbury", - "category": "Health and Personal Care Retailers" -}, { - "name": "Chase ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Chase Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Chatime", - "category": "Food and Drink" -}, { - "name": "Cheba Hut", - "category": "Food and Drink" -}, { - "name": "Checkers", - "category": "Food and Drink" -}, { - "name": "Cheddar\u0027s Scratch Kitchen", - "category": "Food and Drink" -}, { - "name": "Chefstore", - "category": "Merchandise Retail" -}, { - "name": "Chemical Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Chester\u0027s Chicken", - "category": "Food and Drink" -}, { - "name": "Chestnut Market", - "category": "Grocery and Liquor" -}, { - "name": "Chevrolet", - "category": "Automotive and Parts Dealers" -}, { - "name": "Chevron", - "category": "Gas Station" -}, { - "name": "Chick-fil-A", - "category": "Food and Drink" -}, { - "name": "Chicken Express", - "category": "Food and Drink" -}, { - "name": "Chicken Salad Chick", - "category": "Food and Drink" -}, { - "name": "Chico\u0027s", - "category": "Merchandise Retail" -}, { - "name": "Chili\u0027s", - "category": "Food and Drink" -}, { - "name": "China House", - "category": "Food and Drink" -}, { - "name": "Chipotle Mexican Grill", - "category": "Food and Drink" -}, { - "name": "Chloé", - "category": "Merchandise Retail" -}, { - "name": "Chopard Boutique", - "category": "Merchandise Retail" -}, { - "name": "Chopt Creative Salad Company", - "category": "Food and Drink" -}, { - "name": "Christian Brothers Automotive", - "category": "Automotive Services" -}, { - "name": "Christian Dior", - "category": "Merchandise Retail" -}, { - "name": "Christian Louboutin", - "category": "Merchandise Retail" -}, { - "name": "Christofle", - "category": "Merchandise Retail" -}, { - "name": "Chuck E. Cheese", - "category": "Food and Drink" -}, { - "name": "Church’s Texas Chicken®", - "category": "Food and Drink" -}, { - "name": "Churromania", - "category": "Food and Drink" -}, { - "name": "Chuy\u0027s", - "category": "Food and Drink" -}, { - "name": "Chuze Fitness", - "category": "Fitness" -}, { - "name": "Cicis", - "category": "Food and Drink" -}, { - "name": "CineStar", - "category": "Movie theater" -}, { - "name": "Cinemark Tinseltown USA", - "category": "Movie theater" -}, { - "name": "Cinnabon", - "category": "Food and Drink" -}, { - "name": "Cinnaholic", - "category": "Food and Drink" -}, { - "name": "Cintas First Aid \u0026 Safety", - "category": "Merchandise Retail" -}, { - "name": "Cintas Uniform Services", - "category": "Merchandise Retail" -}, { - "name": "Cinépolis", - "category": "Movie theater" -}, { - "name": "Circle K", - "category": "Grocery and Liquor" -}, { - "name": "Cirilla\u0027s", - "category": "Merchandise Retail" -}, { - "name": "Citgo", - "category": "Gas Station" -}, { - "name": "Citi Trends", - "category": "Merchandise Retail" -}, { - "name": "Citibank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Citibank ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Citizen", - "category": "Merchandise Retail" -}, { - "name": "Citizens Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Citizens Bank ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Citizens Business Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "City Barbeque", - "category": "Food and Drink" -}, { - "name": "City Center Parking", - "category": "Parking" -}, { - "name": "City Express Hotels", - "category": "Lodging" -}, { - "name": "City Furniture", - "category": "Merchandise Retail" -}, { - "name": "City Gear", - "category": "Merchandise Retail" -}, { - "name": "City National Bank Branch", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "City of Hope", - "category": "Hospital" -}, { - "name": "Clarion Hotels", - "category": "Lodging" -}, { - "name": "Clarion Pointe", - "category": "Lodging" -}, { - "name": "Clark Gas", - "category": "Gas Station" -}, { - "name": "Clarks", - "category": "Merchandise Retail" -}, { - "name": "Clean Eatz", - "category": "Food and Drink" -}, { - "name": "Clean Energy", - "category": "Gas Station" -}, { - "name": "Clean Juice", - "category": "Food and Drink" -}, { - "name": "ClearChoice Dental Implant Center", - "category": "Dental" -}, { - "name": "Cleveland Clinic", - "category": "Hospital" -}, { - "name": "Clinique", - "category": "Health and Personal Care Retailers" -}, { - "name": "Clothes Mentor", - "category": "Merchandise Retail" -}, { - "name": "Club Champion", - "category": "Merchandise Retail" -}, { - "name": "Club Monaco", - "category": "Merchandise Retail" -}, { - "name": "Club Pilates", - "category": "Fitness" -}, { - "name": "Club Wyndham", - "category": "Lodging" -}, { - "name": "CoCo壱番屋", - "category": "Food and Drink" -}, { - "name": "Coach", - "category": "Merchandise Retail" -}, { - "name": "Coast Dental", - "category": "Dental" -}, { - "name": "Coast Guard Exchange", - "category": "Merchandise Retail" -}, { - "name": "Cobblestone Inn \u0026 Suites", - "category": "Lodging" -}, { - "name": "Coburn Supply Co", - "category": "Merchandise Retail" -}, { - "name": "Coen Markets", - "category": "Gas Station" -}, { - "name": "Coffee Beanery", - "category": "Food and Drink" -}, { - "name": "Coffee Fellows", - "category": "Food and Drink" -}, { - "name": "Coin Cloud Bitcoin ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "CoinBTM - Bitcoin ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "CoinFlip Bitcoin ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Coinsource Bitcoin ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Coinstar", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Cold Stone", - "category": "Food and Drink" -}, { - "name": "Cole Haan", - "category": "Merchandise Retail" -}, { - "name": "Coleman", - "category": "Merchandise Retail" -}, { - "name": "Colonial Parking", - "category": "Parking" -}, { - "name": "Columbia Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Columbia Factory Store", - "category": "Merchandise Retail" -}, { - "name": "Comerica Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Comerica Bank - ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Comfort Dental", - "category": "Dental" -}, { - "name": "Comfort Inn", - "category": "Lodging" -}, { - "name": "Commerce Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Commerce Bank ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Commerzbank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Commissary", - "category": "Grocery and Liquor" -}, { - "name": "Community Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Community Bank, N.A.", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Condado Tacos", - "category": "Food and Drink" -}, { - "name": "Connect Hearing", - "category": "Health and Personal Care Retailers" -}, { - "name": "Conoco", - "category": "Gas Station" -}, { - "name": "Consolidated Pipe", - "category": "Merchandise Retail" -}, { - "name": "Convenient Food Mart", - "category": "Grocery and Liquor" -}, { - "name": "Converse", - "category": "Merchandise Retail" -}, { - "name": "Cook Out", - "category": "Food and Drink" -}, { - "name": "CoolVu", - "category": "Automotive Services" -}, { - "name": "Cooper", - "category": "Automotive Services" -}, { - "name": "Cooperativa Policía Nacional", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Copart", - "category": "Automotive and Parts Dealers" -}, { - "name": "Corner Bakery", - "category": "Food and Drink" -}, { - "name": "Cortefiel", - "category": "Merchandise Retail" -}, { - "name": "CosmoProf", - "category": "Merchandise Retail" -}, { - "name": "Cost Plus World Market", - "category": "Merchandise Retail" -}, { - "name": "Costa Oil - 10 Minute Oil Change", - "category": "Automotive Services" -}, { - "name": "Costa Vida", - "category": "Food and Drink" -}, { - "name": "Costco Bakery", - "category": "Food and Drink" -}, { - "name": "Costco Food Court", - "category": "Food and Drink" -}, { - "name": "Costco Gasoline", - "category": "Gas Station" -}, { - "name": "Costco Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Costco Tire Center", - "category": "Automotive Services" -}, { - "name": "Costco Vision Center", - "category": "Health and Personal Care Retailers" -}, { - "name": "Costco Wholesale", - "category": "Merchandise Retail" -}, { - "name": "Costco hearing aid store", - "category": "Health and Personal Care Retailers" -}, { - "name": "Cotelac", - "category": "Merchandise Retail" -}, { - "name": "Cottage Inn", - "category": "Food and Drink" -}, { - "name": "Cotton On", - "category": "Merchandise Retail" -}, { - "name": "Cotton Patch Cafe", - "category": "Food and Drink" -}, { - "name": "Couche-Tard", - "category": "Grocery and Liquor" -}, { - "name": "Country Fair", - "category": "Gas Station" -}, { - "name": "Country Inns \u0026 Suites", - "category": "Lodging" -}, { - "name": "Courtyard by Marriott", - "category": "Lodging" -}, { - "name": "Cousins Subs", - "category": "Food and Drink" -}, { - "name": "Cracker Barrel Old Country Store", - "category": "Food and Drink" -}, { - "name": "Crafty Crab", - "category": "Food and Drink" -}, { - "name": "Crash Champions Collision Repair", - "category": "Automotive Services" -}, { - "name": "Crate and Barrel", - "category": "Merchandise Retail" -}, { - "name": "Credit Suisse AG", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Cricket Wireless", - "category": "Telecommunications" -}, { - "name": "Cricket Wireless Authorized Retailer", - "category": "Telecommunications" -}, { - "name": "Crocs", - "category": "Merchandise Retail" -}, { - "name": "Crosby\u0027s", - "category": "Grocery and Liquor" -}, { - "name": "Crown Fried Chicken", - "category": "Food and Drink" -}, { - "name": "Crown Trophy", - "category": "Merchandise Retail" -}, { - "name": "Crowne Plaza", - "category": "Lodging" -}, { - "name": "Crumbl Cookies", - "category": "Food and Drink" -}, { - "name": "Crunch", - "category": "Fitness" -}, { - "name": "Cuadra", - "category": "Merchandise Retail" -}, { - "name": "Cub Foods", - "category": "Grocery and Liquor" -}, { - "name": "Cub Foods Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Culligan", - "category": "Merchandise Retail" -}, { - "name": "Culver\u0027s", - "category": "Food and Drink" -}, { - "name": "Cumberland Farms", - "category": "Grocery and Liquor" -}, { - "name": "Cupbop", - "category": "Food and Drink" -}, { - "name": "Curaleaf", - "category": "Merchandise Retail" -}, { - "name": "Curio Collection", - "category": "Lodging" -}, { - "name": "D\u0027Angelo Grilled Sandwiches", - "category": "Food and Drink" -}, { - "name": "D.P. Dough", - "category": "Food and Drink" -}, { - "name": "DECO Windshield Repair", - "category": "Automotive Services" -}, { - "name": "DELSEY", - "category": "Merchandise Retail" -}, { - "name": "DICK\u0027S Sporting Goods", - "category": "Merchandise Retail" -}, { - "name": "DKNY", - "category": "Merchandise Retail" -}, { - "name": "DNB", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "DPF Alternatives", - "category": "Automotive Services" -}, { - "name": "DSW Designer Shoe Warehouse", - "category": "Merchandise Retail" -}, { - "name": "DTLR", - "category": "Merchandise Retail" -}, { - "name": "DXL", - "category": "Merchandise Retail" -}, { - "name": "Daily Thread", - "category": "Merchandise Retail" -}, { - "name": "Dairy Queen", - "category": "Food and Drink" -}, { - "name": "Daiso", - "category": "Merchandise Retail" -}, { - "name": "Daltile Sales Service Center", - "category": "Merchandise Retail" -}, { - "name": "Dandy Mini Mart", - "category": "Grocery and Liquor" -}, { - "name": "Daniel Wellington", - "category": "Merchandise Retail" -}, { - "name": "Daniel\u0027s Jewelers", - "category": "Merchandise Retail" -}, { - "name": "Dash In", - "category": "Grocery and Liquor" -}, { - "name": "Dave \u0026 Buster\u0027s", - "category": "Food and Drink" -}, { - "name": "Dave\u0027s Hot Chicken", - "category": "Food and Drink" -}, { - "name": "David Yurman", - "category": "Merchandise Retail" -}, { - "name": "David\u0027s Bridal", - "category": "Merchandise Retail" -}, { - "name": "Davivienda", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Daylight Donuts", - "category": "Food and Drink" -}, { - "name": "Days Inn", - "category": "Lodging" -}, { - "name": "Dean \u0026 DeLuca", - "category": "Food and Drink" -}, { - "name": "Del Taco", - "category": "Food and Drink" -}, { - "name": "Dell", - "category": "Electronics Retailers" -}, { - "name": "Delta", - "category": "Lodging" -}, { - "name": "Delvaux", - "category": "Merchandise Retail" -}, { - "name": "Denny\u0027s", - "category": "Food and Drink" -}, { - "name": "Dental Depot", - "category": "Dental" -}, { - "name": "Dental Dreams", - "category": "Dental" -}, { - "name": "DentalWorks", - "category": "Dental" -}, { - "name": "Denver Mattress Company", - "category": "Merchandise Retail" -}, { - "name": "Desert Financial Credit Union", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Desigual", - "category": "Merchandise Retail" -}, { - "name": "Detail Garage - Auto Detailing Supplies", - "category": "Merchandise Retail" -}, { - "name": "Deutsche Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Deutsche Bank Wealth Management", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Dex Imaging", - "category": "Merchandise Retail" -}, { - "name": "Diamond Braces", - "category": "Dental" -}, { - "name": "Diamond Parking", - "category": "Parking" -}, { - "name": "Dickey\u0027s Barbecue Pit", - "category": "Food and Drink" -}, { - "name": "Dickies", - "category": "Merchandise Retail" -}, { - "name": "Dillard\u0027s", - "category": "Merchandise Retail" -}, { - "name": "Dillons", - "category": "Grocery and Liquor" -}, { - "name": "Dillons Fuel Center", - "category": "Gas Station" -}, { - "name": "Dillons Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Dime Community Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Din Tai Fung", - "category": "Food and Drink" -}, { - "name": "Ding Tea", - "category": "Food and Drink" -}, { - "name": "Dippin\u0027 Dots", - "category": "Food and Drink" -}, { - "name": "DirecTV", - "category": "Telecommunications" -}, { - "name": "Dirty Dough", - "category": "Food and Drink" -}, { - "name": "Discount Fireworks Superstore", - "category": "Merchandise Retail" -}, { - "name": "Discount Smoke Shop", - "category": "Merchandise Retail" -}, { - "name": "Discount Tire", - "category": "Automotive Services" -}, { - "name": "Disney Store", - "category": "Merchandise Retail" -}, { - "name": "Do It Best", - "category": "Merchandise Retail" -}, { - "name": "Dockers", - "category": "Merchandise Retail" -}, { - "name": "Dog Haus Biergarten", - "category": "Food and Drink" -}, { - "name": "Dolce\u0026Gabbana", - "category": "Merchandise Retail" -}, { - "name": "Dollar Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Dollar General", - "category": "Merchandise Retail" -}, { - "name": "Dollar Rent A Car", - "category": "Automotive Rentals" -}, { - "name": "Dollar Tree", - "category": "Merchandise Retail" -}, { - "name": "Domino\u0027s Pizza", - "category": "Food and Drink" -}, { - "name": "Don Roberto Jewelers", - "category": "Merchandise Retail" -}, { - "name": "Donatos Pizza", - "category": "Food and Drink" -}, { - "name": "Dorothy Gaynor", - "category": "Merchandise Retail" -}, { - "name": "Double Quick", - "category": "Grocery and Liquor" -}, { - "name": "DoubleTree by Hilton", - "category": "Lodging" -}, { - "name": "Doğtaş", - "category": "Merchandise Retail" -}, { - "name": "Dr. Martens", - "category": "Merchandise Retail" -}, { - "name": "DriveTime Used Cars", - "category": "Automotive and Parts Dealers" -}, { - "name": "Drug Mart", - "category": "Health and Personal Care Retailers" -}, { - "name": "Drury", - "category": "Lodging" -}, { - "name": "Dry Goods", - "category": "Merchandise Retail" -}, { - "name": "Dsquared2", - "category": "Merchandise Retail" -}, { - "name": "Duane Reade", - "category": "Grocery and Liquor" -}, { - "name": "Duane Reade Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Duchess", - "category": "Grocery and Liquor" -}, { - "name": "Duck Donuts", - "category": "Food and Drink" -}, { - "name": "Duck Thru", - "category": "Gas Station" -}, { - "name": "Duluth Trading Company", - "category": "Merchandise Retail" -}, { - "name": "Dunham\u0027s Sports", - "category": "Merchandise Retail" -}, { - "name": "Dunhill", - "category": "Merchandise Retail" -}, { - "name": "Dunkin\u0027 Donuts", - "category": "Food and Drink" -}, { - "name": "Dunn-Edwards Paints", - "category": "Merchandise Retail" -}, { - "name": "Dutch Bros", - "category": "Food and Drink" -}, { - "name": "Duty Free Americas", - "category": "Merchandise Retail" -}, { - "name": "Dynamite", - "category": "Merchandise Retail" -}, { - "name": "Dyson", - "category": "Merchandise Retail" -}, { - "name": "E Z Stop", - "category": "Gas Station" -}, { - "name": "E-Z Mart", - "category": "Grocery and Liquor" -}, { - "name": "ECCO Outlet", - "category": "Merchandise Retail" -}, { - "name": "EILEEN FISHER", - "category": "Merchandise Retail" -}, { - "name": "EM ExtraMile", - "category": "Grocery and Liquor" -}, { - "name": "EVISU", - "category": "Merchandise Retail" -}, { - "name": "Eagle Stop", - "category": "Gas Station" -}, { - "name": "Earls", - "category": "Food and Drink" -}, { - "name": "EarthWise Pet", - "category": "Merchandise Retail" -}, { - "name": "Earthbound Trading Co.", - "category": "Merchandise Retail" -}, { - "name": "East West Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "East of Chicago", - "category": "Food and Drink" -}, { - "name": "Eastern Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Eat\u0027n Park", - "category": "Food and Drink" -}, { - "name": "Econo Lodge", - "category": "Lodging" -}, { - "name": "Ecowater Systems", - "category": "Merchandise Retail" -}, { - "name": "Eddie Bauer", - "category": "Merchandise Retail" -}, { - "name": "Edible Arrangements", - "category": "Merchandise Retail" -}, { - "name": "Eggs Up Grill", - "category": "Food and Drink" -}, { - "name": "Einstein Bros. Bagels", - "category": "Food and Drink" -}, { - "name": "El Car Wash", - "category": "Automotive Services" -}, { - "name": "El Pollo Loco", - "category": "Food and Drink" -}, { - "name": "El Super", - "category": "Grocery and Liquor" -}, { - "name": "Element", - "category": "Lodging" -}, { - "name": "Elisabetta Franchi", - "category": "Merchandise Retail" -}, { - "name": "Elite Hearing Centers of America", - "category": "Health and Personal Care Retailers" -}, { - "name": "Ellianos Coffee", - "category": "Food and Drink" -}, { - "name": "Embassy Suites by Hilton", - "category": "Lodging" -}, { - "name": "Emser Tile", - "category": "Merchandise Retail" -}, { - "name": "Engen", - "category": "Gas Station" -}, { - "name": "English Color \u0026 Supply", - "category": "Automotive Services" -}, { - "name": "Enmarket", - "category": "Gas Station" -}, { - "name": "Enmarket", - "category": "Grocery and Liquor" -}, { - "name": "Enterprise Bank \u0026 Trust", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Enterprise Car Sales", - "category": "Automotive and Parts Dealers" -}, { - "name": "Enterprise Rent-A-Car", - "category": "Automotive Rentals" -}, { - "name": "Equinox", - "category": "Fitness" -}, { - "name": "Erbert and Gerberts", - "category": "Food and Drink" -}, { - "name": "Eres", - "category": "Merchandise Retail" -}, { - "name": "Escada", - "category": "Merchandise Retail" -}, { - "name": "Espressamente Illy", - "category": "Food and Drink" -}, { - "name": "Estee Lauder", - "category": "Health and Personal Care Retailers" -}, { - "name": "Etam", - "category": "Merchandise Retail" -}, { - "name": "Ethan Allen", - "category": "Merchandise Retail" -}, { - "name": "Etro", - "category": "Merchandise Retail" -}, { - "name": "Europcar", - "category": "Automotive Rentals" -}, { - "name": "Eurostars Hotels", - "category": "Lodging" -}, { - "name": "Everbowl", - "category": "Food and Drink" -}, { - "name": "Evereve", - "category": "Merchandise Retail" -}, { - "name": "Everything But Water", - "category": "Merchandise Retail" -}, { - "name": "Ewing Irrigation \u0026 Landscape Supply", - "category": "Merchandise Retail" -}, { - "name": "Express", - "category": "Merchandise Retail" -}, { - "name": "Express Factory Outlet", - "category": "Merchandise Retail" -}, { - "name": "Express Oil Change \u0026 Tire Engineers", - "category": "Automotive Services" -}, { - "name": "Extended Stay", - "category": "Lodging" -}, { - "name": "Exxon", - "category": "Gas Station" -}, { - "name": "Eyemart Express", - "category": "Health and Personal Care Retailers" -}, { - "name": "F\u0026M Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "F.W. Webb Company", - "category": "Merchandise Retail" -}, { - "name": "F45 Training", - "category": "Fitness" -}, { - "name": "FASTSIGNS", - "category": "Merchandise Retail" -}, { - "name": "FENG CHA", - "category": "Food and Drink" -}, { - "name": "FILA", - "category": "Merchandise Retail" -}, { - "name": "FYE", - "category": "Merchandise Retail" -}, { - "name": "Fabindia", - "category": "Merchandise Retail" -}, { - "name": "Fabletics", - "category": "Merchandise Retail" -}, { - "name": "Factory Connection", - "category": "Merchandise Retail" -}, { - "name": "Factory Motor Parts", - "category": "Automotive and Parts Dealers" -}, { - "name": "Faherty Brand", - "category": "Merchandise Retail" -}, { - "name": "FairBridge Inn \u0026 Suites", - "category": "Lodging" -}, { - "name": "Fairfield Inn by Marriott", - "category": "Lodging" -}, { - "name": "Fairmont", - "category": "Lodging" -}, { - "name": "Falconeri", - "category": "Merchandise Retail" -}, { - "name": "Family Dollar", - "category": "Merchandise Retail" -}, { - "name": "Family Express", - "category": "Grocery and Liquor" -}, { - "name": "Family Fare", - "category": "Grocery and Liquor" -}, { - "name": "Family Farm \u0026 Home", - "category": "Merchandise Retail" -}, { - "name": "Famous Dave\u0027s", - "category": "Food and Drink" -}, { - "name": "Famous Footwear", - "category": "Merchandise Retail" -}, { - "name": "Famsa", - "category": "Merchandise Retail" -}, { - "name": "Fanzz", - "category": "Merchandise Retail" -}, { - "name": "Fareway Grocery", - "category": "Grocery and Liquor" -}, { - "name": "Farmer Boys", - "category": "Food and Drink" -}, { - "name": "Farmers Home Furniture", - "category": "Merchandise Retail" -}, { - "name": "Farmers National Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Farrell-Calhoun Paint", - "category": "Merchandise Retail" -}, { - "name": "Farrow \u0026 Ball", - "category": "Merchandise Retail" -}, { - "name": "Fas Mart", - "category": "Grocery and Liquor" -}, { - "name": "Fast Stop", - "category": "Gas Station" -}, { - "name": "Fast-Fix Jewelry \u0026 Watch Repairs", - "category": "Merchandise Retail" -}, { - "name": "Fastenal", - "category": "Merchandise Retail" -}, { - "name": "Fastrac", - "category": "Grocery and Liquor" -}, { - "name": "Fastrip", - "category": "Gas Station" -}, { - "name": "FatFace", - "category": "Merchandise Retail" -}, { - "name": "Fatburger", - "category": "Food and Drink" -}, { - "name": "Fazoli\u0027s", - "category": "Food and Drink" -}, { - "name": "Febal Casa", - "category": "Merchandise Retail" -}, { - "name": "Fendi", - "category": "Merchandise Retail" -}, { - "name": "Ferguson", - "category": "Merchandise Retail" -}, { - "name": "Ferrari", - "category": "Automotive and Parts Dealers" -}, { - "name": "Ficohsa", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Fidelity Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Fiesta", - "category": "Grocery and Liquor" -}, { - "name": "Fiesta Inn", - "category": "Lodging" -}, { - "name": "Fifth Third Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Fifth Third Bank \u0026 ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Filiberto\u0027s Mexican Food", - "category": "Food and Drink" -}, { - "name": "Fine Fare", - "category": "Grocery and Liquor" -}, { - "name": "Fine Wine \u0026 Good Spirits", - "category": "Grocery and Liquor" -}, { - "name": "Finishmaster", - "category": "Merchandise Retail" -}, { - "name": "Firebirds Wood Fired Grill", - "category": "Food and Drink" -}, { - "name": "Firehouse Subs", - "category": "Food and Drink" -}, { - "name": "Firestone", - "category": "Automotive Services" -}, { - "name": "Firestone Complete Auto Care", - "category": "Automotive Services" -}, { - "name": "First American Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First Citizens Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First Citizens Bank ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First Commonwealth Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First Convenience Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First Financial Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First Guaranty Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First Hawaiian Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First Horizon", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First Horizon Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First Interstate Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First Merchants Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First Mid Bancshares", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First National Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First National Bank ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First National Bank Omaha", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First Security Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First State Community Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First United Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "First Watch", - "category": "Food and Drink" -}, { - "name": "FirstBank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Fisher Auto Parts", - "category": "Automotive and Parts Dealers" -}, { - "name": "Fitness 19", - "category": "Fitness" -}, { - "name": "Fitness First", - "category": "Fitness" -}, { - "name": "Five Below", - "category": "Merchandise Retail" -}, { - "name": "Five Guys", - "category": "Food and Drink" -}, { - "name": "Five Star Bank,", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Five Star Food Mart", - "category": "Grocery and Liquor" -}, { - "name": "Fix Auto", - "category": "Automotive Services" -}, { - "name": "Flagstar Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Flame Broiler", - "category": "Food and Drink" -}, { - "name": "Fleet Feet", - "category": "Merchandise Retail" -}, { - "name": "FleetPride", - "category": "Automotive Services" -}, { - "name": "Fleming\u0027s Prime Steakhouse \u0026 Wine Bar", - "category": "Food and Drink" -}, { - "name": "Flip Flop Shops", - "category": "Merchandise Retail" -}, { - "name": "Floor \u0026 Decor", - "category": "Merchandise Retail" -}, { - "name": "Floor Coverings International", - "category": "Merchandise Retail" -}, { - "name": "Flooring America", - "category": "Merchandise Retail" -}, { - "name": "Flormar", - "category": "Health and Personal Care Retailers" -}, { - "name": "Florsheim", - "category": "Merchandise Retail" -}, { - "name": "Flowers Baking Co", - "category": "Merchandise Retail" -}, { - "name": "Flyers", - "category": "Gas Station" -}, { - "name": "Fogo de Chão Brazilian Steakhouse", - "category": "Food and Drink" -}, { - "name": "Food 4 Less", - "category": "Grocery and Liquor" -}, { - "name": "Food City", - "category": "Grocery and Liquor" -}, { - "name": "Food City Gas \u0027N Go", - "category": "Gas Station" -}, { - "name": "Food City Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Food Giant", - "category": "Grocery and Liquor" -}, { - "name": "Food Lion", - "category": "Grocery and Liquor" -}, { - "name": "FoodMaxx", - "category": "Grocery and Liquor" -}, { - "name": "Foodtown", - "category": "Grocery and Liquor" -}, { - "name": "Foot Locker", - "category": "Merchandise Retail" -}, { - "name": "Foot Solutions", - "category": "Merchandise Retail" -}, { - "name": "Forever 21", - "category": "Merchandise Retail" -}, { - "name": "Fort Sill National Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Fossil", - "category": "Merchandise Retail" -}, { - "name": "Fosters Freeze", - "category": "Food and Drink" -}, { - "name": "Four Points by Sheraton", - "category": "Lodging" -}, { - "name": "Four Seasons", - "category": "Lodging" -}, { - "name": "Fox Rent A Car", - "category": "Automotive Rentals" -}, { - "name": "Fox\u0027s Pizza Den", - "category": "Food and Drink" -}, { - "name": "Foxtail Coffee", - "category": "Food and Drink" -}, { - "name": "Fragrance Outlet", - "category": "Merchandise Retail" -}, { - "name": "Franciscan Health", - "category": "Hospital" -}, { - "name": "Franz Bakery", - "category": "Food and Drink" -}, { - "name": "Fred Meyer", - "category": "Grocery and Liquor" -}, { - "name": "Fred Meyer Fuel Center", - "category": "Gas Station" -}, { - "name": "Fred Meyer Garden Center", - "category": "Merchandise Retail" -}, { - "name": "Fred Meyer Jewelers", - "category": "Merchandise Retail" -}, { - "name": "Fred Meyer Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Fred Perry", - "category": "Merchandise Retail" -}, { - "name": "Freddy\u0027s Frozen Custard \u0026 Steakburgers", - "category": "Food and Drink" -}, { - "name": "Free People", - "category": "Merchandise Retail" -}, { - "name": "Freebirds World Burrito", - "category": "Food and Drink" -}, { - "name": "Freightliner", - "category": "Automotive and Parts Dealers" -}, { - "name": "Fresh Market", - "category": "Grocery and Liquor" -}, { - "name": "Fresh Thyme Farmers Market", - "category": "Grocery and Liquor" -}, { - "name": "Freshii", - "category": "Food and Drink" -}, { - "name": "Friendly\u0027s", - "category": "Food and Drink" -}, { - "name": "Frontier Communications", - "category": "Telecommunications" -}, { - "name": "Frost Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Fry\u0027s Food And Drug", - "category": "Grocery and Liquor" -}, { - "name": "Fuddruckers", - "category": "Food and Drink" -}, { - "name": "Fulton Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Furla", - "category": "Merchandise Retail" -}, { - "name": "Furniture Row", - "category": "Merchandise Retail" -}, { - "name": "Fuzzy\u0027s Taco Shop", - "category": "Food and Drink" -}, { - "name": "G by GUESS", - "category": "Merchandise Retail" -}, { - "name": "G\u0026M", - "category": "Gas Station" -}, { - "name": "G-Star RAW Store", - "category": "Merchandise Retail" -}, { - "name": "GATE Gas Station", - "category": "Gas Station" -}, { - "name": "GCI", - "category": "Telecommunications" -}, { - "name": "GNC", - "category": "Health and Personal Care Retailers" -}, { - "name": "Gabe\u0027s", - "category": "Merchandise Retail" -}, { - "name": "Galls", - "category": "Merchandise Retail" -}, { - "name": "Game X Change", - "category": "Merchandise Retail" -}, { - "name": "GameStop", - "category": "Merchandise Retail" -}, { - "name": "Games Workshop", - "category": "Merchandise Retail" -}, { - "name": "Ganni", - "category": "Merchandise Retail" -}, { - "name": "Gant", - "category": "Merchandise Retail" -}, { - "name": "Gap", - "category": "Merchandise Retail" -}, { - "name": "Gap Body", - "category": "Merchandise Retail" -}, { - "name": "Gap Factory", - "category": "Merchandise Retail" -}, { - "name": "GapKids", - "category": "Merchandise Retail" -}, { - "name": "Garden Center at The Home Depot", - "category": "Merchandise Retail" -}, { - "name": "Garden Inn", - "category": "Lodging" -}, { - "name": "Garmin", - "category": "Electronics Retailers" -}, { - "name": "Gas and Supply", - "category": "Merchandise Retail" -}, { - "name": "Genesis Health Clubs", - "category": "Fitness" -}, { - "name": "Genji", - "category": "Food and Drink" -}, { - "name": "Genki Sushi", - "category": "Food and Drink" -}, { - "name": "Genoa Healthcare", - "category": "Health and Personal Care Retailers" -}, { - "name": "Gerard Darel", - "category": "Merchandise Retail" -}, { - "name": "Gerber Collision \u0026 Glass", - "category": "Automotive Services" -}, { - "name": "German American Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "German Doner Kebab", - "category": "Food and Drink" -}, { - "name": "Gerry\u0027s Grill", - "category": "Food and Drink" -}, { - "name": "GetGo", - "category": "Grocery and Liquor" -}, { - "name": "Getaround", - "category": "Automotive Rentals" -}, { - "name": "Giant", - "category": "Merchandise Retail" -}, { - "name": "Giant Eagle Bakery", - "category": "Food and Drink" -}, { - "name": "Giant Eagle Deli", - "category": "Grocery and Liquor" -}, { - "name": "Giant Eagle Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Giant Eagle Supermarket", - "category": "Grocery and Liquor" -}, { - "name": "Giant Food", - "category": "Grocery and Liquor" -}, { - "name": "Giant Food Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Giant Gas", - "category": "Gas Station" -}, { - "name": "Gionino\u0027s Pizzeria", - "category": "Food and Drink" -}, { - "name": "Giordano\u0027s", - "category": "Food and Drink" -}, { - "name": "Giri", - "category": "Merchandise Retail" -}, { - "name": "Git-N-Go", - "category": "Gas Station" -}, { - "name": "Givenchy", - "category": "Merchandise Retail" -}, { - "name": "Glass America", - "category": "Automotive Services" -}, { - "name": "Glidden Professional Paint Center", - "category": "Merchandise Retail" -}, { - "name": "Glik\u0027s", - "category": "Merchandise Retail" -}, { - "name": "Gloria Jean\u0027s", - "category": "Food and Drink" -}, { - "name": "Gloria Jean\u0027s Coffees", - "category": "Food and Drink" -}, { - "name": "Go Mart", - "category": "Gas Station" -}, { - "name": "Go Rentals", - "category": "Automotive Rentals" -}, { - "name": "Go! Calendars \u0026 Games", - "category": "Merchandise Retail" -}, { - "name": "Godfather\u0027s Pizza", - "category": "Food and Drink" -}, { - "name": "Godiva Chocolatier", - "category": "Food and Drink" -}, { - "name": "Gold Star Chili", - "category": "Food and Drink" -}, { - "name": "Gold\u0027s Gym", - "category": "Fitness" -}, { - "name": "Goldcar", - "category": "Automotive Rentals" -}, { - "name": "Golden Chick", - "category": "Food and Drink" -}, { - "name": "Golden Corral Buffet and Grill", - "category": "Food and Drink" -}, { - "name": "Golden Goose", - "category": "Merchandise Retail" -}, { - "name": "Golden Krust", - "category": "Food and Drink" -}, { - "name": "Golden Nozzle Car Wash", - "category": "Automotive Services" -}, { - "name": "Goldilocks", - "category": "Food and Drink" -}, { - "name": "Golf Galaxy", - "category": "Merchandise Retail" -}, { - "name": "Gong Cha", - "category": "Food and Drink" -}, { - "name": "Good 2 Go", - "category": "Grocery and Liquor" -}, { - "name": "Good Year", - "category": "Automotive Services" -}, { - "name": "Goodcents Deli Fresh Subs", - "category": "Food and Drink" -}, { - "name": "Goodwill", - "category": "Merchandise Retail" -}, { - "name": "Goodwill Houston Select Stores", - "category": "Merchandise Retail" -}, { - "name": "Goodwill Store", - "category": "Merchandise Retail" -}, { - "name": "Goodwill Store and Donation Center", - "category": "Merchandise Retail" -}, { - "name": "Goodyear Commercial Tire \u0026 Service Centers", - "category": "Automotive Services" -}, { - "name": "Gordon Food Service Store", - "category": "Grocery and Liquor" -}, { - "name": "Graeter\u0027s Ice Cream", - "category": "Food and Drink" -}, { - "name": "Graff", - "category": "Merchandise Retail" -}, { - "name": "Grainger Industrial Supply", - "category": "Merchandise Retail" -}, { - "name": "Grand Hyatt", - "category": "Lodging" -}, { - "name": "Granite Group", - "category": "Merchandise Retail" -}, { - "name": "Grease Monkey", - "category": "Automotive Services" -}, { - "name": "Great American Cookies", - "category": "Food and Drink" -}, { - "name": "Great Expressions Dental Centers", - "category": "Dental" -}, { - "name": "Great Harvest Bread", - "category": "Grocery and Liquor" -}, { - "name": "Great Southern Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Green Motion", - "category": "Automotive Rentals" -}, { - "name": "Greenberg Dental \u0026 Orthodontics", - "category": "Dental" -}, { - "name": "Gregorys Coffee", - "category": "Food and Drink" -}, { - "name": "Grimco Inc.", - "category": "Merchandise Retail" -}, { - "name": "Grocery Outlet", - "category": "Grocery and Liquor" -}, { - "name": "Grom", - "category": "Food and Drink" -}, { - "name": "Grosfillex", - "category": "Merchandise Retail" -}, { - "name": "Guaranty Bank \u0026 Trust", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Guaranty Bank and Trust Company", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Gucci", - "category": "Merchandise Retail" -}, { - "name": "Guess", - "category": "Merchandise Retail" -}, { - "name": "Guess Accessories", - "category": "Merchandise Retail" -}, { - "name": "Guitar Center", - "category": "Merchandise Retail" -}, { - "name": "Gulf", - "category": "Gas Station" -}, { - "name": "Gulfeagle Supply", - "category": "Merchandise Retail" -}, { - "name": "Guthrie\u0027s", - "category": "Food and Drink" -}, { - "name": "Guzman Y Gomez", - "category": "Food and Drink" -}, { - "name": "Gymboree", - "category": "Merchandise Retail" -}, { - "name": "Gyu-Kaku", - "category": "Food and Drink" -}, { - "name": "H \u0026 S Energy", - "category": "Gas Station" -}, { - "name": "H Mart", - "category": "Grocery and Liquor" -}, { - "name": "H\u0026M", - "category": "Merchandise Retail" -}, { - "name": "H\u0026M Home", - "category": "Merchandise Retail" -}, { - "name": "H-E-B Bakery", - "category": "Food and Drink" -}, { - "name": "H-E-B Fuel", - "category": "Gas Station" -}, { - "name": "H-E-B Grocery", - "category": "Grocery and Liquor" -}, { - "name": "H-E-B Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "H.Stern", - "category": "Merchandise Retail" -}, { - "name": "HEYTEA", - "category": "Food and Drink" -}, { - "name": "HP", - "category": "Electronics Retailers" -}, { - "name": "HSBC ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "HTeaO", - "category": "Food and Drink" -}, { - "name": "Habitat for Humanity ReStore", - "category": "Merchandise Retail" -}, { - "name": "Hackett", - "category": "Merchandise Retail" -}, { - "name": "Hafele", - "category": "Merchandise Retail" -}, { - "name": "HaiDiLao Hot pot", - "category": "Food and Drink" -}, { - "name": "Hajoca", - "category": "Merchandise Retail" -}, { - "name": "Half Price Books", - "category": "Merchandise Retail" -}, { - "name": "Hallmark", - "category": "Merchandise Retail" -}, { - "name": "Hampton Inn", - "category": "Lodging" -}, { - "name": "Han-Dee Hugo\u0027s", - "category": "Grocery and Liquor" -}, { - "name": "Hancock Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Handel\u0027s Homemade Ice Cream", - "category": "Food and Drink" -}, { - "name": "Handy Mart", - "category": "Grocery and Liquor" -}, { - "name": "Hanesbrands", - "category": "Merchandise Retail" -}, { - "name": "Hangar 54 Pizza", - "category": "Food and Drink" -}, { - "name": "Hangry Joe\u0027s", - "category": "Food and Drink" -}, { - "name": "Hannaford", - "category": "Grocery and Liquor" -}, { - "name": "Hannaford Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Happy State Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Happy\u0027s Pizza", - "category": "Food and Drink" -}, { - "name": "Harbor Freight Tools", - "category": "Merchandise Retail" -}, { - "name": "Hard Rock Cafe", - "category": "Food and Drink" -}, { - "name": "Hardee\u0027s", - "category": "Food and Drink" -}, { - "name": "Hardware Hank", - "category": "Merchandise Retail" -}, { - "name": "Harps", - "category": "Grocery and Liquor" -}, { - "name": "Harris Teeter", - "category": "Grocery and Liquor" -}, { - "name": "Harris Teeter Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Hartz Chicken Buffet", - "category": "Food and Drink" -}, { - "name": "Havaianas", - "category": "Merchandise Retail" -}, { - "name": "Havertys Furniture", - "category": "Merchandise Retail" -}, { - "name": "Havoline Xpress Lube", - "category": "Automotive Services" -}, { - "name": "Hawaiian Bros.", - "category": "Food and Drink" -}, { - "name": "Haworth", - "category": "Merchandise Retail" -}, { - "name": "Hawthorn Suites", - "category": "Lodging" -}, { - "name": "Health Mart", - "category": "Health and Personal Care Retailers" -}, { - "name": "HearUSA", - "category": "Health and Personal Care Retailers" -}, { - "name": "Heartland Bank and Trust Company", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Hele Gas", - "category": "Gas Station" -}, { - "name": "Helly Hansen", - "category": "Merchandise Retail" -}, { - "name": "Helzberg Diamonds", - "category": "Merchandise Retail" -}, { - "name": "Henry Schein", - "category": "Merchandise Retail" -}, { - "name": "Herbalife Independent Distributor", - "category": "Health and Personal Care Retailers" -}, { - "name": "Heritage Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Herman Miller", - "category": "Merchandise Retail" -}, { - "name": "Hermes", - "category": "Merchandise Retail" -}, { - "name": "Hershey\u0027s Ice Cream", - "category": "Food and Drink" -}, { - "name": "Hertz", - "category": "Automotive Rentals" -}, { - "name": "Hertz Car Sales", - "category": "Automotive and Parts Dealers" -}, { - "name": "Hibbett Sports", - "category": "Merchandise Retail" -}, { - "name": "Hickory Farms", - "category": "Merchandise Retail" -}, { - "name": "High\u0027s", - "category": "Gas Station" -}, { - "name": "Hilti Store", - "category": "Merchandise Retail" -}, { - "name": "Hilton", - "category": "Lodging" -}, { - "name": "Hilton Grand Vacations", - "category": "Lodging" -}, { - "name": "Hitachi", - "category": "Electronics Retailers" -}, { - "name": "Hobby Lobby", - "category": "Merchandise Retail" -}, { - "name": "HobbyTown", - "category": "Merchandise Retail" -}, { - "name": "Holiday Inn", - "category": "Lodging" -}, { - "name": "Holiday Inn Express", - "category": "Lodging" -}, { - "name": "Holiday Inn Resort", - "category": "Lodging" -}, { - "name": "Holiday Oil Co", - "category": "Gas Station" -}, { - "name": "Holiday Stationstores", - "category": "Grocery and Liquor" -}, { - "name": "Hollister Co.", - "category": "Merchandise Retail" -}, { - "name": "Hollywood Feed", - "category": "Merchandise Retail" -}, { - "name": "Home2 Suites by Hilton", - "category": "Lodging" -}, { - "name": "HomeGoods", - "category": "Merchandise Retail" -}, { - "name": "HomeSense", - "category": "Merchandise Retail" -}, { - "name": "HomeStreet Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "HomeTowne Studios", - "category": "Lodging" -}, { - "name": "Homewood Suites", - "category": "Lodging" -}, { - "name": "Honda Parts", - "category": "Automotive and Parts Dealers" -}, { - "name": "Honey Birdette", - "category": "Merchandise Retail" -}, { - "name": "Honey Dew Donuts", - "category": "Food and Drink" -}, { - "name": "Hook \u0026 Reel Cajun Seafood Restaurant and Bar", - "category": "Food and Drink" -}, { - "name": "Hooters", - "category": "Food and Drink" -}, { - "name": "Horizon Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Hot Head Burritos", - "category": "Food and Drink" -}, { - "name": "Hot Stuff Pizza", - "category": "Food and Drink" -}, { - "name": "Hot Topic", - "category": "Merchandise Retail" -}, { - "name": "Hotel Indigo", - "category": "Lodging" -}, { - "name": "Hotel O", - "category": "Lodging" -}, { - "name": "Howard Johnson\u0027s", - "category": "Lodging" -}, { - "name": "HuHot Mongolian Grill", - "category": "Food and Drink" -}, { - "name": "Hublot", - "category": "Merchandise Retail" -}, { - "name": "Huddle House", - "category": "Food and Drink" -}, { - "name": "Hudson News", - "category": "Merchandise Retail" -}, { - "name": "Huey Magoo\u0027s", - "category": "Food and Drink" -}, { - "name": "Hughes Supply", - "category": "Merchandise Retail" -}, { - "name": "Hui Lau Shan", - "category": "Food and Drink" -}, { - "name": "Human Bean", - "category": "Food and Drink" -}, { - "name": "Humanscale", - "category": "Merchandise Retail" -}, { - "name": "Hungry Howie\u0027s Pizza", - "category": "Food and Drink" -}, { - "name": "Hunt Brothers Pizza", - "category": "Food and Drink" -}, { - "name": "Hunter Douglas", - "category": "Merchandise Retail" -}, { - "name": "Huntington Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Huntington Bank ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Hurley", - "category": "Merchandise Retail" -}, { - "name": "Hush Puppies", - "category": "Merchandise Retail" -}, { - "name": "Husqvarna", - "category": "Merchandise Retail" -}, { - "name": "Hustler Hollywood", - "category": "Merchandise Retail" -}, { - "name": "Hutchinson", - "category": "Merchandise Retail" -}, { - "name": "Hwy 55 Burgers Shakes \u0026 Fries", - "category": "Food and Drink" -}, { - "name": "Hy-Vee", - "category": "Food and Drink" -}, { - "name": "Hy-Vee", - "category": "Grocery and Liquor" -}, { - "name": "Hy-Vee Deli", - "category": "Grocery and Liquor" -}, { - "name": "Hy-Vee Garden Center", - "category": "Merchandise Retail" -}, { - "name": "Hy-Vee Gas", - "category": "Merchandise Retail" -}, { - "name": "Hy-Vee Market Grille", - "category": "Food and Drink" -}, { - "name": "Hy-Vee Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Hy-Vee Wine \u0026 Spirits", - "category": "Grocery and Liquor" -}, { - "name": "Hyatt Centric", - "category": "Lodging" -}, { - "name": "Hyatt House", - "category": "Lodging" -}, { - "name": "Hyatt Place", - "category": "Lodging" -}, { - "name": "Hyatt Regency", - "category": "Lodging" -}, { - "name": "Häagen-Dazs", - "category": "Food and Drink" -}, { - "name": "Hästens", - "category": "Merchandise Retail" -}, { - "name": "IBC Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "IBC Bank ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "IDI Distributors", - "category": "Merchandise Retail" -}, { - "name": "IGA", - "category": "Grocery and Liquor" -}, { - "name": "IHG", - "category": "Lodging" -}, { - "name": "IHOP", - "category": "Food and Drink" -}, { - "name": "IKEA", - "category": "Merchandise Retail" -}, { - "name": "IKEA Restaurant", - "category": "Food and Drink" -}, { - "name": "INTRUST Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "IT Trattoria", - "category": "Food and Drink" -}, { - "name": "IT\u0027SUGAR", - "category": "Food and Drink" -}, { - "name": "IWC Schaffhausen", - "category": "Merchandise Retail" -}, { - "name": "Iberostar", - "category": "Lodging" -}, { - "name": "Icon Parking", - "category": "Parking" -}, { - "name": "Ike\u0027s Love and Sandwiches", - "category": "Food and Drink" -}, { - "name": "Image360", - "category": "Merchandise Retail" -}, { - "name": "Imax", - "category": "Movie theater" -}, { - "name": "Imo\u0027s Pizza", - "category": "Food and Drink" -}, { - "name": "Impark", - "category": "Parking" -}, { - "name": "In-N-Out Burger", - "category": "Food and Drink" -}, { - "name": "InMotion Entertainment", - "category": "Electronics Retailers" -}, { - "name": "InTown Suites", - "category": "Lodging" -}, { - "name": "Independent Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Indigo", - "category": "Merchandise Retail" -}, { - "name": "Indochino", - "category": "Merchandise Retail" -}, { - "name": "Infiniti", - "category": "Automotive and Parts Dealers" -}, { - "name": "Ingles Gas Express", - "category": "Gas Station" -}, { - "name": "Ingles Market", - "category": "Grocery and Liquor" -}, { - "name": "Ingles Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Inglot", - "category": "Health and Personal Care Retailers" -}, { - "name": "Innovative Hearing", - "category": "Health and Personal Care Retailers" -}, { - "name": "Insomnia Cookies", - "category": "Food and Drink" -}, { - "name": "Instant Imprints", - "category": "Merchandise Retail" -}, { - "name": "InterContinental", - "category": "Lodging" -}, { - "name": "Interceramic Tile \u0026 Stone Gallery", - "category": "Merchandise Retail" -}, { - "name": "Interstate All Battery Center", - "category": "Automotive Services" -}, { - "name": "Intesa Sanpaolo Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Intimissimi", - "category": "Merchandise Retail" -}, { - "name": "Ippudo", - "category": "Food and Drink" -}, { - "name": "Iris Galerie", - "category": "Electronics Retailers" -}, { - "name": "Irving Oil", - "category": "Gas Station" -}, { - "name": "Isabel Marant", - "category": "Merchandise Retail" -}, { - "name": "It\u0027s Boba Time", - "category": "Food and Drink" -}, { - "name": "It\u0027s Fashion", - "category": "Merchandise Retail" -}, { - "name": "It\u0027s Just Wings", - "category": "Food and Drink" -}, { - "name": "J.Crew", - "category": "Merchandise Retail" -}, { - "name": "J.Jill", - "category": "Merchandise Retail" -}, { - "name": "J.McLaughlin", - "category": "Merchandise Retail" -}, { - "name": "J.プレス", - "category": "Merchandise Retail" -}, { - "name": "JBL", - "category": "Electronics Retailers" -}, { - "name": "JC Licht", - "category": "Merchandise Retail" -}, { - "name": "JCPenney", - "category": "Merchandise Retail" -}, { - "name": "JD Sports", - "category": "Merchandise Retail" -}, { - "name": "JINS", - "category": "Health and Personal Care Retailers" -}, { - "name": "JOANN Fabrics and Crafts", - "category": "Merchandise Retail" -}, { - "name": "JOE \u0026 THE JUICE", - "category": "Food and Drink" -}, { - "name": "JW Marriott", - "category": "Lodging" -}, { - "name": "Jacadi", - "category": "Merchandise Retail" -}, { - "name": "Jack in the Box", - "category": "Food and Drink" -}, { - "name": "Jack\u0027s", - "category": "Food and Drink" -}, { - "name": "Jacksons Food Stores", - "category": "Grocery and Liquor" -}, { - "name": "Jaeger-LeCoultre", - "category": "Merchandise Retail" -}, { - "name": "Jake\u0027s Fireworks", - "category": "Merchandise Retail" -}, { - "name": "Jamba", - "category": "Food and Drink" -}, { - "name": "James Avery", - "category": "Merchandise Retail" -}, { - "name": "Janie and Jack", - "category": "Merchandise Retail" -}, { - "name": "Jared", - "category": "Merchandise Retail" -}, { - "name": "Jason\u0027s Deli", - "category": "Food and Drink" -}, { - "name": "JdV by Hyatt", - "category": "Lodging" -}, { - "name": "Jefferson Dental \u0026 Orthodontics", - "category": "Dental" -}, { - "name": "Jeni\u0027s Splendid Ice Creams", - "category": "Food and Drink" -}, { - "name": "Jeremiah\u0027s Italian Ice", - "category": "Food and Drink" -}, { - "name": "Jersey Mike\u0027s Subs", - "category": "Food and Drink" -}, { - "name": "Jet\u0027s Pizza", - "category": "Food and Drink" -}, { - "name": "Jewel-Osco", - "category": "Grocery and Liquor" -}, { - "name": "Jewel-Osco Deli", - "category": "Grocery and Liquor" -}, { - "name": "Jewel-Osco Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Jiffy Lube", - "category": "Automotive Services" -}, { - "name": "Jiffy Mart", - "category": "Gas Station" -}, { - "name": "Jil Sander", - "category": "Merchandise Retail" -}, { - "name": "Jim \u0027N Nick\u0027s Bar-B-Q", - "category": "Food and Drink" -}, { - "name": "Jimmy Choo", - "category": "Merchandise Retail" -}, { - "name": "Jimmy John\u0027s", - "category": "Food and Drink" -}, { - "name": "Jimmy\u0027s Egg", - "category": "Food and Drink" -}, { - "name": "Jo Malone", - "category": "Merchandise Retail" -}, { - "name": "Jo Malone London", - "category": "Merchandise Retail" -}, { - "name": "Jockey", - "category": "Merchandise Retail" -}, { - "name": "Joe Hudson\u0027s Collision Center", - "category": "Automotive Services" -}, { - "name": "Joe\u0027s Auto Parks", - "category": "Parking" -}, { - "name": "Johnny Rockets", - "category": "Food and Drink" -}, { - "name": "Johnny Was", - "category": "Merchandise Retail" -}, { - "name": "Johnny\u0027s Markets", - "category": "Grocery and Liquor" -}, { - "name": "Johnny\u0027s New York Style Pizza", - "category": "Food and Drink" -}, { - "name": "Johnson Fitness \u0026 Wellness Store (formerly 2nd Wind Exercise Equipment)", - "category": "Merchandise Retail" -}, { - "name": "Johnston \u0026 Murphy", - "category": "Merchandise Retail" -}, { - "name": "Jollibee", - "category": "Food and Drink" -}, { - "name": "Jos. A. Bank", - "category": "Merchandise Retail" -}, { - "name": "Journeys", - "category": "Merchandise Retail" -}, { - "name": "Joyalukkas Jewellery", - "category": "Merchandise Retail" -}, { - "name": "Juan Valdez", - "category": "Food and Drink" -}, { - "name": "Juice It Up!", - "category": "Food and Drink" -}, { - "name": "Junaid Jamshed", - "category": "Merchandise Retail" -}, { - "name": "Just Between Friends", - "category": "Merchandise Retail" -}, { - "name": "Just Salad", - "category": "Food and Drink" -}, { - "name": "Just Tires", - "category": "Automotive Services" -}, { - "name": "JustFoodForDogs", - "category": "Merchandise Retail" -}, { - "name": "K\u0026G Fashion Superstore", - "category": "Merchandise Retail" -}, { - "name": "KARE", - "category": "Merchandise Retail" -}, { - "name": "KBC", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "KFC", - "category": "Food and Drink" -}, { - "name": "KIKO Milano", - "category": "Health and Personal Care Retailers" -}, { - "name": "KPOT Korean BBQ \u0026 Hot Pot", - "category": "Food and Drink" -}, { - "name": "Kalyan Jewellers", - "category": "Merchandise Retail" -}, { - "name": "Kansasland Tire \u0026 Service", - "category": "Automotive Services" -}, { - "name": "Kartell", - "category": "Merchandise Retail" -}, { - "name": "Kate Spade", - "category": "Merchandise Retail" -}, { - "name": "Kay Jewelers", - "category": "Merchandise Retail" -}, { - "name": "Kay Jewelers Outlet", - "category": "Merchandise Retail" -}, { - "name": "Kee Wah Bakery", - "category": "Food and Drink" -}, { - "name": "Keke\u0027s Breakfast Cafe", - "category": "Food and Drink" -}, { - "name": "Keller Supply Company", - "category": "Merchandise Retail" -}, { - "name": "Kelley\u0027s Market", - "category": "Grocery and Liquor" -}, { - "name": "Kendra Scott", - "category": "Merchandise Retail" -}, { - "name": "Kenzo", - "category": "Merchandise Retail" -}, { - "name": "Key Food", - "category": "Grocery and Liquor" -}, { - "name": "KeyBank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "KeyBank ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Keystone Automotive", - "category": "Automotive and Parts Dealers" -}, { - "name": "Kid to Kid", - "category": "Merchandise Retail" -}, { - "name": "Kids Foot Locker", - "category": "Merchandise Retail" -}, { - "name": "Kiehl\u0027s", - "category": "Health and Personal Care Retailers" -}, { - "name": "Kilwins", - "category": "Food and Drink" -}, { - "name": "Kimpton", - "category": "Lodging" -}, { - "name": "Kindred Healthcare", - "category": "Hospital" -}, { - "name": "Kinetico", - "category": "Merchandise Retail" -}, { - "name": "King Koil", - "category": "Merchandise Retail" -}, { - "name": "King Soopers", - "category": "Grocery and Liquor" -}, { - "name": "King Soopers Fuel Center", - "category": "Gas Station" -}, { - "name": "King Soopers Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Kinney Drugs", - "category": "Health and Personal Care Retailers" -}, { - "name": "Kinokuniya", - "category": "Merchandise Retail" -}, { - "name": "Kipling", - "category": "Merchandise Retail" -}, { - "name": "Kirkland\u0027s", - "category": "Merchandise Retail" -}, { - "name": "Knights Inn", - "category": "Lodging" -}, { - "name": "Kohl\u0027s", - "category": "Merchandise Retail" -}, { - "name": "Kohler", - "category": "Merchandise Retail" -}, { - "name": "Kolache Factory", - "category": "Food and Drink" -}, { - "name": "Krispy Kreme", - "category": "Food and Drink" -}, { - "name": "Krispy Krunchy Chicken", - "category": "Food and Drink" -}, { - "name": "Krist Food Mart", - "category": "Gas Station" -}, { - "name": "Kroger", - "category": "Grocery and Liquor" -}, { - "name": "Kroger Bakery", - "category": "Food and Drink" -}, { - "name": "Kroger Deli", - "category": "Grocery and Liquor" -}, { - "name": "Kroger Fuel Center", - "category": "Gas Station" -}, { - "name": "Kroger Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Kromasol", - "category": "Health and Personal Care Retailers" -}, { - "name": "Krown", - "category": "Automotive Services" -}, { - "name": "Kryolan city", - "category": "Health and Personal Care Retailers" -}, { - "name": "Krystal", - "category": "Food and Drink" -}, { - "name": "Kum \u0026 Go", - "category": "Gas Station" -}, { - "name": "Kung Fu Tea", - "category": "Food and Drink" -}, { - "name": "Kwik Fill", - "category": "Gas Station" -}, { - "name": "Kwik Shop", - "category": "Gas Station" -}, { - "name": "Kwik Trip", - "category": "Gas Station" -}, { - "name": "L\u0026L Hawaiian Barbecue", - "category": "Food and Drink" -}, { - "name": "L\u0027Occitane", - "category": "Health and Personal Care Retailers" -}, { - "name": "L\u0027Oreal", - "category": "Health and Personal Care Retailers" -}, { - "name": "L.L. Bean", - "category": "Merchandise Retail" -}, { - "name": "LA Fitness", - "category": "Fitness" -}, { - "name": "LAZ Parking", - "category": "Parking" -}, { - "name": "LKQ", - "category": "Automotive and Parts Dealers" -}, { - "name": "LKQ Pick Your Part", - "category": "Automotive and Parts Dealers" -}, { - "name": "LL Flooring", - "category": "Merchandise Retail" -}, { - "name": "LOFT", - "category": "Merchandise Retail" -}, { - "name": "LUKOIL", - "category": "Gas Station" -}, { - "name": "LUPICIA", - "category": "Grocery and Liquor" -}, { - "name": "LUSH", - "category": "Health and Personal Care Retailers" -}, { - "name": "La Diperie", - "category": "Food and Drink" -}, { - "name": "La Madeleine", - "category": "Food and Drink" -}, { - "name": "La Michoacana Meat Market", - "category": "Grocery and Liquor" -}, { - "name": "La Michoacana Plus", - "category": "Food and Drink" -}, { - "name": "La Quinta by Wyndham", - "category": "Lodging" -}, { - "name": "La-Z-Boy", - "category": "Merchandise Retail" -}, { - "name": "LaRosa\u0027s", - "category": "Food and Drink" -}, { - "name": "Label Shopper", - "category": "Merchandise Retail" -}, { - "name": "Lacoste", - "category": "Merchandise Retail" -}, { - "name": "Lacrosse Unlimited", - "category": "Merchandise Retail" -}, { - "name": "Ladurée", - "category": "Food and Drink" -}, { - "name": "Lake City Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Lakeshore Learning Store", - "category": "Merchandise Retail" -}, { - "name": "Lalique", - "category": "Merchandise Retail" -}, { - "name": "Lancôme", - "category": "Health and Personal Care Retailers" -}, { - "name": "Land Rover", - "category": "Automotive and Parts Dealers" -}, { - "name": "Lane Bryant", - "category": "Merchandise Retail" -}, { - "name": "Laneige", - "category": "Health and Personal Care Retailers" -}, { - "name": "Lanvin", - "category": "Merchandise Retail" -}, { - "name": "Lawson", - "category": "Grocery and Liquor" -}, { - "name": "Lazy Dog Restaurant \u0026 Bar", - "category": "Food and Drink" -}, { - "name": "Le Creuset", - "category": "Merchandise Retail" -}, { - "name": "Le Labo", - "category": "Merchandise Retail" -}, { - "name": "Le Macaron French Pastries", - "category": "Food and Drink" -}, { - "name": "Le Méridien", - "category": "Lodging" -}, { - "name": "Le Pain Quotidien", - "category": "Food and Drink" -}, { - "name": "LeSportsac", - "category": "Merchandise Retail" -}, { - "name": "Learning Express", - "category": "Merchandise Retail" -}, { - "name": "Ledo Pizza", - "category": "Food and Drink" -}, { - "name": "Lee\u0027s Famous Recipe Chicken", - "category": "Food and Drink" -}, { - "name": "Lee\u0027s Sandwiches", - "category": "Food and Drink" -}, { - "name": "Leica Camera AG", - "category": "Electronics Retailers" -}, { - "name": "Lelas", - "category": "Health and Personal Care Retailers" -}, { - "name": "Lennys Grill \u0026 Subs", - "category": "Food and Drink" -}, { - "name": "Lenovo", - "category": "Electronics Retailers" -}, { - "name": "Leo\u0027s Coney Island", - "category": "Food and Drink" -}, { - "name": "Leonard Buildings \u0026 Truck Accessories", - "category": "Automotive Services" -}, { - "name": "Leonidas", - "category": "Food and Drink" -}, { - "name": "Les Schwab Tire Center", - "category": "Automotive Services" -}, { - "name": "Leslie\u0027s Pool Supplies, Service \u0026 Repair", - "category": "Merchandise Retail" -}, { - "name": "Levi\u0027s", - "category": "Merchandise Retail" -}, { - "name": "Lewis Family Drug", - "category": "Health and Personal Care Retailers" -}, { - "name": "Liberty", - "category": "Gas Station" -}, { - "name": "Liberty Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "LibertyX Bitcoin Cashier", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Lidl", - "category": "Grocery and Liquor" -}, { - "name": "Lids", - "category": "Merchandise Retail" -}, { - "name": "Life Time, Inc.", - "category": "Fitness" -}, { - "name": "Lifewave", - "category": "Health and Personal Care Retailers" -}, { - "name": "Ligne Roset", - "category": "Merchandise Retail" -}, { - "name": "Lilly Pulitzer", - "category": "Merchandise Retail" -}, { - "name": "Lincoln Electric", - "category": "Merchandise Retail" -}, { - "name": "Lindt", - "category": "Food and Drink" -}, { - "name": "Line-X", - "category": "Automotive Services" -}, { - "name": "Lion\u0027s Den", - "category": "Merchandise Retail" -}, { - "name": "Liquor Mart", - "category": "Grocery and Liquor" -}, { - "name": "Little Caesars Pizza", - "category": "Food and Drink" -}, { - "name": "Little Charlies Pizza", - "category": "Food and Drink" -}, { - "name": "Little General Store", - "category": "Grocery and Liquor" -}, { - "name": "Little Gym", - "category": "Fitness" -}, { - "name": "Livingston Audiology \u0026 Hearing Aid Center", - "category": "Health and Personal Care Retailers" -}, { - "name": "Lloyds Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Loaf \u0027N Jug", - "category": "Gas Station" -}, { - "name": "Locke Supply", - "category": "Merchandise Retail" -}, { - "name": "Loewe", - "category": "Merchandise Retail" -}, { - "name": "Logan\u0027s Roadhouse", - "category": "Food and Drink" -}, { - "name": "Lolli and Pops", - "category": "Food and Drink" -}, { - "name": "Long John Silver\u0027s", - "category": "Food and Drink" -}, { - "name": "LongHorn Steakhouse", - "category": "Food and Drink" -}, { - "name": "Longchamp", - "category": "Merchandise Retail" -}, { - "name": "Longines Boutique", - "category": "Merchandise Retail" -}, { - "name": "Loop Neighborhood Market", - "category": "Grocery and Liquor" -}, { - "name": "Loro Piana", - "category": "Merchandise Retail" -}, { - "name": "Lou Malnati\u0027s Pizzeria", - "category": "Food and Drink" -}, { - "name": "Louis Vuitton", - "category": "Merchandise Retail" -}, { - "name": "Louisiana Fried Chicken", - "category": "Food and Drink" -}, { - "name": "Lovesac", - "category": "Merchandise Retail" -}, { - "name": "Loving Hut", - "category": "Food and Drink" -}, { - "name": "Lovisa", - "category": "Merchandise Retail" -}, { - "name": "Low Bob\u0027s Discount Tobacco", - "category": "Merchandise Retail" -}, { - "name": "Lowe\u0027s", - "category": "Grocery and Liquor" -}, { - "name": "Lowe\u0027s Home Improvement", - "category": "Merchandise Retail" -}, { - "name": "Lowes Foods", - "category": "Grocery and Liquor" -}, { - "name": "Lucid Hearing Center", - "category": "Health and Personal Care Retailers" -}, { - "name": "Lucky", - "category": "Grocery and Liquor" -}, { - "name": "Lucky Brand", - "category": "Merchandise Retail" -}, { - "name": "Lumen Technologies", - "category": "Telecommunications" -}, { - "name": "Luna Grill", - "category": "Food and Drink" -}, { - "name": "Lycamobile", - "category": "Telecommunications" -}, { - "name": "M\u0026T Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "MAC", - "category": "Health and Personal Care Retailers" -}, { - "name": "MAD Fireworks", - "category": "Merchandise Retail" -}, { - "name": "MAPCO", - "category": "Grocery and Liquor" -}, { - "name": "MAX\u0026Co.", - "category": "Merchandise Retail" -}, { - "name": "MC2 Saint Barth", - "category": "Merchandise Retail" -}, { - "name": "MCM", - "category": "Merchandise Retail" -}, { - "name": "MFA Oil Petro-Card 24", - "category": "Gas Station" -}, { - "name": "MGallery", - "category": "Lodging" -}, { - "name": "MHC Kenworth", - "category": "Automotive and Parts Dealers" -}, { - "name": "MISSION BBQ", - "category": "Food and Drink" -}, { - "name": "MOD Pizza", - "category": "Food and Drink" -}, { - "name": "MOOYAH Burgers, Fries \u0026 Shakes", - "category": "Food and Drink" -}, { - "name": "Maaco Collision Repair \u0026 Auto Painting", - "category": "Automotive Services" -}, { - "name": "Macron", - "category": "Merchandise Retail" -}, { - "name": "Macy\u0027s", - "category": "Merchandise Retail" -}, { - "name": "Macy\u0027s Backstage", - "category": "Merchandise Retail" -}, { - "name": "Macy\u0027s Furniture Gallery", - "category": "Merchandise Retail" -}, { - "name": "Macy\u0027s eSpot Kiosk", - "category": "Electronics Retailers" -}, { - "name": "Madewell", - "category": "Merchandise Retail" -}, { - "name": "Maggiano\u0027s Little Italy", - "category": "Food and Drink" -}, { - "name": "Magnetsigns", - "category": "Merchandise Retail" -}, { - "name": "Magnuson Hotel", - "category": "Lodging" -}, { - "name": "Main Event", - "category": "Food and Drink" -}, { - "name": "Mainstay Suites", - "category": "Lodging" -}, { - "name": "Mainstream Boutique", - "category": "Merchandise Retail" -}, { - "name": "Maison Margiela", - "category": "Merchandise Retail" -}, { - "name": "Maje", - "category": "Merchandise Retail" -}, { - "name": "Majorica", - "category": "Merchandise Retail" -}, { - "name": "Malabar Gold \u0026 Diamonds", - "category": "Merchandise Retail" -}, { - "name": "Manchu Wok", - "category": "Food and Drink" -}, { - "name": "Mancino\u0027s Pizza \u0026 Grinders", - "category": "Food and Drink" -}, { - "name": "Mandarin Oriental", - "category": "Lodging" -}, { - "name": "Mango", - "category": "Merchandise Retail" -}, { - "name": "Manhattan Bagel", - "category": "Food and Drink" -}, { - "name": "Manheim", - "category": "Automotive and Parts Dealers" -}, { - "name": "Mania Jeans", - "category": "Merchandise Retail" -}, { - "name": "Mantra", - "category": "Lodging" -}, { - "name": "Manyavar", - "category": "Merchandise Retail" -}, { - "name": "Maple Street Biscuit Company", - "category": "Food and Drink" -}, { - "name": "Marathon Gas", - "category": "Gas Station" -}, { - "name": "Marble Slab Creamery", - "category": "Food and Drink" -}, { - "name": "Marc Cain", - "category": "Merchandise Retail" -}, { - "name": "Marc Jacobs", - "category": "Merchandise Retail" -}, { - "name": "Marc\u0027s Stores", - "category": "Grocery and Liquor" -}, { - "name": "Marco\u0027s Pizza", - "category": "Food and Drink" -}, { - "name": "Marcus", - "category": "Movie theater" -}, { - "name": "Marella", - "category": "Merchandise Retail" -}, { - "name": "Marimekko", - "category": "Merchandise Retail" -}, { - "name": "Marina Rinaldi", - "category": "Merchandise Retail" -}, { - "name": "Marine Layer", - "category": "Merchandise Retail" -}, { - "name": "Market Basket", - "category": "Grocery and Liquor" -}, { - "name": "Marni", - "category": "Merchandise Retail" -}, { - "name": "Marriott", - "category": "Lodging" -}, { - "name": "Marshalls", - "category": "Merchandise Retail" -}, { - "name": "Martin\u0027s", - "category": "Grocery and Liquor" -}, { - "name": "Marugame Seimen", - "category": "Food and Drink" -}, { - "name": "Mary Kay", - "category": "Health and Personal Care Retailers" -}, { - "name": "Massimo Dutti", - "category": "Merchandise Retail" -}, { - "name": "Master Halco", - "category": "Merchandise Retail" -}, { - "name": "Mattress By Appointment", - "category": "Merchandise Retail" -}, { - "name": "Mattress Firm", - "category": "Merchandise Retail" -}, { - "name": "Mattress Warehouse", - "category": "Merchandise Retail" -}, { - "name": "Maurices", - "category": "Merchandise Retail" -}, { - "name": "Maverik Adventure\u0027s First Stop", - "category": "Gas Station" -}, { - "name": "Mavi", - "category": "Merchandise Retail" -}, { - "name": "Mavis Tires", - "category": "Automotive Services" -}, { - "name": "Max Mara", - "category": "Merchandise Retail" -}, { - "name": "Max Studio", - "category": "Merchandise Retail" -}, { - "name": "Max\u0027s Restaurant", - "category": "Food and Drink" -}, { - "name": "Maybank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Mayweather Boxing + Fitness", - "category": "Fitness" -}, { - "name": "Mazzio\u0027s", - "category": "Food and Drink" -}, { - "name": "McAlister\u0027s Deli", - "category": "Food and Drink" -}, { - "name": "McCarthy Tire Service", - "category": "Automotive Services" -}, { - "name": "McDonald\u0027s", - "category": "Food and Drink" -}, { - "name": "McLaren", - "category": "Automotive and Parts Dealers" -}, { - "name": "McMenamins", - "category": "Food and Drink" -}, { - "name": "Me-n-Ed\u0027s", - "category": "Food and Drink" -}, { - "name": "Medical Marijuana Dispensary | Liberty Health Sciences", - "category": "Merchandise Retail" -}, { - "name": "Medicap Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Medicine Shoppe", - "category": "Health and Personal Care Retailers" -}, { - "name": "Meijer", - "category": "Grocery and Liquor" -}, { - "name": "Meijer Gas Station", - "category": "Gas Station" -}, { - "name": "Meijer Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Meineke Car Care Center", - "category": "Automotive Services" -}, { - "name": "Melia Hotels and Resorts", - "category": "Lodging" -}, { - "name": "Mellow Mushroom", - "category": "Food and Drink" -}, { - "name": "Melrose", - "category": "Merchandise Retail" -}, { - "name": "Melting Pot", - "category": "Food and Drink" -}, { - "name": "Men\u0027s Wearhouse", - "category": "Merchandise Retail" -}, { - "name": "Menchie\u0027s", - "category": "Food and Drink" -}, { - "name": "Mendocino Farms", - "category": "Food and Drink" -}, { - "name": "Mephisto", - "category": "Merchandise Retail" -}, { - "name": "Merle Norman Cosmetic Studio", - "category": "Health and Personal Care Retailers" -}, { - "name": "Merrell", - "category": "Merchandise Retail" -}, { - "name": "Messika", - "category": "Merchandise Retail" -}, { - "name": "Metro Diner", - "category": "Food and Drink" -}, { - "name": "Metro Infusion Center", - "category": "Hospital" -}, { - "name": "Metro by T-Mobile", - "category": "Telecommunications" -}, { - "name": "Mex Rent A Car", - "category": "Automotive Rentals" -}, { - "name": "Michael Kors", - "category": "Merchandise Retail" -}, { - "name": "Michaels Companies, Inc", - "category": "Merchandise Retail" -}, { - "name": "Michelin", - "category": "Automotive Services" -}, { - "name": "Microtel Inn", - "category": "Lodging" -}, { - "name": "MidFirst Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "MidWestOne Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Midas", - "category": "Automotive Services" -}, { - "name": "Midland States Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Midwest Dental La Crosse", - "category": "Dental" -}, { - "name": "Miele", - "category": "Merchandise Retail" -}, { - "name": "Mighty Auto Parts", - "category": "Automotive and Parts Dealers" -}, { - "name": "Miller Paint Company", - "category": "Merchandise Retail" -}, { - "name": "Miller\u0027s Ale House", - "category": "Food and Drink" -}, { - "name": "Mimi\u0027s Cafe", - "category": "Food and Drink" -}, { - "name": "Miniso", - "category": "Merchandise Retail" -}, { - "name": "Minit Mart", - "category": "Grocery and Liquor" -}, { - "name": "Mirabito", - "category": "Grocery and Liquor" -}, { - "name": "Miracle-Ear", - "category": "Health and Personal Care Retailers" -}, { - "name": "Missoni", - "category": "Merchandise Retail" -}, { - "name": "Mister Car Wash", - "category": "Automotive Services" -}, { - "name": "Mitre 10", - "category": "Merchandise Retail" -}, { - "name": "Miu Miu", - "category": "Merchandise Retail" -}, { - "name": "Mobil", - "category": "Gas Station" -}, { - "name": "MobilityWorks", - "category": "Automotive and Parts Dealers" -}, { - "name": "Mochinut", - "category": "Food and Drink" -}, { - "name": "Mod Wash", - "category": "Automotive Services" -}, { - "name": "Moe\u0027s Southwest Grill", - "category": "Food and Drink" -}, { - "name": "Moleskine Store", - "category": "Merchandise Retail" -}, { - "name": "Molteni\u0026C Flagship Store", - "category": "Merchandise Retail" -}, { - "name": "Molton Brown", - "category": "Merchandise Retail" -}, { - "name": "Monarch Dental", - "category": "Dental" -}, { - "name": "Moncler", - "category": "Merchandise Retail" -}, { - "name": "MoneyGram", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Monical\u0027s Pizza", - "category": "Food and Drink" -}, { - "name": "Monro, Inc", - "category": "Automotive Services" -}, { - "name": "Montblanc", - "category": "Merchandise Retail" -}, { - "name": "Montefiore", - "category": "Hospital" -}, { - "name": "Montepio", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Morton\u0027s The Steakhouse", - "category": "Food and Drink" -}, { - "name": "Moschino", - "category": "Merchandise Retail" -}, { - "name": "Motel 6", - "category": "Lodging" -}, { - "name": "Mother\u0027s Nutritional Center", - "category": "Grocery and Liquor" -}, { - "name": "Moto Mart", - "category": "Gas Station" -}, { - "name": "Mount Carmel Medical Group", - "category": "Hospital" -}, { - "name": "Mountain Mike\u0027s Pizza", - "category": "Food and Drink" -}, { - "name": "Mountain Warehouse", - "category": "Merchandise Retail" -}, { - "name": "Movado", - "category": "Merchandise Retail" -}, { - "name": "Moxie\u0027s Grill \u0026 Bar", - "category": "Food and Drink" -}, { - "name": "Moxy", - "category": "Lodging" -}, { - "name": "Mr. Gatti\u0027s Pizza", - "category": "Food and Drink" -}, { - "name": "Mr. Hero", - "category": "Food and Drink" -}, { - "name": "Mr. Pickle\u0027s Sandwich Shop", - "category": "Food and Drink" -}, { - "name": "Mr. Tire Auto Service Centers", - "category": "Automotive Services" -}, { - "name": "Mr. W Fireworks", - "category": "Merchandise Retail" -}, { - "name": "Mr. Wish", - "category": "Food and Drink" -}, { - "name": "MrJims.Pizza", - "category": "Food and Drink" -}, { - "name": "Mrs. Fields", - "category": "Food and Drink" -}, { - "name": "Mud Bay", - "category": "Merchandise Retail" -}, { - "name": "Muji", - "category": "Grocery and Liquor" -}, { - "name": "Murphy USA", - "category": "Gas Station" -}, { - "name": "Music \u0026 Arts", - "category": "Merchandise Retail" -}, { - "name": "My Gym", - "category": "Fitness" -}, { - "name": "My Hearing Centers", - "category": "Health and Personal Care Retailers" -}, { - "name": "My Place Hotel", - "category": "Lodging" -}, { - "name": "MÜV", - "category": "Merchandise Retail" -}, { - "name": "Möge Tee", - "category": "Food and Drink" -}, { - "name": "NAB", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "NAPA Auto Parts", - "category": "Automotive and Parts Dealers" -}, { - "name": "NBP", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "NBT Bank of Syracuse", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "NH Collection Hotels", - "category": "Lodging" -}, { - "name": "NH Liquor \u0026 Wine Outlet", - "category": "Grocery and Liquor" -}, { - "name": "NOURIA ENERGY", - "category": "Grocery and Liquor" -}, { - "name": "NTB-National Tire \u0026 Battery", - "category": "Automotive Services" -}, { - "name": "Nando\u0027s", - "category": "Food and Drink" -}, { - "name": "Napa Autocare Center", - "category": "Automotive Services" -}, { - "name": "Nathan\u0027s", - "category": "Food and Drink" -}, { - "name": "National Bank of Arizona", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "National Bitcoin ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "National Car Rental", - "category": "Automotive Rentals" -}, { - "name": "National Coatings \u0026 Supplies", - "category": "Merchandise Retail" -}, { - "name": "National Pool Tile Group", - "category": "Merchandise Retail" -}, { - "name": "National Seating \u0026 Mobility", - "category": "Health and Personal Care Retailers" -}, { - "name": "National Vision", - "category": "Health and Personal Care Retailers" -}, { - "name": "Natura", - "category": "Health and Personal Care Retailers" -}, { - "name": "Natural Grocers", - "category": "Grocery and Liquor" -}, { - "name": "Naturalizer", - "category": "Merchandise Retail" -}, { - "name": "Nature Republic", - "category": "Health and Personal Care Retailers" -}, { - "name": "Nature\u0027s Sunshine Products", - "category": "Health and Personal Care Retailers" -}, { - "name": "Naturissimo", - "category": "Food and Drink" -}, { - "name": "Natuzzi", - "category": "Merchandise Retail" -}, { - "name": "Nautica", - "category": "Merchandise Retail" -}, { - "name": "Nautical Bowls", - "category": "Food and Drink" -}, { - "name": "Navy Exchange", - "category": "Merchandise Retail" -}, { - "name": "Navy Federal Credit Union ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Nekter Juice Bar", - "category": "Food and Drink" -}, { - "name": "Nespresso", - "category": "Merchandise Retail" -}, { - "name": "Neuhaus", - "category": "Food and Drink" -}, { - "name": "New Balance", - "category": "Merchandise Retail" -}, { - "name": "New China", - "category": "Food and Drink" -}, { - "name": "New York Community Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "New York Fries", - "category": "Food and Drink" -}, { - "name": "New York Pizzeria", - "category": "Food and Drink" -}, { - "name": "NewYork–Presbyterian Hospital", - "category": "Hospital" -}, { - "name": "Newk\u0027s Eatery", - "category": "Food and Drink" -}, { - "name": "Nextcar", - "category": "Automotive Rentals" -}, { - "name": "Nicolet National Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Nike Factory Store", - "category": "Merchandise Retail" -}, { - "name": "Nike Store", - "category": "Merchandise Retail" -}, { - "name": "Nikon", - "category": "Electronics Retailers" -}, { - "name": "Nine West", - "category": "Merchandise Retail" -}, { - "name": "Nippon Rent-a-car", - "category": "Automotive Rentals" -}, { - "name": "Noah\u0027s Bagels", - "category": "Food and Drink" -}, { - "name": "Nokia", - "category": "Electronics Retailers" -}, { - "name": "Noodles and Company", - "category": "Food and Drink" -}, { - "name": "Nordea", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Nordstrom", - "category": "Merchandise Retail" -}, { - "name": "Nordstrom Ebar Artisan Coffee", - "category": "Food and Drink" -}, { - "name": "Nordstrom Rack", - "category": "Merchandise Retail" -}, { - "name": "Northern Tool + Equipment", - "category": "Merchandise Retail" -}, { - "name": "Northwest Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Nothing Bundt Cakes", - "category": "Food and Drink" -}, { - "name": "Novotel", - "category": "Lodging" -}, { - "name": "Novus Glass", - "category": "Automotive Services" -}, { - "name": "NrGize", - "category": "Food and Drink" -}, { - "name": "Nutrishop", - "category": "Health and Personal Care Retailers" -}, { - "name": "O\u0027Charley’s Restaurant \u0026 Bar", - "category": "Food and Drink" -}, { - "name": "O\u0027Neill", - "category": "Merchandise Retail" -}, { - "name": "O\u0027Reilly Auto Parts", - "category": "Automotive and Parts Dealers" -}, { - "name": "OAKBERRY", - "category": "Food and Drink" -}, { - "name": "OCBC", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "OSIM", - "category": "Merchandise Retail" -}, { - "name": "OSKA", - "category": "Merchandise Retail" -}, { - "name": "OXXO", - "category": "Grocery and Liquor" -}, { - "name": "OYO", - "category": "Lodging" -}, { - "name": "OYO Townhouse", - "category": "Lodging" -}, { - "name": "Oakley", - "category": "Merchandise Retail" -}, { - "name": "Ocean State Job Lot", - "category": "Merchandise Retail" -}, { - "name": "OceanFirst Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Off Broadway Shoe Warehouse", - "category": "Merchandise Retail" -}, { - "name": "Office Depot", - "category": "Merchandise Retail" -}, { - "name": "OfficeMax", - "category": "Merchandise Retail" -}, { - "name": "Officine Panerai", - "category": "Merchandise Retail" -}, { - "name": "Oil Changers", - "category": "Automotive Services" -}, { - "name": "Ojo de Agua", - "category": "Food and Drink" -}, { - "name": "Old Chicago", - "category": "Food and Drink" -}, { - "name": "Old National Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Old Navy", - "category": "Merchandise Retail" -}, { - "name": "Old Second National Bank ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Olive Garden Italian Restaurant", - "category": "Food and Drink" -}, { - "name": "Ollie\u0027s Bargain Outlet", - "category": "Merchandise Retail" -}, { - "name": "Olsen Europe", - "category": "Merchandise Retail" -}, { - "name": "Omega", - "category": "Merchandise Retail" -}, { - "name": "Omni", - "category": "Lodging" -}, { - "name": "Omnicare", - "category": "Health and Personal Care Retailers" -}, { - "name": "Omnilife", - "category": "Merchandise Retail" -}, { - "name": "On The Border Mexican Grill \u0026 Cantina", - "category": "Food and Drink" -}, { - "name": "On the Run", - "category": "Grocery and Liquor" -}, { - "name": "OnCue Express", - "category": "Grocery and Liquor" -}, { - "name": "Once Upon A Child", - "category": "Merchandise Retail" -}, { - "name": "One Parking", - "category": "Parking" -}, { - "name": "Ono Hawaiian BBQ", - "category": "Food and Drink" -}, { - "name": "Orange Julius", - "category": "Food and Drink" -}, { - "name": "Orange Leaf", - "category": "Food and Drink" -}, { - "name": "Orangetheory Fitness", - "category": "Fitness" -}, { - "name": "Oreck", - "category": "Merchandise Retail" -}, { - "name": "Origin Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Original Joe\u0027s", - "category": "Food and Drink" -}, { - "name": "Original Pancake House", - "category": "Food and Drink" -}, { - "name": "Original Penguin", - "category": "Merchandise Retail" -}, { - "name": "Origins", - "category": "Health and Personal Care Retailers" -}, { - "name": "Orvis", - "category": "Merchandise Retail" -}, { - "name": "OshKosh B\u0027gosh", - "category": "Merchandise Retail" -}, { - "name": "Outback Steakhouse", - "category": "Food and Drink" -}, { - "name": "Outdoor Cover Warehouse", - "category": "Merchandise Retail" -}, { - "name": "P.C. Richard \u0026 Son", - "category": "Merchandise Retail" -}, { - "name": "P.F. Chang\u0027s", - "category": "Food and Drink" -}, { - "name": "PANDORA", - "category": "Merchandise Retail" -}, { - "name": "PDQ Restaurant", - "category": "Food and Drink" -}, { - "name": "PGA TOUR Superstore", - "category": "Merchandise Retail" -}, { - "name": "PGW Auto Glass", - "category": "Automotive and Parts Dealers" -}, { - "name": "PHILIPP PLEIN", - "category": "Merchandise Retail" -}, { - "name": "PIP Marketing, Signs, Print", - "category": "Merchandise Retail" -}, { - "name": "PJ\u0027s Coffee", - "category": "Food and Drink" -}, { - "name": "PNC ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "PNC Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "POP MART", - "category": "Merchandise Retail" -}, { - "name": "PPG Paints", - "category": "Merchandise Retail" -}, { - "name": "PUMA", - "category": "Merchandise Retail" -}, { - "name": "Pacific Dental", - "category": "Dental" -}, { - "name": "Pacific Pride", - "category": "Gas Station" -}, { - "name": "Pacific Sunwear", - "category": "Merchandise Retail" -}, { - "name": "Padel Nuestro", - "category": "Merchandise Retail" -}, { - "name": "Pagoda", - "category": "Merchandise Retail" -}, { - "name": "Painted Tree Boutiques", - "category": "Merchandise Retail" -}, { - "name": "Palace Inn", - "category": "Lodging" -}, { - "name": "Pancheros Mexican Grill", - "category": "Food and Drink" -}, { - "name": "Panda Express", - "category": "Food and Drink" -}, { - "name": "Panera Bread", - "category": "Food and Drink" -}, { - "name": "Papa Gino\u0027s", - "category": "Food and Drink" -}, { - "name": "Papa John\u0027s Pizza", - "category": "Food and Drink" -}, { - "name": "Papa Murphy\u0027s Take \u0027N\u0027 Bake Pizza", - "category": "Food and Drink" -}, { - "name": "Paper Source", - "category": "Merchandise Retail" -}, { - "name": "Papé Kenworth", - "category": "Automotive and Parts Dealers" -}, { - "name": "Par Mar Stores", - "category": "Grocery and Liquor" -}, { - "name": "Pardon My Cheesesteak", - "category": "Food and Drink" -}, { - "name": "Paris Baguette", - "category": "Food and Drink" -}, { - "name": "Paris Miki", - "category": "Health and Personal Care Retailers" -}, { - "name": "Parisi Speed School", - "category": "Fitness" -}, { - "name": "Park Hyatt", - "category": "Lodging" -}, { - "name": "Park Inn", - "category": "Lodging" -}, { - "name": "Park National Bank:", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Parts Authority", - "category": "Automotive and Parts Dealers" -}, { - "name": "Parts City Auto Parts", - "category": "Automotive and Parts Dealers" -}, { - "name": "Party City", - "category": "Merchandise Retail" -}, { - "name": "Patagonia, Inc.", - "category": "Merchandise Retail" -}, { - "name": "Patek Philippe", - "category": "Merchandise Retail" -}, { - "name": "Patel Brothers", - "category": "Grocery and Liquor" -}, { - "name": "Patterson Dental", - "category": "Merchandise Retail" -}, { - "name": "Paul \u0026 Shark", - "category": "Merchandise Retail" -}, { - "name": "Paul Smith", - "category": "Merchandise Retail" -}, { - "name": "Paul Stuart", - "category": "Merchandise Retail" -}, { - "name": "Payless Car Rental", - "category": "Automotive Rentals" -}, { - "name": "Payless ShoeSource", - "category": "Merchandise Retail" -}, { - "name": "Peach Cobbler Factory", - "category": "Food and Drink" -}, { - "name": "Pedego Electric Bikes", - "category": "Merchandise Retail" -}, { - "name": "Peerless Tires", - "category": "Automotive Services" -}, { - "name": "Peet\u0027s Coffee", - "category": "Food and Drink" -}, { - "name": "Pei Wei", - "category": "Food and Drink" -}, { - "name": "Pelican\u0027s SnoBalls", - "category": "Food and Drink" -}, { - "name": "Pemex", - "category": "Gas Station" -}, { - "name": "Penn Station East Coast Subs", - "category": "Food and Drink" -}, { - "name": "Pennzoil", - "category": "Automotive Services" -}, { - "name": "People\u0027s United Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Peoples Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Pep Boys Auto Parts \u0026 Service", - "category": "Automotive Services" -}, { - "name": "Pepe\u0027s Mexican Restaurants", - "category": "Food and Drink" -}, { - "name": "Pepper Lunch", - "category": "Food and Drink" -}, { - "name": "Pepper Palace", - "category": "Grocery and Liquor" -}, { - "name": "Perfumania", - "category": "Health and Personal Care Retailers" -}, { - "name": "Perfumes 4U", - "category": "Merchandise Retail" -}, { - "name": "Perkins Restaurant \u0026 Bakery", - "category": "Food and Drink" -}, { - "name": "Pestana", - "category": "Lodging" -}, { - "name": "Pet Food Express", - "category": "Merchandise Retail" -}, { - "name": "Pet Planet", - "category": "Merchandise Retail" -}, { - "name": "Pet Supermarket", - "category": "Merchandise Retail" -}, { - "name": "Pet Supplies Plus", - "category": "Merchandise Retail" -}, { - "name": "Pet Valu", - "category": "Merchandise Retail" -}, { - "name": "PetSmart", - "category": "Merchandise Retail" -}, { - "name": "Petco", - "category": "Merchandise Retail" -}, { - "name": "Pete\u0027s", - "category": "Grocery and Liquor" -}, { - "name": "Peter Piper Pizza", - "category": "Food and Drink" -}, { - "name": "Peterbilt", - "category": "Automotive and Parts Dealers" -}, { - "name": "Petland", - "category": "Merchandise Retail" -}, { - "name": "Petsense", - "category": "Merchandise Retail" -}, { - "name": "Phantom Fireworks", - "category": "Merchandise Retail" -}, { - "name": "Phar Merica", - "category": "Health and Personal Care Retailers" -}, { - "name": "Phillips 66", - "category": "Gas Station" -}, { - "name": "Philly Pretzel Factory", - "category": "Food and Drink" -}, { - "name": "Philz Coffee", - "category": "Food and Drink" -}, { - "name": "Phiten", - "category": "Merchandise Retail" -}, { - "name": "Phuc Long Coffee \u0026 Tea", - "category": "Food and Drink" -}, { - "name": "Piada Italian Street Food", - "category": "Food and Drink" -}, { - "name": "Piaget", - "category": "Merchandise Retail" -}, { - "name": "Pick \u0027n Save", - "category": "Grocery and Liquor" -}, { - "name": "Pick \u0027n Save Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Pick n Pay", - "category": "Grocery and Liquor" -}, { - "name": "Pieology", - "category": "Food and Drink" -}, { - "name": "Piercing Pagoda", - "category": "Merchandise Retail" -}, { - "name": "Piggly Wiggly", - "category": "Grocery and Liquor" -}, { - "name": "Pinch A Penny Pool Patio Spa", - "category": "Merchandise Retail" -}, { - "name": "Pinkberry", - "category": "Food and Drink" -}, { - "name": "Pinko", - "category": "Merchandise Retail" -}, { - "name": "Pinnacle Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Pinnacle Financial Partners", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Pio Pio", - "category": "Food and Drink" -}, { - "name": "Pirelli", - "category": "Automotive Services" -}, { - "name": "Pita Pit", - "category": "Food and Drink" -}, { - "name": "Pittsburgh Paints \u0026 Stains - Available At Menard\u0027s", - "category": "Merchandise Retail" -}, { - "name": "Pizza Boli\u0027s", - "category": "Food and Drink" -}, { - "name": "Pizza Factory", - "category": "Food and Drink" -}, { - "name": "Pizza Guys", - "category": "Food and Drink" -}, { - "name": "Pizza Hut", - "category": "Food and Drink" -}, { - "name": "Pizza Inn", - "category": "Food and Drink" -}, { - "name": "Pizza King", - "category": "Food and Drink" -}, { - "name": "Pizza Patron", - "category": "Food and Drink" -}, { - "name": "Pizza Plus", - "category": "Food and Drink" -}, { - "name": "Pizza Pro", - "category": "Food and Drink" -}, { - "name": "Pizza Ranch", - "category": "Food and Drink" -}, { - "name": "PizzaForno", - "category": "Food and Drink" -}, { - "name": "Plaid Pantry", - "category": "Grocery and Liquor" -}, { - "name": "Planet Fitness", - "category": "Fitness" -}, { - "name": "Planet Smoothie", - "category": "Food and Drink" -}, { - "name": "Plato\u0027s Closet", - "category": "Merchandise Retail" -}, { - "name": "Play It Again Sports", - "category": "Merchandise Retail" -}, { - "name": "Playa Bowls", - "category": "Food and Drink" -}, { - "name": "Plaza Azteca", - "category": "Food and Drink" -}, { - "name": "Plaza Tire Service", - "category": "Automotive Services" -}, { - "name": "Poggenpohl", - "category": "Merchandise Retail" -}, { - "name": "Point S Tire \u0026 Auto Service", - "category": "Automotive Services" -}, { - "name": "Poke Bar", - "category": "Food and Drink" -}, { - "name": "Poke Bros.", - "category": "Food and Drink" -}, { - "name": "Poke House", - "category": "Food and Drink" -}, { - "name": "Pokeworks", - "category": "Food and Drink" -}, { - "name": "Polestar", - "category": "Automotive and Parts Dealers" -}, { - "name": "Poliform", - "category": "Merchandise Retail" -}, { - "name": "Pollo Campero", - "category": "Food and Drink" -}, { - "name": "Pollo Feliz", - "category": "Food and Drink" -}, { - "name": "Pollo Pepe", - "category": "Food and Drink" -}, { - "name": "Pollo Regio", - "category": "Food and Drink" -}, { - "name": "Pollo Tropical", - "category": "Food and Drink" -}, { - "name": "Pomellato", - "category": "Merchandise Retail" -}, { - "name": "Pomp\u0027s Tire", - "category": "Automotive Services" -}, { - "name": "Popeyes Louisiana Kitchen", - "category": "Food and Drink" -}, { - "name": "Porcelanosa", - "category": "Merchandise Retail" -}, { - "name": "Port of Subs", - "category": "Food and Drink" -}, { - "name": "Portillo\u0027s Hot Dogs", - "category": "Food and Drink" -}, { - "name": "Potbelly Sandwich Shop", - "category": "Food and Drink" -}, { - "name": "Pottery Barn", - "category": "Merchandise Retail" -}, { - "name": "Powerhouse Gym", - "category": "Fitness" -}, { - "name": "Prada", - "category": "Merchandise Retail" -}, { - "name": "Precision Tune Auto Care", - "category": "Automotive Services" -}, { - "name": "Premium Outlets", - "category": "Merchandise Retail" -}, { - "name": "Premium Parking", - "category": "Parking" -}, { - "name": "Pressed Juicery", - "category": "Food and Drink" -}, { - "name": "Presto! ATM at Publix®", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Pret A Manger", - "category": "Food and Drink" -}, { - "name": "Pretzelmaker", - "category": "Food and Drink" -}, { - "name": "Prezzo", - "category": "Food and Drink" -}, { - "name": "Price Chopper", - "category": "Grocery and Liquor" -}, { - "name": "Price Chopper Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Price Rite", - "category": "Grocery and Liquor" -}, { - "name": "Primark", - "category": "Merchandise Retail" -}, { - "name": "Primo Hoagies", - "category": "Food and Drink" -}, { - "name": "Pro Image Sports", - "category": "Merchandise Retail" -}, { - "name": "ProSource", - "category": "Merchandise Retail" -}, { - "name": "Promod", - "category": "Merchandise Retail" -}, { - "name": "Pronovias", - "category": "Merchandise Retail" -}, { - "name": "Prosperity Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Provident Bank of New Jersey", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Psycho Bunny", - "category": "Merchandise Retail" -}, { - "name": "Publix", - "category": "Grocery and Liquor" -}, { - "name": "Publix Liquors", - "category": "Grocery and Liquor" -}, { - "name": "Publix Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Pullman Hotels and Resorts", - "category": "Lodging" -}, { - "name": "Pulp Juice and Smoothie Bar", - "category": "Food and Drink" -}, { - "name": "Pump \u0026 Pantry", - "category": "Merchandise Retail" -}, { - "name": "Purcell Tire and Service Center", - "category": "Automotive Services" -}, { - "name": "Pure Green", - "category": "Food and Drink" -}, { - "name": "Pure Romance", - "category": "Merchandise Retail" -}, { - "name": "Purificación García", - "category": "Merchandise Retail" -}, { - "name": "Purple", - "category": "Merchandise Retail" -}, { - "name": "QDOBA", - "category": "Food and Drink" -}, { - "name": "Quad Coin Bitcoin ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Quality Food Center", - "category": "Grocery and Liquor" -}, { - "name": "Quality Inn", - "category": "Lodging" -}, { - "name": "Quarles Fleet Fueling", - "category": "Gas Station" -}, { - "name": "Quick Fuel", - "category": "Gas Station" -}, { - "name": "Quick Lane", - "category": "Automotive Services" -}, { - "name": "Quick Quack Car Wash", - "category": "Automotive Services" -}, { - "name": "Quick Stop", - "category": "Grocery and Liquor" -}, { - "name": "Quick Track", - "category": "Grocery and Liquor" -}, { - "name": "QuickChek", - "category": "Gas Station" -}, { - "name": "Quickly", - "category": "Food and Drink" -}, { - "name": "Quik Stop", - "category": "Grocery and Liquor" -}, { - "name": "QuikTrip", - "category": "Gas Station" -}, { - "name": "Quiksilver", - "category": "Merchandise Retail" -}, { - "name": "Quiznos", - "category": "Food and Drink" -}, { - "name": "R-Store", - "category": "Grocery and Liquor" -}, { - "name": "R.E. Michel Company", - "category": "Merchandise Retail" -}, { - "name": "R.P. Lumber Company", - "category": "Merchandise Retail" -}, { - "name": "RCB Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "RDA Pro Mart", - "category": "Merchandise Retail" -}, { - "name": "REEDS Jewelers", - "category": "Merchandise Retail" -}, { - "name": "REI", - "category": "Merchandise Retail" -}, { - "name": "RIMOWA", - "category": "Merchandise Retail" -}, { - "name": "RISE", - "category": "Merchandise Retail" -}, { - "name": "RNR Tire Express \u0026 Custom Wheels", - "category": "Automotive Services" -}, { - "name": "ROSA CLARÁ", - "category": "Merchandise Retail" -}, { - "name": "RaceTrac", - "category": "Gas Station" -}, { - "name": "RaceWay", - "category": "Gas Station" -}, { - "name": "Rack Room Shoes", - "category": "Merchandise Retail" -}, { - "name": "RadioShack", - "category": "Electronics Retailers" -}, { - "name": "Radisson", - "category": "Lodging" -}, { - "name": "Radisson Blu", - "category": "Lodging" -}, { - "name": "Radisson Individuals", - "category": "Lodging" -}, { - "name": "Rainbow", - "category": "Merchandise Retail" -}, { - "name": "Rainbow Vacuum", - "category": "Merchandise Retail" -}, { - "name": "Rainsoft", - "category": "Merchandise Retail" -}, { - "name": "Raise the Roost", - "category": "Food and Drink" -}, { - "name": "Raising Cane\u0027s Chicken Fingers", - "category": "Food and Drink" -}, { - "name": "Raley\u0027s", - "category": "Grocery and Liquor" -}, { - "name": "Raley\u0027s Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Rally House", - "category": "Merchandise Retail" -}, { - "name": "Rally\u0027s", - "category": "Food and Drink" -}, { - "name": "Ralph Lauren", - "category": "Merchandise Retail" -}, { - "name": "Ralph\u0027s Italian Ices", - "category": "Food and Drink" -}, { - "name": "Ralphs", - "category": "Grocery and Liquor" -}, { - "name": "Ralphs Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Ramada By Wyndham", - "category": "Lodging" -}, { - "name": "Ray-Ban", - "category": "Merchandise Retail" -}, { - "name": "Raymour \u0026 Flanigan Furniture", - "category": "Merchandise Retail" -}, { - "name": "Real Fruit Bubble Tea", - "category": "Food and Drink" -}, { - "name": "Rebel", - "category": "Grocery and Liquor" -}, { - "name": "Red Apple", - "category": "Merchandise Retail" -}, { - "name": "Red Carpet Inn", - "category": "Lodging" -}, { - "name": "Red Mango", - "category": "Food and Drink" -}, { - "name": "Red Ribbon Bakeshop", - "category": "Food and Drink" -}, { - "name": "Red Robin Gourmet Burgers and Brews", - "category": "Food and Drink" -}, { - "name": "Red Roof Inn", - "category": "Lodging" -}, { - "name": "Red Roof Inn Plus", - "category": "Lodging" -}, { - "name": "Red Star Vapor", - "category": "Merchandise Retail" -}, { - "name": "Red Wing", - "category": "Merchandise Retail" -}, { - "name": "Reebok", - "category": "Merchandise Retail" -}, { - "name": "Reece Plumbing", - "category": "Merchandise Retail" -}, { - "name": "Reformation", - "category": "Merchandise Retail" -}, { - "name": "Refuel", - "category": "Gas Station" -}, { - "name": "Regal", - "category": "Movie theater" -}, { - "name": "Regions Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Reiss", - "category": "Merchandise Retail" -}, { - "name": "Relax The Back", - "category": "Merchandise Retail" -}, { - "name": "Renaissance", - "category": "Lodging" -}, { - "name": "Renasant Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Rent One", - "category": "Merchandise Retail" -}, { - "name": "Rent-A-Center", - "category": "Merchandise Retail" -}, { - "name": "Rent-A-Wheel", - "category": "Automotive Services" -}, { - "name": "Rent-A-Wreck", - "category": "Automotive Rentals" -}, { - "name": "Republic Parking", - "category": "Parking" -}, { - "name": "Residence Inn by Marriott", - "category": "Lodging" -}, { - "name": "Restaurant Depot", - "category": "Merchandise Retail" -}, { - "name": "Restoration Hardware", - "category": "Merchandise Retail" -}, { - "name": "Retro Fitness", - "category": "Fitness" -}, { - "name": "Rhino Linings", - "category": "Automotive Services" -}, { - "name": "Richelieu", - "category": "Merchandise Retail" -}, { - "name": "Riddle’s Jewelry", - "category": "Merchandise Retail" -}, { - "name": "Rinascimento", - "category": "Merchandise Retail" -}, { - "name": "Rip Curl", - "category": "Merchandise Retail" -}, { - "name": "Rita\u0027s", - "category": "Food and Drink" -}, { - "name": "Rite Aid", - "category": "Health and Personal Care Retailers" -}, { - "name": "Ritz-Carlton Hotel Company", - "category": "Lodging" -}, { - "name": "Rivian", - "category": "Automotive Services" -}, { - "name": "Riyad Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Robeks Fresh Juices \u0026 Smoothies", - "category": "Food and Drink" -}, { - "name": "Robert Allen", - "category": "Merchandise Retail" -}, { - "name": "Roberto Cavalli", - "category": "Merchandise Retail" -}, { - "name": "Roberto\u0027s Taco Shop", - "category": "Food and Drink" -}, { - "name": "Roche Bobois", - "category": "Merchandise Retail" -}, { - "name": "Rock N Roll Sushi", - "category": "Food and Drink" -}, { - "name": "Rocket Fizz", - "category": "Food and Drink" -}, { - "name": "Rockland Trust", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Rocky Mountain Chocolate", - "category": "Food and Drink" -}, { - "name": "Rodd \u0026 Gunn", - "category": "Merchandise Retail" -}, { - "name": "Rodda Paint", - "category": "Merchandise Retail" -}, { - "name": "Rodeway Inn", - "category": "Lodging" -}, { - "name": "Roger Vivier", - "category": "Merchandise Retail" -}, { - "name": "Rolex", - "category": "Merchandise Retail" -}, { - "name": "Romeo\u0027s Pizza", - "category": "Food and Drink" -}, { - "name": "Rooms To Go", - "category": "Merchandise Retail" -}, { - "name": "Rosa\u0027s Café \u0026 Tortilla Factory", - "category": "Food and Drink" -}, { - "name": "Rosati\u0027s Pizza", - "category": "Food and Drink" -}, { - "name": "Rose Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Roses", - "category": "Merchandise Retail" -}, { - "name": "Ross Dress for Less", - "category": "Merchandise Retail" -}, { - "name": "Round Table Pizza", - "category": "Food and Drink" -}, { - "name": "Rouses Market", - "category": "Grocery and Liquor" -}, { - "name": "Royal Farms", - "category": "Grocery and Liquor" -}, { - "name": "Royal Prestige", - "category": "Merchandise Retail" -}, { - "name": "Royce", - "category": "Food and Drink" -}, { - "name": "Rubio\u0027s", - "category": "Food and Drink" -}, { - "name": "Ruby Thai Kitchen", - "category": "Food and Drink" -}, { - "name": "Ruby Tuesday", - "category": "Food and Drink" -}, { - "name": "Rudy\u0027s", - "category": "Food and Drink" -}, { - "name": "Runners Need", - "category": "Merchandise Retail" -}, { - "name": "Running Room", - "category": "Merchandise Retail" -}, { - "name": "Runnings", - "category": "Grocery and Liquor" -}, { - "name": "Runza", - "category": "Food and Drink" -}, { - "name": "Rush Bowls", - "category": "Food and Drink" -}, { - "name": "Rush Truck Center", - "category": "Automotive and Parts Dealers" -}, { - "name": "Ruth\u0027s Chris Steak House", - "category": "Food and Drink" -}, { - "name": "Rutter\u0027s", - "category": "Gas Station" -}, { - "name": "Ryder Used Truck Sales", - "category": "Merchandise Retail" -}, { - "name": "S\u0026T Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "SANDMAN HOTEL", - "category": "Lodging" -}, { - "name": "SAS Shoes", - "category": "Merchandise Retail" -}, { - "name": "SC Fuels", - "category": "Gas Station" -}, { - "name": "SCP Distributors LLC", - "category": "Merchandise Retail" -}, { - "name": "SECU Credit Union", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "SEPHORA", - "category": "Health and Personal Care Retailers" -}, { - "name": "SEPTA", - "category": "Parking" -}, { - "name": "SHOP \u0027n SAVE", - "category": "Grocery and Liquor" -}, { - "name": "SKECHERS", - "category": "Merchandise Retail" -}, { - "name": "SNIPES", - "category": "Merchandise Retail" -}, { - "name": "SPENGA", - "category": "Fitness" -}, { - "name": "STAR Financial Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Safeway", - "category": "Grocery and Liquor" -}, { - "name": "Safeway Bakery", - "category": "Food and Drink" -}, { - "name": "Safeway Fuel Station", - "category": "Gas Station" -}, { - "name": "Safeway Liquor", - "category": "Grocery and Liquor" -}, { - "name": "Safeway Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Saint Laurent", - "category": "Merchandise Retail" -}, { - "name": "Saje Natural Wellness", - "category": "Health and Personal Care Retailers" -}, { - "name": "Saks OFF 5TH", - "category": "Merchandise Retail" -}, { - "name": "Salad and Go", - "category": "Food and Drink" -}, { - "name": "Saladworks", - "category": "Food and Drink" -}, { - "name": "Salata", - "category": "Food and Drink" -}, { - "name": "Salerm", - "category": "Health and Personal Care Retailers" -}, { - "name": "Sally Beauty", - "category": "Health and Personal Care Retailers" -}, { - "name": "Salon Service Group", - "category": "Merchandise Retail" -}, { - "name": "SalonCentric", - "category": "Health and Personal Care Retailers" -}, { - "name": "Salsarita\u0027s Fresh", - "category": "Food and Drink" -}, { - "name": "Saltgrass Steak House", - "category": "Food and Drink" -}, { - "name": "Salvation Army Thrift Store", - "category": "Merchandise Retail" -}, { - "name": "Salvatore Ferragamo", - "category": "Merchandise Retail" -}, { - "name": "Sam\u0027s Club", - "category": "Merchandise Retail" -}, { - "name": "Sam\u0027s Club Bakery", - "category": "Grocery and Liquor" -}, { - "name": "Sam\u0027s Club Gas Station", - "category": "Gas Station" -}, { - "name": "Sam\u0027s Club Hearing Aid Center", - "category": "Health and Personal Care Retailers" -}, { - "name": "Sam\u0027s Club Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Sam\u0027s Club Tire \u0026 Battery", - "category": "Automotive Services" -}, { - "name": "Sam\u0027s Southern Eatery", - "category": "Food and Drink" -}, { - "name": "Sam\u0027s Xpress® Car Wash", - "category": "Automotive Services" -}, { - "name": "Samsonite", - "category": "Merchandise Retail" -}, { - "name": "Samsung", - "category": "Electronics Retailers" -}, { - "name": "San Martín", - "category": "Food and Drink" -}, { - "name": "Sandro", - "category": "Merchandise Retail" -}, { - "name": "Sandy Spring Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Sanitas Medical Center", - "category": "Hospital" -}, { - "name": "Sankalp", - "category": "Food and Drink" -}, { - "name": "Sanrio Gift Gate", - "category": "Merchandise Retail" -}, { - "name": "Santander Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Santander Bank ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Sapatinho de Luxo", - "category": "Merchandise Retail" -}, { - "name": "Saravana Bhavan", - "category": "Food and Drink" -}, { - "name": "Sarku Japan", - "category": "Food and Drink" -}, { - "name": "Sav-On Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Save A Lot", - "category": "Grocery and Liquor" -}, { - "name": "Save Mart", - "category": "Grocery and Liquor" -}, { - "name": "Savvy Sliders", - "category": "Food and Drink" -}, { - "name": "Sbarro", - "category": "Food and Drink" -}, { - "name": "Scavolini", - "category": "Merchandise Retail" -}, { - "name": "Schewel Furniture Company", - "category": "Merchandise Retail" -}, { - "name": "Schlotzsky\u0027s", - "category": "Food and Drink" -}, { - "name": "Schnucks", - "category": "Grocery and Liquor" -}, { - "name": "Scooter\u0027s Coffee", - "category": "Food and Drink" -}, { - "name": "Scott Petroleum", - "category": "Gas Station" -}, { - "name": "Scrubs \u0026 Beyond", - "category": "Merchandise Retail" -}, { - "name": "Seacoast Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Seasons Corner Market", - "category": "Grocery and Liquor" -}, { - "name": "Seattle\u0027s Best Coffee", - "category": "Food and Drink" -}, { - "name": "Security Bank of Kansas City", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "See\u0027s Candies", - "category": "Food and Drink" -}, { - "name": "Seiko", - "category": "Merchandise Retail" -}, { - "name": "Select Specialty Hospital", - "category": "Hospital" -}, { - "name": "Selina", - "category": "Lodging" -}, { - "name": "Serta", - "category": "Merchandise Retail" -}, { - "name": "Service Tire Truck Centers", - "category": "Automotive Services" -}, { - "name": "Shah\u0027s Halal Food", - "category": "Food and Drink" -}, { - "name": "Shake Shack", - "category": "Food and Drink" -}, { - "name": "Shakey\u0027s", - "category": "Food and Drink" -}, { - "name": "Sharetea", - "category": "Food and Drink" -}, { - "name": "Sharp", - "category": "Electronics Retailers" -}, { - "name": "Shaw\u0027s", - "category": "Grocery and Liquor" -}, { - "name": "Shazam Atm", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Sheetz", - "category": "Grocery and Liquor" -}, { - "name": "Shell", - "category": "Gas Station" -}, { - "name": "Shell Select", - "category": "Grocery and Liquor" -}, { - "name": "Shelo Nabel", - "category": "Merchandise Retail" -}, { - "name": "Sheraton Hotels and Resorts", - "category": "Lodging" -}, { - "name": "Sherwin-Williams Automotive Finishes", - "category": "Merchandise Retail" -}, { - "name": "Sherwin-Williams Commercial Paint Store", - "category": "Merchandise Retail" -}, { - "name": "Sherwin-Williams Floorcovering Store", - "category": "Merchandise Retail" -}, { - "name": "Sherwin-Williams Paint Store", - "category": "Merchandise Retail" -}, { - "name": "Sherwin-Williams Product Finishes", - "category": "Merchandise Retail" -}, { - "name": "Sherwin-Williams Spray Source Center", - "category": "Merchandise Retail" -}, { - "name": "Shiekh Shoes", - "category": "Merchandise Retail" -}, { - "name": "Shinhan Bank America", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Shipley Do-Nuts", - "category": "Food and Drink" -}, { - "name": "Shiseido", - "category": "Health and Personal Care Retailers" -}, { - "name": "Shoe Carnival", - "category": "Merchandise Retail" -}, { - "name": "Shoe Dept.", - "category": "Merchandise Retail" -}, { - "name": "Shoe Palace", - "category": "Merchandise Retail" -}, { - "name": "Shoe Sensation", - "category": "Merchandise Retail" -}, { - "name": "Shoe Station", - "category": "Merchandise Retail" -}, { - "name": "Shoney\u0027s", - "category": "Food and Drink" -}, { - "name": "ShopRite", - "category": "Grocery and Liquor" -}, { - "name": "ShopRite Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Short Stop Food Mart", - "category": "Grocery and Liquor" -}, { - "name": "Showcase", - "category": "Merchandise Retail" -}, { - "name": "Sid Harvey\u0027s", - "category": "Merchandise Retail" -}, { - "name": "Sierra", - "category": "Merchandise Retail" -}, { - "name": "Sigma Alimentos", - "category": "Grocery and Liquor" -}, { - "name": "Signarama", - "category": "Merchandise Retail" -}, { - "name": "Signs By Tomorrow", - "category": "Merchandise Retail" -}, { - "name": "Signs Now", - "category": "Merchandise Retail" -}, { - "name": "Simmons Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Simple Mobile", - "category": "Telecommunications" -}, { - "name": "Simple Simon\u0027s Pizza", - "category": "Food and Drink" -}, { - "name": "Sinclair", - "category": "Gas Station" -}, { - "name": "Singer", - "category": "Merchandise Retail" -}, { - "name": "Sir Speedy", - "category": "Merchandise Retail" -}, { - "name": "SiteOne Landscape Supply", - "category": "Merchandise Retail" -}, { - "name": "Sixt Rent a Car", - "category": "Automotive Rentals" -}, { - "name": "Sizzler", - "category": "Food and Drink" -}, { - "name": "Skyline Chili", - "category": "Food and Drink" -}, { - "name": "Sleep Inn", - "category": "Lodging" -}, { - "name": "Sleep Number", - "category": "Merchandise Retail" -}, { - "name": "Sleep Outfitters", - "category": "Merchandise Retail" -}, { - "name": "Slim Chickens", - "category": "Food and Drink" -}, { - "name": "Slumberland", - "category": "Merchandise Retail" -}, { - "name": "Smallcakes Cupcakery", - "category": "Food and Drink" -}, { - "name": "Smart \u0026 Final", - "category": "Grocery and Liquor" -}, { - "name": "SmartBank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Smashburger", - "category": "Food and Drink" -}, { - "name": "Smeg", - "category": "Merchandise Retail" -}, { - "name": "Smile Doctors Braces by Kincaid Orthodontics", - "category": "Dental" -}, { - "name": "Smile Doctors Braces by Waugh Orthodontics", - "category": "Dental" -}, { - "name": "Smith\u0027s", - "category": "Grocery and Liquor" -}, { - "name": "Smoker Friendly", - "category": "Merchandise Retail" -}, { - "name": "Smokers Choice", - "category": "Merchandise Retail" -}, { - "name": "Smokey Bones", - "category": "Food and Drink" -}, { - "name": "Smoothie King", - "category": "Food and Drink" -}, { - "name": "Snap Fitness", - "category": "Fitness" -}, { - "name": "Snap-On Tools", - "category": "Merchandise Retail" -}, { - "name": "Snappy Tomato Pizza", - "category": "Food and Drink" -}, { - "name": "Snidel", - "category": "Merchandise Retail" -}, { - "name": "Snider Fleet Solutions", - "category": "Automotive Services" -}, { - "name": "Snooze an A.M. Eatery", - "category": "Food and Drink" -}, { - "name": "SoBol", - "category": "Food and Drink" -}, { - "name": "Societe Generale", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Sodexo", - "category": "Food and Drink" -}, { - "name": "Sodiê Doces", - "category": "Food and Drink" -}, { - "name": "Sofitel", - "category": "Lodging" -}, { - "name": "Soma", - "category": "Merchandise Retail" -}, { - "name": "Somerset Trust", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Sonesta", - "category": "Lodging" -}, { - "name": "Sonesta ES", - "category": "Lodging" -}, { - "name": "Sonesta Select", - "category": "Lodging" -}, { - "name": "Sonesta Simply Suites", - "category": "Lodging" -}, { - "name": "Sonic Drive-In", - "category": "Food and Drink" -}, { - "name": "Sonny\u0027s BBQ", - "category": "Food and Drink" -}, { - "name": "Sonus Hearing Care Professionals", - "category": "Health and Personal Care Retailers" -}, { - "name": "Sony Group Corporation", - "category": "Electronics Retailers" -}, { - "name": "Sourdough \u0026 Co", - "category": "Food and Drink" -}, { - "name": "South State Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Southern Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Southern Boom Fireworks", - "category": "Merchandise Retail" -}, { - "name": "Southern Pipe \u0026 Supply", - "category": "Merchandise Retail" -}, { - "name": "Southern Tire Mart", - "category": "Automotive Services" -}, { - "name": "Southside Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Space NK", - "category": "Merchandise Retail" -}, { - "name": "Spark", - "category": "Lodging" -}, { - "name": "Spec\u0027s Wines, Spirits \u0026 Finer Foods", - "category": "Grocery and Liquor" -}, { - "name": "Spectrum Paint", - "category": "Merchandise Retail" -}, { - "name": "SpeeDee Oil Change \u0026 Auto Service", - "category": "Automotive Services" -}, { - "name": "SpeedPro", - "category": "Merchandise Retail" -}, { - "name": "Speedco", - "category": "Automotive Services" -}, { - "name": "Speedco Truck Lube and Tires", - "category": "Automotive Services" -}, { - "name": "Speedway", - "category": "Gas Station" -}, { - "name": "Speedy Café", - "category": "Food and Drink" -}, { - "name": "Sperry", - "category": "Merchandise Retail" -}, { - "name": "Spice \u0026 Tea Exchange", - "category": "Grocery and Liquor" -}, { - "name": "Spinx", - "category": "Grocery and Liquor" -}, { - "name": "Spirit Halloween", - "category": "Merchandise Retail" -}, { - "name": "Splash Car Wash", - "category": "Automotive Services" -}, { - "name": "Sportsman", - "category": "Merchandise Retail" -}, { - "name": "Spring Market", - "category": "Grocery and Liquor" -}, { - "name": "SpringHill Suites", - "category": "Lodging" -}, { - "name": "Sprint Mart", - "category": "Grocery and Liquor" -}, { - "name": "Sprouts Farmers Market", - "category": "Grocery and Liquor" -}, { - "name": "St. Regis", - "category": "Lodging" -}, { - "name": "Standard Plumbing Supply", - "category": "Merchandise Retail" -}, { - "name": "Staples", - "category": "Merchandise Retail" -}, { - "name": "Starbucks", - "category": "Food and Drink" -}, { - "name": "State Beauty Supply", - "category": "Merchandise Retail" -}, { - "name": "Stater Bros. Markets", - "category": "Grocery and Liquor" -}, { - "name": "Staybridge Suites", - "category": "Lodging" -}, { - "name": "Steak \u0027n Shake", - "category": "Food and Drink" -}, { - "name": "Stefano Ricci", - "category": "Merchandise Retail" -}, { - "name": "Steinway Piano Gallery", - "category": "Merchandise Retail" -}, { - "name": "Steve Madden", - "category": "Merchandise Retail" -}, { - "name": "Stewart\u0027s Shops", - "category": "Gas Station" -}, { - "name": "Stinker Stores", - "category": "Grocery and Liquor" -}, { - "name": "Stock Yards Bank \u0026 Trust", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Stone Island", - "category": "Merchandise Retail" -}, { - "name": "Stoneside Blinds \u0026 Shades", - "category": "Merchandise Retail" -}, { - "name": "Stop \u0026 Shop Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Stop-N-Go", - "category": "Grocery and Liquor" -}, { - "name": "StretchLab", - "category": "Fitness" -}, { - "name": "Strickland Brothers 10 Minute Oil Change", - "category": "Automotive Services" -}, { - "name": "Stripes", - "category": "Grocery and Liquor" -}, { - "name": "Stuart Weitzman", - "category": "Merchandise Retail" -}, { - "name": "Studio 6", - "category": "Lodging" -}, { - "name": "Studio Pilates International", - "category": "Fitness" -}, { - "name": "SuKarne", - "category": "Merchandise Retail" -}, { - "name": "Suburban Extended Stay", - "category": "Lodging" -}, { - "name": "Subway Restaurants", - "category": "Food and Drink" -}, { - "name": "Suitsupply", - "category": "Merchandise Retail" -}, { - "name": "Sullivan Tire \u0026 Auto Service", - "category": "Automotive Services" -}, { - "name": "Summer Moon Coffee", - "category": "Food and Drink" -}, { - "name": "Sun Valley Market \u0026 Deli", - "category": "Grocery and Liquor" -}, { - "name": "Sunflower Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Sunglass Hut", - "category": "Merchandise Retail" -}, { - "name": "Sunnyside Dispensary", - "category": "Merchandise Retail" -}, { - "name": "Sunoco", - "category": "Gas Station" -}, { - "name": "Super 1 Food", - "category": "Grocery and Liquor" -}, { - "name": "Super 8", - "category": "Lodging" -}, { - "name": "Super Star Car Wash", - "category": "Automotive Services" -}, { - "name": "Super Wash", - "category": "Automotive Services" -}, { - "name": "Superdry™", - "category": "Merchandise Retail" -}, { - "name": "Superior Auto, Inc", - "category": "Automotive and Parts Dealers" -}, { - "name": "Superior Grocers", - "category": "Grocery and Liquor" -}, { - "name": "Superior Pool Products", - "category": "Merchandise Retail" -}, { - "name": "Sur La Table", - "category": "Merchandise Retail" -}, { - "name": "SureStay", - "category": "Lodging" -}, { - "name": "SureStay Collection", - "category": "Lodging" -}, { - "name": "SureStay Plus", - "category": "Lodging" -}, { - "name": "Surf City Squeeze", - "category": "Food and Drink" -}, { - "name": "Surf Style", - "category": "Merchandise Retail" -}, { - "name": "Sushi Roll", - "category": "Food and Drink" -}, { - "name": "Swarovski", - "category": "Merchandise Retail" -}, { - "name": "Swatch", - "category": "Merchandise Retail" -}, { - "name": "Sweaty Betty", - "category": "Merchandise Retail" -}, { - "name": "Sweet Fire Tobacco", - "category": "Merchandise Retail" -}, { - "name": "Sweet Frog", - "category": "Food and Drink" -}, { - "name": "Synovus Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "T-Mobile", - "category": "Telecommunications" -}, { - "name": "T.J. Maxx", - "category": "Merchandise Retail" -}, { - "name": "TAG Heuer", - "category": "Merchandise Retail" -}, { - "name": "TCBY", - "category": "Food and Drink" -}, { - "name": "TD Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "TD Bank ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "TD Canada Trust ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "TGI Fridays", - "category": "Food and Drink" -}, { - "name": "THomas Pink", - "category": "Merchandise Retail" -}, { - "name": "TISSOT", - "category": "Merchandise Retail" -}, { - "name": "TNT Fireworks", - "category": "Merchandise Retail" -}, { - "name": "TOD\u0027S Boutique", - "category": "Merchandise Retail" -}, { - "name": "TOGO\u0027S Sandwiches", - "category": "Food and Drink" -}, { - "name": "TOUS", - "category": "Merchandise Retail" -}, { - "name": "TRYP by Wyndham", - "category": "Lodging" -}, { - "name": "Taco Bell", - "category": "Food and Drink" -}, { - "name": "Taco Bueno", - "category": "Food and Drink" -}, { - "name": "Taco Cabana", - "category": "Food and Drink" -}, { - "name": "Taco Casa", - "category": "Food and Drink" -}, { - "name": "Taco John\u0027s", - "category": "Food and Drink" -}, { - "name": "Taco Time", - "category": "Food and Drink" -}, { - "name": "Taj", - "category": "Lodging" -}, { - "name": "Take 5 Oil Change", - "category": "Automotive Services" -}, { - "name": "Talbots", - "category": "Merchandise Retail" -}, { - "name": "Tandy Leather", - "category": "Merchandise Retail" -}, { - "name": "Tapestry Collection", - "category": "Lodging" -}, { - "name": "Taqueria Arandas", - "category": "Food and Drink" -}, { - "name": "Target", - "category": "Merchandise Retail" -}, { - "name": "Target Mobile", - "category": "Telecommunications" -}, { - "name": "Taziki\u0027s", - "category": "Food and Drink" -}, { - "name": "Technogym", - "category": "Merchandise Retail" -}, { - "name": "Ted Baker", - "category": "Merchandise Retail" -}, { - "name": "Tempur-Pedic", - "category": "Merchandise Retail" -}, { - "name": "Ten Ren\u0027s Tea", - "category": "Food and Drink" -}, { - "name": "Teriyaki Madness", - "category": "Food and Drink" -}, { - "name": "Terrible\u0027s", - "category": "Gas Station" -}, { - "name": "Tesla Service Center", - "category": "Automotive Services" -}, { - "name": "Texaco", - "category": "Gas Station" -}, { - "name": "Texas Roadhouse", - "category": "Food and Drink" -}, { - "name": "Texas de Brazil", - "category": "Food and Drink" -}, { - "name": "The Athlete\u0027s Foot", - "category": "Merchandise Retail" -}, { - "name": "The Brass Tap", - "category": "Food and Drink" -}, { - "name": "The Camp Transformation Center", - "category": "Fitness" -}, { - "name": "The Capital Grille", - "category": "Food and Drink" -}, { - "name": "The Cheesecake Factory", - "category": "Food and Drink" -}, { - "name": "The Children\u0027s Place", - "category": "Merchandise Retail" -}, { - "name": "The Chopped Leaf", - "category": "Food and Drink" -}, { - "name": "The Coffee Bean", - "category": "Food and Drink" -}, { - "name": "The Container Store", - "category": "Merchandise Retail" -}, { - "name": "The Giant Company", - "category": "Grocery and Liquor" -}, { - "name": "The Great Greek Mediterranean Grill", - "category": "Food and Drink" -}, { - "name": "The Habit Burger Grill", - "category": "Food and Drink" -}, { - "name": "The Halal Guys", - "category": "Food and Drink" -}, { - "name": "The Home Depot", - "category": "Merchandise Retail" -}, { - "name": "The Honey Baked Ham Company", - "category": "Food and Drink" -}, { - "name": "The Juicy Crab", - "category": "Food and Drink" -}, { - "name": "The Keg Steakhouse \u0026 Bar", - "category": "Food and Drink" -}, { - "name": "The Kooples", - "category": "Merchandise Retail" -}, { - "name": "The LEGO Store", - "category": "Merchandise Retail" -}, { - "name": "The Luxury Collection", - "category": "Lodging" -}, { - "name": "The Medicine Shoppe® Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "The North Face", - "category": "Merchandise Retail" -}, { - "name": "The Old Spaghetti Factory", - "category": "Food and Drink" -}, { - "name": "The Original Mattress Factory", - "category": "Merchandise Retail" -}, { - "name": "The Paper Store", - "category": "Merchandise Retail" -}, { - "name": "The Parts House", - "category": "Automotive and Parts Dealers" -}, { - "name": "The Shade Store", - "category": "Merchandise Retail" -}, { - "name": "The Taco Maker", - "category": "Food and Drink" -}, { - "name": "The Tile Shop", - "category": "Merchandise Retail" -}, { - "name": "The Tire Choice \u0026 Total Car Care", - "category": "Automotive Services" -}, { - "name": "The Vitamin Shoppe", - "category": "Health and Personal Care Retailers" -}, { - "name": "The Wing Experience", - "category": "Food and Drink" -}, { - "name": "Theory", - "category": "Merchandise Retail" -}, { - "name": "Thorntons", - "category": "Gas Station" -}, { - "name": "Thrifty", - "category": "Automotive Rentals" -}, { - "name": "Thrifty White Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Ticketmaster", - "category": "Merchandise Retail" -}, { - "name": "Tidal Wave Auto Spa", - "category": "Automotive Services" -}, { - "name": "Tiff\u0027s Treats", - "category": "Food and Drink" -}, { - "name": "Tiffany \u0026 Co.", - "category": "Merchandise Retail" -}, { - "name": "Tijuana Flats", - "category": "Food and Drink" -}, { - "name": "Tillys", - "category": "Merchandise Retail" -}, { - "name": "Tim Hortons", - "category": "Food and Drink" -}, { - "name": "Timberland", - "category": "Merchandise Retail" -}, { - "name": "Tint World", - "category": "Automotive Services" -}, { - "name": "Tire Discounters", - "category": "Automotive Services" -}, { - "name": "Tire Kingdom", - "category": "Automotive Services" -}, { - "name": "Tire Warehouse", - "category": "Automotive Services" -}, { - "name": "Tires Plus", - "category": "Automotive Services" -}, { - "name": "Tobacco SuperStore", - "category": "Merchandise Retail" -}, { - "name": "Tobacco king", - "category": "Merchandise Retail" -}, { - "name": "Tom Ford", - "category": "Merchandise Retail" -}, { - "name": "Tom James Company", - "category": "Merchandise Retail" -}, { - "name": "Tom N Toms", - "category": "Food and Drink" -}, { - "name": "Tom Thumb", - "category": "Gas Station" -}, { - "name": "Tom Thumb", - "category": "Grocery and Liquor" -}, { - "name": "Tom Thumb Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Tommy Bahama", - "category": "Merchandise Retail" -}, { - "name": "Tommy Hilfiger", - "category": "Merchandise Retail" -}, { - "name": "Tommy\u0027s Express Car Wash", - "category": "Automotive Services" -}, { - "name": "Tony Roma\u0027s", - "category": "Food and Drink" -}, { - "name": "Toot\u0027n Totum", - "category": "Grocery and Liquor" -}, { - "name": "Topgolf", - "category": "Fitness" -}, { - "name": "Toppers", - "category": "Food and Drink" -}, { - "name": "Tops", - "category": "Grocery and Liquor" -}, { - "name": "Tops Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Torchy\u0027s Tacos", - "category": "Food and Drink" -}, { - "name": "Torrid", - "category": "Merchandise Retail" -}, { - "name": "Tory Burch", - "category": "Merchandise Retail" -}, { - "name": "Tostado Café Club", - "category": "Food and Drink" -}, { - "name": "Total Wine \u0026 More", - "category": "Grocery and Liquor" -}, { - "name": "Total Wireless", - "category": "Telecommunications" -}, { - "name": "Tous Les Jours", - "category": "Food and Drink" -}, { - "name": "Town Fair Tire", - "category": "Automotive Services" -}, { - "name": "Town Pump", - "category": "Grocery and Liquor" -}, { - "name": "TowneBank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "TownePlace Suites", - "category": "Lodging" -}, { - "name": "Toyo Tires", - "category": "Automotive Services" -}, { - "name": "Toys\"R\"Us", - "category": "Merchandise Retail" -}, { - "name": "Tractor Supply Co.", - "category": "Merchandise Retail" -}, { - "name": "Tradehome Shoes", - "category": "Merchandise Retail" -}, { - "name": "Trader Joe\u0027s", - "category": "Grocery and Liquor" -}, { - "name": "Trailer Birds", - "category": "Food and Drink" -}, { - "name": "Transtar Industries", - "category": "Automotive and Parts Dealers" -}, { - "name": "Travelodge", - "category": "Lodging" -}, { - "name": "TravisMathew", - "category": "Merchandise Retail" -}, { - "name": "Trek", - "category": "Merchandise Retail" -}, { - "name": "Tri Counties Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Tribute Portfolio", - "category": "Lodging" -}, { - "name": "Tropical Smoothie Cafe", - "category": "Food and Drink" -}, { - "name": "Tropical Sno", - "category": "Food and Drink" -}, { - "name": "Tru By Hilton", - "category": "Lodging" -}, { - "name": "TruckPro", - "category": "Automotive Services" -}, { - "name": "True Religion", - "category": "Merchandise Retail" -}, { - "name": "Truist Financial", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Trulieve", - "category": "Merchandise Retail" -}, { - "name": "Trung Nguyên Legend Café", - "category": "Food and Drink" -}, { - "name": "Trustco Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Trustmark", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Trustmark ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Tudor\u0027s Biscuit World", - "category": "Food and Drink" -}, { - "name": "Tuffy Tire \u0026 Auto Service Center", - "category": "Automotive Services" -}, { - "name": "Tumi", - "category": "Merchandise Retail" -}, { - "name": "Turkey Hill Minit Market", - "category": "Gas Station" -}, { - "name": "Turo", - "category": "Automotive Rentals" -}, { - "name": "Tutti Frutti", - "category": "Food and Drink" -}, { - "name": "Twice Daily", - "category": "Grocery and Liquor" -}, { - "name": "Twin Liquors", - "category": "Grocery and Liquor" -}, { - "name": "Twin Peaks", - "category": "Food and Drink" -}, { - "name": "U-Save Car \u0026 Truck Rental", - "category": "Automotive Rentals" -}, { - "name": "U.S. Bank Branch", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "U.S. Cellular", - "category": "Telecommunications" -}, { - "name": "U.S.AutoForce", - "category": "Automotive Services" -}, { - "name": "UBS", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "UFC Gym", - "category": "Fitness" -}, { - "name": "UGG", - "category": "Merchandise Retail" -}, { - "name": "UMB BANK ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "UMB Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "UNIQLO", - "category": "Merchandise Retail" -}, { - "name": "UNOde50", - "category": "Merchandise Retail" -}, { - "name": "UNTUCKit", - "category": "Merchandise Retail" -}, { - "name": "UOB", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "US Patriot Tactical", - "category": "Merchandise Retail" -}, { - "name": "US Polo", - "category": "Merchandise Retail" -}, { - "name": "USAA", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "USANA Health Sciences", - "category": "Health and Personal Care Retailers" -}, { - "name": "Ulta Beauty", - "category": "Health and Personal Care Retailers" -}, { - "name": "Umpqua Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Unbank Bitcoin ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Under Armour", - "category": "Merchandise Retail" -}, { - "name": "Uni-Mart", - "category": "Grocery and Liquor" -}, { - "name": "UniCredit Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "UniFirst", - "category": "Merchandise Retail" -}, { - "name": "Union Bank \u0026 Trust ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "United Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "United Community Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "United Dairy Farmers", - "category": "Gas Station" -}, { - "name": "United Refrigeration", - "category": "Merchandise Retail" -}, { - "name": "United Supermarkets", - "category": "Grocery and Liquor" -}, { - "name": "United Supermarkets Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "University of Virginia Health System", - "category": "Hospital" -}, { - "name": "Uno Pizzeria \u0026 Grill", - "category": "Food and Drink" -}, { - "name": "Uptown Cheapskate", - "category": "Merchandise Retail" -}, { - "name": "Urban Outfitters", - "category": "Merchandise Retail" -}, { - "name": "Urban Planet", - "category": "Merchandise Retail" -}, { - "name": "VALENTINO", - "category": "Merchandise Retail" -}, { - "name": "VASA Fitness", - "category": "Fitness" -}, { - "name": "VILEBREQUIN", - "category": "Merchandise Retail" -}, { - "name": "VILLA, Join the Movement", - "category": "Merchandise Retail" -}, { - "name": "VIP Smoke Shop", - "category": "Merchandise Retail" -}, { - "name": "VIP Tires \u0026 Service", - "category": "Automotive Services" -}, { - "name": "VP Racing Fuels", - "category": "Gas Station" -}, { - "name": "Vacheron Constantin", - "category": "Merchandise Retail" -}, { - "name": "VakıfBank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Valero", - "category": "Gas Station" -}, { - "name": "Vallarta Supermarkets", - "category": "Grocery and Liquor" -}, { - "name": "Valley Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Value City Furniture", - "category": "Merchandise Retail" -}, { - "name": "Value Village", - "category": "Merchandise Retail" -}, { - "name": "Valvoline Instant Oil Change", - "category": "Automotive Services" -}, { - "name": "Van Cleef \u0026 Arpels", - "category": "Merchandise Retail" -}, { - "name": "Van Leeuwen Ice Cream", - "category": "Food and Drink" -}, { - "name": "Vans", - "category": "Merchandise Retail" -}, { - "name": "Vape City", - "category": "Merchandise Retail" -}, { - "name": "Vapiano", - "category": "Food and Drink" -}, { - "name": "Vapor Maven", - "category": "Merchandise Retail" -}, { - "name": "Venchi", - "category": "Food and Drink" -}, { - "name": "Vera Bradley", - "category": "Merchandise Retail" -}, { - "name": "Veritiv", - "category": "Merchandise Retail" -}, { - "name": "Verizon", - "category": "Telecommunications" -}, { - "name": "Verizon Authorized Retailer - Russell Cellular", - "category": "Telecommunications" -}, { - "name": "Verizon Authorized Retailer - TCC", - "category": "Telecommunications" -}, { - "name": "Verizon Authorized Retailer - Victra", - "category": "Telecommunications" -}, { - "name": "Verizon Authorized Retailer - Wireless Zone", - "category": "Telecommunications" -}, { - "name": "Verizon Authorized Retailer — Cellular Sales", - "category": "Telecommunications" -}, { - "name": "Versace", - "category": "Merchandise Retail" -}, { - "name": "Versona", - "category": "Merchandise Retail" -}, { - "name": "Veterans Health Administration", - "category": "Hospital" -}, { - "name": "Victoria\u0027s Secret", - "category": "Merchandise Retail" -}, { - "name": "Vietcombank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Viking Sewing Gallery", - "category": "Merchandise Retail" -}, { - "name": "Villa Fresh Italian Kitchen", - "category": "Food and Drink" -}, { - "name": "Village Inn", - "category": "Food and Drink" -}, { - "name": "Vince", - "category": "Merchandise Retail" -}, { - "name": "Vineyard Vines", - "category": "Merchandise Retail" -}, { - "name": "Virginia ABC", - "category": "Grocery and Liquor" -}, { - "name": "Vista Paint", - "category": "Merchandise Retail" -}, { - "name": "Vitality Bowls", - "category": "Food and Drink" -}, { - "name": "Vivi Bubble Tea", - "category": "Food and Drink" -}, { - "name": "Vocelli Pizza", - "category": "Food and Drink" -}, { - "name": "Voco", - "category": "Lodging" -}, { - "name": "Volcom", - "category": "Merchandise Retail" -}, { - "name": "Volvo Penta", - "category": "Merchandise Retail" -}, { - "name": "Vons", - "category": "Grocery and Liquor" -}, { - "name": "Vons Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "VyStar Credit Union ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "W", - "category": "Lodging" -}, { - "name": "W.B. Mason", - "category": "Merchandise Retail" -}, { - "name": "WB Liquors \u0026 Wine", - "category": "Grocery and Liquor" -}, { - "name": "WSFS Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "WSS", - "category": "Merchandise Retail" -}, { - "name": "WaBa Grill", - "category": "Food and Drink" -}, { - "name": "WaFd Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Waffle House", - "category": "Food and Drink" -}, { - "name": "Wagamama", - "category": "Food and Drink" -}, { - "name": "Wahlburgers", - "category": "Food and Drink" -}, { - "name": "Walgreens", - "category": "Health and Personal Care Retailers" -}, { - "name": "Walgreens Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Walk-On\u0027s Sports Bistreaux", - "category": "Food and Drink" -}, { - "name": "Walmart", - "category": "Merchandise Retail" -}, { - "name": "Walmart Auto Care Centers", - "category": "Automotive Services" -}, { - "name": "Walmart Bakery", - "category": "Food and Drink" -}, { - "name": "Walmart Connection Center", - "category": "Electronics Retailers" -}, { - "name": "Walmart Deli", - "category": "Food and Drink" -}, { - "name": "Walmart Fuel Station", - "category": "Gas Station" -}, { - "name": "Walmart Garden Center", - "category": "Merchandise Retail" -}, { - "name": "Walmart Neighborhood Market", - "category": "Grocery and Liquor" -}, { - "name": "Walmart Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Walmart Photo Center", - "category": "Electronics Retailers" -}, { - "name": "Walmart Vision \u0026 Glasses", - "category": "Health and Personal Care Retailers" -}, { - "name": "Warby Parker", - "category": "Health and Personal Care Retailers" -}, { - "name": "Wawa", - "category": "Food and Drink" -}, { - "name": "Wayback Burgers", - "category": "Food and Drink" -}, { - "name": "We Buy Any Car", - "category": "Automotive and Parts Dealers" -}, { - "name": "Webster Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Wegmans", - "category": "Grocery and Liquor" -}, { - "name": "Wegmans Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Wegmans Wine \u0026 Beer", - "category": "Grocery and Liquor" -}, { - "name": "Weigel\u0027s", - "category": "Grocery and Liquor" -}, { - "name": "Weis Markets", - "category": "Grocery and Liquor" -}, { - "name": "Weis Pharmacy", - "category": "Health and Personal Care Retailers" -}, { - "name": "Wells Fargo ATM", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Wells Fargo Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Wendy\u0027s", - "category": "Food and Drink" -}, { - "name": "WesBanco Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Wesco", - "category": "Gas Station" -}, { - "name": "Wesco Autobody Supply", - "category": "Automotive and Parts Dealers" -}, { - "name": "West Marine", - "category": "Merchandise Retail" -}, { - "name": "Westamerica Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Western Dental \u0026 Orthodontics", - "category": "Dental" -}, { - "name": "Westfield", - "category": "Merchandise Retail" -}, { - "name": "Westin Hotels \u0026 Resorts", - "category": "Lodging" -}, { - "name": "Westrock Orthodontics", - "category": "Dental" -}, { - "name": "Wetzel\u0027s Pretzels", - "category": "Food and Drink" -}, { - "name": "Whataburger", - "category": "Food and Drink" -}, { - "name": "Which Wich", - "category": "Food and Drink" -}, { - "name": "Whistle Express Car Wash", - "category": "Automotive Services" -}, { - "name": "Whistles", - "category": "Merchandise Retail" -}, { - "name": "Whit\u0027s Frozen Custard", - "category": "Food and Drink" -}, { - "name": "White Castle", - "category": "Food and Drink" -}, { - "name": "White House Black Market", - "category": "Merchandise Retail" -}, { - "name": "WhiteWater Express Car Wash", - "category": "Automotive Services" -}, { - "name": "Whole Foods Market", - "category": "Grocery and Liquor" -}, { - "name": "Wienerschnitzel", - "category": "Food and Drink" -}, { - "name": "Wild Bill\u0027s Tobacco", - "category": "Merchandise Retail" -}, { - "name": "Wild Birds Unlimited", - "category": "Merchandise Retail" -}, { - "name": "Wild Willy\u0027s Fireworks", - "category": "Merchandise Retail" -}, { - "name": "Williams-Sonoma", - "category": "Merchandise Retail" -}, { - "name": "WinCo Foods", - "category": "Grocery and Liquor" -}, { - "name": "Winchell\u0027s", - "category": "Food and Drink" -}, { - "name": "Windsor", - "category": "Merchandise Retail" -}, { - "name": "Windsor Plywood", - "category": "Merchandise Retail" -}, { - "name": "Wing Snob", - "category": "Food and Drink" -}, { - "name": "Wing Street", - "category": "Food and Drink" -}, { - "name": "Wing Wah", - "category": "Food and Drink" -}, { - "name": "Wing Zone", - "category": "Food and Drink" -}, { - "name": "Wingate By Wyndham", - "category": "Lodging" -}, { - "name": "Wings Etc.", - "category": "Food and Drink" -}, { - "name": "Wings and Rings", - "category": "Food and Drink" -}, { - "name": "Wingstop", - "category": "Food and Drink" -}, { - "name": "Winn-Dixie", - "category": "Grocery and Liquor" -}, { - "name": "Winn-Dixie Wine \u0026 Spirits", - "category": "Grocery and Liquor" -}, { - "name": "Winsupply", - "category": "Merchandise Retail" -}, { - "name": "Wok To Walk", - "category": "Food and Drink" -}, { - "name": "Wolfgang Puck Express", - "category": "Food and Drink" -}, { - "name": "Wolford", - "category": "Merchandise Retail" -}, { - "name": "Woodcraft", - "category": "Merchandise Retail" -}, { - "name": "Woodforest National Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Woodspring Suites", - "category": "Lodging" -}, { - "name": "Workout Anytime", - "category": "Fitness" -}, { - "name": "World Gym", - "category": "Fitness" -}, { - "name": "WorldMark", - "category": "Lodging" -}, { - "name": "Worldpac", - "category": "Automotive and Parts Dealers" -}, { - "name": "Wow Bao", - "category": "Food and Drink" -}, { - "name": "Wrangler", - "category": "Merchandise Retail" -}, { - "name": "Wyndham", - "category": "Lodging" -}, { - "name": "Wyndham Garden", - "category": "Lodging" -}, { - "name": "Wyndham Grand", - "category": "Lodging" -}, { - "name": "Wyndham Hotels \u0026 Resorts", - "category": "Lodging" -}, { - "name": "XADO", - "category": "Merchandise Retail" -}, { - "name": "XL Parts", - "category": "Automotive and Parts Dealers" -}, { - "name": "Xhale City", - "category": "Merchandise Retail" -}, { - "name": "Xtra Mart", - "category": "Grocery and Liquor" -}, { - "name": "Y-3", - "category": "Merchandise Retail" -}, { - "name": "YESCO", - "category": "Merchandise Retail" -}, { - "name": "Yankee Candle", - "category": "Merchandise Retail" -}, { - "name": "Yard House", - "category": "Food and Drink" -}, { - "name": "Yataş", - "category": "Merchandise Retail" -}, { - "name": "Yesway", - "category": "Grocery and Liquor" -}, { - "name": "Yogen Früz", - "category": "Food and Drink" -}, { - "name": "Yogurtland", - "category": "Food and Drink" -}, { - "name": "Yoshinoya", - "category": "Food and Drink" -}, { - "name": "YouFit Gyms", - "category": "Fitness" -}, { - "name": "Your Pie", - "category": "Food and Drink" -}, { - "name": "Your Wireless World", - "category": "Telecommunications" -}, { - "name": "Yum Yum Donuts", - "category": "Food and Drink" -}, { - "name": "Yves Delorme", - "category": "Merchandise Retail" -}, { - "name": "ZAGG", - "category": "Electronics Retailers" -}, { - "name": "Zadig \u0026 Voltaire", - "category": "Merchandise Retail" -}, { - "name": "Zales", - "category": "Merchandise Retail" -}, { - "name": "Zambrero", - "category": "Food and Drink" -}, { - "name": "Zara", - "category": "Merchandise Retail" -}, { - "name": "Zaxby\u0027s Chicken Fingers \u0026 Buffalo Wings", - "category": "Food and Drink" -}, { - "name": "Zegna", - "category": "Merchandise Retail" -}, { - "name": "Zen Diamond", - "category": "Merchandise Retail" -}, { - "name": "Zen Leaf", - "category": "Merchandise Retail" -}, { - "name": "Ziebart", - "category": "Automotive Services" -}, { - "name": "Ziggi\u0027s Coffee", - "category": "Food and Drink" -}, { - "name": "Zions Bank", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "Zips Car Wash", - "category": "Automotive Services" -}, { - "name": "Zumiez", - "category": "Merchandise Retail" -}, { - "name": "Zwilling J.A. Henckels", - "category": "Merchandise Retail" -}, { - "name": "[solidcore]", - "category": "Fitness" -}, { - "name": "abercrombie kids", - "category": "Merchandise Retail" -}, { - "name": "adidas", - "category": "Merchandise Retail" -}, { - "name": "alice + olivia", - "category": "Merchandise Retail" -}, { - "name": "ampm", - "category": "Gas Station" -}, { - "name": "ba\u0026sh", - "category": "Merchandise Retail" -}, { - "name": "babyGap", - "category": "Merchandise Retail" -}, { - "name": "barre3", - "category": "Fitness" -}, { - "name": "celio", - "category": "Merchandise Retail" -}, { - "name": "dd\u0027s DISCOUNTS", - "category": "Merchandise Retail" -}, { - "name": "delta", - "category": "Gas Station" -}, { - "name": "diptyque", - "category": "Merchandise Retail" -}, { - "name": "francesca\u0027s", - "category": "Merchandise Retail" -}, { - "name": "gorjana", - "category": "Merchandise Retail" -}, { - "name": "hi HealthInnovations", - "category": "Health and Personal Care Retailers" -}, { - "name": "honeygrow", - "category": "Food and Drink" -}, { - "name": "iPark", - "category": "Parking" -}, { - "name": "lululemon", - "category": "Merchandise Retail" -}, { - "name": "nana\u0027s green tea", - "category": "Food and Drink" -}, { - "name": "nexAir", - "category": "Merchandise Retail" -}, { - "name": "rue21", - "category": "Merchandise Retail" -}, { - "name": "sweetgreen", - "category": "Food and Drink" -}, { - "name": "truenorth", - "category": "Grocery and Liquor" -}, { - "name": "west elm", - "category": "Merchandise Retail" -}, { - "name": "おむすび権米衛", - "category": "Food and Drink" -}, { - "name": "アビステ", - "category": "Merchandise Retail" -}, { - "name": "ワンズ", - "category": "Automotive Rentals" -}, { - "name": "一蘭", - "category": "Food and Drink" -}, { - "name": "三井住友銀行", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "三菱UFJ銀行", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "中国工商银行", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "中国銀行", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "中国银行", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "六福珠宝", - "category": "Merchandise Retail" -}, { - "name": "同仁堂", - "category": "Health and Personal Care Retailers" -}, { - "name": "小肥羊", - "category": "Food and Drink" -}, { - "name": "横浜銀行", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "玉山銀行", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "福岡銀行", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "築地銀だこ", - "category": "Food and Drink" -}, { - "name": "群馬銀行", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "華南銀行", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "都 ホテル", - "category": "Lodging" -}, { - "name": "風来坊", - "category": "Food and Drink" -}, { - "name": "국민은행", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "기업은행", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "나르지오", - "category": "Merchandise Retail" -}, { - "name": "농협은행", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "알라딘", - "category": "Merchandise Retail" -}, { - "name": "우리은행", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "정관장", - "category": "Grocery and Liquor" -}, { - "name": "토니모리", - "category": "Health and Personal Care Retailers" -}, { - "name": "하나은행", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "한국산업은행", - "category": "ATMs, Banks and Credit Unions" -}, { - "name": "한국외환은행", - "category": "ATMs, Banks and Credit Unions" -}] \ No newline at end of file diff --git a/places_insights/places-insights-demo/index.html b/places_insights/places-insights-demo/index.html index d8bf541..928a213 100644 --- a/places_insights/places-insights-demo/index.html +++ b/places_insights/places-insights-demo/index.html @@ -194,17 +194,11 @@

Places Insights