Location Attributes
Overview
A Location represents a physical business location in your account. It is the starting point for accessing and harnessing the various endpoints the API has to offer.
Location Object
The following table details all available fields for Location objects. Fields marked as mandatory are required when creating or updating locations.
Core Attributes
| Attribute | Type | Description | Read Only | Required for Create |
Required for Update |
|---|---|---|---|---|---|
id |
String | Unique identifier in Base64 encoded format. Eg: Location:<Location ID> TG9jYXRpb246MTIzNDU= |
- | ✗ | ✓ |
name |
String | Business name | - | ✓ | - |
storeId |
String | Custom store identifier | - | - | - |
subCategoryId |
Integer | Business primary category identifier. Refer to Categories Endpoint for valid primary categories. |
- | ✓ | - |
subCategoryName |
String | Name of business subcategory ( Primary) |
✓ | - | - |
additionalCategoryIds |
Integer | Additional category classifications. Refer to Categories Endpoint. Supports up to 9 categories. Categories with primary flag as true or false can be used. |
- | - | - |
Address Information
| Attribute | Type | Description | Read Only | Required for Create |
Required for Update |
|---|---|---|---|---|---|
street |
String | Street address | - | ✓ | - |
street1 |
String | Specify additional address information |
- | - | - |
city |
String | City name | - | ✓ | - |
postalCode |
String | Postal/ZIP code | - | ✓ | - |
stateIso |
String | State/Province ISO code ¹ | - | ✓ | - |
countryIso |
String | Country ISO code ¹. Cannot be updated |
- | ✓ | ✗ |
countryCode |
String | Country code ¹. Cannot be updated |
✓ | ✗ | ✗ |
latitude |
String | Geographic latitude | ✓ | ✗ | ✗ |
longitude |
String | Geographic longitude | ✓ | ✗ | ✗ |
hideAddress |
Boolean | true indicates a Service AreaBusiness |
- | - | - |
Contact Information
| Attribute | Type | Description | Read Only | Required for Create |
Required for Update |
|---|---|---|---|---|---|
phone |
String | Business phone number. Ref here | - | ✓ | - |
ownerEmail |
String | Business owner’s email | - | - | - |
ownerName |
String | Business owner’s name | - | - | - |
googleAdsPhone |
String | Phone number used exclusively for Google Ads Ref here |
- | - | - |
additionalPhones |
Array of Strings | Additional phone numbers (Supported only for Google) Ref here |
- | - | - |
Business Details
| Attribute | Type | Description | Read Only | Required for Create |
Required for Update |
|---|---|---|---|---|---|
businessHours |
Object | Business Hours. Refer to the schema for details. Regular hours required to add special hours. |
- | - | - |
temporarilyClosed |
Boolean | Set true to mark the locationas temporarily closed and hide business hours |
- | - | - |
description |
String | Business description. Min 200 char - 1500 char |
- | ✓ | - |
tagline |
String | Business tagline | - | - | - |
yearOfIncorporation |
Integer | Business establishment year | - | - | - |
paymentMethods |
String[] | Accepted payment methods. Ref here |
- | - | - |
Online Presence
| Attribute | Type | Description | Read Only | Required for Create |
Required for Update |
|---|---|---|---|---|---|
bizUrl |
String | Business website URL | - | - | - |
facebookUrl |
String | Facebook page URL | - | - | - |
twitterUrl |
String | Twitter profile URL | - | - | - |
linkedinUrl |
String | LinkedIn page URL | - | - | - |
youtubeUrl |
String | YouTube page URL | - | - | - |
instagramUrl |
String | Instagram page URL | - | - | - |
tiktokUrl |
String | TikTok page URL | - | - | - |
pinterestUrl |
String | Pinterest page URL | - | - | - |
videos |
String[] | List of video URLs | - | - | - |
locationPhotos |
Object | Returns LOGO and COVER photosof the location. |
- | - | - |
Publishing Configuration
| Attribute | Type | Description | Read Only | Required for Create |
Required for Update |
|---|---|---|---|---|---|
enabledSiteIds |
Integer[] | Specify site IDs where business details should be published. Choose from sites in the location plan. Refer to Plan Sites |
- | - | - |
submissionDisabledSiteIds |
Integer[] | Sites where publishing is disabled. Refer to Plan Sites |
- | - | - |
System Fields
| Attribute | Type | Description | Read Only | Required for Create |
Required for Update |
|---|---|---|---|---|---|
databaseId |
Integer | Internal reference ID | ✓ | - | - |
archivalScheduledAt |
Timestamp | Timestamp set when an archival request is initiated for the location |
✓ | - | - |
archivedAt |
Timestamp | Timestamp marking the actual archival of the location, typically at the end of the billing cycle |
✓ | - | - |
tenure |
String | For multi-subscription accounts, specify the subscription tenure. Example: Monthly. Refer to Subscriptions |
- | ⚑ | - |
Restaurant and Food Business-Specific Fields
| Attribute | Type | Description | Read Only | Required for Create |
Required for Update |
|---|---|---|---|---|---|
bookingUrl |
String | URL for booking services related to the location (Applicable for restaurant or food businesses) |
- | - | - |
offeringsUrl |
String | URL showcasing menus (Applicable for restaurant or food businesses) |
- | - | - |
reservationUrl |
String | URL for reservations (Applicable for restaurant or food businesses) |
- | - | - |
Categorization & Organization
| Attribute | Type | Description | Read Only | Required for Create |
Required for Update |
|---|---|---|---|---|---|
tags |
Array of Strings | Keywords associated with the location for categorization or search purposes |
- | - | - |
folderId |
String <UUID> |
Identifier for organizing locations into folders (Retrieve folders via query) |
- | - | - |
Place Action Links
Google place action links are the action buttons shown on the Business Profile (order, book, reserve, and more). See Managing Place Action Links for the write model and how to add a discovered link.
| Attribute | Type | Description | Read Only | Required for Create |
Required for Update |
|---|---|---|---|---|---|
placeActionLinks |
Array of Objects | Google action links you manage. See Managing Place Action Links. |
- | - | - |
discoveredPlaceActionLinks |
Array of Objects | Links Google discovered on the profile. Read-only; add them to manage. |
✓ | - | - |
Notes
¹ Refer to the Places API for valid ISO codes ² Refer to Plan Sites for available site IDs ³ Only required for accounts with multiple subscriptions. Find about subscription ⁴ Get Primary Categories and Additional Categories here ⚑ Conditionally required
Business hours schema
| Name | Type | Description |
|---|---|---|
businessHours | array of object | Business hours for each day of the week |
businessHours[].day | string | Day of the week | SpecialMONDAYTUESDAYWEDNESDAYTHURSDAYFRIDAYSATURDAYSUNDAYSPECIAL |
businessHours[].slots | array of object | Array of time slots (minimum 1, maximum 2). Required only if type is OPEN. |
businessHours[].slots[].start | string | Opening time. Valid formats: `<HH>:<MM>am` OR `<HH>:<MM>pm` |
businessHours[].slots[].end | string | Closing time. Valid formats: `<HH>:<MM>am` OR `<HH>:<MM>pm` |
businessHours[].type | string | Type of business hours (e.g., OPEN, CLOSED, OPEN_24x7)OPENOPEN_24x7CLOSED |
businessHours[].specialDate | string | Day should be `SPECIAL`. Regular hours is mandatory. **Regular hours is mandatory for special hours to be allowed ** |
Full BusinessHours__v3 reference
Phone Number Formats
- Must follow the international E.164 format. Ref here.
- Do not include the
+sign or country code. - Remove parentheses and special characters.
- Example:
- Incorrect:
(123)-456-7890,+1-123-456-7890 - Correct:
1234567890
- Incorrect:
Supported Payment Methods
| Name | Type | Description |
|---|---|---|
paymentMethods | array of string | Accepted payment methods ("VISA", "MASTERCARD", "AMEX", "CASH", "CHEQUE", "CRYPTO", "DINERS_CLUB", "DISCOVER", "FINANCING", "INVOICE", "TRAVELERS_CHECK", "APPLE_PAY", "SAMSUNG_PAY", "PAYPAL", "ANDROID_PAY" ) |
Subcategories and Additional Categories
SubCategory
- A Subcategory can be considered as the primary category for the location.
- Only categories where
PRIMARYis set totrueare considered SubCategories.
AdditionalCategory
- An Additional Category can be considered as the secondary category for the location.
- Categories where
PRIMARYis eithertrueorfalseare considered AdditionalCategories.
Managing Place Action Links
Place action links are the action buttons Google shows on a Business Profile (order online, book, reserve, and so on). Manage them through the placeActionLinks array on the Create a new business location and Update business location endpoints.
Link object
| Field | Type | Description |
|---|---|---|
placeActionType |
Enum | One of APPOINTMENT, ONLINE_APPOINTMENT, DINING_RESERVATION,FOOD_ORDERING, FOOD_DELIVERY, FOOD_TAKEOUT, SHOP_ONLINE. |
uri |
String | Destination URL for the action. |
isPreferred |
Boolean | Marks the preferred link for that type. At most one per type. |
action |
Enum | add (default) to add or update, or delete to remove. |
name |
String | Identifier returned by the read endpoints once synced to Google. null until synced. |
submissionStatus |
String | Sync status with Google. null until synced. |
Write model — append / upsert. Only the links you include are affected; links you leave out stay unchanged. A link is matched by
namewhen present, otherwise byplaceActionType+uri.
Add a link
Send a placeActionLinks entry with action set to add (the default), plus placeActionType and uri. Set isPreferred to true to make it the preferred link for its type.
{
"input": {
"placeActionLinks": [
{
"placeActionType": "FOOD_ORDERING",
"uri": "https://order.example.com",
"isPreferred": true,
"action": "add"
}
]
}
}
Edit a link
There is no in-place update. In the same Update business location call, send the current link with action set to delete, then the new link with action set to add. The delete is matched by name when you have it, otherwise by placeActionType + uri.
{
"input": {
"placeActionLinks": [
{
"placeActionType": "FOOD_ORDERING",
"uri": "https://old-order.example.com",
"action": "delete"
},
{
"placeActionType": "FOOD_ORDERING",
"uri": "https://new-order.example.com",
"isPreferred": true,
"action": "add"
}
]
}
}
Add a discovered link
Links Google finds on its own are returned read-only under discoveredPlaceActionLinks. To take ownership of one, re-add it through placeActionLinks using the same placeActionType and uri with action set to add. After the write it moves under placeActionLinks; its name and submissionStatus stay null until it syncs to Google.
{
"input": {
"placeActionLinks": [
{
"placeActionType": "FOOD_ORDERING",
"uri": "https://discovered-order.example.com",
"action": "add"
}
]
}
}
Common Errors while creating a location
| Error | Description |
|---|---|
| Insufficient Permissions | The API key or user account does not have the required permissions to perform this action. |
| Minimum 200 Characters for Business Description | The business description must be at least 200 characters long. |
| Must Be a Supported Country | The specified country is not supported. Refer to the list of allowed countries. |
| Not a Valid State | The provided state is invalid or does not exist for the selected country. |
| Invalid Postal Code | The postal code format is incorrect or does not match the country’s requirements. |
| Invalid Phone Number | The phone number format is invalid or does not meet country-specific guidelines. |
| Must Be a Valid Year (for Year of Incorporation) | The year of incorporation must be a valid four-digit year. |
| storeId Has Already Been Taken | The provided storeId is already in use. Please use a unique identifier. |