oac1es2d.nx.link
No description published for this endpoint.
The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.
Asset 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913
The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.
Accepts
The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.
That figure is in the token’s smallest units. Roundhouse does not hold this contract’s decimals, so it is shown as published rather than converted.
- Paid to
- 0xC44b…fCA51
- USD Coin contract
- 0x8335…02913
- Payment window
- 24 hours
- Buys
- Google Maps Places API https://places.googleapis.com - POST Search for place information based on a text search. Get detailed location, rating and places data for over 200 million restaurants, bars, shops, schools, libraries, banks, barbers, hairdressers, salons, gyms, parks, monuments, tourist attractions, or any point of interest in the world.
- Returns
- application/json
The catalog’s raw entry
[
{
"asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"payTo": "0xC44bDEE8cCe34d9717855E1B635b19a530bfCA51",
"scheme": "exact",
"network": "eip155:8453",
"mimeType": "application/json",
"resource": "https://oac1es2d.nx.link/v1/places:searchText",
"description": "Google Maps Places API https://places.googleapis.com - POST Search for place information based on a text search. Get detailed location, rating and places data for over 200 million restaurants, bars, shops, schools, libraries, banks, barbers, hairdressers, salons, gyms, parks, monuments, tourist attractions, or any point of interest in the world.",
"outputSchema": {
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"places": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of a place."
},
"name": {
"type": "string",
"description": "This Place's resource name, in `places/{place_id}` format. Can be used to\n look up the Place."
},
"types": {
"type": "array",
"items": {
"type": "string"
},
"description": "A set of type tags for this result. For example, \"political\" and\n \"locality\". For the complete list of possible values, see Table A and Table\n B at\n https://developers.google.com/maps/documentation/places/web-service/place-types"
},
"dineIn": {
"type": "boolean",
"description": "Specifies if the business supports indoor or outdoor seating options."
},
"photos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Identifier. A reference representing this place photo which may be used to\n look up this place photo again (also called the API \"resource\" name:\n `places/{place_id}/photos/{photo}`)."
},
"widthPx": {
"type": "integer",
"format": "int32",
"description": "The maximum available width, in pixels."
},
"heightPx": {
"type": "integer",
"format": "int32",
"description": "The maximum available height, in pixels."
},
"googleMapsUri": {
"type": "string",
"description": "A link to show the photo on Google Maps."
},
"flagContentUri": {
"type": "string",
"description": "A link where users can flag a problem with the photo."
},
"authorAttributions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uri": {
"type": "string",
"description": "URI of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"photoUri": {
"type": "string",
"description": "Profile photo URI of the author of the\n [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"displayName": {
"type": "string",
"description": "Name of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
}
},
"description": "Information about the author of the UGC data. Used in\n [Photo][google.maps.places.v1.Photo], and\n [Review][google.maps.places.v1.Review]."
},
"description": "This photo's authors."
}
},
"description": "Information about a photo of a place."
},
"description": "Information (including references) about photos of this place. A maximum of\n 10 photos can be returned."
},
"rating": {
"type": "number",
"format": "double",
"description": "A rating between 1.0 and 5.0, based on user reviews of this place."
},
"reviews": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "A reference representing this place review which may be used to look up\n this place review again (also called the API \"resource\" name:\n `places/{place_id}/reviews/{review}`)."
},
"text": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The localized text of the review."
},
"rating": {
"type": "number",
"format": "double",
"description": "A number between 1.0 and 5.0, also called the number of stars."
},
"visitDate": {
"type": "string",
"format": "date",
"description": "The date when the author visited the place. This is truncated to the year\n and month of the visit."
},
"publishTime": {
"type": "string",
"format": "date-time",
"description": "Timestamp for the review."
},
"originalText": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The review text in its original language."
},
"googleMapsUri": {
"type": "string",
"description": "A link to show the review on Google Maps."
},
"flagContentUri": {
"type": "string",
"description": "A link where users can flag a problem with the review."
},
"authorAttribution": {
"allOf": [
{
"type": "object",
"properties": {
"uri": {
"type": "string",
"description": "URI of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"photoUri": {
"type": "string",
"description": "Profile photo URI of the author of the\n [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"displayName": {
"type": "string",
"description": "Name of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
}
},
"description": "Information about the author of the UGC data. Used in\n [Photo][google.maps.places.v1.Photo], and\n [Review][google.maps.places.v1.Review]."
}
],
"description": "This review's author."
},
"relativePublishTimeDescription": {
"type": "string",
"description": "A string of formatted recent time, expressing the review time relative\n to the current time in a form appropriate for the language and country."
}
},
"description": "Information about a review of a place."
},
"description": "List of reviews about this place, sorted by relevance. A maximum of 5\n reviews can be returned."
},
"takeout": {
"type": "boolean",
"description": "Specifies if the business supports takeout."
},
"delivery": {
"type": "boolean",
"description": "Specifies if the business supports delivery."
},
"location": {
"allOf": [
{
"type": "object",
"properties": {
"latitude": {
"type": "number",
"format": "double",
"description": "The latitude in degrees. It must be in the range [-90.0, +90.0]."
},
"longitude": {
"type": "number",
"format": "double",
"description": "The longitude in degrees. It must be in the range [-180.0, +180.0]."
}
},
"description": "An object that represents a latitude/longitude pair. This is expressed as a\n pair of doubles to represent degrees latitude and degrees longitude. Unless\n specified otherwise, this must conform to the\n <a href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\">WGS84\n standard</a>. Values must be within normalized ranges."
}
],
"description": "The position of this place."
},
"plusCode": {
"allOf": [
{
"type": "object",
"properties": {
"globalCode": {
"type": "string",
"description": "Place's global (full) code, such as \"9FWM33GV+HQ\", representing an\n 1/8000 by 1/8000 degree area (~14 by 14 meters)."
},
"compoundCode": {
"type": "string",
"description": "Place's compound code, such as \"33GV+HQ, Ramberg, Norway\", containing\n the suffix of the global code and replacing the prefix with a formatted\n name of a reference entity."
}
},
"description": "Plus code (http://plus.codes) is a location reference with two formats:\n global code defining a 14mx14m (1/8000th of a degree) or smaller rectangle,\n and compound code, replacing the prefix with a reference location."
}
],
"description": "Plus code of the place location lat/long."
},
"restroom": {
"type": "boolean",
"description": "Place has restroom."
},
"timeZone": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "IANA Time Zone Database time zone, e.g. \"America/New_York\"."
},
"version": {
"type": "string",
"description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\"."
}
},
"description": "Represents a time zone from the\n [IANA Time Zone Database](https://www.iana.org/time-zones)."
}
],
"description": "IANA Time Zone Database time zone. For example \"America/New_York\"."
},
"viewport": {
"allOf": [
{
"type": "object",
"properties": {
"low": {
"allOf": [
{
"type": "object",
"properties": {
"latitude": {
"type": "number",
"format": "double",
"description": "The latitude in degrees. It must be in the range [-90.0, +90.0]."
},
"longitude": {
"type": "number",
"format": "double",
"description": "The longitude in degrees. It must be in the range [-180.0, +180.0]."
}
},
"description": "An object that represents a latitude/longitude pair. This is expressed as a\n pair of doubles to represent degrees latitude and degrees longitude. Unless\n specified otherwise, this must conform to the\n <a href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\">WGS84\n standard</a>. Values must be within normalized ranges."
}
],
"description": "Required. The low point of the viewport."
},
"high": {
"allOf": [
{
"type": "object",
"properties": {
"latitude": {
"type": "number",
"format": "double",
"description": "The latitude in degrees. It must be in the range [-90.0, +90.0]."
},
"longitude": {
"type": "number",
"format": "double",
"description": "The longitude in degrees. It must be in the range [-180.0, +180.0]."
}
},
"description": "An object that represents a latitude/longitude pair. This is expressed as a\n pair of doubles to represent degrees latitude and degrees longitude. Unless\n specified otherwise, this must conform to the\n <a href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\">WGS84\n standard</a>. Values must be within normalized ranges."
}
],
"description": "Required. The high point of the viewport."
}
},
"description": "A latitude-longitude viewport, represented as two diagonally opposite `low`\n and `high` points. A viewport is considered a closed region, i.e. it includes\n its boundary. The latitude bounds must range between -90 to 90 degrees\n inclusive, and the longitude bounds must range between -180 to 180 degrees\n inclusive. Various cases include:\n\n - If `low` = `high`, the viewport consists of that single point.\n\n - If `low.longitude` > `high.longitude`, the longitude range is inverted\n (the viewport crosses the 180 degree longitude line).\n\n - If `low.longitude` = -180 degrees and `high.longitude` = 180 degrees,\n the viewport includes all longitudes.\n\n - If `low.longitude` = 180 degrees and `high.longitude` = -180 degrees,\n the longitude range is empty.\n\n - If `low.latitude` > `high.latitude`, the latitude range is empty.\n\n Both `low` and `high` must be populated, and the represented box cannot be\n empty (as specified by the definitions above). An empty viewport will result\n in an error.\n\n For example, this viewport fully encloses New York City:\n\n {\n \"low\": {\n \"latitude\": 40.477398,\n \"longitude\": -74.259087\n },\n \"high\": {\n \"latitude\": 40.91618,\n \"longitude\": -73.70018\n }\n }"
}
],
"description": "A viewport suitable for displaying the place on an average-sized map. This\n viewport should not be used as the physical boundary or the service area of\n the business."
},
"liveMusic": {
"type": "boolean",
"description": "Place provides live music."
},
"allowsDogs": {
"type": "boolean",
"description": "Place allows dogs."
},
"movedPlace": {
"type": "string",
"description": "If this Place is permanently closed and has moved to a new Place, this\n field contains the new Place's resource name, in `places/{place_id}`\n format. If this Place moved multiple times, this field will represent the\n first moved place. This field will not be populated if this Place has not\n moved."
},
"priceLevel": {
"type": "integer",
"format": "enum",
"description": "Price level of the place."
},
"priceRange": {
"allOf": [
{
"type": "object",
"properties": {
"endPrice": {
"allOf": [
{
"type": "object",
"properties": {
"nanos": {
"type": "integer",
"format": "int32",
"description": "Number of nano (10^-9) units of the amount.\n The value must be between -999,999,999 and +999,999,999 inclusive.\n If `units` is positive, `nanos` must be positive or zero.\n If `units` is zero, `nanos` can be positive, zero, or negative.\n If `units` is negative, `nanos` must be negative or zero.\n For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000."
},
"units": {
"type": "string",
"description": "The whole units of the amount.\n For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar."
},
"currencyCode": {
"type": "string",
"description": "The three-letter currency code defined in ISO 4217."
}
},
"description": "Represents an amount of money with its currency type."
}
],
"description": "The high end of the price range (exclusive). Price should be lower than\n this amount."
},
"startPrice": {
"allOf": [
{
"type": "object",
"properties": {
"nanos": {
"type": "integer",
"format": "int32",
"description": "Number of nano (10^-9) units of the amount.\n The value must be between -999,999,999 and +999,999,999 inclusive.\n If `units` is positive, `nanos` must be positive or zero.\n If `units` is zero, `nanos` can be positive, zero, or negative.\n If `units` is negative, `nanos` must be negative or zero.\n For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000."
},
"units": {
"type": "string",
"description": "The whole units of the amount.\n For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar."
},
"currencyCode": {
"type": "string",
"description": "The three-letter currency code defined in ISO 4217."
}
},
"description": "Represents an amount of money with its currency type."
}
],
"description": "The low end of the price range (inclusive). Price should be at or above\n this amount."
}
},
"description": "The price range associated with a Place. `end_price` could be unset, which\n indicates a range without upper bound (e.g. \"More than $100\")."
}
],
"description": "The price range associated with a Place."
},
"reservable": {
"type": "boolean",
"description": "Specifies if the place supports reservations."
},
"servesBeer": {
"type": "boolean",
"description": "Specifies if the place serves beer."
},
"servesWine": {
"type": "boolean",
"description": "Specifies if the place serves wine."
},
"websiteUri": {
"type": "string",
"description": "The authoritative website for this place, e.g. a business' homepage.\n Note that for places that are part of a chain (e.g. an IKEA store), this\n will usually be the website for the individual store, not the overall\n chain."
},
"displayName": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The localized name of the place, suitable as a short human-readable\n description. For example, \"Google Sydney\", \"Starbucks\", \"Pyrmont\", etc."
},
"fuelOptions": {
"allOf": [
{
"type": "object",
"properties": {
"fuelPrices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "integer",
"format": "enum",
"description": "The type of fuel."
},
"price": {
"allOf": [
{
"type": "object",
"properties": {
"nanos": {
"type": "integer",
"format": "int32",
"description": "Number of nano (10^-9) units of the amount.\n The value must be between -999,999,999 and +999,999,999 inclusive.\n If `units` is positive, `nanos` must be positive or zero.\n If `units` is zero, `nanos` can be positive, zero, or negative.\n If `units` is negative, `nanos` must be negative or zero.\n For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000."
},
"units": {
"type": "string",
"description": "The whole units of the amount.\n For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar."
},
"currencyCode": {
"type": "string",
"description": "The three-letter currency code defined in ISO 4217."
}
},
"description": "Represents an amount of money with its currency type."
}
],
"description": "The price of the fuel."
},
"updateTime": {
"type": "string",
"format": "date-time",
"description": "The time the fuel price was last updated."
}
},
"description": "Fuel price information for a given type."
},
"description": "The last known fuel price for each type of fuel this station has. There is\n one entry per fuel type this station has. Order is not important."
}
},
"description": "The most recent information about fuel options in a gas station. This\n information is updated regularly."
}
],
"description": "The most recent information about fuel options in a gas station. This\n information is updated regularly."
},
"primaryType": {
"type": "string",
"description": "The primary type of the given result. This type must be one of the Places\n API supported types. For example, \"restaurant\", \"cafe\", \"airport\", etc. A\n place can only have a single primary type. For the complete list of\n possible values, see Table A and Table B at\n https://developers.google.com/maps/documentation/places/web-service/place-types.\n The primary type may be missing if the place's primary type is not a\n supported type. When a primary type is present, it is always one of the\n types in the `types` field."
},
"servesLunch": {
"type": "boolean",
"description": "Specifies if the place serves lunch."
},
"attributions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"description": "Name of the Place's data provider."
},
"providerUri": {
"type": "string",
"description": "URI to the Place's data provider."
}
},
"description": "Information about data providers of this place."
},
"description": "A set of data provider that must be shown with this result."
},
"movedPlaceId": {
"type": "string",
"description": "If this Place is permanently closed and has moved to a new Place, this\n field contains the new Place's place ID. If this Place moved multiple\n times, this field will represent the first moved Place. This field will not\n be populated if this Place has not moved."
},
"servesBrunch": {
"type": "boolean",
"description": "Specifies if the place serves brunch."
},
"servesCoffee": {
"type": "boolean",
"description": "Place serves coffee."
},
"servesDinner": {
"type": "boolean",
"description": "Specifies if the place serves dinner."
},
"consumerAlert": {
"allOf": [
{
"type": "object",
"properties": {
"details": {
"allOf": [
{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title to show together with the description."
},
"aboutLink": {
"allOf": [
{
"type": "object",
"properties": {
"uri": {
"type": "string",
"description": "The uri of the link."
},
"title": {
"type": "string",
"description": "The title to show for the link."
}
},
"description": "The link to show together with the description to provide more\n information."
}
],
"description": "The link to show together with the description to provide more\n information."
},
"description": {
"type": "string",
"description": "The description of the consumer alert message."
}
},
"description": "The details of the consumer alert message."
}
],
"description": "The details of the consumer alert message."
},
"overview": {
"type": "string",
"description": "The overview of the consumer alert message."
},
"languageCode": {
"type": "string",
"description": "The language code of the consumer alert message. This is a BCP 47\n language code."
}
},
"description": "The consumer alert message for the place when we detect suspicious review\n activity on a business or a business violates our policies."
}
],
"description": "The consumer alert message for the place when we detect suspicious review\n activity on a business or a business violates our policies."
},
"goodForGroups": {
"type": "boolean",
"description": "Place accommodates groups."
},
"googleMapsUri": {
"type": "string",
"description": "A URL providing more information about this place."
},
"postalAddress": {
"allOf": [
{
"type": "object",
"properties": {
"locality": {
"type": "string",
"description": "Optional. Generally refers to the city/town portion of the address.\n Examples: US city, IT comune, UK post town.\n In regions of the world where localities are not well defined or do not fit\n into this structure well, leave locality empty and use address_lines."
},
"revision": {
"type": "integer",
"format": "int32",
"description": "The schema revision of the `PostalAddress`. This must be set to 0, which is\n the latest revision.\n\n All new revisions **must** be backward compatible with old revisions."
},
"postalCode": {
"type": "string",
"description": "Optional. Postal code of the address. Not all countries use or require\n postal codes to be present, but where they are used, they may trigger\n additional validation with other parts of the address (e.g. state/zip\n validation in the U.S.A.)."
},
"recipients": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional. The recipient at the address.\n This field may, under certain circumstances, contain multiline information.\n For example, it might contain \"care of\" information."
},
"regionCode": {
"type": "string",
"description": "Required. CLDR region code of the country/region of the address. This\n is never inferred and it is up to the user to ensure the value is\n correct. See http://cldr.unicode.org/ and\n http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html\n for details. Example: \"CH\" for Switzerland."
},
"sortingCode": {
"type": "string",
"description": "Optional. Additional, country-specific, sorting code. This is not used\n in most regions. Where it is used, the value is either a string like\n \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number\n alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\"\n (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire)."
},
"sublocality": {
"type": "string",
"description": "Optional. Sublocality of the address.\n For example, this can be neighborhoods, boroughs, districts."
},
"addressLines": {
"type": "array",
"items": {
"type": "string"
},
"description": "Unstructured address lines describing the lower levels of an address.\n\n Because values in address_lines do not have type information and may\n sometimes contain multiple values in a single field (e.g.\n \"Austin, TX\"), it is important that the line order is clear. The order of\n address lines should be \"envelope order\" for the country/region of the\n address. In places where this can vary (e.g. Japan), address_language is\n used to make it explicit (e.g. \"ja\" for large-to-small ordering and\n \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of\n an address can be selected based on the language.\n\n The minimum permitted structural representation of an address consists\n of a region_code with all remaining information placed in the\n address_lines. It would be possible to format such an address very\n approximately without geocoding, but no semantic reasoning could be\n made about any of the address components until it was at least\n partially resolved.\n\n Creating an address only containing a region_code and address_lines, and\n then geocoding is the recommended way to handle completely unstructured\n addresses (as opposed to guessing which parts of the address should be\n localities or administrative areas)."
},
"languageCode": {
"type": "string",
"description": "Optional. BCP-47 language code of the contents of this address (if\n known). This is often the UI language of the input form or is expected\n to match one of the languages used in the address' country/region, or their\n transliterated equivalents.\n This can affect formatting in certain countries, but is not critical\n to the correctness of the data and will never affect any validation or\n other non-formatting related operations.\n\n If this value is not known, it should be omitted (rather than specifying a\n possibly incorrect default).\n\n Examples: \"zh-Hant\", \"ja\", \"ja-Latn\", \"en\"."
},
"organization": {
"type": "string",
"description": "Optional. The name of the organization at the address."
},
"administrativeArea": {
"type": "string",
"description": "Optional. Highest administrative subdivision which is used for postal\n addresses of a country or region.\n For example, this can be a state, a province, an oblast, or a prefecture.\n Specifically, for Spain this is the province and not the autonomous\n community (e.g. \"Barcelona\" and not \"Catalonia\").\n Many countries don't use an administrative area in postal addresses. E.g.\n in Switzerland this should be left unpopulated."
}
},
"description": "Represents a postal address, e.g. for postal delivery or payments addresses.\n Given a postal address, a postal service can deliver items to a premise, P.O.\n Box or similar.\n It is not intended to model geographical locations (roads, towns,\n mountains).\n\n In typical usage an address would be created via user input or from importing\n existing data, depending on the type of process.\n\n Advice on address input / editing:\n - Use an i18n-ready address widget such as\n https://github.com/google/libaddressinput)\n - Users should not be presented with UI elements for input or editing of\n fields outside countries where that field is used.\n\n For more guidance on how to use this schema, please see:\n https://support.google.com/business/answer/6397478"
}
],
"description": "The address in postal address format."
},
"reviewSummary": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The summary of user reviews."
},
"reviewsUri": {
"type": "string",
"description": "A link to show reviews of this place on Google Maps."
},
"disclosureText": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The AI disclosure message \"Summarized with Gemini\"\n (and its localized variants). This will be in the language specified in\n the request if available."
},
"flagContentUri": {
"type": "string",
"description": "A link where users can flag a problem with the summary."
}
},
"description": "AI-generated summary of the place using user reviews."
}
],
"description": "AI-generated summary of the place using user reviews."
},
"servesDessert": {
"type": "boolean",
"description": "Place serves dessert."
},
"businessStatus": {
"type": "integer",
"format": "enum",
"description": "The business status for the place."
},
"curbsidePickup": {
"type": "boolean",
"description": "Specifies if the business supports curbside pickup."
},
"outdoorSeating": {
"type": "boolean",
"description": "Place provides outdoor seating."
},
"parkingOptions": {
"allOf": [
{
"type": "object",
"properties": {
"valetParking": {
"type": "boolean",
"description": "Place offers valet parking."
},
"freeParkingLot": {
"type": "boolean",
"description": "Place offers free parking lots."
},
"paidParkingLot": {
"type": "boolean",
"description": "Place offers paid parking lots."
},
"freeGarageParking": {
"type": "boolean",
"description": "Place offers free garage parking."
},
"freeStreetParking": {
"type": "boolean",
"description": "Place offers free street parking."
},
"paidGarageParking": {
"type": "boolean",
"description": "Place offers paid garage parking."
},
"paidStreetParking": {
"type": "boolean",
"description": "Place offers paid street parking."
}
},
"description": "Information about parking options for the place. A parking lot could\n support more than one option at the same time."
}
],
"description": "Options of parking provided by the place."
},
"paymentOptions": {
"allOf": [
{
"type": "object",
"properties": {
"acceptsNfc": {
"type": "boolean",
"description": "Place accepts NFC payments."
},
"acceptsCashOnly": {
"type": "boolean",
"description": "Place accepts cash only as payment. Places with this attribute may still\n accept other payment methods."
},
"acceptsDebitCards": {
"type": "boolean",
"description": "Place accepts debit cards as payment."
},
"acceptsCreditCards": {
"type": "boolean",
"description": "Place accepts credit cards as payment."
}
},
"description": "Payment options the place accepts."
}
],
"description": "Payment options the place accepts. If a payment option data is not\n available, the payment option field will be unset."
},
"evChargeOptions": {
"allOf": [
{
"type": "object",
"properties": {
"connectorCount": {
"type": "integer",
"format": "int32",
"description": "Number of connectors at this station. However, because some ports can have\n multiple connectors but only be able to charge one car at a time (e.g.) the\n number of connectors may be greater than the total number of cars which can\n charge simultaneously."
},
"connectorAggregation": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "integer",
"format": "enum",
"description": "The connector type of this aggregation."
},
"count": {
"type": "integer",
"format": "int32",
"description": "Number of connectors in this aggregation."
},
"availableCount": {
"type": "integer",
"format": "int32",
"description": "Number of connectors in this aggregation that are currently available."
},
"maxChargeRateKw": {
"type": "number",
"format": "double",
"description": "The static max charging rate in kw of each connector in the aggregation."
},
"outOfServiceCount": {
"type": "integer",
"format": "int32",
"description": "Number of connectors in this aggregation that are currently out of\n service."
},
"availabilityLastUpdateTime": {
"type": "string",
"format": "date-time",
"description": "The timestamp when the connector availability information in this\n aggregation was last updated."
}
},
"description": "EV charging information grouped by [type, max_charge_rate_kw].\n Shows EV charge aggregation of connectors that have the same type and max\n charge rate in kw."
},
"description": "A list of EV charging connector aggregations that contain connectors of the\n same type and same charge rate."
}
},
"description": "Information about the EV Charge Station hosted in Place.\n Terminology follows\n https://afdc.energy.gov/fuels/electricity_infrastructure.html One port\n could charge one car at a time. One port has one or more connectors. One\n station has one or more ports."
}
],
"description": "Information of ev charging options."
},
"goodForChildren": {
"type": "boolean",
"description": "Place is good for children."
},
"iconMaskBaseUri": {
"type": "string",
"description": "A truncated URL to an icon mask. User can access different icon type by\n appending type suffix to the end (eg, \".svg\" or \".png\")."
},
"menuForChildren": {
"type": "boolean",
"description": "Place has a children's menu."
},
"servesBreakfast": {
"type": "boolean",
"description": "Specifies if the place serves breakfast."
},
"servesCocktails": {
"type": "boolean",
"description": "Place serves cocktails."
},
"subDestinations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The place id of the sub-destination."
},
"name": {
"type": "string",
"description": "The resource name of the sub-destination."
}
},
"description": "Sub-destinations are specific places associated with a main place. These\n provide more specific destinations for users who are searching within a\n large or complex place, like an airport, national park, university, or\n stadium. For example, sub-destinations at an airport might include\n associated terminals and parking lots. Sub-destinations return the place ID\n and place resource name, which can be used in subsequent Place Details\n (New) requests to fetch richer details, including the sub-destination's\n display name and location."
},
"description": "A list of sub-destinations related to the place."
},
"userRatingCount": {
"type": "integer",
"format": "int32",
"description": "The total number of reviews (with or without text) for this place."
},
"adrFormatAddress": {
"type": "string",
"description": "The place's address in adr microformat: http://microformats.org/wiki/adr."
},
"containingPlaces": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The place id of the place in which this place is located."
},
"name": {
"type": "string",
"description": "The resource name of the place in which this place is located."
}
},
"description": "Info about the place in which this place is located."
},
"description": "List of places in which the current place is located."
},
"editorialSummary": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "Contains a summary of the place. A summary is comprised of a textual\n overview, and also includes the language code for these if applicable.\n Summary text must be presented as-is and can not be modified or altered."
},
"formattedAddress": {
"type": "string",
"description": "A full, human-readable address for this place."
},
"utcOffsetMinutes": {
"type": "integer",
"format": "int32",
"description": "Number of minutes this place's timezone is currently offset from UTC.\n This is expressed in minutes to support timezones that are offset by\n fractions of an hour, e.g. X hours and 15 minutes."
},
"addressComponents": {
"type": "array",
"items": {
"type": "object",
"properties": {
"types": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array indicating the type(s) of the address component."
},
"longText": {
"type": "string",
"description": "The full text description or name of the address component. For example,\n an address component for the country Australia may have a long_name of\n \"Australia\"."
},
"shortText": {
"type": "string",
"description": "An abbreviated textual name for the address component, if available. For\n example, an address component for the country of Australia may have a\n short_name of \"AU\"."
},
"languageCode": {
"type": "string",
"description": "The language used to format this components, in CLDR notation."
}
},
"description": "The structured components that form the formatted address, if this\n information is available."
},
"description": "Repeated components for each locality level.\n Note the following facts about the address_components[] array:\n - The array of address components may contain more components than the\n formatted_address.\n - The array does not necessarily include all the political entities that\n contain an address, apart from those included in the formatted_address. To\n retrieve all the political entities that contain a specific address, you\n should use reverse geocoding, passing the latitude/longitude of the address\n as a parameter to the request.\n - The format of the response is not guaranteed to remain the same between\n requests. In particular, the number of address_components varies based on\n the address requested and can change over time for the same address. A\n component can change position in the array. The type of the component can\n change. A particular component may be missing in a later response."
},
"addressDescriptor": {
"allOf": [
{
"type": "object",
"properties": {
"areas": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The area's resource name."
},
"placeId": {
"type": "string",
"description": "The area's place id."
},
"containment": {
"type": "integer",
"format": "enum",
"description": "Defines the spatial relationship between the target location and the\n area."
},
"displayName": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The area's display name."
}
},
"description": "Area information and the area's relationship with the target location.\n\n Areas includes precise sublocality, neighborhoods, and large compounds that\n are useful for describing a location."
},
"description": "A ranked list of containing or adjacent areas. The most recognizable and\n precise areas are ranked first."
},
"landmarks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The landmark's resource name."
},
"types": {
"type": "array",
"items": {
"type": "string"
},
"description": "A set of type tags for this landmark. For a complete list of possible\n values, see\n https://developers.google.com/maps/documentation/places/web-service/place-types."
},
"placeId": {
"type": "string",
"description": "The landmark's place id."
},
"displayName": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The landmark's display name."
},
"spatialRelationship": {
"type": "integer",
"format": "enum",
"description": "Defines the spatial relationship between the target location and the\n landmark."
},
"travelDistanceMeters": {
"type": "number",
"format": "float",
"description": "The travel distance, in meters, along the road network from the target to\n the landmark, if known. This value does not take into account the mode of\n transportation, such as walking, driving, or biking."
},
"straightLineDistanceMeters": {
"type": "number",
"format": "float",
"description": "The straight line distance, in meters, between the center point of the\n target and the center point of the landmark. In some situations, this\n value can be longer than `travel_distance_meters`."
}
},
"description": "Basic landmark information and the landmark's relationship with the\n target location.\n\n Landmarks are prominent places that can be used to describe a location."
},
"description": "A ranked list of nearby landmarks. The most recognizable and nearby\n landmarks are ranked first."
}
},
"description": "A relational description of a location. Includes a ranked set of nearby\n landmarks and precise containing areas and their relationship to the target\n location."
}
],
"description": "The address descriptor of the place. Address descriptors include additional\n information that help describe a location using landmarks and areas. See\n address descriptor regional coverage in\n https://developers.google.com/maps/documentation/geocoding/address-descriptors/coverage."
},
"generativeSummary": {
"allOf": [
{
"type": "object",
"properties": {
"overview": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The overview of the place."
},
"disclosureText": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The AI disclosure message \"Summarized with Gemini\"\n (and its localized variants). This will be in the language specified in\n the request if available."
},
"overviewFlagContentUri": {
"type": "string",
"description": "A link where users can flag a problem with the overview summary."
}
},
"description": "AI-generated summary of the place."
}
],
"description": "AI-generated summary of the place."
},
"currentOpeningHours": {
"allOf": [
{
"type": "object",
"properties": {
"openNow": {
"type": "boolean",
"description": "Whether the opening hours period is currently active. For regular opening\n hours and current opening hours, this field means whether the place is\n open. For secondary opening hours and current secondary opening hours,\n this field means whether the secondary hours of this place is active."
},
"periods": {
"type": "array",
"items": {
"type": "object",
"properties": {
"open": {
"allOf": [
{
"type": "object",
"properties": {
"day": {
"type": "integer",
"format": "int32",
"description": "A day of the week, as an integer in the range 0-6. 0 is Sunday, 1 is\n Monday, etc."
},
"date": {
"type": "string",
"format": "date",
"description": "Date in the local timezone for the place."
},
"hour": {
"type": "integer",
"format": "int32",
"description": "The hour in 24 hour format. Ranges from 0 to 23."
},
"minute": {
"type": "integer",
"format": "int32",
"description": "The minute. Ranges from 0 to 59."
},
"truncated": {
"type": "boolean",
"description": "Whether or not this endpoint was truncated. Truncation occurs when\n the real hours are outside the times we are willing to return hours\n between, so we truncate the hours back to these boundaries. This\n ensures that at most 24 * 7 hours from midnight of the day of the\n request are returned."
}
},
"description": "Status changing points."
}
],
"description": "The time that the place starts to be open."
},
"close": {
"allOf": [
{
"type": "object",
"properties": {
"day": {
"type": "integer",
"format": "int32",
"description": "A day of the week, as an integer in the range 0-6. 0 is Sunday, 1 is\n Monday, etc."
},
"date": {
"type": "string",
"format": "date",
"description": "Date in the local timezone for the place."
},
"hour": {
"type": "integer",
"format": "int32",
"description": "The hour in 24 hour format. Ranges from 0 to 23."
},
"minute": {
"type": "integer",
"format": "int32",
"description": "The minute. Ranges from 0 to 59."
},
"truncated": {
"type": "boolean",
"description": "Whether or not this endpoint was truncated. Truncation occurs when\n the real hours are outside the times we are willing to return hours\n between, so we truncate the hours back to these boundaries. This\n ensures that at most 24 * 7 hours from midnight of the day of the\n request are returned."
}
},
"description": "Status changing points."
}
],
"description": "The time that the place starts to be closed."
}
},
"description": "A period the place remains in open_now status."
},
"description": "The periods that this place is open during the week. The periods are in\n chronological order, in the place-local timezone. An empty (but not\n absent) value indicates a place that is never open, e.g.\n because it is closed temporarily for renovations.\n\n The starting day of `periods` is NOT fixed and should not be assumed to\n be Sunday. The API determines the start day based on a variety of\n factors. For example, for a 24/7 business, the first period may begin on\n the day of the request. For other businesses, it might be the first day\n of the week that they are open.\n\n NOTE: The ordering of the `periods` array is independent of the ordering\n of the `weekday_descriptions` array. Do not assume they will begin on the\n same day."
},
"specialDays": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date",
"description": "The date of this special day."
}
},
"description": "Structured information for special days that fall within the period that\n the returned opening hours cover. Special days are days that could impact\n the business hours of a place, e.g. Christmas day."
},
"description": "Structured information for special days that fall within the period that\n the returned opening hours cover. Special days are days that could impact\n the business hours of a place, e.g. Christmas day. Set for\n current_opening_hours and current_secondary_opening_hours if there are\n exceptional hours."
},
"nextOpenTime": {
"type": "string",
"format": "date-time",
"description": "The next time the current opening hours period starts up to 7 days in the\n future. This field is only populated if the opening hours period is not\n active at the time of serving the request."
},
"nextCloseTime": {
"type": "string",
"format": "date-time",
"description": "The next time the current opening hours period ends up to 7 days in the\n future. This field is only populated if the opening hours period is\n active at the time of serving the request."
},
"secondaryHoursType": {
"type": "integer",
"format": "enum",
"description": "A type string used to identify the type of secondary hours."
},
"weekdayDescriptions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Localized strings describing the opening hours of this place, one string\n for each day of the week.\n\n NOTE: The order of the days and the start of the week is determined by\n the locale (language and region). The ordering of the `periods` array is\n independent of the ordering of the `weekday_descriptions` array. Do not\n assume they will begin on the same day.\n\n Will be empty if the hours are unknown or could not be converted to\n localized text. Example: \"Sun: 18:00–06:00\""
}
},
"description": "Information about business hour of the place."
}
],
"description": "The hours of operation for the next seven days (including today). The time\n period starts at midnight on the date of the request and ends at 11:59 pm\n six days later. This field includes the special_days subfield of all hours,\n set for dates that have exceptional hours."
},
"iconBackgroundColor": {
"type": "string",
"description": "Background color for icon_mask in hex format, e.g. #909CE1."
},
"nationalPhoneNumber": {
"type": "string",
"description": "A human-readable phone number for the place, in national format."
},
"neighborhoodSummary": {
"allOf": [
{
"type": "object",
"properties": {
"overview": {
"allOf": [
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "The topic of the content, for example \"overview\" or \"restaurant\"."
},
"content": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "Content related to the topic."
},
"references": {
"allOf": [
{
"type": "object",
"properties": {
"places": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of resource names of the referenced places. This name can be used\n in other APIs that accept Place resource names."
},
"reviews": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "A reference representing this place review which may be used to look up\n this place review again (also called the API \"resource\" name:\n `places/{place_id}/reviews/{review}`)."
},
"text": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The localized text of the review."
},
"rating": {
"type": "number",
"format": "double",
"description": "A number between 1.0 and 5.0, also called the number of stars."
},
"visitDate": {
"type": "string",
"format": "date",
"description": "The date when the author visited the place. This is truncated to the year\n and month of the visit."
},
"publishTime": {
"type": "string",
"format": "date-time",
"description": "Timestamp for the review."
},
"originalText": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The review text in its original language."
},
"googleMapsUri": {
"type": "string",
"description": "A link to show the review on Google Maps."
},
"flagContentUri": {
"type": "string",
"description": "A link where users can flag a problem with the review."
},
"authorAttribution": {
"allOf": [
{
"type": "object",
"properties": {
"uri": {
"type": "string",
"description": "URI of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"photoUri": {
"type": "string",
"description": "Profile photo URI of the author of the\n [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"displayName": {
"type": "string",
"description": "Name of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
}
},
"description": "Information about the author of the UGC data. Used in\n [Photo][google.maps.places.v1.Photo], and\n [Review][google.maps.places.v1.Review]."
}
],
"description": "This review's author."
},
"relativePublishTimeDescription": {
"type": "string",
"description": "A string of formatted recent time, expressing the review time relative\n to the current time in a form appropriate for the language and country."
}
},
"description": "Information about a review of a place."
},
"description": "Reviews that serve as references."
}
},
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details.\n\n Reference that the generative content is related to."
}
],
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details.\n\n References that are related to this block of content."
}
},
"description": "A block of content that can be served individually."
}
],
"description": "An overview summary of the neighborhood."
},
"description": {
"allOf": [
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "The topic of the content, for example \"overview\" or \"restaurant\"."
},
"content": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "Content related to the topic."
},
"references": {
"allOf": [
{
"type": "object",
"properties": {
"places": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of resource names of the referenced places. This name can be used\n in other APIs that accept Place resource names."
},
"reviews": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "A reference representing this place review which may be used to look up\n this place review again (also called the API \"resource\" name:\n `places/{place_id}/reviews/{review}`)."
},
"text": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The localized text of the review."
},
"rating": {
"type": "number",
"format": "double",
"description": "A number between 1.0 and 5.0, also called the number of stars."
},
"visitDate": {
"type": "string",
"format": "date",
"description": "The date when the author visited the place. This is truncated to the year\n and month of the visit."
},
"publishTime": {
"type": "string",
"format": "date-time",
"description": "Timestamp for the review."
},
"originalText": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The review text in its original language."
},
"googleMapsUri": {
"type": "string",
"description": "A link to show the review on Google Maps."
},
"flagContentUri": {
"type": "string",
"description": "A link where users can flag a problem with the review."
},
"authorAttribution": {
"allOf": [
{
"type": "object",
"properties": {
"uri": {
"type": "string",
"description": "URI of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"photoUri": {
"type": "string",
"description": "Profile photo URI of the author of the\n [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"displayName": {
"type": "string",
"description": "Name of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
}
},
"description": "Information about the author of the UGC data. Used in\n [Photo][google.maps.places.v1.Photo], and\n [Review][google.maps.places.v1.Review]."
}
],
"description": "This review's author."
},
"relativePublishTimeDescription": {
"type": "string",
"description": "A string of formatted recent time, expressing the review time relative\n to the current time in a form appropriate for the language and country."
}
},
"description": "Information about a review of a place."
},
"description": "Reviews that serve as references."
}
},
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details.\n\n Reference that the generative content is related to."
}
],
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details.\n\n References that are related to this block of content."
}
},
"description": "A block of content that can be served individually."
}
],
"description": "A detailed description of the neighborhood."
},
"disclosureText": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The AI disclosure message \"Summarized with Gemini\"\n (and its localized variants). This will be in the language specified in\n the request if available."
},
"flagContentUri": {
"type": "string",
"description": "A link where users can flag a problem with the summary."
}
},
"description": "A summary of points of interest near the place."
}
],
"description": "A summary of points of interest near the place."
},
"regularOpeningHours": {
"allOf": [
{
"type": "object",
"properties": {
"openNow": {
"type": "boolean",
"description": "Whether the opening hours period is currently active. For regular opening\n hours and current opening hours, this field means whether the place is\n open. For secondary opening hours and current secondary opening hours,\n this field means whether the secondary hours of this place is active."
},
"periods": {
"type": "array",
"items": {
"type": "object",
"properties": {
"open": {
"allOf": [
{
"type": "object",
"properties": {
"day": {
"type": "integer",
"format": "int32",
"description": "A day of the week, as an integer in the range 0-6. 0 is Sunday, 1 is\n Monday, etc."
},
"date": {
"type": "string",
"format": "date",
"description": "Date in the local timezone for the place."
},
"hour": {
"type": "integer",
"format": "int32",
"description": "The hour in 24 hour format. Ranges from 0 to 23."
},
"minute": {
"type": "integer",
"format": "int32",
"description": "The minute. Ranges from 0 to 59."
},
"truncated": {
"type": "boolean",
"description": "Whether or not this endpoint was truncated. Truncation occurs when\n the real hours are outside the times we are willing to return hours\n between, so we truncate the hours back to these boundaries. This\n ensures that at most 24 * 7 hours from midnight of the day of the\n request are returned."
}
},
"description": "Status changing points."
}
],
"description": "The time that the place starts to be open."
},
"close": {
"allOf": [
{
"type": "object",
"properties": {
"day": {
"type": "integer",
"format": "int32",
"description": "A day of the week, as an integer in the range 0-6. 0 is Sunday, 1 is\n Monday, etc."
},
"date": {
"type": "string",
"format": "date",
"description": "Date in the local timezone for the place."
},
"hour": {
"type": "integer",
"format": "int32",
"description": "The hour in 24 hour format. Ranges from 0 to 23."
},
"minute": {
"type": "integer",
"format": "int32",
"description": "The minute. Ranges from 0 to 59."
},
"truncated": {
"type": "boolean",
"description": "Whether or not this endpoint was truncated. Truncation occurs when\n the real hours are outside the times we are willing to return hours\n between, so we truncate the hours back to these boundaries. This\n ensures that at most 24 * 7 hours from midnight of the day of the\n request are returned."
}
},
"description": "Status changing points."
}
],
"description": "The time that the place starts to be closed."
}
},
"description": "A period the place remains in open_now status."
},
"description": "The periods that this place is open during the week. The periods are in\n chronological order, in the place-local timezone. An empty (but not\n absent) value indicates a place that is never open, e.g.\n because it is closed temporarily for renovations.\n\n The starting day of `periods` is NOT fixed and should not be assumed to\n be Sunday. The API determines the start day based on a variety of\n factors. For example, for a 24/7 business, the first period may begin on\n the day of the request. For other businesses, it might be the first day\n of the week that they are open.\n\n NOTE: The ordering of the `periods` array is independent of the ordering\n of the `weekday_descriptions` array. Do not assume they will begin on the\n same day."
},
"specialDays": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date",
"description": "The date of this special day."
}
},
"description": "Structured information for special days that fall within the period that\n the returned opening hours cover. Special days are days that could impact\n the business hours of a place, e.g. Christmas day."
},
"description": "Structured information for special days that fall within the period that\n the returned opening hours cover. Special days are days that could impact\n the business hours of a place, e.g. Christmas day. Set for\n current_opening_hours and current_secondary_opening_hours if there are\n exceptional hours."
},
"nextOpenTime": {
"type": "string",
"format": "date-time",
"description": "The next time the current opening hours period starts up to 7 days in the\n future. This field is only populated if the opening hours period is not\n active at the time of serving the request."
},
"nextCloseTime": {
"type": "string",
"format": "date-time",
"description": "The next time the current opening hours period ends up to 7 days in the\n future. This field is only populated if the opening hours period is\n active at the time of serving the request."
},
"secondaryHoursType": {
"type": "integer",
"format": "enum",
"description": "A type string used to identify the type of secondary hours."
},
"weekdayDescriptions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Localized strings describing the opening hours of this place, one string\n for each day of the week.\n\n NOTE: The order of the days and the start of the week is determined by\n the locale (language and region). The ordering of the `periods` array is\n independent of the ordering of the `weekday_descriptions` array. Do not\n assume they will begin on the same day.\n\n Will be empty if the hours are unknown or could not be converted to\n localized text. Example: \"Sun: 18:00–06:00\""
}
},
"description": "Information about business hour of the place."
}
],
"description": "The regular hours of operation. Note that if a place is always open (24\n hours), the `close` field will not be set. Clients can rely on always open\n (24 hours) being represented as an\n [`open`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Period)\n period containing\n [`day`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point)\n with value `0`,\n [`hour`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point)\n with value `0`, and\n [`minute`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point)\n with value `0`."
},
"accessibilityOptions": {
"allOf": [
{
"type": "object",
"properties": {
"wheelchairAccessibleParking": {
"type": "boolean",
"description": "Place offers wheelchair accessible parking."
},
"wheelchairAccessibleSeating": {
"type": "boolean",
"description": "Place has wheelchair accessible seating."
},
"wheelchairAccessibleEntrance": {
"type": "boolean",
"description": "Places has wheelchair accessible entrance."
},
"wheelchairAccessibleRestroom": {
"type": "boolean",
"description": "Place has wheelchair accessible restroom."
}
},
"description": "Information about the accessibility options a place offers."
}
],
"description": "Information about the accessibility options a place offers."
},
"servesVegetarianFood": {
"type": "boolean",
"description": "Specifies if the place serves vegetarian food."
},
"goodForWatchingSports": {
"type": "boolean",
"description": "Place is suitable for watching sports."
},
"shortFormattedAddress": {
"type": "string",
"description": "A short, human-readable address for this place."
},
"evChargeAmenitySummary": {
"allOf": [
{
"type": "object",
"properties": {
"store": {
"allOf": [
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "The topic of the content, for example \"overview\" or \"restaurant\"."
},
"content": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "Content related to the topic."
},
"references": {
"allOf": [
{
"type": "object",
"properties": {
"places": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of resource names of the referenced places. This name can be used\n in other APIs that accept Place resource names."
},
"reviews": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "A reference representing this place review which may be used to look up\n this place review again (also called the API \"resource\" name:\n `places/{place_id}/reviews/{review}`)."
},
"text": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The localized text of the review."
},
"rating": {
"type": "number",
"format": "double",
"description": "A number between 1.0 and 5.0, also called the number of stars."
},
"visitDate": {
"type": "string",
"format": "date",
"description": "The date when the author visited the place. This is truncated to the year\n and month of the visit."
},
"publishTime": {
"type": "string",
"format": "date-time",
"description": "Timestamp for the review."
},
"originalText": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The review text in its original language."
},
"googleMapsUri": {
"type": "string",
"description": "A link to show the review on Google Maps."
},
"flagContentUri": {
"type": "string",
"description": "A link where users can flag a problem with the review."
},
"authorAttribution": {
"allOf": [
{
"type": "object",
"properties": {
"uri": {
"type": "string",
"description": "URI of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"photoUri": {
"type": "string",
"description": "Profile photo URI of the author of the\n [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"displayName": {
"type": "string",
"description": "Name of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
}
},
"description": "Information about the author of the UGC data. Used in\n [Photo][google.maps.places.v1.Photo], and\n [Review][google.maps.places.v1.Review]."
}
],
"description": "This review's author."
},
"relativePublishTimeDescription": {
"type": "string",
"description": "A string of formatted recent time, expressing the review time relative\n to the current time in a form appropriate for the language and country."
}
},
"description": "Information about a review of a place."
},
"description": "Reviews that serve as references."
}
},
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details.\n\n Reference that the generative content is related to."
}
],
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details.\n\n References that are related to this block of content."
}
},
"description": "A block of content that can be served individually."
}
],
"description": "A summary of the nearby stores."
},
"coffee": {
"allOf": [
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "The topic of the content, for example \"overview\" or \"restaurant\"."
},
"content": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "Content related to the topic."
},
"references": {
"allOf": [
{
"type": "object",
"properties": {
"places": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of resource names of the referenced places. This name can be used\n in other APIs that accept Place resource names."
},
"reviews": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "A reference representing this place review which may be used to look up\n this place review again (also called the API \"resource\" name:\n `places/{place_id}/reviews/{review}`)."
},
"text": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The localized text of the review."
},
"rating": {
"type": "number",
"format": "double",
"description": "A number between 1.0 and 5.0, also called the number of stars."
},
"visitDate": {
"type": "string",
"format": "date",
"description": "The date when the author visited the place. This is truncated to the year\n and month of the visit."
},
"publishTime": {
"type": "string",
"format": "date-time",
"description": "Timestamp for the review."
},
"originalText": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The review text in its original language."
},
"googleMapsUri": {
"type": "string",
"description": "A link to show the review on Google Maps."
},
"flagContentUri": {
"type": "string",
"description": "A link where users can flag a problem with the review."
},
"authorAttribution": {
"allOf": [
{
"type": "object",
"properties": {
"uri": {
"type": "string",
"description": "URI of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"photoUri": {
"type": "string",
"description": "Profile photo URI of the author of the\n [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"displayName": {
"type": "string",
"description": "Name of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
}
},
"description": "Information about the author of the UGC data. Used in\n [Photo][google.maps.places.v1.Photo], and\n [Review][google.maps.places.v1.Review]."
}
],
"description": "This review's author."
},
"relativePublishTimeDescription": {
"type": "string",
"description": "A string of formatted recent time, expressing the review time relative\n to the current time in a form appropriate for the language and country."
}
},
"description": "Information about a review of a place."
},
"description": "Reviews that serve as references."
}
},
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details.\n\n Reference that the generative content is related to."
}
],
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details.\n\n References that are related to this block of content."
}
},
"description": "A block of content that can be served individually."
}
],
"description": "A summary of the nearby coffee options."
},
"overview": {
"allOf": [
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "The topic of the content, for example \"overview\" or \"restaurant\"."
},
"content": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "Content related to the topic."
},
"references": {
"allOf": [
{
"type": "object",
"properties": {
"places": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of resource names of the referenced places. This name can be used\n in other APIs that accept Place resource names."
},
"reviews": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "A reference representing this place review which may be used to look up\n this place review again (also called the API \"resource\" name:\n `places/{place_id}/reviews/{review}`)."
},
"text": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The localized text of the review."
},
"rating": {
"type": "number",
"format": "double",
"description": "A number between 1.0 and 5.0, also called the number of stars."
},
"visitDate": {
"type": "string",
"format": "date",
"description": "The date when the author visited the place. This is truncated to the year\n and month of the visit."
},
"publishTime": {
"type": "string",
"format": "date-time",
"description": "Timestamp for the review."
},
"originalText": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The review text in its original language."
},
"googleMapsUri": {
"type": "string",
"description": "A link to show the review on Google Maps."
},
"flagContentUri": {
"type": "string",
"description": "A link where users can flag a problem with the review."
},
"authorAttribution": {
"allOf": [
{
"type": "object",
"properties": {
"uri": {
"type": "string",
"description": "URI of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"photoUri": {
"type": "string",
"description": "Profile photo URI of the author of the\n [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"displayName": {
"type": "string",
"description": "Name of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
}
},
"description": "Information about the author of the UGC data. Used in\n [Photo][google.maps.places.v1.Photo], and\n [Review][google.maps.places.v1.Review]."
}
],
"description": "This review's author."
},
"relativePublishTimeDescription": {
"type": "string",
"description": "A string of formatted recent time, expressing the review time relative\n to the current time in a form appropriate for the language and country."
}
},
"description": "Information about a review of a place."
},
"description": "Reviews that serve as references."
}
},
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details.\n\n Reference that the generative content is related to."
}
],
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details.\n\n References that are related to this block of content."
}
},
"description": "A block of content that can be served individually."
}
],
"description": "An overview of the available amenities. This is guaranteed to be\n provided."
},
"restaurant": {
"allOf": [
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"description": "The topic of the content, for example \"overview\" or \"restaurant\"."
},
"content": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "Content related to the topic."
},
"references": {
"allOf": [
{
"type": "object",
"properties": {
"places": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of resource names of the referenced places. This name can be used\n in other APIs that accept Place resource names."
},
"reviews": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "A reference representing this place review which may be used to look up\n this place review again (also called the API \"resource\" name:\n `places/{place_id}/reviews/{review}`)."
},
"text": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The localized text of the review."
},
"rating": {
"type": "number",
"format": "double",
"description": "A number between 1.0 and 5.0, also called the number of stars."
},
"visitDate": {
"type": "string",
"format": "date",
"description": "The date when the author visited the place. This is truncated to the year\n and month of the visit."
},
"publishTime": {
"type": "string",
"format": "date-time",
"description": "Timestamp for the review."
},
"originalText": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The review text in its original language."
},
"googleMapsUri": {
"type": "string",
"description": "A link to show the review on Google Maps."
},
"flagContentUri": {
"type": "string",
"description": "A link where users can flag a problem with the review."
},
"authorAttribution": {
"allOf": [
{
"type": "object",
"properties": {
"uri": {
"type": "string",
"description": "URI of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"photoUri": {
"type": "string",
"description": "Profile photo URI of the author of the\n [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"displayName": {
"type": "string",
"description": "Name of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
}
},
"description": "Information about the author of the UGC data. Used in\n [Photo][google.maps.places.v1.Photo], and\n [Review][google.maps.places.v1.Review]."
}
],
"description": "This review's author."
},
"relativePublishTimeDescription": {
"type": "string",
"description": "A string of formatted recent time, expressing the review time relative\n to the current time in a form appropriate for the language and country."
}
},
"description": "Information about a review of a place."
},
"description": "Reviews that serve as references."
}
},
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details.\n\n Reference that the generative content is related to."
}
],
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details.\n\n References that are related to this block of content."
}
},
"description": "A block of content that can be served individually."
}
],
"description": "A summary of the nearby restaurants."
},
"disclosureText": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The AI disclosure message \"Summarized with Gemini\"\n (and its localized variants). This will be in the language specified in\n the request if available."
},
"flagContentUri": {
"type": "string",
"description": "A link where users can flag a problem with the summary."
}
},
"description": "The summary of amenities near the EV charging station. This only applies to\n places with type `electric_vehicle_charging_station`. The `overview` field\n is guaranteed to be provided while the other fields are optional."
}
],
"description": "The summary of amenities near the EV charging station."
},
"primaryTypeDisplayName": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The display name of the primary type, localized to the request language if\n applicable. For the complete list of possible values, see Table A and Table\n B at\n https://developers.google.com/maps/documentation/places/web-service/place-types.\n The primary type may be missing if the place's primary type is not a\n supported type."
},
"pureServiceAreaBusiness": {
"type": "boolean",
"description": "Indicates whether the place is a pure service area business. Pure service\n area business is a business that visits or delivers to customers directly\n but does not serve customers at their business address. For example,\n businesses like cleaning services or plumbers. Those businesses may not\n have a physical address or location on Google Maps."
},
"internationalPhoneNumber": {
"type": "string",
"description": "A human-readable phone number for the place, in international format."
},
"currentSecondaryOpeningHours": {
"type": "array",
"items": {
"type": "object",
"properties": {
"openNow": {
"type": "boolean",
"description": "Whether the opening hours period is currently active. For regular opening\n hours and current opening hours, this field means whether the place is\n open. For secondary opening hours and current secondary opening hours,\n this field means whether the secondary hours of this place is active."
},
"periods": {
"type": "array",
"items": {
"type": "object",
"properties": {
"open": {
"allOf": [
{
"type": "object",
"properties": {
"day": {
"type": "integer",
"format": "int32",
"description": "A day of the week, as an integer in the range 0-6. 0 is Sunday, 1 is\n Monday, etc."
},
"date": {
"type": "string",
"format": "date",
"description": "Date in the local timezone for the place."
},
"hour": {
"type": "integer",
"format": "int32",
"description": "The hour in 24 hour format. Ranges from 0 to 23."
},
"minute": {
"type": "integer",
"format": "int32",
"description": "The minute. Ranges from 0 to 59."
},
"truncated": {
"type": "boolean",
"description": "Whether or not this endpoint was truncated. Truncation occurs when\n the real hours are outside the times we are willing to return hours\n between, so we truncate the hours back to these boundaries. This\n ensures that at most 24 * 7 hours from midnight of the day of the\n request are returned."
}
},
"description": "Status changing points."
}
],
"description": "The time that the place starts to be open."
},
"close": {
"allOf": [
{
"type": "object",
"properties": {
"day": {
"type": "integer",
"format": "int32",
"description": "A day of the week, as an integer in the range 0-6. 0 is Sunday, 1 is\n Monday, etc."
},
"date": {
"type": "string",
"format": "date",
"description": "Date in the local timezone for the place."
},
"hour": {
"type": "integer",
"format": "int32",
"description": "The hour in 24 hour format. Ranges from 0 to 23."
},
"minute": {
"type": "integer",
"format": "int32",
"description": "The minute. Ranges from 0 to 59."
},
"truncated": {
"type": "boolean",
"description": "Whether or not this endpoint was truncated. Truncation occurs when\n the real hours are outside the times we are willing to return hours\n between, so we truncate the hours back to these boundaries. This\n ensures that at most 24 * 7 hours from midnight of the day of the\n request are returned."
}
},
"description": "Status changing points."
}
],
"description": "The time that the place starts to be closed."
}
},
"description": "A period the place remains in open_now status."
},
"description": "The periods that this place is open during the week. The periods are in\n chronological order, in the place-local timezone. An empty (but not\n absent) value indicates a place that is never open, e.g.\n because it is closed temporarily for renovations.\n\n The starting day of `periods` is NOT fixed and should not be assumed to\n be Sunday. The API determines the start day based on a variety of\n factors. For example, for a 24/7 business, the first period may begin on\n the day of the request. For other businesses, it might be the first day\n of the week that they are open.\n\n NOTE: The ordering of the `periods` array is independent of the ordering\n of the `weekday_descriptions` array. Do not assume they will begin on the\n same day."
},
"specialDays": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date",
"description": "The date of this special day."
}
},
"description": "Structured information for special days that fall within the period that\n the returned opening hours cover. Special days are days that could impact\n the business hours of a place, e.g. Christmas day."
},
"description": "Structured information for special days that fall within the period that\n the returned opening hours cover. Special days are days that could impact\n the business hours of a place, e.g. Christmas day. Set for\n current_opening_hours and current_secondary_opening_hours if there are\n exceptional hours."
},
"nextOpenTime": {
"type": "string",
"format": "date-time",
"description": "The next time the current opening hours period starts up to 7 days in the\n future. This field is only populated if the opening hours period is not\n active at the time of serving the request."
},
"nextCloseTime": {
"type": "string",
"format": "date-time",
"description": "The next time the current opening hours period ends up to 7 days in the\n future. This field is only populated if the opening hours period is\n active at the time of serving the request."
},
"secondaryHoursType": {
"type": "integer",
"format": "enum",
"description": "A type string used to identify the type of secondary hours."
},
"weekdayDescriptions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Localized strings describing the opening hours of this place, one string\n for each day of the week.\n\n NOTE: The order of the days and the start of the week is determined by\n the locale (language and region). The ordering of the `periods` array is\n independent of the ordering of the `weekday_descriptions` array. Do not\n assume they will begin on the same day.\n\n Will be empty if the hours are unknown or could not be converted to\n localized text. Example: \"Sun: 18:00–06:00\""
}
},
"description": "Information about business hour of the place."
},
"description": "Contains an array of entries for the next seven days including information\n about secondary hours of a business. Secondary hours are different from a\n business's main hours. For example, a restaurant can specify drive through\n hours or delivery hours as its secondary hours. This field populates the\n type subfield, which draws from a predefined list of opening hours types\n (such as DRIVE_THROUGH, PICKUP, or TAKEOUT) based on the types of the\n place. This field includes the special_days subfield of all hours, set for\n dates that have exceptional hours."
},
"regularSecondaryOpeningHours": {
"type": "array",
"items": {
"type": "object",
"properties": {
"openNow": {
"type": "boolean",
"description": "Whether the opening hours period is currently active. For regular opening\n hours and current opening hours, this field means whether the place is\n open. For secondary opening hours and current secondary opening hours,\n this field means whether the secondary hours of this place is active."
},
"periods": {
"type": "array",
"items": {
"type": "object",
"properties": {
"open": {
"allOf": [
{
"type": "object",
"properties": {
"day": {
"type": "integer",
"format": "int32",
"description": "A day of the week, as an integer in the range 0-6. 0 is Sunday, 1 is\n Monday, etc."
},
"date": {
"type": "string",
"format": "date",
"description": "Date in the local timezone for the place."
},
"hour": {
"type": "integer",
"format": "int32",
"description": "The hour in 24 hour format. Ranges from 0 to 23."
},
"minute": {
"type": "integer",
"format": "int32",
"description": "The minute. Ranges from 0 to 59."
},
"truncated": {
"type": "boolean",
"description": "Whether or not this endpoint was truncated. Truncation occurs when\n the real hours are outside the times we are willing to return hours\n between, so we truncate the hours back to these boundaries. This\n ensures that at most 24 * 7 hours from midnight of the day of the\n request are returned."
}
},
"description": "Status changing points."
}
],
"description": "The time that the place starts to be open."
},
"close": {
"allOf": [
{
"type": "object",
"properties": {
"day": {
"type": "integer",
"format": "int32",
"description": "A day of the week, as an integer in the range 0-6. 0 is Sunday, 1 is\n Monday, etc."
},
"date": {
"type": "string",
"format": "date",
"description": "Date in the local timezone for the place."
},
"hour": {
"type": "integer",
"format": "int32",
"description": "The hour in 24 hour format. Ranges from 0 to 23."
},
"minute": {
"type": "integer",
"format": "int32",
"description": "The minute. Ranges from 0 to 59."
},
"truncated": {
"type": "boolean",
"description": "Whether or not this endpoint was truncated. Truncation occurs when\n the real hours are outside the times we are willing to return hours\n between, so we truncate the hours back to these boundaries. This\n ensures that at most 24 * 7 hours from midnight of the day of the\n request are returned."
}
},
"description": "Status changing points."
}
],
"description": "The time that the place starts to be closed."
}
},
"description": "A period the place remains in open_now status."
},
"description": "The periods that this place is open during the week. The periods are in\n chronological order, in the place-local timezone. An empty (but not\n absent) value indicates a place that is never open, e.g.\n because it is closed temporarily for renovations.\n\n The starting day of `periods` is NOT fixed and should not be assumed to\n be Sunday. The API determines the start day based on a variety of\n factors. For example, for a 24/7 business, the first period may begin on\n the day of the request. For other businesses, it might be the first day\n of the week that they are open.\n\n NOTE: The ordering of the `periods` array is independent of the ordering\n of the `weekday_descriptions` array. Do not assume they will begin on the\n same day."
},
"specialDays": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date",
"description": "The date of this special day."
}
},
"description": "Structured information for special days that fall within the period that\n the returned opening hours cover. Special days are days that could impact\n the business hours of a place, e.g. Christmas day."
},
"description": "Structured information for special days that fall within the period that\n the returned opening hours cover. Special days are days that could impact\n the business hours of a place, e.g. Christmas day. Set for\n current_opening_hours and current_secondary_opening_hours if there are\n exceptional hours."
},
"nextOpenTime": {
"type": "string",
"format": "date-time",
"description": "The next time the current opening hours period starts up to 7 days in the\n future. This field is only populated if the opening hours period is not\n active at the time of serving the request."
},
"nextCloseTime": {
"type": "string",
"format": "date-time",
"description": "The next time the current opening hours period ends up to 7 days in the\n future. This field is only populated if the opening hours period is\n active at the time of serving the request."
},
"secondaryHoursType": {
"type": "integer",
"format": "enum",
"description": "A type string used to identify the type of secondary hours."
},
"weekdayDescriptions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Localized strings describing the opening hours of this place, one string\n for each day of the week.\n\n NOTE: The order of the days and the start of the week is determined by\n the locale (language and region). The ordering of the `periods` array is\n independent of the ordering of the `weekday_descriptions` array. Do not\n assume they will begin on the same day.\n\n Will be empty if the hours are unknown or could not be converted to\n localized text. Example: \"Sun: 18:00–06:00\""
}
},
"description": "Information about business hour of the place."
},
"description": "Contains an array of entries for information about regular secondary hours\n of a business. Secondary hours are different from a business's main hours.\n For example, a restaurant can specify drive through hours or delivery hours\n as its secondary hours. This field populates the type subfield, which draws\n from a predefined list of opening hours types (such as DRIVE_THROUGH,\n PICKUP, or TAKEOUT) based on the types of the place."
}
},
"description": "All the information representing a Place."
},
"description": "A list of places that meet the user's text search criteria."
},
"routingSummaries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"legs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"duration": {
"type": "string",
"pattern": "^-?(?:0|[1-9][0-9]{0,11})(?:\\.[0-9]{1,9})?s$",
"description": "The time it takes to complete this leg of the trip."
},
"distanceMeters": {
"type": "integer",
"format": "int32",
"description": "The distance of this leg of the trip."
}
},
"description": "A leg is a single portion of a journey from one location to another."
},
"description": "The legs of the trip.\n\n When you calculate travel duration and distance from a set origin, `legs`\n contains a single leg containing the duration and distance from the origin\n to the destination. When you do a search along route, `legs` contains two\n legs: one from the origin to place, and one from the place to the\n destination."
},
"directionsUri": {
"type": "string",
"description": "A link to show directions on Google Maps using the waypoints from the given\n routing summary. The route generated by this link is not guaranteed to be\n the same as the route used to generate the routing summary.\n The link uses information provided in the request, from fields including\n `routingParameters` and `searchAlongRouteParameters` when applicable, to\n generate the directions link."
}
},
"description": "The duration and distance from the routing origin to a place in the\n response, and a second leg from that place to the destination, if requested.\n **Note:** Adding `routingSummaries` in the field mask without also including\n either the `routingParameters.origin` parameter or the\n `searchAlongRouteParameters.polyline.encodedPolyline` parameter in the\n request causes an error."
},
"description": "A list of routing summaries where each entry associates to the\n corresponding place in the same index in the `places` field. If the routing\n summary is not available for one of the places, it will contain an empty\n entry. This list will have as many entries as the list of places if\n requested."
},
"contextualContents": {
"type": "array",
"items": {
"type": "object",
"properties": {
"photos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Identifier. A reference representing this place photo which may be used to\n look up this place photo again (also called the API \"resource\" name:\n `places/{place_id}/photos/{photo}`)."
},
"widthPx": {
"type": "integer",
"format": "int32",
"description": "The maximum available width, in pixels."
},
"heightPx": {
"type": "integer",
"format": "int32",
"description": "The maximum available height, in pixels."
},
"googleMapsUri": {
"type": "string",
"description": "A link to show the photo on Google Maps."
},
"flagContentUri": {
"type": "string",
"description": "A link where users can flag a problem with the photo."
},
"authorAttributions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"uri": {
"type": "string",
"description": "URI of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"photoUri": {
"type": "string",
"description": "Profile photo URI of the author of the\n [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"displayName": {
"type": "string",
"description": "Name of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
}
},
"description": "Information about the author of the UGC data. Used in\n [Photo][google.maps.places.v1.Photo], and\n [Review][google.maps.places.v1.Review]."
},
"description": "This photo's authors."
}
},
"description": "Information about a photo of a place."
},
"description": "Information (including references) about photos of this place, contexual to\n the place query."
},
"reviews": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "A reference representing this place review which may be used to look up\n this place review again (also called the API \"resource\" name:\n `places/{place_id}/reviews/{review}`)."
},
"text": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The localized text of the review."
},
"rating": {
"type": "number",
"format": "double",
"description": "A number between 1.0 and 5.0, also called the number of stars."
},
"visitDate": {
"type": "string",
"format": "date",
"description": "The date when the author visited the place. This is truncated to the year\n and month of the visit."
},
"publishTime": {
"type": "string",
"format": "date-time",
"description": "Timestamp for the review."
},
"originalText": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The review text in its original language."
},
"googleMapsUri": {
"type": "string",
"description": "A link to show the review on Google Maps."
},
"flagContentUri": {
"type": "string",
"description": "A link where users can flag a problem with the review."
},
"authorAttribution": {
"allOf": [
{
"type": "object",
"properties": {
"uri": {
"type": "string",
"description": "URI of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"photoUri": {
"type": "string",
"description": "Profile photo URI of the author of the\n [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"displayName": {
"type": "string",
"description": "Name of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
}
},
"description": "Information about the author of the UGC data. Used in\n [Photo][google.maps.places.v1.Photo], and\n [Review][google.maps.places.v1.Review]."
}
],
"description": "This review's author."
},
"relativePublishTimeDescription": {
"type": "string",
"description": "A string of formatted recent time, expressing the review time relative\n to the current time in a form appropriate for the language and country."
}
},
"description": "Information about a review of a place."
},
"description": "List of reviews about this place, contexual to the place query."
},
"justifications": {
"type": "array",
"items": {
"type": "object",
"properties": {
"reviewJustification": {
"allOf": [
{
"type": "object",
"properties": {
"review": {
"allOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "A reference representing this place review which may be used to look up\n this place review again (also called the API \"resource\" name:\n `places/{place_id}/reviews/{review}`)."
},
"text": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The localized text of the review."
},
"rating": {
"type": "number",
"format": "double",
"description": "A number between 1.0 and 5.0, also called the number of stars."
},
"visitDate": {
"type": "string",
"format": "date",
"description": "The date when the author visited the place. This is truncated to the year\n and month of the visit."
},
"publishTime": {
"type": "string",
"format": "date-time",
"description": "Timestamp for the review."
},
"originalText": {
"allOf": [
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Localized string in the language corresponding to `language_code' below."
},
"languageCode": {
"type": "string",
"description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\n\n For more information, see\n http://www.unicode.org/reports/tr35/#Unicode_locale_identifier."
}
},
"description": "Localized variant of a text in a particular language."
}
],
"description": "The review text in its original language."
},
"googleMapsUri": {
"type": "string",
"description": "A link to show the review on Google Maps."
},
"flagContentUri": {
"type": "string",
"description": "A link where users can flag a problem with the review."
},
"authorAttribution": {
"allOf": [
{
"type": "object",
"properties": {
"uri": {
"type": "string",
"description": "URI of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"photoUri": {
"type": "string",
"description": "Profile photo URI of the author of the\n [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
},
"displayName": {
"type": "string",
"description": "Name of the author of the [Photo][google.maps.places.v1.Photo] or\n [Review][google.maps.places.v1.Review]."
}
},
"description": "Information about the author of the UGC data. Used in\n [Photo][google.maps.places.v1.Photo], and\n [Review][google.maps.places.v1.Review]."
}
],
"description": "This review's author."
},
"relativePublishTimeDescription": {
"type": "string",
"description": "A string of formatted recent time, expressing the review time relative\n to the current time in a form appropriate for the language and country."
}
},
"description": "Information about a review of a place."
}
],
"description": "The review that the highlighted text is generated from."
},
"highlightedText": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"highlightedTextRanges": {
"type": "array",
"items": {
"type": "object",
"properties": {
"endIndex": {
"type": "integer",
"format": "int32"
},
"startIndex": {
"type": "integer",
"format": "int32"
}
},
"description": "The range of highlighted text."
},
"description": "The list of the ranges of the highlighted text."
}
},
"description": "The text highlighted by the justification. This is a subset of the\n review itself. The exact word to highlight is marked by the\n HighlightedTextRange. There could be several words in the text being\n highlighted."
}
},
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details.\n\n User review justifications. This highlights a section of the user review\n that would interest an end user. For instance, if the search query is\n \"firewood pizza\", the review justification highlights the text relevant\n to the search query."
}
],
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details."
},
"businessAvailabilityAttributesJustification": {
"allOf": [
{
"type": "object",
"properties": {
"dineIn": {
"type": "boolean",
"description": "If a place provides dine-in."
},
"takeout": {
"type": "boolean",
"description": "If a place provides takeout."
},
"delivery": {
"type": "boolean",
"description": "If a place provides delivery."
}
},
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details.\n BusinessAvailabilityAttributes justifications. This shows some attributes\n a business has that could interest an end user."
}
],
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details."
}
},
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details.\n\n Justifications for the place. Justifications answers the question of why a\n place could interest an end user."
},
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details.\n\n Justifications for the place."
}
},
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details.\n\n Content that is contextual to the place query."
},
"description": "Experimental: See\n https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative\n for more details.\n\n A list of contextual contents where each entry associates to the\n corresponding place in the same index in the places field. The contents\n that are relevant to the `text_query` in the request are preferred. If the\n contextual content is not available for one of the places, it will return\n non-contextual content. It will be empty only when the content is\n unavailable for this place. This list will have as many entries as the\n list of places if requested."
}
},
"description": "Response proto for SearchText."
}
}
},
"description": "OK"
},
"default": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32",
"description": "The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]."
},
"details": {
"type": "array",
"items": {
"type": "object",
"properties": {
"@type": {
"type": "string",
"description": "The type of the serialized message."
}
},
"description": "Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.",
"additionalProperties": true
},
"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use."
},
"message": {
"type": "string",
"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client."
}
},
"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors)."
}
}
},
"description": "Default error response"
}
},
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"textQuery"
],
"properties": {
"openNow": {
"type": "boolean",
"description": "Used to restrict the search to places that are currently open. The default\n is false."
},
"evOptions": {
"allOf": [
{
"type": "object",
"properties": {
"connectorTypes": {
"type": "array",
"items": {
"type": "integer",
"format": "enum"
},
"description": "Optional. The list of preferred EV connector types. A place that does not\n support any of the listed connector types is filtered out."
},
"minimumChargingRateKw": {
"type": "number",
"format": "double",
"description": "Optional. Minimum required charging rate in kilowatts. A place with a\n charging rate less than the specified rate is filtered out."
}
},
"description": "Searchable EV options of a place search request."
}
],
"description": "Optional. Set the searchable EV options of a place search request."
},
"minRating": {
"type": "number",
"format": "double",
"description": "Filter out results whose average user rating is strictly less than this\n limit. A valid value must be a float between 0 and 5 (inclusively) at a\n 0.5 cadence i.e. [0, 0.5, 1.0, ... , 5.0] inclusively. The input rating\n will round up to the nearest 0.5(ceiling). For instance, a rating of 0.6\n will eliminate all results with a less than 1.0 rating."
},
"textQuery": {
"type": "string",
"description": "Required. The text query for textual search."
},
"regionCode": {
"type": "string",
"description": "The Unicode country/region code (CLDR) of the location where the\n request is coming from. This parameter is used to display the place\n details, like region-specific place name, if available. The parameter can\n affect results based on applicable law.\n\n For more information, see\n https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html.\n\n\n Note that 3-digit region codes are not currently supported."
},
"priceLevels": {
"type": "array",
"items": {
"type": "integer",
"format": "enum"
},
"description": "Used to restrict the search to places that are marked as certain price\n levels. Users can choose any combinations of price levels. Default to\n select all price levels."
},
"includedType": {
"type": "string",
"description": "The requested place type. Full list of types supported:\n https://developers.google.com/maps/documentation/places/web-service/place-types.\n Only support one included type."
},
"languageCode": {
"type": "string",
"description": "Place details will be displayed with the preferred language if available.\n If the language code is unspecified or unrecognized, place details of any\n language may be returned, with a preference for English if such details\n exist.\n\n Current list of supported languages:\n https://developers.google.com/maps/faq#languagesupport."
},
"locationBias": {
"allOf": [
{
"type": "object",
"properties": {
"circle": {
"allOf": [
{
"type": "object",
"required": [
"center",
"radius"
],
"properties": {
"center": {
"allOf": [
{
"type": "object",
"properties": {
"latitude": {
"type": "number",
"format": "double",
"description": "The latitude in degrees. It must be in the range [-90.0, +90.0]."
},
"longitude": {
"type": "number",
"format": "double",
"description": "The longitude in degrees. It must be in the range [-180.0, +180.0]."
}
},
"description": "An object that represents a latitude/longitude pair. This is expressed as a\n pair of doubles to represent degrees latitude and degrees longitude. Unless\n specified otherwise, this must conform to the\n <a href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\">WGS84\n standard</a>. Values must be within normalized ranges."
}
],
"description": "Required. Center latitude and longitude.\n\n The range of latitude must be within [-90.0, 90.0]. The range of the\n longitude must be within [-180.0, 180.0]."
},
"radius": {
"type": "number",
"format": "double",
"description": "Required. Radius measured in meters. The radius must be within [0.0,\n 50000.0]."
}
},
"description": "Circle with a LatLng as center and radius."
}
],
"description": "A circle defined by center point and radius."
},
"rectangle": {
"allOf": [
{
"type": "object",
"properties": {
"low": {
"allOf": [
{
"type": "object",
"properties": {
"latitude": {
"type": "number",
"format": "double",
"description": "The latitude in degrees. It must be in the range [-90.0, +90.0]."
},
"longitude": {
"type": "number",
"format": "double",
"description": "The longitude in degrees. It must be in the range [-180.0, +180.0]."
}
},
"description": "An object that represents a latitude/longitude pair. This is expressed as a\n pair of doubles to represent degrees latitude and degrees longitude. Unless\n specified otherwise, this must conform to the\n <a href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\">WGS84\n standard</a>. Values must be within normalized ranges."
}
],
"description": "Required. The low point of the viewport."
},
"high": {
"allOf": [
{
"type": "object",
"properties": {
"latitude": {
"type": "number",
"format": "double",
"description": "The latitude in degrees. It must be in the range [-90.0, +90.0]."
},
"longitude": {
"type": "number",
"format": "double",
"description": "The longitude in degrees. It must be in the range [-180.0, +180.0]."
}
},
"description": "An object that represents a latitude/longitude pair. This is expressed as a\n pair of doubles to represent degrees latitude and degrees longitude. Unless\n specified otherwise, this must conform to the\n <a href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\">WGS84\n standard</a>. Values must be within normalized ranges."
}
],
"description": "Required. The high point of the viewport."
}
},
"description": "A latitude-longitude viewport, represented as two diagonally opposite `low`\n and `high` points. A viewport is considered a closed region, i.e. it includes\n its boundary. The latitude bounds must range between -90 to 90 degrees\n inclusive, and the longitude bounds must range between -180 to 180 degrees\n inclusive. Various cases include:\n\n - If `low` = `high`, the viewport consists of that single point.\n\n - If `low.longitude` > `high.longitude`, the longitude range is inverted\n (the viewport crosses the 180 degree longitude line).\n\n - If `low.longitude` = -180 degrees and `high.longitude` = 180 degrees,\n the viewport includes all longitudes.\n\n - If `low.longitude` = 180 degrees and `high.longitude` = -180 degrees,\n the longitude range is empty.\n\n - If `low.latitude` > `high.latitude`, the latitude range is empty.\n\n Both `low` and `high` must be populated, and the represented box cannot be\n empty (as specified by the definitions above). An empty viewport will result\n in an error.\n\n For example, this viewport fully encloses New York City:\n\n {\n \"low\": {\n \"latitude\": 40.477398,\n \"longitude\": -74.259087\n },\n \"high\": {\n \"latitude\": 40.91618,\n \"longitude\": -73.70018\n }\n }"
}
],
"description": "A rectangle box defined by northeast and southwest corner.\n `rectangle.high()` must be the northeast point of the rectangle\n viewport. `rectangle.low()` must be the southwest point of the\n rectangle viewport. `rectangle.low().latitude()` cannot be greater than\n `rectangle.high().latitude()`. This will result in an empty latitude\n range. A rectangle viewport cannot be wider than 180 degrees."
}
},
"description": "The region to search. This location serves as a bias which means results\n around given location might be returned."
}
],
"description": "The region to search. This location serves as a bias which means results\n around given location might be returned. Cannot be set along with\n location_restriction."
},
"maxResultCount": {
"type": "integer",
"format": "int32",
"description": "Maximum number of results to return. It must be between 1 and 20,\n inclusively. The default is 20. If the number is unset, it falls back to\n the upper limit. If the number is set to negative or exceeds the upper\n limit, an INVALID_ARGUMENT error is returned."
},
"rankPreference": {
"type": "integer",
"format": "enum",
"description": "How results will be ranked in the response."
},
"routingParameters": {
"allOf": [
{
"type": "object",
"properties": {
"origin": {
"allOf": [
{
"type": "object",
"properties": {
"latitude": {
"type": "number",
"format": "double",
"description": "The latitude in degrees. It must be in the range [-90.0, +90.0]."
},
"longitude": {
"type": "number",
"format": "double",
"description": "The longitude in degrees. It must be in the range [-180.0, +180.0]."
}
},
"description": "An object that represents a latitude/longitude pair. This is expressed as a\n pair of doubles to represent degrees latitude and degrees longitude. Unless\n specified otherwise, this must conform to the\n <a href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\">WGS84\n standard</a>. Values must be within normalized ranges."
}
],
"description": "Optional. An explicit routing origin that overrides the origin defined in\n the polyline. By default, the polyline origin is used."
},
"travelMode": {
"type": "integer",
"format": "enum",
"description": "Optional. The travel mode."
},
"routeModifiers": {
"allOf": [
{
"type": "object",
"properties": {
"avoidTolls": {
"type": "boolean",
"description": "Optional. When set to true, avoids toll roads where reasonable, giving\n preference to routes not containing toll roads. Applies only to the `DRIVE`\n and `TWO_WHEELER` [`TravelMode`][google.maps.places.v1.TravelMode]."
},
"avoidIndoor": {
"type": "boolean",
"description": "Optional. When set to true, avoids navigating indoors where reasonable,\n giving preference to routes not containing indoor navigation. Applies only\n to the `WALK` [`TravelMode`][google.maps.places.v1.TravelMode]."
},
"avoidFerries": {
"type": "boolean",
"description": "Optional. When set to true, avoids ferries where reasonable, giving\n preference to routes not containing ferries. Applies only to the `DRIVE`\n and `TWO_WHEELER` [`TravelMode`][google.maps.places.v1.TravelMode]."
},
"avoidHighways": {
"type": "boolean",
"description": "Optional. When set to true, avoids highways where reasonable, giving\n preference to routes not containing highways. Applies only to the `DRIVE`\n and `TWO_WHEELER` [`TravelMode`][google.maps.places.v1.TravelMode]."
}
},
"description": "Encapsulates a set of optional conditions to satisfy when calculating the\n routes."
}
],
"description": "Optional. The route modifiers."
},
"routingPreference": {
"type": "integer",
"format": "enum",
"description": "Optional. Specifies how to compute the routing summaries. The server\n attempts to use the selected routing preference to compute the route. The\n traffic aware routing preference is only available for the `DRIVE` or\n `TWO_WHEELER` `travelMode`."
}
},
"description": "Parameters to configure the routing calculations to the places in the\n response, both along a route (where result ranking will be influenced) and\n for calculating travel times on results."
}
],
"description": "Optional. Additional parameters for routing to results."
},
"locationRestriction": {
"allOf": [
{
"type": "object",
"properties": {
"rectangle": {
"allOf": [
{
"type": "object",
"properties": {
"low": {
"allOf": [
{
"type": "object",
"properties": {
"latitude": {
"type": "number",
"format": "double",
"description": "The latitude in degrees. It must be in the range [-90.0, +90.0]."
},
"longitude": {
"type": "number",
"format": "double",
"description": "The longitude in degrees. It must be in the range [-180.0, +180.0]."
}
},
"description": "An object that represents a latitude/longitude pair. This is expressed as a\n pair of doubles to represent degrees latitude and degrees longitude. Unless\n specified otherwise, this must conform to the\n <a href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\">WGS84\n standard</a>. Values must be within normalized ranges."
}
],
"description": "Required. The low point of the viewport."
},
"high": {
"allOf": [
{
"type": "object",
"properties": {
"latitude": {
"type": "number",
"format": "double",
"description": "The latitude in degrees. It must be in the range [-90.0, +90.0]."
},
"longitude": {
"type": "number",
"format": "double",
"description": "The longitude in degrees. It must be in the range [-180.0, +180.0]."
}
},
"description": "An object that represents a latitude/longitude pair. This is expressed as a\n pair of doubles to represent degrees latitude and degrees longitude. Unless\n specified otherwise, this must conform to the\n <a href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\">WGS84\n standard</a>. Values must be within normalized ranges."
}
],
"description": "Required. The high point of the viewport."
}
},
"description": "A latitude-longitude viewport, represented as two diagonally opposite `low`\n and `high` points. A viewport is considered a closed region, i.e. it includes\n its boundary. The latitude bounds must range between -90 to 90 degrees\n inclusive, and the longitude bounds must range between -180 to 180 degrees\n inclusive. Various cases include:\n\n - If `low` = `high`, the viewport consists of that single point.\n\n - If `low.longitude` > `high.longitude`, the longitude range is inverted\n (the viewport crosses the 180 degree longitude line).\n\n - If `low.longitude` = -180 degrees and `high.longitude` = 180 degrees,\n the viewport includes all longitudes.\n\n - If `low.longitude` = 180 degrees and `high.longitude` = -180 degrees,\n the longitude range is empty.\n\n - If `low.latitude` > `high.latitude`, the latitude range is empty.\n\n Both `low` and `high` must be populated, and the represented box cannot be\n empty (as specified by the definitions above). An empty viewport will result\n in an error.\n\n For example, this viewport fully encloses New York City:\n\n {\n \"low\": {\n \"latitude\": 40.477398,\n \"longitude\": -74.259087\n },\n \"high\": {\n \"latitude\": 40.91618,\n \"longitude\": -73.70018\n }\n }"
}
],
"description": "A rectangle box defined by northeast and southwest corner.\n `rectangle.high()` must be the northeast point of the rectangle\n viewport. `rectangle.low()` must be the southwest point of the\n rectangle viewport. `rectangle.low().latitude()` cannot be greater than\n `rectangle.high().latitude()`. This will result in an empty latitude\n range. A rectangle viewport cannot be wider than 180 degrees."
}
},
"description": "The region to search. This location serves as a restriction which means\n results outside given location will not be returned."
}
],
"description": "The region to search. This location serves as a restriction which means\n results outside given location will not be returned. Cannot be set along\n with location_bias."
},
"strictTypeFiltering": {
"type": "boolean",
"description": "Used to set strict type filtering for included_type. If set to true, only\n results of the same type will be returned. Default to false."
},
"searchAlongRouteParameters": {
"allOf": [
{
"type": "object",
"required": [
"polyline"
],
"properties": {
"polyline": {
"allOf": [
{
"type": "object",
"properties": {
"encodedPolyline": {
"type": "string",
"description": "An [encoded\n polyline](https://developers.google.com/maps/documentation/utilities/polylinealgorithm),\n as returned by the [Routes API by\n default](https://developers.google.com/maps/documentation/routes/reference/rest/v2/TopLevel/computeRoutes#polylineencoding).\n See the\n [encoder](https://developers.google.com/maps/documentation/utilities/polylineutility)\n and\n [decoder](https://developers.google.com/maps/documentation/routes/polylinedecoder)\n tools."
}
},
"description": "A route polyline. Only supports an [encoded\n polyline](https://developers.google.com/maps/documentation/utilities/polylinealgorithm),\n which can be passed as a string and includes compression with minimal\n lossiness. This is the Routes API default output."
}
],
"description": "Required. The route polyline."
}
},
"description": "Specifies a precalculated polyline from the [Routes\n API](https://developers.google.com/maps/documentation/routes) defining the\n route to search. Searching along a route is similar to using the\n `locationBias` or `locationRestriction` request option to bias the search\n results. However, while the `locationBias` and `locationRestriction`\n options let you specify a region to bias the search results, this option\n lets you bias the results along a trip route.\n\n Results are not guaranteed to be along the route provided, but rather are\n ranked within the search area defined by the polyline and, optionally, by\n the `locationBias` or `locationRestriction` based on minimal detour times\n from origin to destination. The results might be along an alternate route,\n especially if the provided polyline does not define an optimal route from\n origin to destination."
}
],
"description": "Optional. Additional parameters proto for searching along a route."
},
"includePureServiceAreaBusinesses": {
"type": "boolean",
"description": "Optional. Include pure service area businesses if the field is set to true.\n Pure service area business is a business that visits or delivers to\n customers directly but does not serve customers at their business address.\n For example, businesses like cleaning services or plumbers. Those\n businesses do not have a physical address or location on Google Maps.\n Places will not return fields including `location`, `plus_code`, and other\n location related fields for these businesses."
}
},
"description": "Request proto for SearchText."
}
}
},
"required": true
}
},
"maxAmountRequired": "0.01",
"maxTimeoutSeconds": 86400
}
]Provenance
- Seen in the source catalog
- 2025-12-12 12:06Z
- Last indexed by Roundhouse
- 2026-09-25 20:45Z
- Last enriched (probe, favicon, geo)
- 2026-09-20 23:45Z
- x402 version
- 1
- Max timeout
- 86400s
- Liveness probe
- HTTP 404
Hand this page to an agent
Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.
GET api.roundhouseai.io/v0/endpoints
Nothing indexed for this service or its provider yet. Not a claim that it is unused — only that we hold no record. Verified volume counts only settlements with an on-chain EIP-3009 marker.
Show the promptHide the prompt
Using Roundhouse, look up the x402 service oac1es2d.nx.link and tell me whether it is worth paying: what a call costs, whether the endpoint answered when last probed, and what its payment record actually shows. curl -s 'https://api.roundhouseai.io/v0/endpoints?q=oac1es2d.nx.link' curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>' Then call it: read the price from the live 402 at https://oac1es2d.nx.link/v1/places:searchText, never from a cached figure, and pay with an x402 client. The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except /v0/unified* and /v0/endpoints. Mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402, or use an organization key from https://roundhouseai.io/dashboard/team. If you do not have Roundhouse tools or skills installed, read https://roundhouseai.io/skill.md first — it is the whole procedure.