PLAYABLELOCATIONS

playablelocations.logImpressions

enum_GoogleMapsPlayablelocationsV3ImpressionImpressionType := [ "IMPRESSION_TYPE_UNSPECIFIED", "PRESENTED", "INTERACTED" ]
enum_GoogleMapsUnityClientInfoPlatform := [ "PLATFORM_UNSPECIFIED", "EDITOR", "MAC_OS", "WINDOWS", "LINUX", "ANDROID", "IOS", "WEB_GL" ]

valid {
    input.Body.clientInfo.apiClient == STRING
    input.Body.clientInfo.applicationId == STRING
    input.Body.clientInfo.applicationVersion == STRING
    input.Body.clientInfo.deviceModel == STRING
    input.Body.clientInfo.languageCode == STRING
    input.Body.clientInfo.operatingSystem == STRING
    input.Body.clientInfo.operatingSystemBuild == STRING
    input.Body.clientInfo.platform == enum_GoogleMapsUnityClientInfoPlatform[_]
    input.Body.impressions[_].gameObjectType == INTEGER
    input.Body.impressions[_].impressionType == enum_GoogleMapsPlayablelocationsV3ImpressionImpressionType[_]
    input.Body.impressions[_].locationName == STRING
    input.Body.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

playablelocations.logPlayerReports

enum_GoogleMapsPlayablelocationsV3PlayerReportReasons := [ "BAD_LOCATION_REASON_UNSPECIFIED", "OTHER", "NOT_PEDESTRIAN_ACCESSIBLE", "NOT_OPEN_TO_PUBLIC", "PERMANENTLY_CLOSED", "TEMPORARILY_INACCESSIBLE" ]
enum_GoogleMapsUnityClientInfoPlatform := [ "PLATFORM_UNSPECIFIED", "EDITOR", "MAC_OS", "WINDOWS", "LINUX", "ANDROID", "IOS", "WEB_GL" ]

valid {
    input.Body.clientInfo.apiClient == STRING
    input.Body.clientInfo.applicationId == STRING
    input.Body.clientInfo.applicationVersion == STRING
    input.Body.clientInfo.deviceModel == STRING
    input.Body.clientInfo.languageCode == STRING
    input.Body.clientInfo.operatingSystem == STRING
    input.Body.clientInfo.operatingSystemBuild == STRING
    input.Body.clientInfo.platform == enum_GoogleMapsUnityClientInfoPlatform[_]
    input.Body.playerReports[_].languageCode == STRING
    input.Body.playerReports[_].locationName == STRING
    input.Body.playerReports[_].reasonDetails == STRING
    input.Body.playerReports[_].reasons[_] == enum_GoogleMapsPlayablelocationsV3PlayerReportReasons[_]
    input.Body.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

playablelocations.samplePlayableLocations

enum_GoogleMapsPlayablelocationsV3SampleSpacingOptionsPointType := [ "POINT_TYPE_UNSPECIFIED", "CENTER_POINT", "SNAPPED_POINT" ]

valid {
    input.Body.areaFilter.s2CellId == STRING
    input.Body.criteria[_].fieldsToReturn == STRING
    input.Body.criteria[_].filter.includedTypes[_] == STRING
    input.Body.criteria[_].filter.maxLocationCount == INTEGER
    input.Body.criteria[_].filter.spacing.minSpacingMeters == NUMBER
    input.Body.criteria[_].filter.spacing.pointType == enum_GoogleMapsPlayablelocationsV3SampleSpacingOptionsPointType[_]
    input.Body.criteria[_].gameObjectType == INTEGER
    input.ProviderMetadata.Region == STRING
}