places.places.autocomplete

valid {
    input.Body.includePureServiceAreaBusinesses == BOOLEAN
    input.Body.includeQueryPredictions == BOOLEAN
    input.Body.includedPrimaryTypes[_] == STRING
    input.Body.includedRegionCodes[_] == STRING
    input.Body.input == STRING
    input.Body.inputOffset == INTEGER
    input.Body.languageCode == STRING
    input.Body.locationBias.circle.center.latitude == NUMBER
    input.Body.locationBias.circle.center.longitude == NUMBER
    input.Body.locationBias.circle.radius == NUMBER
    input.Body.locationBias.rectangle.high.latitude == NUMBER
    input.Body.locationBias.rectangle.high.longitude == NUMBER
    input.Body.locationBias.rectangle.low.latitude == NUMBER
    input.Body.locationBias.rectangle.low.longitude == NUMBER
    input.Body.locationRestriction.circle.center.latitude == NUMBER
    input.Body.locationRestriction.circle.center.longitude == NUMBER
    input.Body.locationRestriction.circle.radius == NUMBER
    input.Body.locationRestriction.rectangle.high.latitude == NUMBER
    input.Body.locationRestriction.rectangle.high.longitude == NUMBER
    input.Body.locationRestriction.rectangle.low.latitude == NUMBER
    input.Body.locationRestriction.rectangle.low.longitude == NUMBER
    input.Body.origin.latitude == NUMBER
    input.Body.origin.longitude == NUMBER
    input.Body.regionCode == STRING
    input.Body.sessionToken == STRING
    input.ProviderMetadata.Region == STRING
}

places.places.get

valid {
    input.ReqMap.name == STRING
    input.Qs.languageCode == STRING
    input.Qs.regionCode == STRING
    input.Qs.sessionToken == STRING
    input.ProviderMetadata.Region == STRING
}

places.places.photos.getMedia

valid {
    input.ReqMap.name == STRING
    input.Qs.maxHeightPx == INTEGER
    input.Qs.maxWidthPx == INTEGER
    input.Qs.skipHttpRedirect == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

places.places.searchNearby

enum_GoogleMapsPlacesV1RoutingParametersRoutingPreference := [ "ROUTING_PREFERENCE_UNSPECIFIED", "TRAFFIC_UNAWARE", "TRAFFIC_AWARE", "TRAFFIC_AWARE_OPTIMAL" ]
enum_GoogleMapsPlacesV1RoutingParametersTravelMode := [ "TRAVEL_MODE_UNSPECIFIED", "DRIVE", "BICYCLE", "WALK", "TWO_WHEELER" ]
enum_GoogleMapsPlacesV1SearchNearbyRequestRankPreference := [ "RANK_PREFERENCE_UNSPECIFIED", "DISTANCE", "POPULARITY" ]

valid {
    input.Body.excludedPrimaryTypes[_] == STRING
    input.Body.excludedTypes[_] == STRING
    input.Body.includedPrimaryTypes[_] == STRING
    input.Body.includedTypes[_] == STRING
    input.Body.languageCode == STRING
    input.Body.locationRestriction.circle.center.latitude == NUMBER
    input.Body.locationRestriction.circle.center.longitude == NUMBER
    input.Body.locationRestriction.circle.radius == NUMBER
    input.Body.maxResultCount == INTEGER
    input.Body.rankPreference == enum_GoogleMapsPlacesV1SearchNearbyRequestRankPreference[_]
    input.Body.regionCode == STRING
    input.Body.routingParameters.origin.latitude == NUMBER
    input.Body.routingParameters.origin.longitude == NUMBER
    input.Body.routingParameters.routeModifiers.avoidFerries == BOOLEAN
    input.Body.routingParameters.routeModifiers.avoidHighways == BOOLEAN
    input.Body.routingParameters.routeModifiers.avoidIndoor == BOOLEAN
    input.Body.routingParameters.routeModifiers.avoidTolls == BOOLEAN
    input.Body.routingParameters.routingPreference == enum_GoogleMapsPlacesV1RoutingParametersRoutingPreference[_]
    input.Body.routingParameters.travelMode == enum_GoogleMapsPlacesV1RoutingParametersTravelMode[_]
    input.ProviderMetadata.Region == STRING
}

places.places.searchText

enum_GoogleMapsPlacesV1RoutingParametersRoutingPreference := [ "ROUTING_PREFERENCE_UNSPECIFIED", "TRAFFIC_UNAWARE", "TRAFFIC_AWARE", "TRAFFIC_AWARE_OPTIMAL" ]
enum_GoogleMapsPlacesV1RoutingParametersTravelMode := [ "TRAVEL_MODE_UNSPECIFIED", "DRIVE", "BICYCLE", "WALK", "TWO_WHEELER" ]
enum_GoogleMapsPlacesV1SearchTextRequestEVOptionsConnectorTypes := [ "EV_CONNECTOR_TYPE_UNSPECIFIED", "EV_CONNECTOR_TYPE_OTHER", "EV_CONNECTOR_TYPE_J1772", "EV_CONNECTOR_TYPE_TYPE_2", "EV_CONNECTOR_TYPE_CHADEMO", "EV_CONNECTOR_TYPE_CCS_COMBO_1", "EV_CONNECTOR_TYPE_CCS_COMBO_2", "EV_CONNECTOR_TYPE_TESLA", "EV_CONNECTOR_TYPE_UNSPECIFIED_GB_T", "EV_CONNECTOR_TYPE_UNSPECIFIED_WALL_OUTLET" ]
enum_GoogleMapsPlacesV1SearchTextRequestPriceLevels := [ "PRICE_LEVEL_UNSPECIFIED", "PRICE_LEVEL_FREE", "PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE", "PRICE_LEVEL_EXPENSIVE", "PRICE_LEVEL_VERY_EXPENSIVE" ]
enum_GoogleMapsPlacesV1SearchTextRequestRankPreference := [ "RANK_PREFERENCE_UNSPECIFIED", "DISTANCE", "RELEVANCE" ]

valid {
    input.Body.evOptions.connectorTypes[_] == enum_GoogleMapsPlacesV1SearchTextRequestEVOptionsConnectorTypes[_]
    input.Body.evOptions.minimumChargingRateKw == NUMBER
    input.Body.includePureServiceAreaBusinesses == BOOLEAN
    input.Body.includedType == STRING
    input.Body.languageCode == STRING
    input.Body.locationBias.circle.center.latitude == NUMBER
    input.Body.locationBias.circle.center.longitude == NUMBER
    input.Body.locationBias.circle.radius == NUMBER
    input.Body.locationBias.rectangle.high.latitude == NUMBER
    input.Body.locationBias.rectangle.high.longitude == NUMBER
    input.Body.locationBias.rectangle.low.latitude == NUMBER
    input.Body.locationBias.rectangle.low.longitude == NUMBER
    input.Body.locationRestriction.rectangle.high.latitude == NUMBER
    input.Body.locationRestriction.rectangle.high.longitude == NUMBER
    input.Body.locationRestriction.rectangle.low.latitude == NUMBER
    input.Body.locationRestriction.rectangle.low.longitude == NUMBER
    input.Body.maxResultCount == INTEGER
    input.Body.minRating == NUMBER
    input.Body.openNow == BOOLEAN
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.priceLevels[_] == enum_GoogleMapsPlacesV1SearchTextRequestPriceLevels[_]
    input.Body.rankPreference == enum_GoogleMapsPlacesV1SearchTextRequestRankPreference[_]
    input.Body.regionCode == STRING
    input.Body.routingParameters.origin.latitude == NUMBER
    input.Body.routingParameters.origin.longitude == NUMBER
    input.Body.routingParameters.routeModifiers.avoidFerries == BOOLEAN
    input.Body.routingParameters.routeModifiers.avoidHighways == BOOLEAN
    input.Body.routingParameters.routeModifiers.avoidIndoor == BOOLEAN
    input.Body.routingParameters.routeModifiers.avoidTolls == BOOLEAN
    input.Body.routingParameters.routingPreference == enum_GoogleMapsPlacesV1RoutingParametersRoutingPreference[_]
    input.Body.routingParameters.travelMode == enum_GoogleMapsPlacesV1RoutingParametersTravelMode[_]
    input.Body.searchAlongRouteParameters.polyline.encodedPolyline == STRING
    input.Body.strictTypeFiltering == BOOLEAN
    input.Body.textQuery == STRING
    input.ProviderMetadata.Region == STRING
}