Ever wanted to know EXACTLY what Ranking signals Google uses? Here is a searchable list. These variables were found on a server under Apache 2.0 license and shared (publicly) by Mike King from iPullRank. He got them via Rand, who got them from an anonymous person, who found them under the Apache 2.0 license. They represent all the ranking signals that we believe Googlers might have access to for their algorithms. I put them here as an easy way for me (and others) to search for buzzwords like “PageRank” and “mustang”. If you want to know, I run an SEO SAAS called InLinks.

Update 29 May: I just changed the column order. I think it makes more sense. Clicking on any row shows the row in a modal.

(Takes a minute to load… 14,000 rows. Wait until you see the search box.)

Signals searchable below… use the green (+) icon to expand.

NameDescriptionModuleNameModuleDescriptionType
idAbuseiamAbuseTypeString
subtypeOptional client specific subtype of abuse that is too specific to belong in the above enumeration. For example, some client may want to differentiate nudity from graphic sex, but both are PORNOGRAPHY.AbuseiamAbuseTypeString
ageYearsThis restriction applies if the user is between [min_age_years, age_years) years old.AbuseiamAgeRestrictioninteger
minAgeYearsAbuseiamAgeRestrictioninteger
childThis restriction applies if all of the children apply.AbuseiamAndRestrictionlist(AbuseiamUserRestriction)
idAbuseiamClientA client is be a Google product, or subproduct that provides content for AbuseIAm to classify.String
subserviceThe name of the subservice within a client. This subservice can be used to affect the flow of decision script, or selection of backend classifiers. For example, StreetView may want to specify a panel is insufficiently blurred (maybe there is a lisense plate or public sex, etc), which requires manual review then the subservice might be “blurring”.AbuseiamClientA client is be a Google product, or subproduct that provides content for AbuseIAm to classify.String
typeA constant of type TRUE always applies, and of type FALSE never applies.AbuseiamConstantRestrictionString
adminVerdictTakedowns specified by admins via AbuseIAmAbuseiamContentRestrictionPair of Verdicts used for ProjectR age/geo gating. See http://go/projectr for more information.list(AbuseiamVerdict)
userVerdictUser-specified takedownsAbuseiamContentRestrictionPair of Verdicts used for ProjectR age/geo gating. See http://go/projectr for more information.list(AbuseiamVerdict)
abuseTypeAbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.AbuseiamAbuseType
backendWho creates this Evaluation. This field is required.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.String
commentBackends can choose to put some debug info in addition to abuse_type, score, and status.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.String
miscDataThis field is used to store miscellaneous information that Backend might provide. If you find youself here considering to use this field, please prefer using the repeated feature field below instead. It supports a richer structure for passing complex data back from the backend.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.list(AbuseiamNameValuePair)
processedMicrosWhen the evaluation was processed by the decision script.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.String
regionThe list of regions where the evaluation applies.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.list(AbuseiamRegion)
scoreAbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.float
statusAbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.String
targetAbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.AbuseiamTarget
timestampMicrosWhen the Evaluation was generated.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.String
userRestrictionA boolean expression tree used to define the restrictions where the verdict applies. Please use java/com/google/ccc/abuse/abuseiam/client/TakedownManager.java to evaluate this proto.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.AbuseiamUserRestriction
versionVersion of Backend. For rules, this string is the only way to differentiate between them.AbuseiamEvaluationBackends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.String
localeAbuseiamGeoRestrictionA node representing a table of regions and restrictions that apply to those regions. This table understands region inclusion and knows to apply the most specific rule, for example, a rule for France would override a rule for the EU for a user in France.list(AbuseiamGeoRestrictionLocale)
locationThe location where the restriction applies. Defaults to the “The world”. See go/iii.AbuseiamGeoRestrictionLocaleString
restrictionThe UserRestriction that applies to this location. If not specified evaluates to true.AbuseiamGeoRestrictionLocaleAbuseiamUserRestriction
hash64 bit hash in the hex form.AbuseiamHashInformation about various hashes that can be computed on a message ex: simhash, attachment hash, etcString
typeAbuseiamHashInformation about various hashes that can be computed on a message ex: simhash, attachment hash, etcString
nameAbuseiamNameValuePairString
nonUtf8ValueAbuseiamNameValuePairString
valueAbuseiamNameValuePairString
childThis restriction applies if the child does not apply. Only one is allowed. “repeated” is used to avoid breaking Sawzall (See b/6758277).AbuseiamNotRestrictionlist(AbuseiamUserRestriction)
childThis restriction applies if any of the children apply.AbuseiamOrRestrictionlist(AbuseiamUserRestriction)
regionThis is a CLDR Region Code: http://wiki/Main/IIIHowTo#using_region It is used to denote the region affected by a verdict.AbuseiamRegionString
typeAbuseiamSpecialRestrictionA SpecialRestriction is a standardized UserRestriction which lives in a table maintained via CDD.String
idAbuseiamTargetString
typeAbuseiamTargetString
channelAbuseiamUserNotificationA structure used to configure a notification to a user.String
ageRestrictionAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamAgeRestriction
andRestrictionOperatorsAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamAndRestriction
constantRestrictionConstantAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamConstantRestriction
geoRestrictionLeaf NodesAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamGeoRestriction
notRestrictionAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamNotRestriction
orRestrictionAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamOrRestriction
specialRestrictionAbuseiamUserRestrictionDescribes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.AbuseiamSpecialRestriction
clientTarget client of the verdict. It can be used to differentiate verdicts from multiple clients when such verdicts are processed in one common place.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.AbuseiamClient
commentAdditional info regarding the verdict.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
decisionAbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
durationMinsTime duration (in minutes) of the verdict.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.integer
evaluationEvaluations relevant to this verdict. Every Verdict should contain at least one Evaluation.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.list(AbuseiamEvaluation)
hashesDetails of all the hashes that can be computed on a message, such as simhash and attachment hashAbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.list(AbuseiamHash)
isLegalIssuedIs this verdict issued by legal?AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.boolean
miscScoresThis field is used to pass relevant / necessary scores to our clients. For eg: ASBE propagates these scores to moonshine.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.list(AbuseiamNameValuePair)
reasonCodeA short description of the reason why the verdict decision is made.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
regionThe regions in which this verdict should be enforced. Absence of this field indicates that the verdict is applicable everywhere.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.list(AbuseiamRegion)
restrictionRestrictions on where this verdict applies. If any restriction is met, the verdict is applied there. If no restrictions are present, the verdict is considered global.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.list(AbuseiamVerdictRestriction)
strikeCategoryCategory of the strike if this is a strike verdict.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
targetAbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.AbuseiamTarget
targetTimestampMicrosThe timestamp of the target. E.g., the time when the target was updated.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
timestampMicrosWhen the verdict is generatedAbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
userNotificationExtra notification(s) to be delivered to target user or message owner about the verdict.AbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.list(AbuseiamUserNotification)
versionversion of decision scriptAbuseiamVerdictVerdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.String
contextFor a restriction to apply, all contexts must be satisfied. For example, if context[0] is COUNTRY/’GERMANY’ and context[1] is DESTINATION_STREAM/’gplus:SQUARE:knitting_discussion’, then the verdict applies only when the ‘knitting discussion’ square is viewed from inside Germany. Please note that this is present for legacy reasons and users of this field would be migrated to use the user_restriction field defined below.AbuseiamVerdictRestrictionDescribes restrictions on where the verdict applies.list(AbuseiamVerdictRestrictionContext)
userRestrictionA boolean expression tree used to define the restrictions where the verdict applies. Please use java/com/google/ccc/abuse/abuseiam/client/TakedownManager.java to evaluate this proto.AbuseiamVerdictRestrictionDescribes restrictions on where the verdict applies.AbuseiamUserRestriction
idString identifying the context.AbuseiamVerdictRestrictionContextDescribes a dimension of a context where a verdict applies.String
typeAbuseiamVerdictRestrictionContextDescribes a dimension of a context where a verdict applies.String
highIdAdsShoppingReportingOffersSerializedSoriIdThe serialized form of a SORI id. NOTE that this proto is stored in V4/O4 index and that new fields should not be added without getting an agreement from the serving team as well.String
lowId1AdsShoppingReportingOffersSerializedSoriIdThe serialized form of a SORI id. NOTE that this proto is stored in V4/O4 index and that new fields should not be added without getting an agreement from the serving team as well.String
lowId2AdsShoppingReportingOffersSerializedSoriIdThe serialized form of a SORI id. NOTE that this proto is stored in V4/O4 index and that new fields should not be added without getting an agreement from the serving team as well.String
anchorAnchorslist(AnchorsAnchor)
homepageAnchorsDroppedThe total # of local homepage anchors dropped in AnchorAccumulator.AnchorsString
indexTierThe index tier from which the anchors were extracted. Note that this is only valid in the anchor record written by linkextractor. The value can be one of the enum values defined in segindexer/types.h.Anchorsinteger
localAnchorsDroppedThe total # of local non-homepage anchors dropped in AnchorAccumulator.AnchorsString
nonlocalAnchorsDroppedThe total # of non-local anchors dropped in AnchorAccumulator.AnchorsString
redundantAnchorsDroppedThe *_anchors_dropped fields below are not populated by Alexandria, which uses cdoc.anchor_stats instead. The total # of redundant anchors dropped in linkextractor.AnchorsString
redundantanchorinfoAnchorslist(AnchorsRedundantAnchorInfo)
supplementalAnchorsDroppedThe total # of supplemental anchors dropped in AnchorAccumulator. ## DEPRECATED.AnchorsString
targetDocidmay be implicitAnchorsString
targetSiteHOST_LEVEL site chunking.AnchorsString
targetUrlThis is produced during link extraction but not written out in the linklogs in order to save space.AnchorsString
creationDateused for history – the first and last time we have seen this anchor. creation_date also used for Freshdocs Twitter indexing, a retweet is an anchor of the original tweet. This field records the time when a retweet is created.AnchorsAnchorinteger
origTextOriginal text, including capitalization and punctuation. Runs of whitespace are collapsed into a single space.AnchorsAnchorString
context2This is a hash of terms near the anchor. (This is a second-generation hash replacing the value stored in the ‘context’ field.)AnchorsAnchorinteger
fontsizeAnchorsAnchorinteger
experimentalIf true, the anchor is for experimental purposes and should not be used in serving.AnchorsAnchorboolean
fragmentThe URL fragment for this anchor (the foo in http://www.google.com#foo)AnchorsAnchorString
sourceTypeis to record the quality of the anchor’s source page and is correlated with but not identical to the index tier of the source page. In the docjoins built by the indexing pipeline (Alexandria), – Anchors marked TYPE_HIGH_QUALITY are from base documents. – Anchors marked TYPE_MEDIUM_QUALITY are from documents of medium quality (roughly but not exactly supplemental tier documents). – Anchors marked TYPE_LOW_QUALITY are from documents of low quality (roughly but not exactly blackhole documents). Note that the source_type can also be used as an importance indicator of an anchor (a lower source_type value indicates a more important anchor), so it is important to enforce that TYPE_HIGH_QUALITY < TYPE_MEDIUM_QUALITY < TYPE_LOW_QUALITY To add a new source type in future, please maintain the proper relationship among the types as well. TYPE_FRESHDOCS, only available in freshdocs indexing, is a special case and is considered the same type as TYPE_HIGH_QUALITY for the purpose of anchor importance in duplicate anchor removal.AnchorsAnchorinteger
pagerankWeightWeight to be stored in linkmaps for pagerankerAnchorsAnchornumber
isLocalThe bit ~roughly~ indicates whether an anchor’s source and target pages are on the same domain. Note: this plays no role in determining whether an anchor is onsite, ondomain, or offdomain in mustang (i.e., the bit above).AnchorsAnchorboolean
originalTargetDocidThe docid of the anchor’s original target. This field is available if and only if the anchor is forwarded.AnchorsAnchorString
fullLeftContextThe full context. These are not written out in the linklogs.AnchorsAnchorlist(String)
expiredtrue iff exp domainAnchorsAnchorboolean
catfishTagsCATfish tags attached to a link. These are similar to link tags, except the values are created on the fly within Cookbook. See: http://sites/cookbook/exporting/indexingAnchorsAnchorlist(integer)
deletionDateAnchorsAnchorinteger
linkTagsContains info on link type, source page, etc.AnchorsAnchorlist(integer)
forwardingTypesHow the anchor is forwarded to the canonical, available only for forwarded anchors (i.e., the field is set). The forwarding types are defined in URLForwardingUtil (segindexer/segment-indexer-util.h). Always use URLForwardingUtil to access this field and use URLForwardingUtil::GetAnchorForwardingReason to get the explanation how the anchor is forwarded to the canonical. NOTE: Use with caution as it is only set for docjoins generated using the urlmap from repository/updater.AnchorsAnchorinteger
possiblyOldFirstseenDateDEPRECATED. It used to be set if firstseen_date is not set. It’s to indicate that the anchor is possibly old, but we don’t have enough information to tell until the linkage map is updated. TODO(hxu) rename it to possibly_old_firstseen_date_DEPRECATED after clean up other dependencies.AnchorsAnchorboolean
localityFor ranking purposes, the quality of an anchor is measured by its “locality” and “bucket”. See quality/anchors/definitions.h for more information.AnchorsAnchorinteger
demotionreasonDEPRECATEDAnchorsAnchorinteger
parallelLinksThe number of additional links from the same source page to the same target domain. Not populated if is_local is true.AnchorsAnchorinteger
textSpace-delimited anchor words. Text that needs segmentation (like CJK or Thai) is unsegmented, since we set FLAGS_segment_during_lexing to false in mr-linkextractor.cc .AnchorsAnchorString
sourceAnchorsAnchorAnchorsAnchorSource
bucketAnchorsAnchorinteger
fullRightContextAnchorsAnchorlist(String)
targetUrlEncodingA given target URL may be found in different encodings in different documents. We store the URL encoding with each source anchor so that we can count them later to find the encoding most likely to be expected by the Web site. Around 0.7% of target URLs are expected to require a non-default value here. The default value 0 is referenced in C++ as webutil::kDefaultUrlEncoding. See also webutil/urlencoding.AnchorsAnchorinteger
compressedOriginalTargetUrlThe anchor’s original target url, compressed. Available only in Alexandria docjoins when the anchor is forwarded.AnchorsAnchorString
firstseenDate# days past Dec 31, 1994, 23:00:00 UTC (Unix time @788914800) that this link was first seen. Should never occupy more than 15 bits. NOTE: this is NOT the same as creation_date; firstseen_date is filled during link extractionAnchorsAnchorinteger
setiPagerankWeightTEMPORARYAnchorsAnchornumber
contextAnchorsAnchorinteger
linkAdditionalInfoAdditional information related to the anchor, such as additional anchor text or scores.AnchorsAnchorProto2BridgeMessageSet
typeDEPRECATED: Now in link_tagsAnchorsAnchorinteger
firstseenNearCreationtrue if we think ‘firstseen_date’ is an accurate estimate of when the link was actually added to the source page. false if it may have existed for some time before we saw it.AnchorsAnchorboolean
lastUpdateTimestampUsed for history and freshness tracking – the timestamp this anchor is updated in indexing.AnchorsAnchorinteger
offsetThis is the offset for the first term in the anchor – it can be used as a unique ID for the anchor within the document and compared against all per-tag data. This is measured in bytes from the start of the document. We write this out to the linklogs to recover the original order of links after source/target forwarding. This is necessary for computing the global related data.AnchorsAnchorinteger
weightweights are 0-127AnchorsAnchorinteger
deletedAnchorsAnchorboolean
encodedNewsAnchorDataEncoded data containing information about newsiness of anchor. Populated only if anchor is classified as coming from a newsy, high quality site. Encoded data for anchor sources are being stored in googledata/quality/freshness/news_anchors/encoded_news_anchors_data.txt Scores are being computed with quality/freshness/news_anchors/ routines.AnchorsAnchorinteger
compressedImageUrlsIf the anchor contained images, these image urls are stored here in compressed form.AnchorsAnchorlist(String)
timestampThis field is DEPRECATED and no longer filled. For source page crawl timestamp, use Source.crawl_timestamp. Next tag id should be 62.AnchorsAnchorString
additionalInfoAdditional information related to the source, such as news hub info.AnchorsAnchorSourceattributes of the source document for the linkProto2BridgeMessageSet
clusteranchor++ cluster idAnchorsAnchorSourceattributes of the source document for the linkinteger
compressedUrlcompressed source urlAnchorsAnchorSourceattributes of the source document for the linkString
crawlTimestampSource page crawl timestamp.AnchorsAnchorSourceattributes of the source document for the linkString
docidThe docid field used to be “required”, but it is now “optional” because it is not present when anchors are stored in webtable. When anchors are stored as part of docjoin files in the segment indexer, however, docid should be considered required.AnchorsAnchorSourceattributes of the source document for the linkString
doclengthnecessary for anything?AnchorsAnchorSourceattributes of the source document for the linkinteger
homePageInfoInformation about if the source page is a home page. It can be one of the enum values defined in PerDocData::HomePageInfo (NOT_HOMEPAGE, NOT_TRUSTED, PARTIALLY_TRUSTED, and FULLY_TRUSTED).AnchorsAnchorSourceattributes of the source document for the linkinteger
indyrankuint16 scaleAnchorsAnchorSourceattributes of the source document for the linkinteger
ipaddrDEPRECATED, use packed_ipaddressAnchorsAnchorSourceattributes of the source document for the linkinteger
languagedefault -> EnglishAnchorsAnchorSourceattributes of the source document for the linkinteger
linkhash0 -> no hashAnchorsAnchorSourceattributes of the source document for the linkString
localCountryCodesCountries to which the source page is local/most relevant; stored as III identifiers for country/region codes (see http://go/iii).AnchorsAnchorSourceattributes of the source document for the linklist(integer)
nsrThis NSR value has range [0,1000] and is the original value [0.0,1.0] multiplied by 1000 rounded to an integer.AnchorsAnchorSourceattributes of the source document for the linkinteger
outdegreeAnchorsAnchorSourceattributes of the source document for the linkinteger
outsitesapprox num of pointed-to sitesAnchorsAnchorSourceattributes of the source document for the linkinteger
packedIpaddressstring in IPAddress::ToPackedString() format.AnchorsAnchorSourceattributes of the source document for the linkString
pageTagsPage tags are described by enum PageTag in PerDocData. Page tags are used in anchors to identify properties of the linking page. These are DEPRECATED: in the future, use link_tags instead. DEPRECATEDAnchorsAnchorSourceattributes of the source document for the linklist(integer)
pagerankuint16 scaleAnchorsAnchorSourceattributes of the source document for the linkinteger
pagerankNsunit16 scaleAnchorsAnchorSourceattributes of the source document for the linkinteger
seglanguageDEPRECATEDAnchorsAnchorSourceattributes of the source document for the linkinteger
siteAnchorsAnchorSourceattributes of the source document for the linkString
spamrankuint16 scaleAnchorsAnchorSourceattributes of the source document for the linkinteger
spamscore1deprecated, to be removed after October 20. 0-127 scaleAnchorsAnchorSourceattributes of the source document for the linkinteger
spamscore20-127 scaleAnchorsAnchorSourceattributes of the source document for the linkinteger
webtableKeyWebtable key of sourceAnchorsAnchorSourceattributes of the source document for the linkString
anchorsDroppedAnchorsRedundantAnchorInfoNOTE: in docjoins, the following anchor sampling information is only ## available in the first record of a document (under the same docid). The total number of redundant anchors dropped per (domain, text) in linkextractor. If we receive a large number of anchors from a particular domain, then we’ll throw out all but a sampling of them from that domain. The data is sorted by the (domain,text) pairs. This field is not populated by Alexandria, which uses cdoc.anchor_stats instead.String
domainAnchorsRedundantAnchorInfoNOTE: in docjoins, the following anchor sampling information is only ## available in the first record of a document (under the same docid). The total number of redundant anchors dropped per (domain, text) in linkextractor. If we receive a large number of anchors from a particular domain, then we’ll throw out all but a sampling of them from that domain. The data is sorted by the (domain,text) pairs. This field is not populated by Alexandria, which uses cdoc.anchor_stats instead.String
textAnchorsRedundantAnchorInfoNOTE: in docjoins, the following anchor sampling information is only ## available in the first record of a document (under the same docid). The total number of redundant anchors dropped per (domain, text) in linkextractor. If we receive a large number of anchors from a particular domain, then we’ll throw out all but a sampling of them from that domain. The data is sorted by the (domain,text) pairs. This field is not populated by Alexandria, which uses cdoc.anchor_stats instead.String
customerIdAppsDynamiteCustomerIdRepresents a GSuite customer ID. Obfuscated with CustomerIdObfuscator.String
consumerInfoAppsDynamiteSharedOrganizationInfoContains info about the entity that something is, or is owned by.AppsDynamiteSharedOrganizationInfoConsumerInfo
customerInfoAppsDynamiteSharedOrganizationInfoContains info about the entity that something is, or is owned by.AppsDynamiteSharedOrganizationInfoCustomerInfo
customerIdAppsDynamiteSharedOrganizationInfoCustomerInfoAppsDynamiteCustomerId
memberTypeAppsDynamiteSharedSegmentedMembershipCountContains info on membership count for member types: HUMAN_USER, APP_USER & ROSTER_MEMBER different states: INVITED, JOINEDString
membershipCountcount of members with given type and stateAppsDynamiteSharedSegmentedMembershipCountContains info on membership count for member types: HUMAN_USER, APP_USER & ROSTER_MEMBER different states: INVITED, JOINEDinteger
membershipStateAppsDynamiteSharedSegmentedMembershipCountContains info on membership count for member types: HUMAN_USER, APP_USER & ROSTER_MEMBER different states: INVITED, JOINEDString
valueAppsDynamiteSharedSegmentedMembershipCountslist(AppsDynamiteSharedSegmentedMembershipCount)
idThe hierarchy of IDs. Each individual ID is “flat” and the repeated list defines the hierarchy. Namespaces define the “validity” of this hierachy (depth, naming convention, etc) and the server will reject invalid IDs.AppsPeopleActivityBackendDestinationStreamA DestinationStream is a /namespace/id[0]/id[1]/…/id[n] that represents a collection of Activities. Example destinations: -The Profile Stream on http://plus.google.com/+JohnDoe/posts -A Square Stream on http://plus.google.com/squares/123 -A “comment Stream” (Fountain) on http://www.youtube.com/watch?id=123 It’s possible for a single Activity to show in each of these destinations – and it might behave/look slightly differently for each one. Destinations can have their own business logic associated with them at both write-time and read-time server-side (these are documented below). Each DestinationStream is indexed and can be retrieved using the GetDestinationStreamRequest. For the repeated ID space indexing happens at all levels, e.g. if you have: /square/123/abc /square/123/efd /square/456 You can fetch /square/123/abc directly or /square/123 (which includes all Activities in both /square/123/abc and /square/123/efd), or even /square which retrieves all Activities in the Square namespace (visible for that user). On the storage layer, we represent DestinationStream as Channel (http://cs/#google3/social/common/channel/channel.proto), since the storage does not have the concept of a Stream. Both terms are used interchangeably within the service layer, but client of Social Infrastructure should use the term DestinationStream. Next ID: 3list(String)
namespaceAppsPeopleActivityBackendDestinationStreamA DestinationStream is a /namespace/id[0]/id[1]/…/id[n] that represents a collection of Activities. Example destinations: -The Profile Stream on http://plus.google.com/+JohnDoe/posts -A Square Stream on http://plus.google.com/squares/123 -A “comment Stream” (Fountain) on http://www.youtube.com/watch?id=123 It’s possible for a single Activity to show in each of these destinations – and it might behave/look slightly differently for each one. Destinations can have their own business logic associated with them at both write-time and read-time server-side (these are documented below). Each DestinationStream is indexed and can be retrieved using the GetDestinationStreamRequest. For the repeated ID space indexing happens at all levels, e.g. if you have: /square/123/abc /square/123/efd /square/456 You can fetch /square/123/abc directly or /square/123 (which includes all Activities in both /square/123/abc and /square/123/efd), or even /square which retrieves all Activities in the Square namespace (visible for that user). On the storage layer, we represent DestinationStream as Channel (http://cs/#google3/social/common/channel/channel.proto), since the storage does not have the concept of a Stream. Both terms are used interchangeably within the service layer, but client of Social Infrastructure should use the term DestinationStream. Next ID: 3String
reportCompromisedCorresponds on “This account might be compromised or hacked” reporting action.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
reportHarassmentCorresponds on “Harassment or bullying” reporting action.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
reportHateCorresponds on “Hate speach or graphic violence” reporting action.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
reportPornCorresponds on “Pornography or sexually explicit material” reporting action.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
reportSpamCorresponds on “Unwanted commercial content or spam” reporting action.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
serveCountNumber of times this activity was served out of asbe/stanza.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
timeSecTimestamp in seconds for which time this record is valid.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
ytThumbsDownCorresponds on Distiller comment thumbs down action.AppsPeopleActivityStreamqualityDistillerEngagementsStores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.String
contentTypeAppsPeopleOzExternalMergedpeopleapiAboutString
metadataAppsPeopleOzExternalMergedpeopleapiAboutAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
safeHtmlValueSanitized HTML value that is only populated when the SANITIZE_ABOUT_HTML extension is requested.AppsPeopleOzExternalMergedpeopleapiAboutWebutilHtmlTypesSafeHtmlProto
valueAppsPeopleOzExternalMergedpeopleapiAboutString
nameDisplayOptionsAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataExtension data for use in AboutMe.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataNameDisplayOptions
photosCompareDataAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataExtension data for use in AboutMe.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareData
profileEditabilityAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataExtension data for use in AboutMe.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditability
profileNameModificationHistoryAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataExtension data for use in AboutMe.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistory
nicknameOptionAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataNameDisplayOptionsSee NameDisplayOptions in //depot/google3/focus/backend/proto/backend.proto. See also go/nickname-mess.String
diffDataAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffData
highResUrlAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataString
inconsistentPhotoTrue if photo diff is greater than 0.01 on any color band, or if the user has a low res photo but no high res photo. This field is primarily for use in About Me and for other uses it’s recommended to use the DiffData values directly instead. The cutoff is based on a heuristic determined in go/comparing-profile-photosAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataboolean
lowResDataOnly present if the photo diff is greater than 0.01 on any color band.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataString
lowResUrlAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataString
monogramUrlAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataString
privateLowResAclTrue if the low-res photo has a private ACL set.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataboolean
blueDiffAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffDatanumber
greenDiffAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffDatanumber
redDiffAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffDatanumber
lockedFieldRead-only set of zero or more field paths that are locked for update on this person, such as “person.name”, “person.email”, etc. The set of fields is only populated for the requester’s profile. Fields in the set cannot be edited, added, or deleted from the profile. Attempting to update any of these fields will result in an exception.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditabilitySee UserEditedLockedMask in //depot/google3/focus/backend/proto/backend.proto.list(String)
computedNameChangesRemainingThe number of name changes remaining at RPC request time. This can be more than name_changes_remaining, if user hasn’t changed name for some time and accrued quota since last change.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protointeger
computedNicknameChangesRemainingThe number of nickname changes remaining at RPC request time. This can be more than nickname_changes_remaining, if user hasn’t changed nickname for some time and accrued quota since last change.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protointeger
nameChangesRemainingThe number of name changes remaining at the time the name was last modified.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protointeger
nameLastModifiedThe last time the profile name was modified in milliseconds UTC.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protoString
nicknameChangesRemainingThe number of nickname changes remaining at the time the nickname was last modified.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protointeger
nicknameLastModifiedThe last time the profile nickname was modified in milliseconds UTC.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protoString
quotaEnforcementStatusAppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistorySee ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.protoString
emailAppsPeopleOzExternalMergedpeopleapiAccountEmailString
rawDeviceContactInfoWhen the container is a DEVICE_CONTACT, this list provides account information from the raw contact which is the source of this field.AppsPeopleOzExternalMergedpeopleapiAdditionalContainerInfoAdditional information about a container. TO BE DELETED: replaced by DeviceContactInfo.list(AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo)
countryAppsPeopleOzExternalMergedpeopleapiAddressString
countryCodeAppsPeopleOzExternalMergedpeopleapiAddressString
encodedPlaceIdFeatureId associated with the address. The format is the same as that used for ids in PLACE containers in SourceIdentity.AppsPeopleOzExternalMergedpeopleapiAddressString
extendedAddressAppsPeopleOzExternalMergedpeopleapiAddressString
formattedAppsPeopleOzExternalMergedpeopleapiAddressString
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiAddressString
localityAppsPeopleOzExternalMergedpeopleapiAddressString
metadataAppsPeopleOzExternalMergedpeopleapiAddressAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
poBoxAppsPeopleOzExternalMergedpeopleapiAddressString
pointSpecAppsPeopleOzExternalMergedpeopleapiAddressAppsPeopleOzExternalMergedpeopleapiPointSpec
postalCodeAppsPeopleOzExternalMergedpeopleapiAddressString
regionAppsPeopleOzExternalMergedpeopleapiAddressString
streetAddressAppsPeopleOzExternalMergedpeopleapiAddressString
typeThe type of the address. The type can be free form or one of these predefined values: * `home` * `work` * `other`AppsPeopleOzExternalMergedpeopleapiAddressString
affinityMetadataContains extra ranking information returned by DAS.AppsPeopleOzExternalMergedpeopleapiAffinitySimilar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.SocialGraphWireProtoPeopleapiAffinityMetadata
affinityTypeAppsPeopleOzExternalMergedpeopleapiAffinitySimilar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.String
containerIdThe ID of the containerAppsPeopleOzExternalMergedpeopleapiAffinitySimilar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.String
containerTypeThe type of container to which this affinity appliesAppsPeopleOzExternalMergedpeopleapiAffinitySimilar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.String
loggingIdUsed to log events for this affinity value, for disco diagnostic-purposes. See go/disco-diagnostics.AppsPeopleOzExternalMergedpeopleapiAffinitySimilar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.String
valueAffinity value. Frequently represented as an inverse ranking, sometimes with additional data encoded. If data_formats.affinity_formats.score_format is set to RAW_SCORE then the value will be the score returned by DAS.AppsPeopleOzExternalMergedpeopleapiAffinitySimilar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.float
ageInYearsPlease read go/people-api-howto:age on how to get age data. Age of the user. The field is set based on profile storage fields such as account birthday. If the source fields are not present, `age_in_years` will be left unset.AppsPeopleOzExternalMergedpeopleapiAgeRangeTypePlease read go/people-api-howto:age on how to get age data. Message for the `Person.age_range_repeated` field. Replaces the existing `Person.age_range` field.integer
ageOfConsentStatusDeprecated. Use go/supervised-accounts#capabilities-for-child-accounts instead. Denotes whether the user is under the region based Age of Consent. The user’s region is based on ClientUserInfo.GlobalTos.AgreedLocation The age is inferred from Birthday field or CertifiedBornBefore field. The region based AoC is specified at go/aoc.AppsPeopleOzExternalMergedpeopleapiAgeRangeTypePlease read go/people-api-howto:age on how to get age data. Message for the `Person.age_range_repeated` field. Replaces the existing `Person.age_range` field.String
ageRangeDeprecated. Please read go/people-api-howto:age on how to get age data. Age range is populated based on `account_birthday` and `certified_born_before`, which may not be set for dasher users.AppsPeopleOzExternalMergedpeopleapiAgeRangeTypePlease read go/people-api-howto:age on how to get age data. Message for the `Person.age_range_repeated` field. Replaces the existing `Person.age_range` field.String
metadataAppsPeopleOzExternalMergedpeopleapiAgeRangeTypePlease read go/people-api-howto:age on how to get age data. Message for the `Person.age_range_repeated` field. Replaces the existing `Person.age_range` field.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
appUniqueIdStore the app unique id endpoint. This will be passed over to app to fulfill the action. For example, app_unique_id for Whatsapp will be “[email protected]AppsPeopleOzExternalMergedpeopleapiAppUniqueInfoStore all app unique info that are needed for app action fulfillment.String
contactInfoSourceWhere this contact info was retrieved from. Note: only added for Assistant usage, and will not be populated by PAPI. This is due to the coupling between Assistant Proto, and PAPI proto. (//depot/google3/quality/qrewrite/servlets/proto/focus_name.proto)AppsPeopleOzExternalMergedpeopleapiAppUniqueInfoStore all app unique info that are needed for app action fulfillment.String
displayAppUniqueIdStore third party endpoint that is displayed to users. For example, display_app_unique_id for Whatsapp will be “Message +11234567890”.AppsPeopleOzExternalMergedpeopleapiAppUniqueInfoStore all app unique info that are needed for app action fulfillment.String
labelStore third party endpoint label. For example, “HOME”, “WORK”AppsPeopleOzExternalMergedpeopleapiAppUniqueInfoStore all app unique info that are needed for app action fulfillment.String
mimetypeStore mimetype of this endpoint. We will use this as the differentiator for Assistant to know whether to use the RawContact for messaging, call or video call. For example, send message mimetype for whatsapp: “vnd.android.cursor.item/vnd.com.whatsapp.profile” voice call mimetype for whatsapp: “vnd.android.cursor.item/vnd.com.whatsapp.voip.call”AppsPeopleOzExternalMergedpeopleapiAppUniqueInfoStore all app unique info that are needed for app action fulfillment.String
containerTypeThe container the suggested name was sourced fromAppsPeopleOzExternalMergedpeopleapiBestDisplayNameThe best suggested name to use for the Person from the available source fields, which may include FileAs, Name, Org, Email, IM, Phone, … Rough source container priority order is Contact, then Profile, then Place.String
displayNameThe display name. This name is intended to be the best name to display for this Person. It may be built from a variety of fields, even if those fields are not explicitly requested in the request mask. Generally, the display name is formatted in ‘first last’ format. If the name appears to be a CJK name (as determined by a heuristic), the ‘last first’ format will be used. There may be other cases that the ‘last first’ format is used which are not documented here. See the code at: http://google3/java/com/google/focus/backend/client/DisplayNameFormatter.java?l=659&rcl=351360938AppsPeopleOzExternalMergedpeopleapiBestDisplayNameThe best suggested name to use for the Person from the available source fields, which may include FileAs, Name, Org, Email, IM, Phone, … Rough source container priority order is Contact, then Profile, then Place.String
displayNameLastFirstThe display name, always in ‘last first’ format. This field does not depend on the format of `display_name` and will always be in ‘last first’ format.AppsPeopleOzExternalMergedpeopleapiBestDisplayNameThe best suggested name to use for the Person from the available source fields, which may include FileAs, Name, Org, Email, IM, Phone, … Rough source container priority order is Contact, then Profile, then Place.String
ageDisableGracePeriodOnly supported for PROFILE/DOMAIN_PROFILE/ACCOUNT container.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT NOTES: – Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. – The birthday field should not be used to calculate the requester’s age! To determine the requester’s age, use person.age_range_repeated. – For more details about age see go/peopleapi-howto/age Birthday value may not be present: – Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. – Dasher users generally don’t require birthday, but could optionally have it set by users. – Any other types of accounts (e.g. robot, service) do not have birthdays. – Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: – “Profile Birthday” (person.birthday.metadata.container is PROFILE) may not have a year set if user “hides” the year. – “Account Birthday” (see api-specific notes below) will only be returned for the requester’s own profile. – People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: “person.birthday” }` `include_container: ACCOUNT` – People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: “person.account_birthday” }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) – See go/papi-vs-papi++#birthday for more details.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriod
birthdayDecorationWhether the user has opted in to display their birthday via photo decorations. Only supported for PROFILE/DOMAIN_PROFILE container.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT NOTES: – Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. – The birthday field should not be used to calculate the requester’s age! To determine the requester’s age, use person.age_range_repeated. – For more details about age see go/peopleapi-howto/age Birthday value may not be present: – Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. – Dasher users generally don’t require birthday, but could optionally have it set by users. – Any other types of accounts (e.g. robot, service) do not have birthdays. – Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: – “Profile Birthday” (person.birthday.metadata.container is PROFILE) may not have a year set if user “hides” the year. – “Account Birthday” (see api-specific notes below) will only be returned for the requester’s own profile. – People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: “person.birthday” }` `include_container: ACCOUNT` – People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: “person.account_birthday” }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) – See go/papi-vs-papi++#birthday for more details.SocialGraphApiProtoBirthdayDecoration
birthdayResolutionOnly supported for PROFILE/DOMAIN_PROFILE/ACCOUNT container.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT NOTES: – Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. – The birthday field should not be used to calculate the requester’s age! To determine the requester’s age, use person.age_range_repeated. – For more details about age see go/peopleapi-howto/age Birthday value may not be present: – Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. – Dasher users generally don’t require birthday, but could optionally have it set by users. – Any other types of accounts (e.g. robot, service) do not have birthdays. – Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: – “Profile Birthday” (person.birthday.metadata.container is PROFILE) may not have a year set if user “hides” the year. – “Account Birthday” (see api-specific notes below) will only be returned for the requester’s own profile. – People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: “person.birthday” }` `include_container: ACCOUNT` – People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: “person.account_birthday” }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) – See go/papi-vs-papi++#birthday for more details.String
calendarDayBirthdays are more accurately represented as a calendar day that does not depend on a timestamp representation at all. When given a timestamp, there are lots of opportunities to make mistakes, so a CalendarDay proto is replacing timestamps. Currently this is always returned by PeopleApi on reads that include birthday fields. New clients should write using calendar_day. Clients that were already writing via date_ms are allowlisted such that writes use that field. Old callers should migrate to writing BOTH date_ms and calendar_day values. If those are consistent, they may be removed from the ‘legacy_timestamp_event_write_behavior_enabled’ capability.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT NOTES: – Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. – The birthday field should not be used to calculate the requester’s age! To determine the requester’s age, use person.age_range_repeated. – For more details about age see go/peopleapi-howto/age Birthday value may not be present: – Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. – Dasher users generally don’t require birthday, but could optionally have it set by users. – Any other types of accounts (e.g. robot, service) do not have birthdays. – Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: – “Profile Birthday” (person.birthday.metadata.container is PROFILE) may not have a year set if user “hides” the year. – “Account Birthday” (see api-specific notes below) will only be returned for the requester’s own profile. – People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: “person.birthday” }` `include_container: ACCOUNT` – People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: “person.account_birthday” }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) – See go/papi-vs-papi++#birthday for more details.GoogleTypeDate
dateMsBirthdays are currently represented as timestamp values, although the interpretation of these timestamp values is a calendar date. Clients are recommended to read the calendar_day field, which is easier to work with than date_ms. New clients writing to PeopleApi must set calendar_day instead of date_ms. There are a few important details about how this value should be mapped to a calendar date that should be consistent among all clients. 1. Epoch – The epoch or calendar date equivalent to 0 ms is chosen to be 1970-01-01 UTC. 2. Timezone – All of the conversions to calendars should occur in the UTC timezone. We don’t typically think of someones birthday changing when they travel, so clients should not use local times. 3. Calendar – The calendar used for the dates should be a Gregorian proleptic calendar. Proleptic means that the rules of the Gregorian calendar are retrofitted to before its adoption. It is easy to get this wrong, particularly with the java GregorianCalendar class, which by default is a mixed Gregorian/Julian calendar. Joda Time makes this easy, but if it’s not an option, look into GregorianCalendar.setGregorianChange(). 4. Omitted years – Clients have chosen to represent birthdays or events without years as timestamps within the year zero. When the computed date has a year of 0, it means the client did not specify a year. Note that a year 0 does not exist in a chronology like the familiar Anno Domini (A.D. and B.C.); clients must agree on year numbering. 5. Year Numbering – The chronology used to map dates to the calendar should use Astronomical Year Numbering so that the year 0 is defined and dates before it have a negative year. If libraries only provide Anno Domini, then the year of 1 BC corresponds to year zero and an omitted user provided year. Other BC values are presumed rare, but clients should still not ignore the era and interpret the year as an A.D. value, especially if writing values back to PeopleApi.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT NOTES: – Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. – The birthday field should not be used to calculate the requester’s age! To determine the requester’s age, use person.age_range_repeated. – For more details about age see go/peopleapi-howto/age Birthday value may not be present: – Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. – Dasher users generally don’t require birthday, but could optionally have it set by users. – Any other types of accounts (e.g. robot, service) do not have birthdays. – Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: – “Profile Birthday” (person.birthday.metadata.container is PROFILE) may not have a year set if user “hides” the year. – “Account Birthday” (see api-specific notes below) will only be returned for the requester’s own profile. – People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: “person.birthday” }` `include_container: ACCOUNT` – People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: “person.account_birthday” }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) – See go/papi-vs-papi++#birthday for more details.String
dateMsAsNumberdate_ms_as_number contains the same data as date_ms, but has a different type in generated javascript bindings. Non javascript clients can ignore it.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT NOTES: – Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. – The birthday field should not be used to calculate the requester’s age! To determine the requester’s age, use person.age_range_repeated. – For more details about age see go/peopleapi-howto/age Birthday value may not be present: – Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. – Dasher users generally don’t require birthday, but could optionally have it set by users. – Any other types of accounts (e.g. robot, service) do not have birthdays. – Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: – “Profile Birthday” (person.birthday.metadata.container is PROFILE) may not have a year set if user “hides” the year. – “Account Birthday” (see api-specific notes below) will only be returned for the requester’s own profile. – People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: “person.birthday” }` `include_container: ACCOUNT` – People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: “person.account_birthday” }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) – See go/papi-vs-papi++#birthday for more details.String
metadataAppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT NOTES: – Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. – The birthday field should not be used to calculate the requester’s age! To determine the requester’s age, use person.age_range_repeated. – For more details about age see go/peopleapi-howto/age Birthday value may not be present: – Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. – Dasher users generally don’t require birthday, but could optionally have it set by users. – Any other types of accounts (e.g. robot, service) do not have birthdays. – Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: – “Profile Birthday” (person.birthday.metadata.container is PROFILE) may not have a year set if user “hides” the year. – “Account Birthday” (see api-specific notes below) will only be returned for the requester’s own profile. – People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: “person.birthday” }` `include_container: ACCOUNT` – People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: “person.account_birthday” }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) – See go/papi-vs-papi++#birthday for more details.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
promptPeople Prompts settings for contact birthday data. Only supported for CONTACT container.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT NOTES: – Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. – The birthday field should not be used to calculate the requester’s age! To determine the requester’s age, use person.age_range_repeated. – For more details about age see go/peopleapi-howto/age Birthday value may not be present: – Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. – Dasher users generally don’t require birthday, but could optionally have it set by users. – Any other types of accounts (e.g. robot, service) do not have birthdays. – Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: – “Profile Birthday” (person.birthday.metadata.container is PROFILE) may not have a year set if user “hides” the year. – “Account Birthday” (see api-specific notes below) will only be returned for the requester’s own profile. – People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: “person.birthday” }` `include_container: ACCOUNT` – People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: “person.account_birthday” }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) – See go/papi-vs-papi++#birthday for more details.SocialGraphApiProtoPrompt
valueActual value entered. Allows unstructured values.AppsPeopleOzExternalMergedpeopleapiBirthdayIMPORTANT NOTES: – Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. – The birthday field should not be used to calculate the requester’s age! To determine the requester’s age, use person.age_range_repeated. – For more details about age see go/peopleapi-howto/age Birthday value may not be present: – Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. – Dasher users generally don’t require birthday, but could optionally have it set by users. – Any other types of accounts (e.g. robot, service) do not have birthdays. – Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: – “Profile Birthday” (person.birthday.metadata.container is PROFILE) may not have a year set if user “hides” the year. – “Account Birthday” (see api-specific notes below) will only be returned for the requester’s own profile. – People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: “person.birthday” }` `include_container: ACCOUNT` – People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: “person.account_birthday” }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) – See go/papi-vs-papi++#birthday for more details.String
calendarDayProvisional birthday AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodWhether this field is set or not determines whether an account is in the grace period. While in the grace period, the user is unable to change their birthday on their own, and will be age-disabled if they don’t act in a limited amount of time. Applies only to ServiceData Birthday. Users enter the grace period if they choose a birthday below the Age of Consent (go/aoc). After the grace period ends, the account will be age disabled. See go/age-disable-grace-period-dd.GoogleTypeDate
gracePeriodEndTimestamp which signifies the end of the grace period for this account.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodWhether this field is set or not determines whether an account is in the grace period. While in the grace period, the user is unable to change their birthday on their own, and will be age-disabled if they don’t act in a limited amount of time. Applies only to ServiceData Birthday. Users enter the grace period if they choose a birthday below the Age of Consent (go/aoc). After the grace period ends, the account will be age disabled. See go/age-disable-grace-period-dd.DateTime
gracePeriodStartTimestamp which signifies the start of the grace period for this account.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodWhether this field is set or not determines whether an account is in the grace period. While in the grace period, the user is unable to change their birthday on their own, and will be age-disabled if they don’t act in a limited amount of time. Applies only to ServiceData Birthday. Users enter the grace period if they choose a birthday below the Age of Consent (go/aoc). After the grace period ends, the account will be age disabled. See go/age-disable-grace-period-dd.DateTime
gracePeriodTypeAppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodWhether this field is set or not determines whether an account is in the grace period. While in the grace period, the user is unable to change their birthday on their own, and will be age-disabled if they don’t act in a limited amount of time. Applies only to ServiceData Birthday. Users enter the grace period if they choose a birthday below the Age of Consent (go/aoc). After the grace period ends, the account will be age disabled. See go/age-disable-grace-period-dd.String
manualGracePeriodInfoAppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodWhether this field is set or not determines whether an account is in the grace period. While in the grace period, the user is unable to change their birthday on their own, and will be age-disabled if they don’t act in a limited amount of time. Applies only to ServiceData Birthday. Users enter the grace period if they choose a birthday below the Age of Consent (go/aoc). After the grace period ends, the account will be age disabled. See go/age-disable-grace-period-dd.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodManualGracePeriodInfo
escalateToThe Gaia ID of an email that ops can send inquiries to for appeals.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodManualGracePeriodInfoInformation provided within MutateDataRequest when setting a user into AgeDisableGracePeriod manually. When the grace period expires, this info will be forwarded to Gaia when disabling the user. cs//symbol:InitiateAgeDisableGracePeriodArgumentsString
executedByThe Gaia ID of a Googler who initiated this disable.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodManualGracePeriodInfoInformation provided within MutateDataRequest when setting a user into AgeDisableGracePeriod manually. When the grace period expires, this info will be forwarded to Gaia when disabling the user. cs//symbol:InitiateAgeDisableGracePeriodArgumentsString
reasonWhen setting a user into age grace period manually, the requester can additionally supply a short human-readable reason of why the account is put into manual grace period. The description will be forwarded to Gaia when we disable the account when the grace period expires.AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodManualGracePeriodInfoInformation provided within MutateDataRequest when setting a user into AgeDisableGracePeriod manually. When the grace period expires, this info will be forwarded to Gaia when disabling the user. cs//symbol:InitiateAgeDisableGracePeriodArgumentsString
metadataAppsPeopleOzExternalMergedpeopleapiBraggingRightsAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiBraggingRightsString
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiCalendarA url to the person’s calendar. As of 03/2018 is not supported for user Profile.String
metadataAppsPeopleOzExternalMergedpeopleapiCalendarA url to the person’s calendar. As of 03/2018 is not supported for user Profile.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeThe type of the calendar URL. The type can be free form or one of these predefined values: * `home` * `freeBusy` * `work`AppsPeopleOzExternalMergedpeopleapiCalendarA url to the person’s calendar. As of 03/2018 is not supported for user Profile.String
urlAppsPeopleOzExternalMergedpeopleapiCalendarA url to the person’s calendar. As of 03/2018 is not supported for user Profile.String
callerIdSourceIndicates which data source was used to populate the caller ID resultAppsPeopleOzExternalMergedpeopleapiCallerIdExtendedDataAppsPeopleOzExternalMergedpeopleapiCallerIdExtendedDataCallerIdSource
sourceTypeAppsPeopleOzExternalMergedpeopleapiCallerIdExtendedDataCallerIdSourceString
bornBeforeIndicates that the user was born at or before this time.AppsPeopleOzExternalMergedpeopleapiCertifiedBornBeforeInformation related to domain administrator (or authority) certification of a users age.DateTime
metadataAppsPeopleOzExternalMergedpeopleapiCertifiedBornBeforeInformation related to domain administrator (or authority) certification of a users age.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
channelIdUnique ID that corresponds to a Youtube channel.AppsPeopleOzExternalMergedpeopleapiChannelDataString
commentCountNumber of comments for a given Youtube channel.AppsPeopleOzExternalMergedpeopleapiChannelDataString
descriptionDescription of the channel.AppsPeopleOzExternalMergedpeopleapiChannelDataString
playlistCountAppsPeopleOzExternalMergedpeopleapiChannelDataString
profilePictureUrlA FIFE URL pointing to the channel’s profile image (go/avatar-fife-urls) with default fife url options. Also refer to go/people-api-concepts:photos for People API’s FIFE best practices. The image could be up to a couple of days stale, though it is much fresher in practice. If a fresh image is required, contact the YouTubeAccountProfileService. The URL itself expires ~30 days after generation.AppsPeopleOzExternalMergedpeopleapiChannelDataString
profileUrlURL of user’s Youtube channel profile.AppsPeopleOzExternalMergedpeopleapiChannelDataString
subscriberCountNumber of subscribers for a given Youtube channel.AppsPeopleOzExternalMergedpeopleapiChannelDataString
titleTitle of the YouTube channelAppsPeopleOzExternalMergedpeopleapiChannelDataString
usesYoutubeNamesWhether or not the channel’s profile has a title/avatar that is canonical in YouTube. Used to determine if the product profile card should be part of the core persona or have their own persona.AppsPeopleOzExternalMergedpeopleapiChannelDataboolean
videoCountNumber of videos uploaded in a given Youtube channel.AppsPeopleOzExternalMergedpeopleapiChannelDataString
circleIdThe circle that the person belongs to.AppsPeopleOzExternalMergedpeopleapiCircleMembershipA circle membership that the person has. A circle membership is created by adding a person to a circle by person-id or by email.String
metadataAppsPeopleOzExternalMergedpeopleapiCircleMembershipA circle membership that the person has. A circle membership is created by adding a person to a circle by person-id or by email.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
keyAppsPeopleOzExternalMergedpeopleapiClientDataArbitrary client data that is populated based on the clientString
metadataAppsPeopleOzExternalMergedpeopleapiClientDataArbitrary client data that is populated based on the clientAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
namespaceAppsPeopleOzExternalMergedpeopleapiClientDataArbitrary client data that is populated based on the clientString
valueAppsPeopleOzExternalMergedpeopleapiClientDataArbitrary client data that is populated based on the clientString
metadataAppsPeopleOzExternalMergedpeopleapiCommunicationEmailEmail for Google product communication with the user. This is only allowed in ServiceData. It is purely synthesized and read-only, and contains at most one field. It proxies from RawCommunicationEmail and only includes the primary field if exists. Otherwise if RawCommunicationEmail does not have primary, this includes a field synthesized from valid Gaia primary account email. Otherwise if Gaia primary account email is invalid, this field is empty. See go/comm-email-use for more details.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiCommunicationEmailEmail for Google product communication with the user. This is only allowed in ServiceData. It is purely synthesized and read-only, and contains at most one field. It proxies from RawCommunicationEmail and only includes the primary field if exists. Otherwise if RawCommunicationEmail does not have primary, this includes a field synthesized from valid Gaia primary account email. Otherwise if Gaia primary account email is invalid, this field is empty. See go/comm-email-use for more details.String
metadataAppsPeopleOzExternalMergedpeopleapiConnectionReminderContact-level people-prompts settings and contact-level connection reminders. Part of go/people-prompts.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
promptContact-level “reminder to connect” prompts for this contact.AppsPeopleOzExternalMergedpeopleapiConnectionReminderContact-level people-prompts settings and contact-level connection reminders. Part of go/people-prompts.list(SocialGraphApiProtoPrompt)
contactCreateContextAppsPeopleOzExternalMergedpeopleapiContactCreateContextInfoContact creation timestamps and related metadata. See go/contact-edit-history. This message is a pure wrapper of the shared ContactCreactionContext message so that it can be a top-level person field. No other fields should be added to the message.SocialGraphApiProtoContactCreateContext
metadataAppsPeopleOzExternalMergedpeopleapiContactCreateContextInfoContact creation timestamps and related metadata. See go/contact-edit-history. This message is a pure wrapper of the shared ContactCreactionContext message so that it can be a top-level person field. No other fields should be added to the message.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
contactEditContextAppsPeopleOzExternalMergedpeopleapiContactEditContextInfoContact edit timestamps and related metadata. See go/contact-edit-history. This message is a pure wrapper of the shared ContactCreactionContext message so that it can be a top-level person field. No other fields should be added to the message.SocialGraphApiProtoContactEditContext
metadataAppsPeopleOzExternalMergedpeopleapiContactEditContextInfoContact edit timestamps and related metadata. See go/contact-edit-history. This message is a pure wrapper of the shared ContactCreactionContext message so that it can be a top-level person field. No other fields should be added to the message.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
contactGroupIdThe contact-group that the person belong to. The id can be either a hex-formatted id or a camel-cased SystemContactGroup predefined group name. The id will be predefined group name iff the system_contact_group_id has a value.AppsPeopleOzExternalMergedpeopleapiContactGroupMembershipA membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.String
delegatedGroupInfoInformation related to delegated group that this contact belongs to.AppsPeopleOzExternalMergedpeopleapiContactGroupMembershipA membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.AppsPeopleOzExternalMergedpeopleapiDelegatedGroupInfo
metadataAppsPeopleOzExternalMergedpeopleapiContactGroupMembershipA membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
systemContactGroupIdThis field will be populated when the membership is in a system-reserved contact-group.AppsPeopleOzExternalMergedpeopleapiContactGroupMembershipA membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.String
contactPromptSettingsAppsPeopleOzExternalMergedpeopleapiContactPromptSettingsInfoContact level People Prompt settings. This message is a pure wrapper of the shared ContactPromptSettings message so that it can be a top-level person field. No other fields should be added to the message.SocialGraphApiProtoContactPromptSettings
metadataAppsPeopleOzExternalMergedpeopleapiContactPromptSettingsInfoContact level People Prompt settings. This message is a pure wrapper of the shared ContactPromptSettings message so that it can be a top-level person field. No other fields should be added to the message.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
contactStateAppsPeopleOzExternalMergedpeopleapiContactStateInfoContact state and related metadata. See go/fbs-contacts-trash. This message is a pure wrapper of the shared ContactState message so that it can be a top-level person field. No other fields should be added to the message.SocialGraphApiProtoContactState
metadataAppsPeopleOzExternalMergedpeopleapiContactStateInfoContact state and related metadata. See go/fbs-contacts-trash. This message is a pure wrapper of the shared ContactState message so that it can be a top-level person field. No other fields should be added to the message.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
imageHeightAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.integer
imageIdAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.String
imageUrlAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.String
imageWidthAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.integer
isAnimatedAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.boolean
isDefaultAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.boolean
metadataAppsPeopleOzExternalMergedpeopleapiCoverPhotoCoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
customerIdDEPRECATED. Use obfuscated_customer_id instead. If result has a GSuite Customer ID, this field will continue to be populated with -1 to indicate the presence of a value for backwards compatibility with clients in the wild. See b/144596193.AppsPeopleOzExternalMergedpeopleapiCustomerInfoContains customer data for profile owner proxied from D3.String
customerNameCustomer organization name for dasher user.AppsPeopleOzExternalMergedpeopleapiCustomerInfoContains customer data for profile owner proxied from D3.String
obfuscatedCustomerIdObfuscated FlexOrgs customer ID for Dasher user. See cs/symbol:CustomerIdObfuscator.AppsPeopleOzExternalMergedpeopleapiCustomerInfoContains customer data for profile owner proxied from D3.String
fieldDisplayNameAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
fieldIdAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
fieldTypeAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
metadataAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
multiValuedAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).boolean
schemaDisplayNameAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
schemaIdAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
typeThe type of the custom schema field. The type can be free form or one of these predefined values: * `home` * `other` * `work`AppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
valueString representation of the value, based on FieldTypeAppsPeopleOzExternalMergedpeopleapiCustomSchemaFieldCustom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).String
containerTypeSee SourceIdentity.container_typeAppsPeopleOzExternalMergedpeopleapiDedupedContainerInfoContainer information for deduping. When two fields have the same value and only differ by field.metadata a service implementation can choose to avoid duplicating the fields and instead set field.metadata.other_deduped_containers This type can include information on the dedupe type (for example, strict value match vs. lenient value match)String
idSee SourceIdentity.idAppsPeopleOzExternalMergedpeopleapiDedupedContainerInfoContainer information for deduping. When two fields have the same value and only differ by field.metadata a service implementation can choose to avoid duplicating the fields and instead set field.metadata.other_deduped_containers This type can include information on the dedupe type (for example, strict value match vs. lenient value match)String
delegatedGroupIdRequired. The additional id specifically for a delegated group.AppsPeopleOzExternalMergedpeopleapiDelegatedGroupInfoInformation related to delegated group that this contact belongs to.SocialGraphApiProtoDelegatedGroupId
attributesAttributes for this device contact.AppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadataExtra metadata for an aggregated or raw device contact.list(String)
usageInfoUsage info for this device contact.AppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadataExtra metadata for an aggregated or raw device contact.list(SocialGraphApiProtoUsageInfo)
contactIdAggregated device contact id on the source device.AppsPeopleOzExternalMergedpeopleapiDeviceContactIdUnique id for an aggregated device contact.String
deviceIdSource device id (go/client-instance-id) of this device contact.AppsPeopleOzExternalMergedpeopleapiDeviceContactIdUnique id for an aggregated device contact.String
deviceContactMetadataMetadata for this device contact.AppsPeopleOzExternalMergedpeopleapiDeviceContactInfoDevice contact information.AppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadata
hasCrossDeviceDataOutput only. True if any of the contact’s phone, email or address fields can be used on devices other than the one it originated from. Note that there can be other fields, typically name, and metadata such as some of the raw_contact_infos that can be used on other devices. Assigned by the server.AppsPeopleOzExternalMergedpeopleapiDeviceContactInfoDevice contact information.boolean
idId of the device contact.AppsPeopleOzExternalMergedpeopleapiDeviceContactInfoDevice contact information.AppsPeopleOzExternalMergedpeopleapiDeviceContactId
lastClientUpdateTimeLast time a device contact was updated on device.AppsPeopleOzExternalMergedpeopleapiDeviceContactInfoDevice contact information.DateTime
lookupKeyAn opaque value used by the device to look up this contact if its row id changed as a result of a sync or aggregation. See: https://developer.android.com/reference/android/provider/ContactsContract.ContactsColumns.html#LOOKUP_KEYAppsPeopleOzExternalMergedpeopleapiDeviceContactInfoDevice contact information.String
rawContactInfoInfo about the raw device contacts that make up this device contact.AppsPeopleOzExternalMergedpeopleapiDeviceContactInfoDevice contact information.list(AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo)
containerIdThe container ID of the entity this field creates a join to. See `SourceIdentity.id`.AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoString
containerTypeThe type of container that this edge points to. See `SourceIdentity.container_type`.AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoString
extendedDataData that is added to the proto by peopleapi read extensions.AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoAppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoExtensionData
materializedTrue indicates this edge links this source to a container represented by this person object. Note: Except for certain legacy clients, EdgeKeyInfo is only created for for edges to an entity in this person and this will always be true.AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoboolean
gdataCompatibilityExtensionIdThe GDataCompatibilityExtension will (temporarily) return mobile_owner_id for profile containers.AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoExtensionDataString
certificateAppsPeopleOzExternalMergedpeopleapiEmaillist(AppsPeopleOzExternalMergedpeopleapiEmailCertificate)
classificationAppsPeopleOzExternalMergedpeopleapiEmailString
contactGroupPreferenceTo read or update, use the CONTACT_GROUP_PREFERENCE mask field.AppsPeopleOzExternalMergedpeopleapiEmaillist(AppsPeopleOzExternalMergedpeopleapiEmailContactGroupPreference)
displayNameAppsPeopleOzExternalMergedpeopleapiEmailString
extendedDataAppsPeopleOzExternalMergedpeopleapiEmailAppsPeopleOzExternalMergedpeopleapiEmailExtendedData
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiEmailString
metadataAppsPeopleOzExternalMergedpeopleapiEmailAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
signupEmailMetadataAppsPeopleOzExternalMergedpeopleapiEmailAppsPeopleOzExternalMergedpeopleapiEmailSignupEmailMetadata
typeThe type of the email address. The type can be free form or one of these predefined values: * `home` * `work` * `other`AppsPeopleOzExternalMergedpeopleapiEmailString
valueAppsPeopleOzExternalMergedpeopleapiEmailString
configurationNameThe name of this certificate configuration. Examples could be “High security level” or “For domain emails only”.AppsPeopleOzExternalMergedpeopleapiEmailCertificateRepresents a S/MIME certificate config for use with Gmail. See //caribou/smime/proto/certificate_status.proto. There can be zero or more certificates associated with an email address, be it profile email or contact email.String
metadataIt is conceivable that certificates could be ACLed. We also need to indicate which certificate is the default. The PersonFieldMetadata can accomplish both of these.AppsPeopleOzExternalMergedpeopleapiEmailCertificateRepresents a S/MIME certificate config for use with Gmail. See //caribou/smime/proto/certificate_status.proto. There can be zero or more certificates associated with an email address, be it profile email or contact email.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
statusAppsPeopleOzExternalMergedpeopleapiEmailCertificateRepresents a S/MIME certificate config for use with Gmail. See //caribou/smime/proto/certificate_status.proto. There can be zero or more certificates associated with an email address, be it profile email or contact email.AppsPeopleOzExternalMergedpeopleapiEmailCertificateCertificateStatus
notAfterSecThe certificate expiration timestamp in seconds.AppsPeopleOzExternalMergedpeopleapiEmailCertificateCertificateStatusMinimal S/MIME certificate status i.e. two fields per email address.String
statusCodeCurrent status of the email’s certificate chain.AppsPeopleOzExternalMergedpeopleapiEmailCertificateCertificateStatusMinimal S/MIME certificate status i.e. two fields per email address.String
contactGroupIdAppsPeopleOzExternalMergedpeopleapiEmailContactGroupPreferencePreferred email addresses for contact groups.String
isSyntheticIf the Preference was implicitly set by PeopleApi/Contacts Service. A preference with this bit will not be saved to storage. See go/contact-group-email-preference-papi-problem for more info.AppsPeopleOzExternalMergedpeopleapiEmailContactGroupPreferencePreferred email addresses for contact groups.boolean
typeAppsPeopleOzExternalMergedpeopleapiEmailContactGroupPreferencePreferred email addresses for contact groups.String
internalExternalFor use with the CUSTOMER_INFO_ADDITIONAL_DATA extension. This includes information on whether the given email is internal to or external to the requesting user’s domain.AppsPeopleOzExternalMergedpeopleapiEmailExtendedDataExtension data for a person email.PeoplestackFlexorgsProtoInternalExternal
isPlaceholderFor ListPeoplebyKnownId to indicate an email is sythesized from a lookup email.AppsPeopleOzExternalMergedpeopleapiEmailExtendedDataExtension data for a person email.boolean
smtpServerSupportsTlsFor use with the TLS extension. Whether the SMTP server that handles delivery for this email address supports TLS encryption.AppsPeopleOzExternalMergedpeopleapiEmailExtendedDataExtension data for a person email.boolean
usesConfusingCharactersFor use with the Gmail Homograph Warning extension. Whether the email contains mixed character sets that could be used to decieve users. This field is populated by the GMAIL_SECURITY_DATA extension.AppsPeopleOzExternalMergedpeopleapiEmailExtendedDataExtension data for a person email.boolean
primaryThis is considered to be the primary signup email. At most 1 signup email will have this set.AppsPeopleOzExternalMergedpeopleapiEmailSignupEmailMetadataAdditional metadata for a signup email. This will only be set if the email’s classification is SIGNUP_EMAIL.boolean
metadataAppsPeopleOzExternalMergedpeopleapiEmergencyInfoEmergency info for Person. See go/emergency-trusted-contacts-papi.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
pomeroyIdOpaque id from Pomeroy (go/pomeroy). Non-empty pomeroy_id means that this contact has the potential to become trusted contact or it’s already trusted contact. Trust is eventually gaia<->gaia link, but when the trust link is initiated gaia might not be known. Until gaia is discovered, pomeroy_id is used to identify the contact uniquely. If trust_level is missing or set to TRUST_LEVEL_UNSPECIFIED pomeroy_id must be empty.AppsPeopleOzExternalMergedpeopleapiEmergencyInfoEmergency info for Person. See go/emergency-trusted-contacts-papi.String
trustLevelAppsPeopleOzExternalMergedpeopleapiEmergencyInfoEmergency info for Person. See go/emergency-trusted-contacts-papi.String
calendarDayEvent are more accurately represented as a calendar day that does not depend on a timestamp representation at all. When given a timestamp, there are lots of opportunities to make mistakes, so a CalendarDay proto is replacing timestamps. PeopleApi will return these values on reads, and unless the client is a legacy caller in the legacy_timestamp_event_write_behavior_enabled capability allowlist, this value is what is used for Person writes.AppsPeopleOzExternalMergedpeopleapiEventGoogleTypeDate
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiEventString
metadataAppsPeopleOzExternalMergedpeopleapiEventAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
promptPeople Prompts settings for contact event data.AppsPeopleOzExternalMergedpeopleapiEventSocialGraphApiProtoPrompt
timestampMillisClients are recommended to read the calendar_day field instead of timestamp_millis. When writing events, new clients must set calendar_day instead of timestamp_millis. Events are currently represented as timestamp values, although the interpretation of these timestamp values is a calendar date. There are a few important details about how this value should be mapped to a calendar date that should be consistent among all clients. For detailed information, see Birthday.date_ms.AppsPeopleOzExternalMergedpeopleapiEventString
typeThe type of the event. The type can be free form or one of these predefined values: * `anniversary` * `other`AppsPeopleOzExternalMergedpeopleapiEventString
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiExternalIdExternal identifier associated with the person.String
metadataAppsPeopleOzExternalMergedpeopleapiExternalIdExternal identifier associated with the person.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeThe type of the external ID. The type can be free form or one of these predefined values: * `account` * `customer` * `loginId` * `network` * `organization`AppsPeopleOzExternalMergedpeopleapiExternalIdExternal identifier associated with the person.String
valueAppsPeopleOzExternalMergedpeopleapiExternalIdExternal identifier associated with the person.String
aclEntryA custom type of field ACL entry. The set of all ACL entries includes those listed in acl_entry as well as predefined_acl_entry.AppsPeopleOzExternalMergedpeopleapiFieldAclThe field ACL. Currently only populated on profile fields for the profile owner. A Person field ACL; see http://go/peopleapi-acllist(AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntry)
authorizedViewersSet of users that will be authorized to view the field by this field ACL. If the ACL is public, this will only contain ALL_USERS. This field is synthesized, read-only, and currently only used for profile photos. It’s populated under “person.photo.metadata.field_acl” for the current photo ACL and “person.photo.metadata.acl_choices” for available photo ACL choices. Note: The set of authorized viewers for a given FieldAcl may depend on the user’s account type and domain configuration. For example, a PRIVATE_READ FieldAcl could have any of the following authorized viewers: Consumer user: [IDENTITY_ACL_ESTABLISHED] Dasher user without domain contact sharing: [IDENTITY_ACL_ESTABLISHED] Unicorn user: [SAME_UNICORN_FAMILY] Hafez user: []AppsPeopleOzExternalMergedpeopleapiFieldAclThe field ACL. Currently only populated on profile fields for the profile owner. A Person field ACL; see http://go/peopleapi-acllist(String)
predefinedAclEntryA common type of field ACL entry. A predefined ACL entry is a shortcut for a commonly occurring case of role and scope. For example, PUBLIC_READ is the same as an AclEntry with role = READER and scope.all_users = true. The set of all ACL entries includes those listed in acl_entry as well as predefined_acl_entry.AppsPeopleOzExternalMergedpeopleapiFieldAclThe field ACL. Currently only populated on profile fields for the profile owner. A Person field ACL; see http://go/peopleapi-acllist(String)
roleAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryString
scopeAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScope
allUsersIndicates that the field is accessible to all users including unauthenticated users. For some fields this means “to everyone except blocked users”.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeboolean
domainUsersThis is a “synthetic” field. In reality domains are treated as gaia- groups. This field will be ‘true’ when the field is ACLed to the gaia-group of the requester’s domain.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeboolean
membershipAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAcl
personIndicates that the field is accessible to a person.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAcl
circleAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclUsed when the field is accessible to a membership that the person has.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAcl
contactGroupAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclUsed when the field is accessible to a membership that the person has.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAcl
circleIdAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAclUsed when a field is accessible to a circle.String
circleSetAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAclUsed when a field is accessible to a circle.String
displayNameEquivalent to Circle.display_name for the circle_id. Included when FieldAclOption.FULL_ACL_WITH_DETAILS is requested. This field is read-only and ignored on update.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAclUsed when a field is accessible to a circle.String
contactGroupIdA contact group ID. This is either a user-defined contact group hex ID, or it is the string name of the enum constant in Group.PredefinedId in FBS backend.proto for predefined groups. Common values for the predefined name include, but are not limited to: all, myContacts, starred, chatBuddies, friends, family, coworkers, and blocked.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAclUsed when a field is accessible to a legacy contact group. Contact groups are discouraged and may be deprecated soon. ContactGroupAcls are read-only. If they are included as part of an ACL on an Update, an exception is thrown.String
displayNameThe localized display name for the predefined group, if known; or, the display name for the user-defined contact group. Included when FieldAclOption.FULL_ACL_WITH_DETAILS is requested.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAclUsed when a field is accessible to a legacy contact group. Contact groups are discouraged and may be deprecated soon. ContactGroupAcls are read-only. If they are included as part of an ACL on an Update, an exception is thrown.String
displayNameDEPRECATED. This is not different than reading from person.name for a self-read; ACLs to a circle or to a non-self person are no longer supported. Equivalent to Name.display_name for the person_id profile. Included when the profile Name is ACLed to the requester and FieldAclOption.FULL_ACL_WITH_DETAILS is requested. This field is read-only and ignored on update.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAclUsed when a field is accessible to a person. NOTE: ACLs to a circle or to a non-self person are no longer supported, so this can only be applied to the requester self.String
personIdAppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAclUsed when a field is accessible to a person. NOTE: ACLs to a circle or to a non-self person are no longer supported, so this can only be applied to the requester self.String
photoUrlDEPRECATED. This is not different than reading from person.photo for a self-read; ACLs to a circle or to a non-self person are no longer supported. Equivalent to Photo.url for the person_id profile. Included when the profile Photo is ACLed to the requester and FieldAclOption.FULL_ACL_WITH_DETAILS is requested. This field is read-only and ignored on update.AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAclUsed when a field is accessible to a person. NOTE: ACLs to a circle or to a non-self person are no longer supported, so this can only be applied to the requester self.String
emergencyLevelAppsPeopleOzExternalMergedpeopleapiFieldEmergencyInfoEmergency information for Person field, such as Phone or Email. See go/emergency-trusted-contacts-papi.String
metadataAppsPeopleOzExternalMergedpeopleapiFileAsThe FileAs field in Contacts is used to override the DisplayName of a Contact for that User.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiFileAsThe FileAs field in Contacts is used to override the DisplayName of a Contact for that User.String
addressMeAsPreferred pronoun choice. It’s unclear whether this value is constrained to a finite domain by UIs. `address_me_as` may be populated regardless of whether `type` is “male”, “female”, or “other”, although most writers only set it if `type` is “other”.AppsPeopleOzExternalMergedpeopleapiGenderGender in PeopleApi has some odd semantics about writing and reading that are not obvious from the proto definition. First, the `type` string, when read, always maps to the constrained domain of “male”, “female”, and “other”, aside from a pathological case that PeopleApi would like to fix. There are two typical patterns: 1. `type` is either “male” or “female” and `custom_type` and `address_me_as` are exactly as specified by an update to PeopleApi, although they are most often absent for “male” and “female” writes. 2. `type` is “other” and `custom_type` is set to a freeform string from the request. `address_me_as` is equal to whatever was provided at write time. When writing, the free-form string for `custom_type` can come from either `custom_type` if the field is present on the request, or if `custom_type` is absent, the string value of `type` will be copied into it. Any value in `type` will be coerced to “other” and the free-form value will be copied into `custom_type`, even if `type` is exactly “other”. Prefer to explicitly set `custom_type` and set type to “other” instead of setting type to a free-form value. There are weird edge cases when the value is “unknown”. Consider the behavior for `type` == “unknown” unspecified. Clients reading the gender should use the value from `formatted_type` if `type` is “male” or “female”. If `type` is “other”, `formatted_type` will be “Other” (or some translation) and clients should read `custom_type` for more specificity.String
customTypeA free-form string indicating what the user entered as their gender. `custom_type` may exist even if the type is “male” or “female”, although most writers do not set it unless `type` is “other”.AppsPeopleOzExternalMergedpeopleapiGenderGender in PeopleApi has some odd semantics about writing and reading that are not obvious from the proto definition. First, the `type` string, when read, always maps to the constrained domain of “male”, “female”, and “other”, aside from a pathological case that PeopleApi would like to fix. There are two typical patterns: 1. `type` is either “male” or “female” and `custom_type` and `address_me_as` are exactly as specified by an update to PeopleApi, although they are most often absent for “male” and “female” writes. 2. `type` is “other” and `custom_type` is set to a freeform string from the request. `address_me_as` is equal to whatever was provided at write time. When writing, the free-form string for `custom_type` can come from either `custom_type` if the field is present on the request, or if `custom_type` is absent, the string value of `type` will be copied into it. Any value in `type` will be coerced to “other” and the free-form value will be copied into `custom_type`, even if `type` is exactly “other”. Prefer to explicitly set `custom_type` and set type to “other” instead of setting type to a free-form value. There are weird edge cases when the value is “unknown”. Consider the behavior for `type` == “unknown” unspecified. Clients reading the gender should use the value from `formatted_type` if `type` is “male” or “female”. If `type` is “other”, `formatted_type` will be “Other” (or some translation) and clients should read `custom_type` for more specificity.String
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiGenderGender in PeopleApi has some odd semantics about writing and reading that are not obvious from the proto definition. First, the `type` string, when read, always maps to the constrained domain of “male”, “female”, and “other”, aside from a pathological case that PeopleApi would like to fix. There are two typical patterns: 1. `type` is either “male” or “female” and `custom_type` and `address_me_as` are exactly as specified by an update to PeopleApi, although they are most often absent for “male” and “female” writes. 2. `type` is “other” and `custom_type` is set to a freeform string from the request. `address_me_as` is equal to whatever was provided at write time. When writing, the free-form string for `custom_type` can come from either `custom_type` if the field is present on the request, or if `custom_type` is absent, the string value of `type` will be copied into it. Any value in `type` will be coerced to “other” and the free-form value will be copied into `custom_type`, even if `type` is exactly “other”. Prefer to explicitly set `custom_type` and set type to “other” instead of setting type to a free-form value. There are weird edge cases when the value is “unknown”. Consider the behavior for `type` == “unknown” unspecified. Clients reading the gender should use the value from `formatted_type` if `type` is “male” or “female”. If `type` is “other”, `formatted_type` will be “Other” (or some translation) and clients should read `custom_type` for more specificity.String
metadataAppsPeopleOzExternalMergedpeopleapiGenderGender in PeopleApi has some odd semantics about writing and reading that are not obvious from the proto definition. First, the `type` string, when read, always maps to the constrained domain of “male”, “female”, and “other”, aside from a pathological case that PeopleApi would like to fix. There are two typical patterns: 1. `type` is either “male” or “female” and `custom_type` and `address_me_as` are exactly as specified by an update to PeopleApi, although they are most often absent for “male” and “female” writes. 2. `type` is “other” and `custom_type` is set to a freeform string from the request. `address_me_as` is equal to whatever was provided at write time. When writing, the free-form string for `custom_type` can come from either `custom_type` if the field is present on the request, or if `custom_type` is absent, the string value of `type` will be copied into it. Any value in `type` will be coerced to “other” and the free-form value will be copied into `custom_type`, even if `type` is exactly “other”. Prefer to explicitly set `custom_type` and set type to “other” instead of setting type to a free-form value. There are weird edge cases when the value is “unknown”. Consider the behavior for `type` == “unknown” unspecified. Clients reading the gender should use the value from `formatted_type` if `type` is “male” or “female”. If `type` is “other”, `formatted_type` will be “Other” (or some translation) and clients should read `custom_type` for more specificity.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeThe gender. “male”, “female”, or “other”. If “other”, typically, additional fields will have additional information.AppsPeopleOzExternalMergedpeopleapiGenderGender in PeopleApi has some odd semantics about writing and reading that are not obvious from the proto definition. First, the `type` string, when read, always maps to the constrained domain of “male”, “female”, and “other”, aside from a pathological case that PeopleApi would like to fix. There are two typical patterns: 1. `type` is either “male” or “female” and `custom_type` and `address_me_as` are exactly as specified by an update to PeopleApi, although they are most often absent for “male” and “female” writes. 2. `type` is “other” and `custom_type` is set to a freeform string from the request. `address_me_as` is equal to whatever was provided at write time. When writing, the free-form string for `custom_type` can come from either `custom_type` if the field is present on the request, or if `custom_type` is absent, the string value of `type` will be copied into it. Any value in `type` will be coerced to “other” and the free-form value will be copied into `custom_type`, even if `type` is exactly “other”. Prefer to explicitly set `custom_type` and set type to “other” instead of setting type to a free-form value. There are weird edge cases when the value is “unknown”. Consider the behavior for `type` == “unknown” unspecified. Clients reading the gender should use the value from `formatted_type` if `type` is “male” or “female”. If `type` is “other”, `formatted_type` will be “Other” (or some translation) and clients should read `custom_type` for more specificity.String
failureFailure type if there is an error when fetching product profile data.AppsPeopleOzExternalMergedpeopleapiGPayExtendedDataExtension data for use in GPay Product Profile. go/gpay-product-profile-1-pager Contact: [email protected]AppsPeopleOzExternalMergedpeopleapiProductProfileFailure
internationalNumberA number in international format including the country code that is made user readable by including formatting such as spaces. Example: “+41 44 668 1800” DEPRECATED: A user’s phone number should be masked and not in an international formatAppsPeopleOzExternalMergedpeopleapiGPayExtendedDataExtension data for use in GPay Product Profile. go/gpay-product-profile-1-pager Contact: [email protected]String
maskedNumberThe masked string of a user’s phone number The number will be obfucsated with * except the last 4 digits. Refer to: //java/com/google/nbu/paisa/common/PhoneNumberMasker.javaAppsPeopleOzExternalMergedpeopleapiGPayExtendedDataExtension data for use in GPay Product Profile. go/gpay-product-profile-1-pager Contact: [email protected]String
contentRestrictionAppsPeopleOzExternalMergedpeopleapiGplusExtendedDataString
isEnterpriseUserEquivalent to having the DASHER_POLICY bit in the REGISTERED state.AppsPeopleOzExternalMergedpeopleapiGplusExtendedDataboolean
hadPastHangoutStateAppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.String
invitationStatusPopulated for all contacts. Only set if had_past_hangout_state == HAD_PAST_HANGOUT. INVITATION_NEEDED is not a valid value because there already is a past hangout, which means either the invitation is still pending or it’s been accepted.AppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.String
isBotTrue if this is a Hangouts bot.AppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.boolean
isDismissedAppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.boolean
isFavoriteAppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.boolean
isPinnedAppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.boolean
userTypeAppsPeopleOzExternalMergedpeopleapiHangoutsExtendedDataExtension data for use in Hangouts.String
originalLookupTokenOriginal lookup token from the request that resulted in this person or one of its containers.AppsPeopleOzExternalMergedpeopleapiIdentityInfolist(String)
previousPersonIdAny former IDs this person may have had, in the case that their ID may have changed. Populated only for sync requests. Examples of such changes include adding an edge to a contact that links to a profile. The ID will change from being contact-oriented to being profile-oriented. To be used to clear out old versions of a person.AppsPeopleOzExternalMergedpeopleapiIdentityInfolist(String)
sourceIdsA list of sources contributing to the merged person, including profiles (with gaia-id), contacts and synthetic-contacts.AppsPeopleOzExternalMergedpeopleapiIdentityInfolist(AppsPeopleOzExternalMergedpeopleapiSourceIdentity)
formattedProtocolThe `protocol` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiImString
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiImString
metadataAppsPeopleOzExternalMergedpeopleapiImAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
protocolThe protocol of the IM. The protocol can be free form or one of these predefined values: * `aim` * `msn` * `yahoo` * `skype` * `qq` * `googleTalk` * `icq` * `jabber` * `netMeeting`AppsPeopleOzExternalMergedpeopleapiImString
typeThe type of the IM. The type can be free form or one of these predefined values: * `home` * `work` * `other`AppsPeopleOzExternalMergedpeopleapiImString
valueAppsPeopleOzExternalMergedpeopleapiImString
appAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetHow and where to send notifications to this person in other apps, and why the requester can do so. See go/reachability for more info. “How” and “where” identify the recipient in a P2P Bridge (glossary/p2p bridge), and “why” may be helpful in a UI to disambiguate which of several ways may be used to contact the recipient. How: Via a Google profile or a reachable-only phone number that the requester has access to. Specified in the target “type” and “value”. Where: Apps in which the profile/phone number owner may receive notifications. Specified in the repeated “app”. Why: Which fields in, e.g., a contact associated with this person make the notification target info visible to the requester. Specified in the repeated originating_field param. Example: Alice has a contact Bob, with: Email 0 = [email protected] Phone 0 = +12223334444 Phone 1 = +15556667777 Email 0 and Phone 0 let Alice see Bob’s public profile (obfuscated gaia ID = 123). Public profiles are visible by email by default, and Bob has explicitly made it visible via Phone 0. Bob says people can send notifications to his public profile in YouTube. Phone 2 is associated with another Google profile that Bob owns, but he doesn’t want others to see it. He is okay with people sending notifications to him in Who’s Down if they have this phone number, however. There will be separate InAppNotificationTargets: one for Bob’s public Google profile, and one for the second phone number, which is in his private profile. IANT #1 – targeting Bob’s public profile (visible via Email 0 and Phone 0): app = [YOUTUBE] type = OBFUSCATED_GAIA_ID value = 123 originating_field: [ { field_type = EMAIL, field_index = 0 } // For Email 0 { field_type = PHONE, field_index = 0 } // For Phone 0 ] IANT #2 – targeting Bob’s private profile phone number Phone 1: app = [WHOS_DOWN] type = PHONE value = +15556667777 originating_field: [ { field_type = PHONE, field_index = 1 } // For Phone 1 ]list(String)
clientDataAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetHow and where to send notifications to this person in other apps, and why the requester can do so. See go/reachability for more info. “How” and “where” identify the recipient in a P2P Bridge (glossary/p2p bridge), and “why” may be helpful in a UI to disambiguate which of several ways may be used to contact the recipient. How: Via a Google profile or a reachable-only phone number that the requester has access to. Specified in the target “type” and “value”. Where: Apps in which the profile/phone number owner may receive notifications. Specified in the repeated “app”. Why: Which fields in, e.g., a contact associated with this person make the notification target info visible to the requester. Specified in the repeated originating_field param. Example: Alice has a contact Bob, with: Email 0 = [email protected] Phone 0 = +12223334444 Phone 1 = +15556667777 Email 0 and Phone 0 let Alice see Bob’s public profile (obfuscated gaia ID = 123). Public profiles are visible by email by default, and Bob has explicitly made it visible via Phone 0. Bob says people can send notifications to his public profile in YouTube. Phone 2 is associated with another Google profile that Bob owns, but he doesn’t want others to see it. He is okay with people sending notifications to him in Who’s Down if they have this phone number, however. There will be separate InAppNotificationTargets: one for Bob’s public Google profile, and one for the second phone number, which is in his private profile. IANT #1 – targeting Bob’s public profile (visible via Email 0 and Phone 0): app = [YOUTUBE] type = OBFUSCATED_GAIA_ID value = 123 originating_field: [ { field_type = EMAIL, field_index = 0 } // For Email 0 { field_type = PHONE, field_index = 0 } // For Phone 0 ] IANT #2 – targeting Bob’s private profile phone number Phone 1: app = [WHOS_DOWN] type = PHONE value = +15556667777 originating_field: [ { field_type = PHONE, field_index = 1 } // For Phone 1 ]list(AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetClientData)
metadataAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetHow and where to send notifications to this person in other apps, and why the requester can do so. See go/reachability for more info. “How” and “where” identify the recipient in a P2P Bridge (glossary/p2p bridge), and “why” may be helpful in a UI to disambiguate which of several ways may be used to contact the recipient. How: Via a Google profile or a reachable-only phone number that the requester has access to. Specified in the target “type” and “value”. Where: Apps in which the profile/phone number owner may receive notifications. Specified in the repeated “app”. Why: Which fields in, e.g., a contact associated with this person make the notification target info visible to the requester. Specified in the repeated originating_field param. Example: Alice has a contact Bob, with: Email 0 = [email protected] Phone 0 = +12223334444 Phone 1 = +15556667777 Email 0 and Phone 0 let Alice see Bob’s public profile (obfuscated gaia ID = 123). Public profiles are visible by email by default, and Bob has explicitly made it visible via Phone 0. Bob says people can send notifications to his public profile in YouTube. Phone 2 is associated with another Google profile that Bob owns, but he doesn’t want others to see it. He is okay with people sending notifications to him in Who’s Down if they have this phone number, however. There will be separate InAppNotificationTargets: one for Bob’s public Google profile, and one for the second phone number, which is in his private profile. IANT #1 – targeting Bob’s public profile (visible via Email 0 and Phone 0): app = [YOUTUBE] type = OBFUSCATED_GAIA_ID value = 123 originating_field: [ { field_type = EMAIL, field_index = 0 } // For Email 0 { field_type = PHONE, field_index = 0 } // For Phone 0 ] IANT #2 – targeting Bob’s private profile phone number Phone 1: app = [WHOS_DOWN] type = PHONE value = +15556667777 originating_field: [ { field_type = PHONE, field_index = 1 } // For Phone 1 ]AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
originatingFieldThere may be more than one field from which this IANT originates, as in the case of Bob’s public profile.AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetHow and where to send notifications to this person in other apps, and why the requester can do so. See go/reachability for more info. “How” and “where” identify the recipient in a P2P Bridge (glossary/p2p bridge), and “why” may be helpful in a UI to disambiguate which of several ways may be used to contact the recipient. How: Via a Google profile or a reachable-only phone number that the requester has access to. Specified in the target “type” and “value”. Where: Apps in which the profile/phone number owner may receive notifications. Specified in the repeated “app”. Why: Which fields in, e.g., a contact associated with this person make the notification target info visible to the requester. Specified in the repeated originating_field param. Example: Alice has a contact Bob, with: Email 0 = [email protected] Phone 0 = +12223334444 Phone 1 = +15556667777 Email 0 and Phone 0 let Alice see Bob’s public profile (obfuscated gaia ID = 123). Public profiles are visible by email by default, and Bob has explicitly made it visible via Phone 0. Bob says people can send notifications to his public profile in YouTube. Phone 2 is associated with another Google profile that Bob owns, but he doesn’t want others to see it. He is okay with people sending notifications to him in Who’s Down if they have this phone number, however. There will be separate InAppNotificationTargets: one for Bob’s public Google profile, and one for the second phone number, which is in his private profile. IANT #1 – targeting Bob’s public profile (visible via Email 0 and Phone 0): app = [YOUTUBE] type = OBFUSCATED_GAIA_ID value = 123 originating_field: [ { field_type = EMAIL, field_index = 0 } // For Email 0 { field_type = PHONE, field_index = 0 } // For Phone 0 ] IANT #2 – targeting Bob’s private profile phone number Phone 1: app = [WHOS_DOWN] type = PHONE value = +15556667777 originating_field: [ { field_type = PHONE, field_index = 1 } // For Phone 1 ]list(AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingField)
typeAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetHow and where to send notifications to this person in other apps, and why the requester can do so. See go/reachability for more info. “How” and “where” identify the recipient in a P2P Bridge (glossary/p2p bridge), and “why” may be helpful in a UI to disambiguate which of several ways may be used to contact the recipient. How: Via a Google profile or a reachable-only phone number that the requester has access to. Specified in the target “type” and “value”. Where: Apps in which the profile/phone number owner may receive notifications. Specified in the repeated “app”. Why: Which fields in, e.g., a contact associated with this person make the notification target info visible to the requester. Specified in the repeated originating_field param. Example: Alice has a contact Bob, with: Email 0 = [email protected] Phone 0 = +12223334444 Phone 1 = +15556667777 Email 0 and Phone 0 let Alice see Bob’s public profile (obfuscated gaia ID = 123). Public profiles are visible by email by default, and Bob has explicitly made it visible via Phone 0. Bob says people can send notifications to his public profile in YouTube. Phone 2 is associated with another Google profile that Bob owns, but he doesn’t want others to see it. He is okay with people sending notifications to him in Who’s Down if they have this phone number, however. There will be separate InAppNotificationTargets: one for Bob’s public Google profile, and one for the second phone number, which is in his private profile. IANT #1 – targeting Bob’s public profile (visible via Email 0 and Phone 0): app = [YOUTUBE] type = OBFUSCATED_GAIA_ID value = 123 originating_field: [ { field_type = EMAIL, field_index = 0 } // For Email 0 { field_type = PHONE, field_index = 0 } // For Phone 0 ] IANT #2 – targeting Bob’s private profile phone number Phone 1: app = [WHOS_DOWN] type = PHONE value = +15556667777 originating_field: [ { field_type = PHONE, field_index = 1 } // For Phone 1 ]String
valueThe value of the target, used for delivery. E.g., the obfuscated gaia ID for a visible profile.AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetHow and where to send notifications to this person in other apps, and why the requester can do so. See go/reachability for more info. “How” and “where” identify the recipient in a P2P Bridge (glossary/p2p bridge), and “why” may be helpful in a UI to disambiguate which of several ways may be used to contact the recipient. How: Via a Google profile or a reachable-only phone number that the requester has access to. Specified in the target “type” and “value”. Where: Apps in which the profile/phone number owner may receive notifications. Specified in the repeated “app”. Why: Which fields in, e.g., a contact associated with this person make the notification target info visible to the requester. Specified in the repeated originating_field param. Example: Alice has a contact Bob, with: Email 0 = [email protected] Phone 0 = +12223334444 Phone 1 = +15556667777 Email 0 and Phone 0 let Alice see Bob’s public profile (obfuscated gaia ID = 123). Public profiles are visible by email by default, and Bob has explicitly made it visible via Phone 0. Bob says people can send notifications to his public profile in YouTube. Phone 2 is associated with another Google profile that Bob owns, but he doesn’t want others to see it. He is okay with people sending notifications to him in Who’s Down if they have this phone number, however. There will be separate InAppNotificationTargets: one for Bob’s public Google profile, and one for the second phone number, which is in his private profile. IANT #1 – targeting Bob’s public profile (visible via Email 0 and Phone 0): app = [YOUTUBE] type = OBFUSCATED_GAIA_ID value = 123 originating_field: [ { field_type = EMAIL, field_index = 0 } // For Email 0 { field_type = PHONE, field_index = 0 } // For Phone 0 ] IANT #2 – targeting Bob’s private profile phone number Phone 1: app = [WHOS_DOWN] type = PHONE value = +15556667777 originating_field: [ { field_type = PHONE, field_index = 1 } // For Phone 1 ]String
appThe app to which this client data applies.AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetClientDataClient-specific data pertaining to app reachability. No PII data or user content should be stored in this blob.String
byteValueAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetClientDataClient-specific data pertaining to app reachability. No PII data or user content should be stored in this blob.String
fieldIndexThe index of the relevant field in the merged personAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingFieldInfo for identifying the specific field in this person that lets the requester send them notifications. These are typically fields added to a contact (e.g., email). There will not always be in originating field, typically in the case that whatever permits the requester to see this target info is not something that can be used on its own for contacting this person.integer
fieldTypeAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingFieldInfo for identifying the specific field in this person that lets the requester send them notifications. These are typically fields added to a contact (e.g., email). There will not always be in originating field, typically in the case that whatever permits the requester to see this target info is not something that can be used on its own for contacting this person.String
valueThe value of the origin fieldAppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingFieldInfo for identifying the specific field in this person that lets the requester send them notifications. These are typically fields added to a contact (e.g., email). There will not always be in originating field, typically in the case that whatever permits the requester to see this target info is not something that can be used on its own for contacting this person.String
appTypeAppsPeopleOzExternalMergedpeopleapiInAppReachabilityThis is deprecated in PEOPLE_API/SHARPEN, and should only be used for PROFILES. Clients should use InAppNotificationTarget field instead. Which apps the person has indicated they are reachable at for the requester. See go/d13y and com.google.focus.proto.InAppReachability.String
metadataAppsPeopleOzExternalMergedpeopleapiInAppReachabilityThis is deprecated in PEOPLE_API/SHARPEN, and should only be used for PROFILES. Clients should use InAppNotificationTarget field instead. Which apps the person has indicated they are reachable at for the requester. See go/d13y and com.google.focus.proto.InAppReachability.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
reachabilityKeyAppsPeopleOzExternalMergedpeopleapiInAppReachabilityThis is deprecated in PEOPLE_API/SHARPEN, and should only be used for PROFILES. Clients should use InAppNotificationTarget field instead. Which apps the person has indicated they are reachable at for the requester. See go/d13y and com.google.focus.proto.InAppReachability.AppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKey
statusAppsPeopleOzExternalMergedpeopleapiInAppReachabilityThis is deprecated in PEOPLE_API/SHARPEN, and should only be used for PROFILES. Clients should use InAppNotificationTarget field instead. Which apps the person has indicated they are reachable at for the requester. See go/d13y and com.google.focus.proto.InAppReachability.String
keyTypeAppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKeyInformation pertaining to how this reachable state was established.String
keyValueThe value of the key by which the user said they may be reachable. E.g., the phone number.AppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKeyInformation pertaining to how this reachable state was established.String
allowedAppsPeopleOzExternalMergedpeopleapiInteractionSettingsDefines interactions that are allowed or disallowed with this person.boolean
interactionAppsPeopleOzExternalMergedpeopleapiInteractionSettingsDefines interactions that are allowed or disallowed with this person.String
metadataAppsPeopleOzExternalMergedpeopleapiInteractionSettingsDefines interactions that are allowed or disallowed with this person.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
metadataAppsPeopleOzExternalMergedpeopleapiInterestAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiInterestString
metadataAppsPeopleOzExternalMergedpeopleapiLanguageThe value can either by a language code conforming to the IETF BCP 47 specification or a custom freeform value. By default the returned value is proxied from FBS Profile.Language. If `include_account_locale` is set on the `MergePersonSourceOptions` the language from go/uls is preferred and returned as primary along with a secondary language from FBS.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiLanguageThe value can either by a language code conforming to the IETF BCP 47 specification or a custom freeform value. By default the returned value is proxied from FBS Profile.Language. If `include_account_locale` is set on the `MergePersonSourceOptions` the language from go/uls is preferred and returned as primary along with a secondary language from FBS.String
latAppsPeopleOzExternalMergedpeopleapiLatLngfloat
lngAppsPeopleOzExternalMergedpeopleapiLatLngfloat
mobileOwnerIdMobile obfuscated gaia id. This is the same gaia id in metadata.owner_id, but obfuscated with the legacy mobile obfuscator.AppsPeopleOzExternalMergedpeopleapiLegacyFieldsFields used in legacy applications. Useful for joining legacy and new data streams. Most applications should not care about these fields.String
limitedProfileSettingsAppsPeopleOzExternalMergedpeopleapiLimitedProfileSettingsFieldSocialGraphApiProtoLimitedProfileSettings
metadataAppsPeopleOzExternalMergedpeopleapiLimitedProfileSettingsFieldAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
buildingIdAppsPeopleOzExternalMergedpeopleapiLocationString
buildingNameThe building_name field is only filled if the DESK_LOCATION_ADDITIONAL_DATA extension is active.AppsPeopleOzExternalMergedpeopleapiLocationString
currentAppsPeopleOzExternalMergedpeopleapiLocationboolean
deskCodeMost specific textual description of individual desk location.AppsPeopleOzExternalMergedpeopleapiLocationString
floorNameAppsPeopleOzExternalMergedpeopleapiLocationString
floorSectionAppsPeopleOzExternalMergedpeopleapiLocationString
lastUpdateTimeIndicates the time this location was added or last edited.AppsPeopleOzExternalMergedpeopleapiLocationDateTime
metadataAppsPeopleOzExternalMergedpeopleapiLocationAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
sourceValue indicates the origin of this location information.AppsPeopleOzExternalMergedpeopleapiLocationString
typeDescribes the type of location. E.g. Grew_up, Desk. Corresponds to FBS backend.proto Location.StandardTagAppsPeopleOzExternalMergedpeopleapiLocationString
valueAppsPeopleOzExternalMergedpeopleapiLocationString
indirectManagerList of managers in the chain. If user has manager email “[email protected]” and manager’s manager has email “[email protected]” then the list will be: [0]: { email: “[email protected]” } [1]: { email: “[email protected]” }AppsPeopleOzExternalMergedpeopleapiManagementUpchainlist(AppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManager)
metadataAppsPeopleOzExternalMergedpeopleapiManagementUpchainAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
statusAppsPeopleOzExternalMergedpeopleapiManagementUpchainString
emailAppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManagerString
personIdAppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManagerString
failureFailure type if there is an error when fetching product profile data.AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.AppsPeopleOzExternalMergedpeopleapiProductProfileFailure
followeeCountNumber of people the user is following.AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.String
followerCountNumber of people who are following the user.AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.integer
numContributionsSum of creators contributions i.e. reviews, rating, questions, etc.AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.String
profilePhotoUrlThe user’s profile photo that might have a badge rendered at the corner if the user is eligible for a badge.AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.String
taglineA user’s bio, or tagline.AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.String
topicExpertiseA topic that creator has expertise in. This will be in the format: emoji associated with the topic, display name of the topic, topic scoreAppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.list(String)
userCaptionA user’s caption displayed under the user name on their profile page i.e. ‘Local Guide Level 8’AppsPeopleOzExternalMergedpeopleapiMapsExtendedDataExtension data for use in Maps Product Profile.String
fieldRestrictionAppsPeopleOzExternalMergedpeopleapiMapsProfileMaps Profile Data. See go/product-profiles-backend-api.list(AppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestriction)
metadataAppsPeopleOzExternalMergedpeopleapiMapsProfileMaps Profile Data. See go/product-profiles-backend-api.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
taglineAppsPeopleOzExternalMergedpeopleapiMapsProfileMaps Profile Data. See go/product-profiles-backend-api.String
websiteLinkA link to the profile owner’s website to be displayed in profile.AppsPeopleOzExternalMergedpeopleapiMapsProfileMaps Profile Data. See go/product-profiles-backend-api.AppsPeopleOzExternalMergedpeopleapiMapsProfileUrlLink
clientDataOpaque data associated with this restriction e.g. abuse status.AppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestrictionString
typeAppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestrictionString
anchorTextAnchor text to be displayed as clickable link. If not present, the URL should be displayed directly.AppsPeopleOzExternalMergedpeopleapiMapsProfileUrlLinkString
urlThe URL to be linked to.AppsPeopleOzExternalMergedpeopleapiMapsProfileUrlLinkString
matchThe list of matches ordered by most relevant matching for autocomplete coming first.AppsPeopleOzExternalMergedpeopleapiMatchInfoRepresents the matching information for a field when there is a query.list(AppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatch)
queryThe query token we are matching against.AppsPeopleOzExternalMergedpeopleapiMatchInfoRepresents the matching information for a field when there is a query.String
endIndexIndex right after the last character that matches the query. length = end-start, we have substring = [start, end).AppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatchAll the substring that were matched for the given query against the current field. Represents a substring of another string.integer
startIndexIndex of the first unicode character that matches the query.AppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatchAll the substring that were matched for the given query against the current field. Represents a substring of another string.integer
circleIdA circle that the person belongs to.AppsPeopleOzExternalMergedpeopleapiMembershipA membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.String
contactGroupIdA contact-group that the person belong to. The id can be either a hex-formatted id or a camel-cased SystemContactGroup predefined group name. The id will be predefined group name iff the system_contact_group_id has a value.AppsPeopleOzExternalMergedpeopleapiMembershipA membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.String
metadataThe metadata field can be used to determine which container generated the membership. For example, when the membership has a contact_group_id, the metadata.container will be CONTACT and the container_id will be the contact Id.AppsPeopleOzExternalMergedpeopleapiMembershipA membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
systemContactGroupIdThe membership has a contact_group_id, this field will be populated when the membership is in a system-reserved contact-group.AppsPeopleOzExternalMergedpeopleapiMembershipA membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.String
metadataAppsPeopleOzExternalMergedpeopleapiMissionAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiMissionString
displayNameRead-only. A name synthesized based on `unstructured_name` and the structured name fields. Example: “John Smith” If a language code is passed in the side channel using http://cs/symbol:framework.rpc.DeprecatedPropagatedLanguageCode.value or http://cs/symbol:google.rpc.context.OriginContext.accept_language and the name does not have `honorific_prefix`, `middle_name`, or `honorific_suffix` set, the language code will be used to format `display_name`. If `include_account_locale` is set on the `MergePersonSourceOptions` and a language code is not passed in the side channel. The language code from go/uls will be used as the language code for formatting `display_name`.AppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
displayNameLastFirstRead-only. A name synthesized based on `unstructured_name` and the structured name fields with the last name first. Example: “Smith, John”AppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
displayNameSourceRead-only. The source of the display name.AppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.SocialGraphApiProtoDisplayNameSource
familyNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
formattedNameDEPRECATED(b/70571931). Use `unstructured_name` instead.AppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
givenNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
honorificPrefixAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
honorificSuffixAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
metadataAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
middleNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
pronunciationsThis field is stored in contact annotations and merged at read-time. It is available with CONTACT_ANNOTATION container type at read time.AppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.SocialGraphApiProtoPronunciations
shortDisplayNameNOTE: this is currently NOT IMPLEMENTED due to changed priorities. Clients usually rely on “first name” instead, when a short name is needed. Read-only. A possibly shorter version of the user’s name. – The purpose of this field is to address the needs of UIs where a full display name might be too large to fit. Instead of relying on `first_name`, which might not be present, `short_display_name` is preferred. – This is only available for PROFILE and DOMAIN_PROFILE container types. – About the actual content in this field: will be the first name when it’s visible to the requester, or the same as `display_name`, otherwise. A sample scenario where the first name may not be visible is when the limited profile is returned. For more info, see: http://shortn/_9iV7TJ33laAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
unstructuredNameThe free form name value. For contact mutates it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both.AppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
yomiFamilyNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
yomiFullNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
yomiGivenNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
yomiHonorificPrefixAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
yomiHonorificSuffixAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
yomiMiddleNameAppsPeopleOzExternalMergedpeopleapiNameSee go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not “match”. For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.String
metadataAppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfoPronunciation audio metadata info. See go/name-pronunciation-backend. The metadata itself tracks the state of a user’s name pronunciation audio.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
namePronunciationAudioMetadataActual metadata proto, shared with FBS backends.AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfoPronunciation audio metadata info. See go/name-pronunciation-backend. The metadata itself tracks the state of a user’s name pronunciation audio.SocialGraphApiProtoNamePronunciationAudioMetadata
metadataAppsPeopleOzExternalMergedpeopleapiNicknameAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeAppsPeopleOzExternalMergedpeopleapiNicknameString
valueAppsPeopleOzExternalMergedpeopleapiNicknameString
metadataAppsPeopleOzExternalMergedpeopleapiOccupationAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiOccupationString
openNowIs this place open right now? Always present unless we lack time-of-day or timezone data for these opening hours.AppsPeopleOzExternalMergedpeopleapiOpeningHoursThe periods that this place is open during the week. The periods are in chronological order, starting with today in the place-local timezone. An empty (but not absent) value indicates a place that is never open, e.g. because it is closed temporarily for renovations.boolean
periodsAppsPeopleOzExternalMergedpeopleapiOpeningHoursThe periods that this place is open during the week. The periods are in chronological order, starting with today in the place-local timezone. An empty (but not absent) value indicates a place that is never open, e.g. because it is closed temporarily for renovations.list(AppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriod)
weekdayTextsLocalized strings describing the opening hours of this place, one string for each day of the week. Will be empty if the hours are unknown or could not be converted to localized text. Example: “Sun: 18:00-06:00”AppsPeopleOzExternalMergedpeopleapiOpeningHoursThe periods that this place is open during the week. The periods are in chronological order, starting with today in the place-local timezone. An empty (but not absent) value indicates a place that is never open, e.g. because it is closed temporarily for renovations.list(String)
dayA day of the week, as an integer in the range 0-6. 0 is Sunday, 1 is Monday, etc.AppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpointinteger
timeA time in 24-hour “hhmm” format (i.e. range is 0000 to 2359).AppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpointString
closeAppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriodAppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint
openAppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriodAppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint
assignmentAppsPeopleOzExternalMergedpeopleapiOrganizationlist(AppsPeopleOzExternalMergedpeopleapiOrganizationAssignment)
certificationAppsPeopleOzExternalMergedpeopleapiOrganizationString
costCenterAppsPeopleOzExternalMergedpeopleapiOrganizationString
currentAppsPeopleOzExternalMergedpeopleapiOrganizationboolean
departmentAppsPeopleOzExternalMergedpeopleapiOrganizationString
descriptionAppsPeopleOzExternalMergedpeopleapiOrganizationString
domainAppsPeopleOzExternalMergedpeopleapiOrganizationString
endCalendarDayStart and End Dates are better represented as calendar entities. The intention is to replace timestamps. Not set if no value exists. Clients can choose whether to use has* semantics or default value semantics. For writes, the default proto and an absent message are equivalent. Legacy callers in the legacy_timestamp_event_write_behavior_enabled capability allowlist should write to PeopleApi via end_ms and migrate to setting both so they can be removed from the whitelist.AppsPeopleOzExternalMergedpeopleapiOrganizationGoogleTypeDate
endMsClients are encouraged to read the end_calendar_day instead. PeopleApi writes will still use end_ms for legacy callers that are in the legacy_timestamp_event_write_behavior_enabled capability allowlist. New writers must use the calendar_day fields.AppsPeopleOzExternalMergedpeopleapiOrganizationString
endMsAsNumberAppsPeopleOzExternalMergedpeopleapiOrganizationString
formattedStringTypeThe `string_type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiOrganizationString
fteMilliPercentAppsPeopleOzExternalMergedpeopleapiOrganizationinteger
importanceAppsPeopleOzExternalMergedpeopleapiOrganizationnumber
locationAppsPeopleOzExternalMergedpeopleapiOrganizationString
metadataAppsPeopleOzExternalMergedpeopleapiOrganizationAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
nameAppsPeopleOzExternalMergedpeopleapiOrganizationString
projectAppsPeopleOzExternalMergedpeopleapiOrganizationlist(AppsPeopleOzExternalMergedpeopleapiOrganizationProject)
startCalendarDayStart and End Dates are better represented as calendar entities. The intention is to replace timestamps. Not set if no value exists. Clients can choose whether to use has* semantics or default value semantics. For writes, the default proto and an absent message are equivalent. Legacy callers in the legacy_timestamp_event_write_behavior_enabled capability allowlist should write to PeopleApi via start_ms and migrate to setting both so they can be removed from the allowlist.AppsPeopleOzExternalMergedpeopleapiOrganizationGoogleTypeDate
startMsClients are encouraged to read the start_calendar_day instead. PeopleApi writes will still use start_ms for legacy callers that are in the legacy_timestamp_event_write_behavior_enabled capability allowlist. New writers must use the calendar_day fields.AppsPeopleOzExternalMergedpeopleapiOrganizationString
startMsAsNumberAppsPeopleOzExternalMergedpeopleapiOrganizationString
stringTypeThe type of the organization. The type can be free form or one of these predefined values: * `work` * `school`AppsPeopleOzExternalMergedpeopleapiOrganizationString
symbolAppsPeopleOzExternalMergedpeopleapiOrganizationString
titleAppsPeopleOzExternalMergedpeopleapiOrganizationString
typeAppsPeopleOzExternalMergedpeopleapiOrganizationString
yomiNameAppsPeopleOzExternalMergedpeopleapiOrganizationString
nameAppsPeopleOzExternalMergedpeopleapiOrganizationAssignmentString
urlAppsPeopleOzExternalMergedpeopleapiOrganizationAssignmentString
descriptionAppsPeopleOzExternalMergedpeopleapiOrganizationProjectString
nameAppsPeopleOzExternalMergedpeopleapiOrganizationProjectString
roleAppsPeopleOzExternalMergedpeopleapiOrganizationProjectString
typeMapped from StandardProjectTag / CustomProjectTagAppsPeopleOzExternalMergedpeopleapiOrganizationProjectString
urlAppsPeopleOzExternalMergedpeopleapiOrganizationProjectString
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiOtherKeywordString
metadataAppsPeopleOzExternalMergedpeopleapiOtherKeywordAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
sourceAppsPeopleOzExternalMergedpeopleapiOtherKeywordString
typeThe type of the event. The type depends on the `OtherKeyword.source`. `OUTLOOK` source fields must be one of: * `billing_information` * `directory_server` * `keyword` * `mileage` * `sensitivity` * `user` * `subject` All other fields are treated as a `CUSTOM` source field. The value can be free form or one of these predefined values: * `home` * `other` * `work`AppsPeopleOzExternalMergedpeopleapiOtherKeywordString
valueAppsPeopleOzExternalMergedpeopleapiOtherKeywordString
relationSee go/relation-vs-relationship for relation vs relationship explanation.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiRelation)
photoSee go/people-api-concepts/photos for usage detailsAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPhoto)
organizationAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiOrganization)
missionAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiMission)
customSchemaFieldAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiCustomSchemaField)
coverPhotoDEPRECATED. Now always returns a default cover photo. See go/sunset-cover-photo.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiCoverPhoto)
linkedPersonOther person resources linked indirectly by an edge. The full person or just the IDs may be populated depending on request parameters. We consider linked people distinct people, but they share information. Example: A contact with two outgoing edges. The two edges are considered separate, but linked people.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPerson)
nameSee go/people-api-howto:names for details about names in PeopleAPI.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiName)
sortKeysAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedAppsPeopleOzExternalMergedpeopleapiSortKeys
sipAddressSipAddress is currently in use by contacts.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiSipAddress)
inAppReachabilityUsed only by profile service, deprecated for PeopleAPI and Sharpen. If you aren’t sure, contact people-api-users@ and profile-service-eng@.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiInAppReachability)
calendarb/145671020: Deprecated for Profiles, but not for Contacts.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiCalendar)
socialConnectionNOTE: this is used by go/starlight, but not actually used or returned in PeopleAPI. See b/27281119 for context. Please reach out to people-api-eng@ if you have questions.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiSocialConnection)
plusPageInfoDEPRECATED. Info about plus pages in the person.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPlusPageInfo)
externalIdAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiExternalId)
mapsProfileMapsProfile, see go/product-profiles-backend-apiAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiMapsProfile)
taglineOnly supported for PLACE container results, no data will be returned for profiles.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiTagline)
interactionSettingsDEPRECATED. This field isn’t populated in people.list.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiInteractionSettings)
peopleInCommonDEPRECATED. This feature was stubbed, but never implemented. This field will not be populated with any results.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPerson)
connectionReminderReminder to connect with a Contact (part of go/people-prompts). Also contains contact-level prompts settings. Each Contact can have a single `connection_reminder` (but can have multiple Prompts inside of it). Field is repeated per PeopleAPI data model go/people-api-concepts#repeated. Only supported for CONTACT container.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiConnectionReminder)
limitedProfileSettingsSettings for the limited profile. See go/limited-profiles-api.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiLimitedProfileSettingsField)
metadataAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedAppsPeopleOzExternalMergedpeopleapiPersonMetadata
birthdayAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiBirthday)
emailAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiEmail)
otherKeywordLegacy arbitrary key value fieldsAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiOtherKeyword)
inAppNotificationTargetWays to send in-app notifications to this person. See go/reachability. This field is read-only and ignored for mutates.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiInAppNotificationTarget)
placeDetailsData specific to places. Data which also applies to contacts and profiles such as name, phone, photo, etc. are returned in the corresponding Person fields.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPlaceDetails)
rightOfPublicityStateAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiRightOfPublicityState)
imAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiIm)
legacyFieldsDEPRECATED. This field was only for backwards compatibility with legacy GData callers, and should not be used by new clients. Legacy fields used for mobile clients.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedAppsPeopleOzExternalMergedpeopleapiLegacyFields
occupationAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiOccupation)
sshPublicKeyAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiSshPublicKey)
namePronunciationAudioMetadataInfoMetadata info for a user’s name pronunciation audio. See go/name-pronunication-backend.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo)
relationshipInterestDEPRECATED. No data is returned for this field anymore.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiRelationshipInterest)
skillsAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiSkills)
contactPromptSettingsInfoAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiContactPromptSettingsInfo)
profileUrlDEPRECATED. No data is returned for this field anymore. (go/people-api-concepts#repeated): Use person.profile_url_repeated instead. Access to this field is restricted to a set of legacy clients. This is a Google+-only field. See go/fbs-g+-deprecation. NOTE: `Person.profile_url` is only populated for profile-centric person.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedString
managementUpchainAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiManagementUpchain)
contactEditContextInfoContactEditContextInfo is a timestamp and additional metadata (e.g. the source of the edit) for the last ‘human initiated edit’. See also `ContactCreateContextInfo`.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiContactEditContextInfo)
websiteAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiWebsite)
phoneAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPhone)
teamsExtendedDataDEPRECATED. *UNSUPPORTED*. This field is never populated.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData
contactCreateContextInfoContactCreateContextInfo has a timestamp timestamp and additional metadata (e.g. the source of the creation) for when the contact was created. See also `ContactEditContextInfo`.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiContactCreateContextInfo)
personAttributeIn order to request this field, the client must set desired PersonAttributeKey in the dedicated RequestMask field `person_attribute`. Unlike other person fields, this field cannot be requested in the `include_field` field mask.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPersonAttribute)
locationAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiLocation)
pronounPronouns are not supported for consumer profiles. See go/pronouns-in-people-system-prd for more details.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPronoun)
ageRangeRepeatedData on the person’s age range, adult status, and age of consent. NOTE: Please read go/people-api-howto:age on how to correctly get age data.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiAgeRangeType)
posixAccountAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiPosixAccount)
languageAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiLanguage)
profileUrlRepeatedDEPRECATED. No data is returned for this field anymore. This is a Google+-only field. See go/fbs-g+-deprecation.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiProfileUrl)
userDefinedUserDefined is currently in use by contacts.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiUserDefined)
eventEvent is currently in use by contacts.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiEvent)
rosterDetailsData specific to rosters (such as Google Groups and Chat Rooms). Data which also applies to contacts and profiles such as name, email, and photo, etc are returned in the corresponding Person fields.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiRosterDetails)
emergencyInfoEmergency information. See go/emergency-trusted-contacts-papi.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiEmergencyInfo)
visibleToGuestsAdd annotation_id and metadata (product_source) for visible to guests contacts go/visible-to-guests.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiVisibleToGuests)
ageRangeDeprecated. If age is needed use `person.age_range_repeated` instead. Please see go/people-api-howto:age on how to correctly get age data.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedString
searchProfileProfile for Janata and Search. go/janata-profile-in-sgbeAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiSearchProfile)
contactStateInfoContact state and related metadata. See go/fbs-contacts-trash. If this field was requested but is not set on the Person then the contact is in the DEFAULT contact state. This field is read-only, and should not be set on a mutate (e.g. UpdatePerson) call. Clients must call the explicit APIs (e.g. UntrashPerson) to change contact state.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiContactStateInfo)
extendedDataData added by extensions that are not specific to a particular field.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedAppsPeopleOzExternalMergedpeopleapiPersonExtendedData
nicknameAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiNickname)
aboutAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiAbout)
personIdThe ID of the person. This is determined by the backend, is unstable, and may not be the same as a user_id. Internally referred as ‘personKey’ to distinguish from the common PersonId pojo. See go/people-api-concepts#person-idAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedString
fileAsAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiFileAs)
readOnlyProfileInfoInformation about the profiles that are a part of this Person. This is only applicable to PROFILE and DOMAIN_PROFILE containers.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfo)
relationshipStatusDEPRECATED. No data is returned for this field anymore.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiRelationshipStatus)
interestAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiInterest)
contactGroupMembershipContact groups that this person is a member of.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiContactGroupMembership)
addressAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiAddress)
circleMembershipCircles that this person is a member of.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiCircleMembership)
certifiedBornBeforeAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiCertifiedBornBefore)
braggingRightsUsed only by contacts, no data will be returned for profiles.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiBraggingRights)
genderAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiGender)
fingerprintA fingerprint that can be used to reliably determine if a resource has changed. Externally it is used as part of the etag.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedString
membershipDEPRECATED. Please use `circle_membership` or `contact_group_membership` instead. Contact-groups and circles that this person is a member of.AppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiMembership)
communicationEmailAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiCommunicationEmail)
clientDataAppsPeopleOzExternalMergedpeopleapiPersonMerged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeatedlist(AppsPeopleOzExternalMergedpeopleapiClientData)
attributeKeyAppsPeopleOzExternalMergedpeopleapiPersonAttributeClient-specific binary blob stored with Person data. This differs from ClientData, which stores structured, key-value pairs.String
metadataAppsPeopleOzExternalMergedpeopleapiPersonAttributeClient-specific binary blob stored with Person data. This differs from ClientData, which stores structured, key-value pairs.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiPersonAttributeClient-specific binary blob stored with Person data. This differs from ClientData, which stores structured, key-value pairs.String
aboutMeExtendedDataFor use by AboutMe and SmartProfile clients.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedData
appsWaldoExtendedDataFor use with Apps Waldo Availability Data extensionAppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.SocialGraphWireProtoPeopleapiExtensionAppsWaldoExtendedData
callerIdExtendedDataFor use with caller ID extensionAppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiCallerIdExtendedData
contactsExtendedDataFor use with Contacts extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiWebContactsExtendedData
domainNameHosted domain this person is a member of. The domain_name is also returned as part of the person’s ReadOnlyProfileInfo, so requesting it via this extension is no longer necessary.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.list(String)
dynamiteExtendedDataFor use with Dynamite extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.SocialGraphWireProtoPeopleapiExtensionDynamiteExtendedData
gpayExtendedDataFor use with Google Pay extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiGPayExtendedData
gplusExtendedDataFor use with Google+ extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiGplusExtendedData
hangoutsExtendedDataFor use with Hangouts extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiHangoutsExtendedData
isPlaceholderFor use with gmail extensions and lookup by email. If true, no person was actually found using the specified email address, but we want to return TLS info about the email address regardless.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.boolean
mapsExtendedDataFor use with Maps extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiMapsExtendedData
paisaExtendedDataFor use with Paisa extensionAppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.SocialGraphWireProtoPeopleapiExtensionPaisaExtendedData
peopleStackExtendedDataDEPRECATED: Use people_stack_person_extended_data instead. For use with PeopleStack extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.SocialGraphWireProtoPeopleapiExtensionPeopleStackExtendedData
peopleStackPersonExtendedDataFor use with PeopleStack extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.SocialGraphWireProtoPeopleapiExtensionPeopleStackPersonExtendedData
playGamesExtendedDataFor use with Play Games Product Profile extension. See go/jam-games-profile. The play games profile will be returned only for profile-centric requests.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedData
tlsIsPlaceholderFor use with the TLS extension and lookup by email. If true, no person was actually found using the specified email address, but we want to return TLS info about the email address regardless. DEPRECATED: Use is_placeholder instead.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.boolean
youtubeExtendedDataFor use with Youtube extension.AppsPeopleOzExternalMergedpeopleapiPersonExtendedDataExtension data for the whole person entity.AppsPeopleOzExternalMergedpeopleapiYoutubeExtendedData
aclChoicesWhen the container is PROFILE/DOMAIN_PROFILE and the profile owner is the requester, this read-only, synthesized field indicates which ACLs the user is allowed to set on the profile field. This is distinct from field_acl, which is the field’s currently set ACL. field_acl will always be a valid ACL choice, except for the case of default synthesized profile fields like monogram profile photos. For those, field_acl does not represent a user-set field ACL, so it may or may not be a valid choice. In all cases, default_acl_choice will always be a valid choice. This is currently only populated on the photo field when the “person.photo.metadata.acl_choices” mask is set.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(AppsPeopleOzExternalMergedpeopleapiFieldAcl)
additionalContainerInfoAdditional information about the container of this field.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personAppsPeopleOzExternalMergedpeopleapiAdditionalContainerInfo
affinityFor field-level affinity scores. The affinity between the requester and this particular field in the Person (e.g., frequency of calling a particular phone number).AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(AppsPeopleOzExternalMergedpeopleapiAffinity)
contactVisibilityEach field can have different visibility settings Only returned when explicitly requested.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(String)
containerDEPRECATED. Use container_type instead. Having the Container be an enum at the PFM message level causes circular dependency when other types try to refer to it. It breaks javascript build targets.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personString
containerIdDEPRECATED. Use encoded_container_id instead. The numeric id of the data source. The id is only unique within a single container type. This is only set when the id of the container is numeric, e.g. contact id.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personString
containerPrimaryIndicates if this field is the primary field for the container and container_id.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personboolean
containerTypeThe source for the data in the field.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personString
crossDeviceAllowedTrue if this field can be used on other devices than the one it originated from. Assigned by the server. Currently only used for device contacts.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personboolean
defaultAclChoiceWhen the container is PROFILE/DOMAIN_PROFILE and the profile owner is the requester, this read-only, synthesized field contains the default ACL choice. This can be used to select a preferred choice from acl_choices. Generally, default_acl_choice should only be preferred for default synthesized profile fields like monogram profile photos. Otherwise, the existing field_acl should be preferred. This is currently only populated on the photo field when the “person.photo.metadata.acl_choices” mask is set.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personAppsPeopleOzExternalMergedpeopleapiFieldAcl
deprecatedContactContainerIdDEPRECATED. Use container_id. Not populated or used at all.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personString
edgeKeyField is an edge key for this person. Modifying it breaks the link between data sources. This is equivalent to edge_key_info having at least one entry with materialized = true.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personboolean
edgeKeyInfoEdges that this field creates. This includes all edges and not necessarily just the edge relevant to the joined entities.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfo)
encodedContainerIdThe encoded id of the data source. The id is only unique within a single container type. This field correlates to person.metadata.identity_info.source_id.id. This field may not be populated in some special cases, where the id is not visible to the querying user. e.g. ListAutocompletions with full phone number query. For value format, see google3/social/graph/api/proto/main_merged_person.proto?q=symbol:SourceIdentity.idAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personString
fieldAclWhen the container is PROFILE and the profile owner is the requester, this field indicates how the profile field is accessible.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personAppsPeopleOzExternalMergedpeopleapiFieldAcl
lastUpdateTimeIndicates the time that the field was added or last edited. Currently this is populated for: (1) person.birthday with ContainerType PROFILE, DOMAIN_PROFILE or ACCOUNT. (2) person.name, person.address, person.relation, person.email and person.phone with ContainerType CONTACT_ANNOTATION;AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personDateTime
matchingInfoThe matching informations if there was a query against this field.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(AppsPeopleOzExternalMergedpeopleapiMatchInfo)
otherDedupedContainersWhen deduping fields by value, list of containers of the fields that where deduped.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(AppsPeopleOzExternalMergedpeopleapiDedupedContainerInfo)
primaryIf true, indicates this field is the Person’s primary field eg. Contact, and (Profile) Person could have different Name fields, and the Name represented by the Person is primary. For selecting a primary field from RepeatedFields within a Person, use container_primary.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personboolean
productMetadataThe product(s) that generated the data in this field. Empty is equivalent to DEFAULT. ST_USER_METADATAAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personlist(AppsPeopleOzExternalMergedpeopleapiProductMetadata)
verifiedIndicates whether this is a verified field. It is synthesized from verification and is read-only. If there is at least one verification with status PASSED, the field is considered verified. Currently this is applicable to address, email, name, and phone for PROFILE and DOMAIN_PROFILE. Use .metadata.verified in the request mask.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personboolean
visibilityCurrently, only people.get may set this valueAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personString
writeableWhether the field is writeable to the requester.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadataMetadata for a single Person field. See go/understanding-merged-personboolean
peopleAppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumberA person list with total number specified.list(AppsPeopleOzExternalMergedpeopleapiPerson)
totalNumberThe total number of people, which is aways no less than the size of the above list.AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumberA person list with total number specified.integer
affinityAffinities associated with the person, with respect to the requester.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(AppsPeopleOzExternalMergedpeopleapiAffinity)
attributionPopulated when the data for the MergedPerson comes from a 3rd party provider or data source. Clients must display these attributions to the user if they are present. NOTE: This field is only relevant when requesting the following containers: – PLACE (data read from Maps)AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
bestDisplayNameThe best name to use for this person for user-facing display. See go/people-api-howto:names for details about how this field is computed. In many cases this will simply be Person.name[0]. However, Person.name returns only explicit Name fields, but other fields maybe usable as a name (for example: nicknames, file_as, …). `best_display_name` will be calculated from all fields in storage which are usable as a name, even fields which are not explicitly requested in the MergedPerson result. See go/javagoog/apps/tacotown/socialgraph/entity/PersonNameFormatter.javaAppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.AppsPeopleOzExternalMergedpeopleapiBestDisplayName
blockTypeDEPRECATED. Indicates whether the profile owner has blocked this person. Please use `person.read_only_profile_info.block_type` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
circleIdDEPRECATED. The circles the person belongs to.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
contactGroupIdDEPRECATED. Please use `person.contact_group_memberships` instead. The contact groups the person belongs to.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
contactIdThe IDs of all contacts contributing to this person.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
customResponseMaskingTypeDEPRECATED. Customized masking of the response similar to the legacy People2RequestMask People2Params request message. NOTE: This param is inherently client-specific, limited to specific legacy clients, and not open to new usage. NOTE: Effects may be applied to a subset of people in the response.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.String
deletedFor sync requests (i.e., changed since the provided sync_token), indicates the resource is a tombstone for a Person resource that has been entirely deleted.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.boolean
deprecatedBlockedDEPRECATED. Please use `person.read_only_profile_info.block_type` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.boolean
deprecatedMembershipCircleIdDEPRECATED. This field is no longer populated or read.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
deprecatedMembershipContactGroupIdDEPRECATED. This field is no longer populated or read.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
deviceContactInfoInfo about the aggregated device contacts. When the person contains RAW_DEVICE_CONTACT containers, each DeviceContactInfo represents a single aggregate device contact made up of one or more raw device contacts.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(AppsPeopleOzExternalMergedpeopleapiDeviceContactInfo)
identityInfoDetailed metadata about the lookup IDs and data sources included in a MergedPerson result.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.AppsPeopleOzExternalMergedpeopleapiIdentityInfo
inViewerDomainDEPRECATED. Indicates whether this person is in the same domain as the viewer. For proxying trust between two users based on organization membership, see: – go/flex-orgs-platform – go/flex-orgs-compliance-handbook (especially http://shortn/_ChwfAY36Ys)AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.boolean
incomingBlockTypeDEPRECATED. Indicates whether this person is blocking the profile owner. Please use `person.read_only_profile_info.incoming_block_type` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
lastUpdateTimeMicrosDEPRECATED. The last update timestamps for the constituent components of this person are available in `identity_info.source_ids`. The time of the most recent change to this person, in !!!NANOS!!! (due to a bug). May be a change to any of the underlying parts of the person (profile, contact, etc.). Not guaranteed to be the timestamp of the most recent change, due to limitations in the backend. This field is not fully deprecated for backend container-specific storage services like ProfileService which lack identity_info. The use is still discouraged in such systems and they should prefer to use the `last_update_time` field of this message instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.String
modelThe person model that is used to construct this person.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.String
objectTypeDEPRECATED.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.String
ownerIdDEPRECATED. Please use `person.read_only_profile_info.owner_id` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.String
ownerUserTypeDEPRECATED. See `person.read_only_profile_info.owner_user_type` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
plusPageTypeDEPRECATED. Please use `Person.plus_page_info` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.String
previousPersonIdDEPRECATED. This field is no longer populated or read.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.list(String)
profileOwnerStatsDEPRECATED. Stats/counters pertaining to followers and incoming edges. Please use `person.read_only_profile_info.profile_owner_stats` instead.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.AppsPeopleOzExternalMergedpeopleapiProfileOwnerStats
scoringInfoContact people-directory-dev-team@ if you want to use this field.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfo
userVisibleStatsDEPRECATED. This field is no longer populated or read.AppsPeopleOzExternalMergedpeopleapiPersonMetadataMetadata for the entire Person resource.AppsPeopleOzExternalMergedpeopleapiUserVisibleStats
rawMatchQualityScoreOnly populated on a SearchDirectoryPeople call, when results are scored. Contact people-directory-dev-team@ if you want to use this field.AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfofloat
stExpressionResultsOnly populated on a SearchDirectoryPeople call that sends a request with StFieldSpecExpressions. – Used for linking indexed terms with query terms for go/better-name-matching – Name should be alphanumeric or underscores – Value should be an st expression following the syntax at go/stsyntax Contact people-directory-dev-team@ if you want to use this field.AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfolist(AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfoStExpressionResult)
nameAppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfoStExpressionResultString
valueAppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfoStExpressionResultString
canonicalizedFormCanonicalized form that follows ITU-T E.164 international public telecommunication numbering plan.AppsPeopleOzExternalMergedpeopleapiPhoneString
emergencyInfoEmergency information. See go/emergency-trusted-contacts-papi.AppsPeopleOzExternalMergedpeopleapiPhoneAppsPeopleOzExternalMergedpeopleapiFieldEmergencyInfo
extendedDataRead-only. Field requested by specifying `HANGOUTS_PHONE_DATA` in `extension_set.extension_names`.AppsPeopleOzExternalMergedpeopleapiPhoneAppsPeopleOzExternalMergedpeopleapiPhoneExtendedData
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiPhoneString
metadataAppsPeopleOzExternalMergedpeopleapiPhoneAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeThe type of the phone number. The type can be free form or one of these predefined values: * `home` * `work` * `mobile` * `homeFax` * `workFax` * `otherFax` * `pager` * `workMobile` * `workPager` * `main` * `googleVoice` * `other`AppsPeopleOzExternalMergedpeopleapiPhoneString
uriAppsPeopleOzExternalMergedpeopleapiPhoneString
valueAppsPeopleOzExternalMergedpeopleapiPhoneString
structuredPhoneFor use with Hangouts extension.AppsPeopleOzExternalMergedpeopleapiPhoneExtendedDataAppsPeopleOzExternalMergedpeopleapiStructuredPhone
decorationRead-only. Use UpdatePersonPhoto to change photo decorations. If this photo is decorated, this field contains information about its decorations. For now, this will contain at most one entry.AppsPeopleOzExternalMergedpeopleapiPhotolist(SocialGraphApiProtoDecorationOverlay)
emojiAvatarUrlURL of an emoji avatar as an image. See go/emoji-cdn. PeopleAPI will return the SVG format so that it can be scaled client side and so that the images will not be animated. All clients that use this field must also have fall-back handling for using the `Photo.url` field if this is empty. When we have FIFE-compatible emoji-image URLs we will drop this field and return the Photo.url instead. Clients that have their own go/emoji-rendering integration may prefer to render the emoji-avatar from `Photo.glyph` field using their rendering system so that the emoji version/style match the rest of the application. For further background, see go/chatroom-avatar-as-roster-metadata. This field will only be populated if all of: – The PersonFieldMetadata `container_type` for the Photo is NAMED_CHAT_ROOM – The chat room has an emoji type avatar image setAppsPeopleOzExternalMergedpeopleapiPhotoString
glyphUnicode emoji representation of the chat room emoji avatar. This can be used by clients that use go/emoji-rendering directly so that they can present this with the same version/style as the rest of their application. This value may also be useful to clients as alt-text for the image. This field will only be populated if all of: – The PersonFieldMetadata `container_type` for the Photo is NAMED_CHAT_ROOM – The chat room has an emoji type avatar image setAppsPeopleOzExternalMergedpeopleapiPhotoString
htmlAttributionA set of HTML data provider attributions that must be shown with the result. Supported for PLACES photos only. See: go/understanding-places-api-attribution-requirementsAppsPeopleOzExternalMergedpeopleapiPhotolist(String)
isDefaultTrue when the photo is synthetic or generated (i.e. a monogram or default photo), false when the person has a custom photo.AppsPeopleOzExternalMergedpeopleapiPhotoboolean
isMonogramIndicates if the photo is a monogram avatar. Combined with is_default, the type of photo can be determined by: is_default=true, is_monogram=true: Default monogram avatar. is_default=true, is_monogram=false: Default silhouette avatar. is_default=false: Custom photo. is_monogram is irrelevant in this case.AppsPeopleOzExternalMergedpeopleapiPhotoboolean
metadataAppsPeopleOzExternalMergedpeopleapiPhotoAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
monogramBackgroundWhen is_monogram=true, this is the background color of the monogram photo as a hex RGB formatted string “RRGGBB”.AppsPeopleOzExternalMergedpeopleapiPhotoString
originalPhotoRead-only. A reference to the original, undecorated profile photo in storage. This field is not stored. It is populated by a live read to /SocialGraphImageService.GetActiveProfilePhoto. This field is only returned when “person.photo.original_photo” is specified in the request mask.AppsPeopleOzExternalMergedpeopleapiPhotoSocialGraphApiProtoImageReference
photoIdFor writes only. Indicates photo content for person photo-field update. Currently only used for profile-photo updates (not contact photos yet).AppsPeopleOzExternalMergedpeopleapiPhotoAppsPeopleOzExternalMergedpeopleapiPhotoPhotoStorageId
photoTokenMost clients don’t need to worry about this field and should just use the `url` to fetch the photo. See go/phototoken-migration-plan for some more context about this field. If you think you want to use this please talk with people-api-eng@ first.AppsPeopleOzExternalMergedpeopleapiPhotoString
urlSee go/people-api-concepts/photos for info on the different representations of URLs.AppsPeopleOzExternalMergedpeopleapiPhotoString
viewerUrlA URL for a UI to view the photo in its original context. For example, for a place photo, this is the url of a Google Maps page displaying the photo. Supported for place photos only.AppsPeopleOzExternalMergedpeopleapiPhotoString
mediaKeyFor writes only, pass the media key that represents the image in photos backend. Note, this is not populated on reads.AppsPeopleOzExternalMergedpeopleapiPhotoPhotoStorageIdInfo necessary for looking up a photo in storage.String
googleUrlA URL hosted by Google providing more information about this place This is the URL returned by Places API in the Place.Url.google fieldAppsPeopleOzExternalMergedpeopleapiPlaceDetailsMetadata specific to places.String
latLngAppsPeopleOzExternalMergedpeopleapiPlaceDetailsMetadata specific to places.AppsPeopleOzExternalMergedpeopleapiLatLng
metadataAppsPeopleOzExternalMergedpeopleapiPlaceDetailsMetadata specific to places.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
openingHoursAppsPeopleOzExternalMergedpeopleapiPlaceDetailsMetadata specific to places.AppsPeopleOzExternalMergedpeopleapiOpeningHours
primaryTypeNameThe name of the primary type. Examples of primary type are: “art_school”, “clothing_wholesaler”, etc. All primary types can be found at http://shortn/_veqh6UwWdcAppsPeopleOzExternalMergedpeopleapiPlaceDetailsMetadata specific to places.String
achievementsUser’s top achievements that are sorted for example by rarity.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.list(AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievement)
avatarImageUrlThe avatar image to display for the user.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.String
failureFailure type if there is an error when fetching product profile data.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.AppsPeopleOzExternalMergedpeopleapiProductProfileFailure
gamerTagThe gamer tag set by the user. Not set if the user hasn’t set a gamer tag yet.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.String
playerLevelUser’s level.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.integer
profileVisibilitySpecifies the visibility of the player’s profile.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.String
totalFriendsCountTotal number of friends.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.String
totalUnlockedAchievementsHow many achievements this player has unlocked.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataExtension data for use in Play Games Product Profile. See go/jam-games-profile.String
achievementNameThe name of the achievement.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievementDetails of an achievement that the user has unlocked.String
achievementUnlockedIconUrlThe achievement icon url shown to the user if it is unlocked.AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievementDetails of an achievement that the user has unlocked.String
rarityPercentageRarity of unlocking this achievement (3% of players unlocked would be 3)AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievementDetails of an achievement that the user has unlocked.number
applicationIdInt64 ID of packaging-service entry; if set, the plus page is associated with a third-party application.AppsPeopleOzExternalMergedpeopleapiPlusPageInfoInformation about a plus page and the entity it represents.String
entityTypeAppsPeopleOzExternalMergedpeopleapiPlusPageInfoInformation about a plus page and the entity it represents.String
metadataAppsPeopleOzExternalMergedpeopleapiPlusPageInfoInformation about a plus page and the entity it represents.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
boundsAppsPeopleOzExternalMergedpeopleapiPointSpecMap marker location for an address.GeostoreRectProto
pointAppsPeopleOzExternalMergedpeopleapiPointSpecMap marker location for an address.GeostorePointProto
pointSourceAppsPeopleOzExternalMergedpeopleapiPointSpecMap marker location for an address.String
accountIdThe user visible value is used to distinguish identical posix account fields with different customer key values.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
accountNamespaceValue indicates the uniqueness namespace that applies to the POSIX information. The value is included in all POSIX account uniqueness indices. The indexing prevents two accounts within the same customer from having the same username. Namespacing allows Windows and Linux users to share the same username.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
accountTypeValue indicates whether the POSIX information is associated with a non-human entity and the validation logic to apply during PosixAccount mutation.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
customerKeyThe customer associated with the POSIX identity. If the user is already associated with a G Suite Customer, this field has the same value as http://google3/ccc/hosted/policies/settings/dthree_customer_info.protoAppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
fingerprintThe value is automatically set to a SHA-256 fingerprint of the POSIX account. A fingerprint should uniquely identify a POSIX account entry.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
gecosThe GECOS (user information) entry for this account.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
gidThe default group ID.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
homeDirectoryThe path to the home directory for this account.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
metadataAppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
operatingSystemTypeValue indicates whether to use Linux or Windows specific validation logic during PosixAccount mutation.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
shellThe path to the login shell for this account.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
systemIdSystem identifier for which account Username or Uid apply to. If not specified on mutate by a caller it will default to empty value if either Username or Uid are being set. SystemId does require to have a value (even an empty one) because it is included into null-filtered Spanner index used to enforce uniqueness on Username and Uid fields.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
uidThe user ID.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
usernameThe username of the account.AppsPeopleOzExternalMergedpeopleapiPosixAccountCustom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.String
productSourceAppsPeopleOzExternalMergedpeopleapiProductMetadataString
failureTypeAppsPeopleOzExternalMergedpeopleapiProductProfileFailureProduct profiles failure type: the status of the rpc to fetch the product profile.String
incomingAnyCircleCountReplacement for deprecated follower_count. Comes from the EdgeSummary.AppsPeopleOzExternalMergedpeopleapiProfileOwnerStatsStats pertaining to incoming edges and views, visible to the requester (with acls applied). Related to, but not equal to, com.google.focus.proto.Storage.UserVisibleStats.String
viewCountDeprecated. This field is no longer populated by the server.AppsPeopleOzExternalMergedpeopleapiProfileOwnerStatsStats pertaining to incoming edges and views, visible to the requester (with acls applied). Related to, but not equal to, com.google.focus.proto.Storage.UserVisibleStats.String
metadataAppsPeopleOzExternalMergedpeopleapiProfileUrlThis is a Google+-only field (and thus does not exist for consumer users). See go/fbs-g+-deprecation.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
urlAppsPeopleOzExternalMergedpeopleapiProfileUrlThis is a Google+-only field (and thus does not exist for consumer users). See go/fbs-g+-deprecation.String
metadataAppsPeopleOzExternalMergedpeopleapiPronounMessage to represent a user’s set of preferred pronouns, see go/pronouns-backend.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
pronounDataAppsPeopleOzExternalMergedpeopleapiPronounMessage to represent a user’s set of preferred pronouns, see go/pronouns-backend.SocialGraphApiProtoPronounData
dataSetThe data set within the account that this raw contact belongs to.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfoString
dirtyThe CP2 dirty field which indicates the sync state of the raw contact: https://developer.android.com/reference/android/provider/ContactsContract.SyncColumns#DIRTY True if the row is changed but not syncedAppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfoboolean
sourceIdExistWhether the source ID exists for non-Google contacts. Won’t set for Google contacts.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfoboolean
syncInfoThe Sync Info of a raw contact.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfoSocialGraphApiProtoSyncInfo
accountNameAccount name of raw contact, e.g. “[email protected]”.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.String
accountTypeAccount type of raw contact, e.g. “com.google” or “com.linkedin.android”.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.String
appContactDataThe detailed app-specific endpoint data available for the given RawDeviceContactInfo instance. This proto should be used to obtain the list of actions and mimetypes supported by the third-party app. Design: go/3p-contact-uploadAppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.list(SocialGraphApiAppContactData)
appInfoThe app-specific endpoint data needed for app action fulfillment. Usage of this field should be avoided on the server-side, and should use the more detailed |full_app_info| field.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.AppsPeopleOzExternalMergedpeopleapiAppUniqueInfo
crossDeviceAllowedIf true, this raw contact can be used on other devices than the one it originated from. Assigned by the server.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.boolean
deviceContactMetadataExtra metadata for this raw contact.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.AppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadata
googleContactIdThe focus contact id for Google contacts.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.String
idThe base64 serialized social.graph.peopleapi.proto.internal.RawDeviceContactId. This id should be used to correlate to field.metadata.encoded_container_id when the field.metadata.container_type is RAW_DEVICE_CONTACT The id also correlates to person.metadata.identity_info.source_id.id. For value format, see google3/social/graph/api/proto/main_merged_person.proto?q=symbol:SourceIdentity.idAppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.String
photoTypeThe type of photo from the device (if any).AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.String
rawContactIdThe id of the raw contact on the device.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.String
rawDeviceContactAnalyticalInfoOnly to be used by Romanesco team specifically for analytics.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfoRaw device contact information.AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfo
accountEmailThe account email linked to the profile, if any exists and is visible to the requester.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).AppsPeopleOzExternalMergedpeopleapiAccountEmail
blockTypeIndicates whether the profile owner has blocked this person.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).list(String)
customerInfoCustomerInfo for dasher user. The reader has to explicitly request this in the field_mask as ‘read_only_profile_info.customer_info’AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).AppsPeopleOzExternalMergedpeopleapiCustomerInfo
domainInfoDEPRECATED. Use the `ReadOnlyProfileInfo.customer_info` field instead (b/138120418). Only populated if in_viewer_domain is true.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoDomainInfo
inViewerDomainDEPRECATED. Proxying trust between users in a domain should use go/flex-orgs-platform. For more info see: http://doc/18i0-C7vWcz2UuXYBsmulnriVCK3_EuMPpRlPa2OmMHw#heading=h.dobotdwx25kg Indicates whether the profile owner is in the same domain as the viewer.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).boolean
incomingBlockTypeIndicates whether this person is blocking the profile owner.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).list(String)
metadataAppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
objectTypeDEPRECATED.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).String
ownerIdThe Focus-obfuscated Gaia ID of the profile owner (go/obfuscated-ids).AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).String
ownerUserTypeAppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).list(String)
plusPageTypeDEPRECATED. Please use `person.plus_page_info` instead.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).String
profileOwnerStatsStats/counters pertaining to followers and incoming edges.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).AppsPeopleOzExternalMergedpeopleapiProfileOwnerStats
unjoinedEmailCertificatesReturned only when explicitly requested in the request mask as read_only_profile_info.unjoined_email_certificates. Equivalent to fetching the Emails & the Email Certificates with the acls ignored.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoMetadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).list(AppsPeopleOzExternalMergedpeopleapiEmail)
domainBadgeDEPRECATED. Organization badge for the domain this person is a member of. The badge is the primary hosted domain.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoDomainInfoDEPRECATED.list(String)
domainNameDEPRECATED. Hosted domain this person is a member of. Formerly only available via PersonExtendedData.AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoDomainInfoDEPRECATED.list(String)
canonicalValueCanonicalized `value` of the relation from this person to the user. This is currently used for data from contact annotations. Possible canonical values are based from http://google3/googledata/quality/aliases/relationship_en.config.AppsPeopleOzExternalMergedpeopleapiRelationRelation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.String
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiRelationRelation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.String
metadataAppsPeopleOzExternalMergedpeopleapiRelationRelation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
relationDetailsThe person whose email matches the Relation.value field, if it is a valid email address. This field is read-only and ignored on update.AppsPeopleOzExternalMergedpeopleapiRelationRelation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.AppsPeopleOzExternalMergedpeopleapiRelationRelationDetails
typeThe relation type. The type can be free form or one of these predefined values: * `spouse` * `child` * `mother` * `father` * `parent` * `brother` * `sister` * `friend` * `relative` * `domesticPartner` * `manager` * `assistant` * `referredBy` * `partner`AppsPeopleOzExternalMergedpeopleapiRelationRelation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.String
valueThe person this relation applies to. Custom value provided by the user.AppsPeopleOzExternalMergedpeopleapiRelationRelation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.String
displayNameEquivalent to Name.display_name for the person_id profile.AppsPeopleOzExternalMergedpeopleapiRelationRelationDetailsString
jobTitleEquivalent to Organization.title for the primary organization of the person_id profile.AppsPeopleOzExternalMergedpeopleapiRelationRelationDetailsString
personIdAppsPeopleOzExternalMergedpeopleapiRelationRelationDetailsString
photoUrlEquivalent to Photo.url for the person_id profile.AppsPeopleOzExternalMergedpeopleapiRelationRelationDetailsString
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiRelationshipInterestDeprecated in b/122464133. No data returned for this field.String
metadataAppsPeopleOzExternalMergedpeopleapiRelationshipInterestDeprecated in b/122464133. No data returned for this field.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeThese fields may give away the sexual orientation of the user.AppsPeopleOzExternalMergedpeopleapiRelationshipInterestDeprecated in b/122464133. No data returned for this field.String
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiRelationshipStatusDeprecated in b/122464133. No data returned for this field.String
metadataAppsPeopleOzExternalMergedpeopleapiRelationshipStatusDeprecated in b/122464133. No data returned for this field.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeAppsPeopleOzExternalMergedpeopleapiRelationshipStatusDeprecated in b/122464133. No data returned for this field.String
metadataAppsPeopleOzExternalMergedpeopleapiRightOfPublicityStateUser preference for shared endorsements. See go/se-devguide and go/sharedendorsements for details, including guidance on which contexts are which.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
stateAppsPeopleOzExternalMergedpeopleapiRightOfPublicityStateUser preference for shared endorsements. See go/se-devguide and go/sharedendorsements for details, including guidance on which contexts are which.String
abridgedRosterMembershipsAbridged / sample subset of member details of the roster. NOTE: This field is only returned if the request’s field mask includes “person.roster_details.abridged_roster_memberships”. http://cs/symbol:google.apps.cloudidentity.groups.internal.GroupSummary.abridged_membershipsAppsPeopleOzExternalMergedpeopleapiRosterDetailsInformation specific to rosters like Google Groups and Chatrooms.list(AppsPeopleOzExternalMergedpeopleapiRosterMember)
metadataAppsPeopleOzExternalMergedpeopleapiRosterDetailsInformation specific to rosters like Google Groups and Chatrooms.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
rosterMemberCountIndicates the number of members and sub-rosters of the roster. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.direct_member_count_per_typeAppsPeopleOzExternalMergedpeopleapiRosterDetailsInformation specific to rosters like Google Groups and Chatrooms.AppsPeopleOzExternalMergedpeopleapiRosterMemberCount
memberTypeType of the member.AppsPeopleOzExternalMergedpeopleapiRosterMemberRepresents details of a member of a roster. Used in RosterDetails. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.MembershipString
personIdFocus-Obfuscated Gaia Id of the member.AppsPeopleOzExternalMergedpeopleapiRosterMemberRepresents details of a member of a roster. Used in RosterDetails. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.MembershipString
directGroupCountIndicates the number of direct sub-rosters of the roster. This comes from http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerType.group_countAppsPeopleOzExternalMergedpeopleapiRosterMemberCountRepresents the summary of member counts of a roster. Used in RosterDetails. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerTypeString
directUserCountIndicates the number of direct, non-roster members of the roster. This comes from http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerType.user_countAppsPeopleOzExternalMergedpeopleapiRosterMemberCountRepresents the summary of member counts of a roster. Used in RosterDetails. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerTypeString
metadataAppsPeopleOzExternalMergedpeopleapiSearchProfileProfile for Janata and Search. go/janata-profile-in-sgbeAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
searchProfileDataAppsPeopleOzExternalMergedpeopleapiSearchProfileProfile for Janata and Search. go/janata-profile-in-sgbeSocialGraphApiProtoSearchProfileData
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiSipAddressAs of 03/2018 is not supported for user Profile.String
metadataAppsPeopleOzExternalMergedpeopleapiSipAddressAs of 03/2018 is not supported for user Profile.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeThe type of the SIP address. The type can be free form or or one of these predefined values: * `home` * `work` * `mobile` * `other`AppsPeopleOzExternalMergedpeopleapiSipAddressAs of 03/2018 is not supported for user Profile.String
valueAppsPeopleOzExternalMergedpeopleapiSipAddressAs of 03/2018 is not supported for user Profile.String
metadataAppsPeopleOzExternalMergedpeopleapiSkillsAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiSkillsString
metadataAppsPeopleOzExternalMergedpeopleapiSocialConnectionThe social connection of this person to the viewer. NOTE: this is used by go/starlight, but not actually used or returned in PeopleAPI. See b/27281119 for context.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
typeAppsPeopleOzExternalMergedpeopleapiSocialConnectionThe social connection of this person to the viewer. NOTE: this is used by go/starlight, but not actually used or returned in PeopleAPI. See b/27281119 for context.list(String)
affinityAppsPeopleOzExternalMergedpeopleapiSortKeyslist(AppsPeopleOzExternalMergedpeopleapiAffinity)
interactionRankDeprecated. This field is only populated with 0.000 for legacy reasons. Clients should not use this field.AppsPeopleOzExternalMergedpeopleapiSortKeysString
lastNameAppsPeopleOzExternalMergedpeopleapiSortKeysString
lastNameRawAppsPeopleOzExternalMergedpeopleapiSortKeysString
nameAppsPeopleOzExternalMergedpeopleapiSortKeysString
nameRawRaw name strings that were used to generate the name and last_name sort keys fields above. Contacts+ need them to generate section headers for list view (b/30642866).AppsPeopleOzExternalMergedpeopleapiSortKeysString
containerThe type of source. To be deprecated infavor of container_typeAppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.String
containerTypeThe type of the source.AppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.String
deletedIn sync responses, indicates whether the identity source has been deleted. Not applicable to GOOGLE_GROUP.AppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.boolean
idThe encoded id of the data source. This field correlates to PersonFieldMetadata.encoded_container_id. The possible values of this `id` field are as follows based on the value of the `container_type` field: CONTACT: Hex-encoded contact id. PROFILE: DOMAIN_PROFILE: GOOGLE_GROUP: NAMED_CHAT_ROOM: Focus-obfuscated Gaia ID. DOMAIN_CONTACT: Synthetic-contact id representing the domain shared contact. PLACE: Encoded PlaceId (go/javagoog/maps/api/places/util/PlaceIdEncoder.java) RAW_DEVICE_CONTACT: Pair of device_id and raw_contact_id, encoded as base64 serialized social.graph.peopleapi.proto.internal.RawDeviceContactId proto. CONTACT_ANNOTATION: Pair of annotation_id and event_timestamp, encoded as base64 serialized social.graph.peopleapi.proto.internal.ContactAnnotationId proto. — DEPRECATED container types — If the container is CIRCLE, then the id is going to be the synthetic- contact id representing the email-only circle member or gaia circle member for which the requester does not have a contact for.AppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.String
lastUpdatedLast update timestamp of this source. NOTE: Only populated for CONTACT container type in Java PeopleAPI. Populated for CONTACT, PROFILE, DOMAIN_PROFILE in Sharpen implementation. NOTE: Not populated for GOOGLE_GROUP.AppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.DateTime
lastUpdatedMicros**DEPRECATED** Please use `last_updated` field instead. Last update timestamp of this source in microseconds. NOTE: Only populated for CONTACT container type.AppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.String
sourceEtagNOTE: Not populated for GOOGLE_GROUP.AppsPeopleOzExternalMergedpeopleapiSourceIdentityId of a single source from the merged person.String
expirationTimeAppsPeopleOzExternalMergedpeopleapiSshPublicKeyCustom field that represents SSH public keys associated with the user. We can treat the field as a map from a string fingerprint to the SSH public key information.DateTime
fingerprintThe value is automatically set to a SHA-256 fingerprint of an SSH public key. A fingerprint should uniquely identify an SSH public key.AppsPeopleOzExternalMergedpeopleapiSshPublicKeyCustom field that represents SSH public keys associated with the user. We can treat the field as a map from a string fingerprint to the SSH public key information.String
keyAppsPeopleOzExternalMergedpeopleapiSshPublicKeyCustom field that represents SSH public keys associated with the user. We can treat the field as a map from a string fingerprint to the SSH public key information.String
metadataAppsPeopleOzExternalMergedpeopleapiSshPublicKeyCustom field that represents SSH public keys associated with the user. We can treat the field as a map from a string fingerprint to the SSH public key information.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
formattedTypeThe phone formatted type. See docs from mirrored proto: http://google3/ccc/grand_central/common/types.proto?l=128&rcl=241000760AppsPeopleOzExternalMergedpeopleapiStructuredPhoneThis message mirrors the ContactPhoneNumber message in ccc/grand_central/common/types.proto. For various reasons, we cannot take on a direct dependency. See other proto file for most recent documentation.String
phoneNumberAppsPeopleOzExternalMergedpeopleapiStructuredPhoneThis message mirrors the ContactPhoneNumber message in ccc/grand_central/common/types.proto. For various reasons, we cannot take on a direct dependency. See other proto file for most recent documentation.AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumber
shortCodeAppsPeopleOzExternalMergedpeopleapiStructuredPhoneThis message mirrors the ContactPhoneNumber message in ccc/grand_central/common/types.proto. For various reasons, we cannot take on a direct dependency. See other proto file for most recent documentation.AppsPeopleOzExternalMergedpeopleapiStructuredPhoneShortCode
typeThe type of phone. See docs from mirrored proto: http://google3/ccc/grand_central/common/types.proto?l=125&rcl=241000760AppsPeopleOzExternalMergedpeopleapiStructuredPhoneThis message mirrors the ContactPhoneNumber message in ccc/grand_central/common/types.proto. For various reasons, we cannot take on a direct dependency. See other proto file for most recent documentation.String
e164AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberString
i18nDataAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nData
countryCodeAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nDatainteger
internationalNumberAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nDataString
isValidAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nDataboolean
nationalNumberAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nDataString
regionCodeAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nDataString
validationResultAppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nDataString
codeThe phone code. See docs from mirrored proto: http://google3/ccc/grand_central/common/types.proto?l=70&rcl=241000760AppsPeopleOzExternalMergedpeopleapiStructuredPhoneShortCodeString
countryCodeAppsPeopleOzExternalMergedpeopleapiStructuredPhoneShortCodeString
metadataAppsPeopleOzExternalMergedpeopleapiTaglineAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiTaglineString
adminToAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.list(AppsPeopleOzExternalMergedpeopleapiPerson)
adminsAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.list(AppsPeopleOzExternalMergedpeopleapiPerson)
dottedLineManagersAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.list(AppsPeopleOzExternalMergedpeopleapiPerson)
dottedLineReportsAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumber
failuresAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.list(String)
managementChainAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.list(AppsPeopleOzExternalMergedpeopleapiPerson)
reportsAppsPeopleOzExternalMergedpeopleapiTeamsExtendedData*UNSUPPORTED*. This message is never populated and is no longer used.AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumber
keyAppsPeopleOzExternalMergedpeopleapiUserDefinedString
metadataAppsPeopleOzExternalMergedpeopleapiUserDefinedAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
valueAppsPeopleOzExternalMergedpeopleapiUserDefinedString
incomingAnyCircleCountReplacement for deprecated follower_count. Comes from the EdgeSummary.AppsPeopleOzExternalMergedpeopleapiUserVisibleStatsDEPRECATED in favor of ProfileStats. Stats pertaining to incoming edges and views, visible to the requester (with acls applied). Related to, but not equal to, com.google.focus.proto.Storage.UserVisibleStats.String
viewCountAppsPeopleOzExternalMergedpeopleapiUserVisibleStatsDEPRECATED in favor of ProfileStats. Stats pertaining to incoming edges and views, visible to the requester (with acls applied). Related to, but not equal to, com.google.focus.proto.Storage.UserVisibleStats.String
metadataAppsPeopleOzExternalMergedpeopleapiVisibleToGuestsStore metadata information like annotation-id and product source for visible to guests contacts go/visible-to-guests.AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
isIncompleteUsed by Contacts client-side to indicate whether a person is not completed.AppsPeopleOzExternalMergedpeopleapiWebContactsExtendedDataboolean
formattedTypeThe `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.AppsPeopleOzExternalMergedpeopleapiWebsiteString
metadataAppsPeopleOzExternalMergedpeopleapiWebsiteAppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata
relCurrently in Oz: “Links”: Links with no rel. “Other profiles”: Links with rel=ME. “Contributor to”: Links with rel=CONTRIBUTOR_TO or PAST_CONTRIBUTOR_TO.AppsPeopleOzExternalMergedpeopleapiWebsitelist(AppsPeopleOzExternalMergedpeopleapiWebsiteRelationshipInfo)
typeThe type of the website. The type can be free form or one of these predefined values: * `home` * `work` * `blog` * `profile` * `homePage` * `ftp` * `reservations` * `appInstallPage`: website for a Currents application. * `other`AppsPeopleOzExternalMergedpeopleapiWebsiteString
valueAppsPeopleOzExternalMergedpeopleapiWebsiteString
typeAppsPeopleOzExternalMergedpeopleapiWebsiteRelationshipInfoString
channelDataInformation about a channel created by the user. A user can create multiple Youtube channels.AppsPeopleOzExternalMergedpeopleapiYoutubeExtendedDataExtension data for use in Youtube Product Profile.list(AppsPeopleOzExternalMergedpeopleapiChannelData)
failureFailure type if there is an error when fetching product profile data.AppsPeopleOzExternalMergedpeopleapiYoutubeExtendedDataExtension data for use in Youtube Product Profile.AppsPeopleOzExternalMergedpeopleapiProductProfileFailure
expressUrlInSettingsResponseSupportedThis flag is used to work around a bug in AGSA 6.8 that got away. The bug prevents users from accessing their shopping list if the URL of the shopping list is not a keep.google.com URL. This will happen when switch the backend that stores the shopping list from Keep to a backend maintained by the Google Shopping Express team.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
reconnectClientInputSupportedWhether client supports reconnect client input in action v2 payload. This capability is needed to determine if client supports parsing client input payload from actionv2 proto for workflow purposes. See go/personal-workflow. OWNER:nyzstar,vvvemuri.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
simpleActionV2PuntSupportedWhether or not the surface supports a simple UnsupportedAction instead of a ModalState punt card for rendering. For ActionV2 punt cards, the ModalState extension on the ResourceSet is the canonical way of building punt cards. However, while most all devices support the ActionV2 protocol, not all devices handle the ModalState rendering as part of the ActionV2. For these devices, we want to build a modified ActionV2 for punt cards which omits this ModalState. At present, this is only Android Wear and should not be used for other devices if they support ModalState or Conversation protocol.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
supportedActionTypeA list of all the action types supported by the client. These should be the string representation of majel.ActionTypes within “quality/majel/api/proto/action_v2.proto”.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.list(String)
takeScreenshotSupportedChecks if screenshots can be taken on the client. This field is set on the client from AGSA 7.2 onwards.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
voiceDelightImmersiveUiSupportedIf IMMERSIVE_ACTIONS UiType is supported by the client.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
voiceDelightStickersSupportedIf Voice Delight Stickers are supported by the client. In order to support Voice Delight stickers, the client should know how to extract sticker_url from VoiceDelightSystemInteractionSegment.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
voiceDelightSuggestionsSupportedIf Voice Delight Suggestion Chips are supported by the client. In order to support Voice Delight Suggestion Chips, the client should know how to extract suggestions form VoiceDelightSystemInteraction.ResourceSet.AssistantApiActionV2SupportedFeaturesThe features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.boolean
androidIntentCapabilityAssistantApiAndroidIntentCapabilitiesCapabilities related to Android intent support. These capabilities can apply to any device on the Android platform. Provides the list of Android package names that support a given Android intent.list(AssistantApiAndroidIntentCapabilitiesAndroidIntentCapability)
intentActionNameThe Action name of the Android Intent in standard notation (https://developer.android.com/reference/android/content/Intent#getAction()).AssistantApiAndroidIntentCapabilitiesAndroidIntentCapabilityString
packageNamesThe Android provider packages that support the intent, e.g. “com.google.android.deskclock”.AssistantApiAndroidIntentCapabilitiesAndroidIntentCapabilitylist(String)
allowlistedForMediaFulfillmentIndicates whether the provider is compatible for media fulfillment on this surface. For example, Amazon Music isn’t compatible with the driving mode.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
appIntegrationsSettingsCurrently unused. Will be used in the future when integrating with incremental app capabilities.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.AssistantApiAppIntegrationsSettings
disabledSystemAppThis system app is disabled in settings.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
providerThe installed app of the provider.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.AssistantApiCoreTypesProvider
routableToProviderCloudThis provider has integrated its cloud backend with Google, and Google can route the user queries to the provider’s cloud.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
searchableOnDeviceThis provider has an app that supports on-device search through the provider’s own inventory.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
searchableOnServerThis provider has integrated its content with Google, and Google has enabled to serve its content as a server-side solution.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
supports3pPodcastPlaybackIndicates whether the provider supports playback of 3P(externally hosted) podcasts.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
supportsScreenlessInitiationThis provider has an app that supports starting new media playback when there is no screen (e.g. by integrating with the Bisto SDK).AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
whitelistedForAnnotationThis provider is an app which should be used for query annotations. This is useful for apps which may not be already indexed by Google or are client specific.AssistantApiAppCapabilitiesUsed to describe app capabilities of the device installed apps reported to the server.boolean
appIntegrationsSettingsCurrently unused. Will be used in the future when integrating with incremental app capabilities.AssistantApiAppCapabilitiesDeltaUsed to describe the incremental change of app capabilities of the device installed apps reported to the server.AssistantApiAppIntegrationsSettings
providerDeltaThe installed app of the provider.AssistantApiAppCapabilitiesDeltaUsed to describe the incremental change of app capabilities of the device installed apps reported to the server.AssistantApiCoreTypesProviderDelta
enabledAssistantApiAppControlSupportString
sendMessageSuppressedIf true, disable send message AppControl/SD flow. This is needed to suppress the feature for specific device. If we decide to turn down this feature for all devices, then this field will become obsolete and should be removed. See context in b/275727627.AssistantApiAppControlSupportboolean
handleRequestsWithPredictedAppsWhether to enable Assistant to handle request with predicted apps.AssistantApiAppIntegrationsSettingsContains the app privacy bits used for App Integrations implicit request. (go/app-privacy-settings-for-implicit-requests)String
plateSupportIndicates in what cases assistant continued presence can be shown as a plate. This field is white-listed as being PII-free. Please do not add PII here.AssistantApiAssistantContinuedPresenceSupportString
environmentAssistantApiAudioInputThese capabilities represent the audio input features associated with the device. This includes what kind of audio input the device can handle, and what the privacy circumstances of that input are.String
qualityAssistantApiAudioInputThese capabilities represent the audio input features associated with the device. This includes what kind of audio input the device can handle, and what the privacy circumstances of that input are.String
alwaysOnSpeakerAssistantApiAudioOutputThese capabilities represent the audio output features associated with the device. This includes what kind of audio output the device can handle, and what the privacy circumstances of that output are.String
environmentAssistantApiAudioOutputThese capabilities represent the audio output features associated with the device. This includes what kind of audio output the device can handle, and what the privacy circumstances of that output are.String
mediaTtsMixableAssistantApiAudioOutputThese capabilities represent the audio output features associated with the device. This includes what kind of audio output the device can handle, and what the privacy circumstances of that output are.String
qualityAssistantApiAudioOutputThese capabilities represent the audio output features associated with the device. This includes what kind of audio output the device can handle, and what the privacy circumstances of that output are.String
volumePropertiesAssistantApiAudioOutputThese capabilities represent the audio output features associated with the device. This includes what kind of audio output the device can handle, and what the privacy circumstances of that output are.AssistantApiVolumeProperties
isBluetoothConnectedProfileRequiredIf this surface needs to bluetooth pair a phone before using a feature.AssistantApiBluetoothCapabilitiesBluetooth capabilities related to usage of a feature.boolean
callFormatsThe supported call formats on the surface.AssistantApiCallCapabilitiesCallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7list(String)
callMediumsThe supported call mediums on the surface.AssistantApiCallCapabilitiesCallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7list(String)
callOptionsThe call options this surface can provide. For example, SPEAKERPHONE is available on Android OPA while iOPA doesn’t support it yet.AssistantApiCallCapabilitiesCallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7list(String)
fallbackToTetheredDeviceAppCapabilitiesIf true, APP_ID queries initiated by this device should fall back to execution on the tethered device if it’s available and if the primary device cannot perform the action (e.g. due to the app not being installed).AssistantApiCallCapabilitiesCallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7boolean
supportedRecipientTypesShould only be checked if nonempty.AssistantApiCallCapabilitiesCallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7list(String)
supportsDuoEmailEndpointAssistantApiCallCapabilitiesCallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7boolean
faceMatchCapableWhether the device supports Face Match.AssistantApiCameraCapabilitiesThese capabilities represent the camera features associated with the device.boolean
hasCameraWhether the device has a camera.AssistantApiCameraCapabilitiesThese capabilities represent the camera features associated with the device.boolean
hasLimitedCameraStreamCapabilityWhether the device has limited camera stream capability. If true, check supported_camera_receivers for detailed supported cameras.AssistantApiCameraReceiverCapabilitiesThese capabilities present the capability of the device running camera receiver apps.boolean
supportedCameraReceiversThe camera receiver cast apps the device supports. Only used if has_limited_camera_stream_capability is true.AssistantApiCameraReceiverCapabilitiesThese capabilities present the capability of the device running camera receiver apps.list(AssistantApiCoreTypesCastAppInfo)
shouldPuntMultiAssistantModeIndicates whether the current Assistant should provide a multi Assistant specific punt when there are multiple Auto specific Google Assistants (Android Auto Projected (AAP) and Android Auto Embedded (AAE)) in the same GAS enabled car. This will be used by both AAP and AAE. Design doc: go/doubledash++AssistantApiCarAssistantCapabilitiesCapabilities that are associated with Assistants on auto surfaces. This is different from other capabilities such as CarSettingsCapabilities, CloudCarCapabilities since they are specific to settings and 3P cloud information. All the auto/car Assistant specific capabilities should live here.boolean
playWarmerWelcomeIf true, it indicates that the auto surface client should receive a warmer welcome TTS for signed-out users. For signed-in user, we will rely on server side metadata. go/aaae:preview-langAssistantApiCarSettingsCapabilitiesCapabilities that are associated with Assistant Settings on auto surfaces.boolean
supportsAddingCarsIf true, it indicates that the client can be used to add cars after account linking with the OEM.AssistantApiCarSettingsCapabilitiesCapabilities that are associated with Assistant Settings on auto surfaces.boolean
castLinkingStatusCast linking status for ATV surfaces. This is derived from error messages returned from Cast Orchestration Server and will be used for data profiling only(go/katniss-settings-dashboard).AssistantApiCastAssistantSettingLinkingResultString
truncatedErrorMsgThe error msg returned from COS, truncated in case it’s too large.AssistantApiCastAssistantSettingLinkingResultString
cameraReceiverCapabilitiesWhether the device has limited camera stream capability and if yes, which receivers are supported.AssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9AssistantApiCameraReceiverCapabilities
cameraStreamSupportedProtocolsThe supported protocols for camera streaming. The value is used as string in go/smarthome-internal-api#camera-stream, so using a string for this field instead of an enum. Supported protocols: (align the definition in go/smarthome-camerastream-trait) – “hls”: HTTP Live Streaming – “dash”: Dynamic Adaptive Streaming over HTTP – “smooth_stream”: Smooth Streaming – “progressive_mp4”: Progressive MP4 (will likely only be used for Clips) – “webrtc”: WebRTC (currently, only H.264 is supported) – “nexustalk”: Internal-only protocol used for NestAssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9list(String)
canReceiveCastTrue if we can cast things to this device.AssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9boolean
deviceIdOptional for primarily cast devices (e.g., Chirp, Chromecast). For devices that are NOT primarily cast devices, but having a cast receiver as secondary functionality, this field SHOULD store the cast-device-id to be used to send remote casting commands to the device. Example: Android TV, which supports both Android-native actions as well as remote casting using its built-in cast receiver. Android TV device id contains a DUSI id, which is not a cast-device-id. When executing a cast command on the Android TV, this field is used to route the cast command (through CloudCastService) to the cast receiver on the device.AssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9AssistantApiCoreTypesDeviceId
dynamicGroupsSupportedWhether this device supports dynamic groups or not. It implies if a Stream Control operation (transfer, expansion, and contraction) could be applied on this device since Stream Control is implemented as part of dynamic groups (ie, adding/removing devices from playback)AssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9boolean
groupTypeAssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9String
overlayApplicationsSupportedWhether UI overlay applications are supported on this device. It’s used by Chromecast only.AssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9boolean
yetiGamingSupportedWhether the device supports playing games through Yeti. This is set by the cast device when the device is updated: Chromecast updates -> Chromecast registers its capabilities with CCS -> CCS passes the capabilities to the AssistantSettingsService -> AssistantSettingsService stores the device’s capabilities. go/yeti-gaming-supported-cast-capabilityAssistantApiCastCapabilitiesThese capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9boolean
skipAndroidAndGsaVersionCheckAdditional specific setting capabilities. This boolean is used to indicate whether we want to skip the Android and GSA version check in CheckSettingSchemaAndMaybeGetUris() from assistant/vertical/device/fulfillment/utils/setting_utils.h. Consider setting this field to true if your device is neither Android or GSA (especially when the UserAgent string of your device’s TaskRequest will not contain a valid/up-to-date Android/GSA version).AssistantApiClientOpPropertiesDeviceModifySettingClientOpPropertyThe properties of the client op device.MODIFY_SETTING. This proto is stored in the SupportedClientOp proto.boolean
supportedSettingsUses DeviceSetting enum which corresponds to setting_id. This indicates which specific settings are supported by client. An empty list implies all settings are supported.AssistantApiClientOpPropertiesDeviceModifySettingClientOpPropertyThe properties of the client op device.MODIFY_SETTING. This proto is stored in the SupportedClientOp proto.list(String)
supportsDoNotDisturbWithDurationAdditional specific setting capabilities. This boolean is used to indicate if do not disturb with duration is supported through device.MODIFY_SETTING clientop on a client or not.AssistantApiClientOpPropertiesDeviceModifySettingClientOpPropertyThe properties of the client op device.MODIFY_SETTING. This proto is stored in the SupportedClientOp proto.boolean
supportsMuteUnmuteAdditional specific setting capabilities. This boolean is used to indicate if new unmute logic is enabled on a client or not.AssistantApiClientOpPropertiesDeviceModifySettingClientOpPropertyThe properties of the client op device.MODIFY_SETTING. This proto is stored in the SupportedClientOp proto.boolean
keepsConversationAliveAfterOpeningAppWhether conversation is kept alive after opening the app. See go/keep-opa-conversation-alive for details.AssistantApiClientOpPropertiesProviderOpenClientOpPropertyThe properties of the provider.OPEN ClientOp. This proto is stored in the SupportedClientOp proto with the key provider.OPEN.boolean
maxSupportedAlarmsMaximum number of alarms that can be created on the client.AssistantApiClockCapabilitiesUsed to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).integer
maxSupportedExtendedTimerDurationMaximum extended timer duration supported by the client. The extended timer duration is the total start-to-finish duration after an AddTimeToTimer operation. E.g. if a user sets a timer for 30 minutes, and later adds 10 minutes, the extended duration is 40 minutes.AssistantApiClockCapabilitiesUsed to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).AssistantApiDuration
maxSupportedTimerDurationMaximum duration of timers that can be created on the client.AssistantApiClockCapabilitiesUsed to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).AssistantApiDuration
maxSupportedTimersMaximum number of timers that can be created on the client.AssistantApiClockCapabilitiesUsed to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).integer
preferredStopwatchProviderThe preferred provider to use for stopwatch related functionality.AssistantApiClockCapabilitiesUsed to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).AssistantApiCoreTypesProvider
restrictAlarmsToNext24hWhether the client restricts alarms to ring within the next 24 hours.AssistantApiClockCapabilitiesUsed to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).boolean
fluidActionsUiTypeAssistantApiCommunicationUiCapabilitiesUI capabilities for the surfaces rendering Comms features. See go/rohan-comms-fluid-actions-customization.String
fallbackToTetheredDeviceIf true, contact.LOOKUP should be routed to the tethered device (if present) if the tethered device supports contact.LOOKUP and the primary device does not.AssistantApiContactLookupCapabilitiesboolean
accountTypeAssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
activityInfoAssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17AssistantApiCoreTypesAndroidAppInfoActivityInfo
androidIntentIntent associated with the app. We include intents here as different versions of the same app may support different intents. In those cases, the package_name is not enough to identify the app and we should use the combination of package_name and android_intent. This field might contain sensitive data, if represents ClientOp with encapsulated PII such as user query.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
appUniqueIdStore the app unique id endpoint. This will be passed over to app to fulfill the action.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
appVersionThe android app version. Deprecated because https://developer.android.com/reference/android/content/pm/PackageInfo.html#getLongVersionCodeAssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17integer
dataMimetypedata_mimetype and account_type are the what AGSA uses to filter which contacts support this Android app in ContactProvider.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
isBroadcastIntentIf true, client should broadcast the intent instead of open the intent.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17boolean
isDefaultApp is the default app for it’s core functionality. For example, it will be true for Android messages if it is the default app to send and receive SMS on the phone.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17boolean
localizedAppNameThe localized app name.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
longVersionCodeThe long android app version.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
mimetypeStore mimetype of this endpoint. We will use this as the differentiator for Assistant to know whether to use the RawContact for messaging, call or video call. For example, send message mimetype for whatsapp: “vnd.android.cursor.item/vnd.com.whatsapp.profile” voice call mimetype for whatsapp: “vnd.android.cursor.item/vnd.com.whatsapp.voip.call”AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
packageNameThe android app package of the provider, like “com.spotify.music”.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
providerTypeThe OemProviderType is specific for OEM system Android apps. For example, in Auto Embedded, the OEM will have a system Radio/Media app. The system app’s capabilities/core functionalities are captured here. For physical media sources, the OEM may decide to implement one media app (thus, one package name) that handles multiple physical media sources. For these cases, each physical media source will be sent as different providers even though the package name is the same.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
shortcutIdId of the app’s Android shortcut to be launched by Assistant. The client is expected to use the Android LauncherApps API to execute this shortcut which in turn will open the app. For example, Whatsapp may create an Android shortcut for a frequently messaged contact with an id “contact_123”. This field will contain that id and the client can execute it to open up the chat with that particular contact. If this field is set, the package_name field must also be set since both will be used by the LauncherApps API for execution. If this field is set, the intent related fields will be ignored and not used as a fallback. Design: go/shortcut-id-in-provider-open-clientop This field should only be set for devices with Android API level >= 25 (since that is the version from which the LauncherApps startShortcut API is available)AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
targetClassThe fully qualified target class name of the provider, like “com.example.myapp.GetOrderService”.AssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
versionNameThe android app version name, like “4.1.091.05.40d”, “11.2.7.21.alpha”. Android Docs: https://developer.android.com/reference/android/content/pm/PackageInfo#versionNameAssistantApiCoreTypesAndroidAppInfoThe android app information of the provider. Like, Spotify. Next ID: 17String
activeLaunchableActivitiesActivities that are currently active and tagged as ACTION_MAIN and CATEGORY_LAUNCHER. Includes the activity corresponding to android_intent if it falls under CATEGORY_LAUNCHER.AssistantApiCoreTypesAndroidAppInfoActivityInfoGeneral information about activities in the app.list(AssistantApiCoreTypesAndroidAppInfoActivityInfoActivity)
localizedActivityNameThe localized user visible activity name.AssistantApiCoreTypesAndroidAppInfoActivityInfoActivityInformation about an individual activity.String
shortClassNameShort class name for activity, following https://developer.android.com/reference/android/content/ComponentName#getShortClassName()AssistantApiCoreTypesAndroidAppInfoActivityInfoActivityInformation about an individual activity.String
androidAppInfoThe android app information of the provider. Like, Spotify.AssistantApiCoreTypesAndroidAppInfoDeltaThe change of AndroidAppInfo, e.g. app installation or deletion for incremental delta app info upload.AssistantApiCoreTypesAndroidAppInfo
lastUpdateTimestampThe client-side timestamp in millis when the app is last updated, installed or deleted.AssistantApiCoreTypesAndroidAppInfoDeltaThe change of AndroidAppInfo, e.g. app installation or deletion for incremental delta app info upload.DateTime
updateTypeApp is installed or deleted.AssistantApiCoreTypesAndroidAppInfoDeltaThe change of AndroidAppInfo, e.g. app installation or deletion for incremental delta app info upload.String
attendeesAttendees invited to the event, usually includes also the organizer.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26list(AssistantApiCoreTypesCalendarEventAttendee)
backgroundColorThe background color of the event, in RGB format.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26integer
calendarIdOptional calendar containing the event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
creatorThe person who created this event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26AssistantApiCoreTypesCalendarEventAttendee
descriptionOptional description of the event (plain text).AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
endThe end time of the event. Start and end time must either both be date or both be datetime. End is exclusive, ie. the first day / first second when the event is over.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26AssistantApiDateTime
eventIdOptional event id provided by assistant server. Needs to be unique, at least on a per-user and calendar level, ideally globally unique. If none is given, the server will assign an id.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
flairNameThe flair name, calculated according to the event title (go/as-cal-flair). With the flair name, background images can be got from gstatic (go/scs): https://ssl.gstatic.com/tmly/f8944938hffheth4ew890ht4i8/flairs/AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
foregroundColorThe foreground color of the event, in RGB format.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26integer
guestsCanInviteOthersWhether the guests can invite other guests.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26boolean
guestsCanModifyWhether the guests can modify the event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26boolean
guestsCanSeeGuestsWhether the guests of the event can be seen. If false, the user is reported as the only attendee to the event, even though there may be more attendees.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26boolean
habitIdOptional id of the Habit (Calendar Goal) this event is linked toAssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
habitStatusOptional status for this habit event instance.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
htmlLinkAbsolute link to this event in the Calendar web UI.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
locationOptional location of the event (plain text).AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
meetingContactsAssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26list(AssistantApiCoreTypesCalendarEventMeetingContact)
organizerThe organizer of this event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26AssistantApiCoreTypesCalendarEventAttendee
otherAttendeesExcludedWhether not all attendees are included in the attendee list. This is set when the attendees list has been truncated (e.g., when the number of attendees is beyond the maxAttendees limitation).AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26boolean
participationResponseThe user’s response (the owner of this copy of the event) to this event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
recurringEventIdIf this is an instance of a recurring event, recurring_event_id identifies the recurring series as a whole.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
roomsMeeting rooms associated to this event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26list(AssistantApiCoreTypesCalendarEventRoom)
startThe start time of the event. This event is an all-day event if start has no time_of_day.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26AssistantApiDateTime
summaryThe title of the event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
visibilityOptional visibility of the event.AssistantApiCoreTypesCalendarEventThis proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26String
displayNameDisplay name, present only if available.AssistantApiCoreTypesCalendarEventAttendeeNext id: 8String
emailEmail address of the attendee (calendar), for regular events. For +Events, this field is not populated, instead “id” is used.AssistantApiCoreTypesCalendarEventAttendeeNext id: 8String
givenNameGiven (first) name, present only if available. This is used for generating meeting titles as given name is preferred over display (full) name (ie: “Jeff : Sundar” is better than “Jeff Dean : Sundar Pichai”).AssistantApiCoreTypesCalendarEventAttendeeNext id: 8String
idProfile ID of the principal, for +Events. For regular events, this field is not populated, instead “email” is used.AssistantApiCoreTypesCalendarEventAttendeeNext id: 8String
organizerIs this the organizer?AssistantApiCoreTypesCalendarEventAttendeeNext id: 8boolean
responseStatusAttendees response status.AssistantApiCoreTypesCalendarEventAttendeeNext id: 8String
selfIs this the owner of this copy of the event?AssistantApiCoreTypesCalendarEventAttendeeNext id: 8boolean
conferenceIdID that corresponds to in ConferenceData.conference_id in calendar.common.ConferenceData proto. For Meet, this is the identifier used to join a meeting via URL.AssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
dialInNumberClassesAssistantApiCoreTypesCalendarEventMeetingContactNext id: 10list(String)
phoneNumberUriDefault meeting phone number, for example: “tel:+1-475-777-1840”AssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
pinNumberA PIN that the participant will need to input after dialing in the conference.AssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
providerProvider info for the meeting.AssistantApiCoreTypesCalendarEventMeetingContactNext id: 10AssistantApiCoreTypesProvider
regionCodeThe region code for the default meeting phone numberAssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
sourceAssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
universalPinNumberThe universal meeting PIN number for phone numbers in all available countriesAssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
urlURL that can be used to join the meeting.AssistantApiCoreTypesCalendarEventMeetingContactNext id: 10String
emailRoom email that identifies the room and is used to book it.AssistantApiCoreTypesCalendarEventRoomA room that is available for a potential meeting or has been booked for a scheduled meeting. Next id: 4String
locationDetailsAdditional room details. Read-only, populated on request.AssistantApiCoreTypesCalendarEventRoomA room that is available for a potential meeting or has been booked for a scheduled meeting. Next id: 4AssistantApiCoreTypesCalendarEventRoomRoomLocationDetails
nameRoom name (ex: “MTV-PR55-5-A-Shadow 5K0 (13) GVC (No external guests)”).AssistantApiCoreTypesCalendarEventRoomA room that is available for a potential meeting or has been booked for a scheduled meeting. Next id: 4String
buildingBuilding where the room is (ex: “PR55”).AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8String
cityCity where the room is (ex: “MTV”).AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8String
floorFloor where the room is (ex: “5”).AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8String
latitudeThe latitude in degrees.AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8float
longitudeThe longitude in degrees.AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8float
sectionSection in the floor (ex: “A”).AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8String
simpleNameRoom name (ex: “Shadow 5K0”).AssistantApiCoreTypesCalendarEventRoomRoomLocationDetailsRoom location details. Read-only, populated on request. Next id: 8String
castAppIdThe cast app id. |cast_app_id| is the ID of the cast app used on the current device and |content_app_id| is the ID of the app that provides the actual content. For example, in a group playback, on a follower device, the |cast_app_id| is the follower cast app ID and the |content_app_id| is the leader cast app ID.AssistantApiCoreTypesCastAppInfoThe cast app information of the provider.String
contentAppIdThe id of the cast app that provides the content in a group. The field will always be filled. In the case of a group playback and the current device is a follower, the |cast_app_id| has the ID of the follower app, and |content_app_id| has ID of the actual content app. In all other cases, |content_app_id| and |cast_app_id| will be the same.AssistantApiCoreTypesCastAppInfoThe cast app information of the provider.String
localizedAppNameThe localized app name.AssistantApiCoreTypesChromeOsAppInfoThe ChromeOS app information of the provider. Next ID: 3String
packageNameUnique package name that identifies a ChromeOS app of the provider.AssistantApiCoreTypesChromeOsAppInfoThe ChromeOS app information of the provider. Next ID: 3String
agentStyleAssistantApiCoreTypesCloudProviderInfoThe third party provider information.AssistantApiCoreTypesCloudProviderInfoAgentStyle
directoryUrlURL to a directory page about the third party agent in Assistant HQ. This is a universal (https) URL that may be handled natively by clients to show HQ or launch to the HQ directory web page.AssistantApiCoreTypesCloudProviderInfoThe third party provider information.String
logoUrlThe logo url for the third party provider.AssistantApiCoreTypesCloudProviderInfoThe third party provider information.String
nameThe user visible name of the cloud provider, which may be used for example in the chat header during a conversation with the third party.AssistantApiCoreTypesCloudProviderInfoThe third party provider information.String
backgroundColorThe background color of the agent. Used if no background image is specified for the given display orientation, or if the provided background image does not fit.AssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.AssistantApiCoreTypesColor
headerThemeAssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.String
landscapeBackgroundImageUrlURL for the background image of the agent on landscape display.AssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.String
logoUrlURL for the image containing the 3p logo. This can include logomark and logotype, or logotype only. If present, this can be used in place of the square logo contained in the top level logo_url field in CloudProviderInfo. See go/cards-logo-customization for details on applying this logo.AssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.String
maskColorThe color of the mask to apply to the background. See go/aog-cards-background-mask for details on applying this mask.AssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.AssistantApiCoreTypesColor
portraitBackgroundImageUrlURL for the background image of the agent on portrait display.AssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.String
primaryColorThe primary color of the agent. Used by the client to style the header and suggestion chips.AssistantApiCoreTypesCloudProviderInfoAgentStyleThe style customizations for the 3p agent.AssistantApiCoreTypesColor
alphaThe fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (this color) + (1.0 – alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. If omitted, this color object is to be rendered as a solid color (as if the alpha value had been explicitly given with a value of 1.0).AssistantApiCoreTypesColorRepresents a color in the RGBA color space. This message mirrors google.type.Color.number
blueThe amount of blue in the color as a value in the interval [0, 1].AssistantApiCoreTypesColorRepresents a color in the RGBA color space. This message mirrors google.type.Color.number
greenThe amount of green in the color as a value in the interval [0, 1].AssistantApiCoreTypesColorRepresents a color in the RGBA color space. This message mirrors google.type.Color.number
redThe amount of red in the color as a value in the interval [0, 1].AssistantApiCoreTypesColorRepresents a color in the RGBA color space. This message mirrors google.type.Color.number
agentIdPantheon Project ID that uniquely identifies the consumer project ID. RequiredAssistantApiCoreTypesDeviceConfigThe identification information for third party devices that integrates with the assistant. All of these fields will be populated by the third party when the query is sent from the third party device. Next Id: 5String
deviceIdUnique identifier for the device. Example: DBCDW098234. RequiredAssistantApiCoreTypesDeviceConfigThe identification information for third party devices that integrates with the assistant. All of these fields will be populated by the third party when the query is sent from the third party device. Next Id: 5String
agsaClientInstanceIdThe client_instance_id on devices with GSA. See ‘client_instance_field’ in go/androidids.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
alloDeviceIdAllo Id. Corresponds to the GBotRequest.Sender.sender. NOTE(dychen): This may change to standard android/ios physical device ids in order to enable shared data (e.g. installed app on physical device shared between Allo and Opa apps on Nexus).AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
canonicalDeviceIdA unique device ID for Assistant devices as proposed by go/ocelot-team to solve the device id fragmentation problem. The value of this id is the HomeGraph id of the device. See go/ocelot-track-0-registry-design. New surfaces should use the canonical_device_id instead of using other ids, and the registration should utilize the DeviceDataLayer (go/ddl-v0). Please contact the assistant-state-management@ team for guidance. Note: We didn’t reuse |home_graph_device_id| because in Assistant code base |home_graph_device_id| is common to associate it with 3P devices. See go/project-yellowstone for more context.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
castDeviceIdIf set, indicates that the device is a cast device, and contains the UUID of the cast device. Corresponds to the device_id field of the CastDevice proto.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
clientInstanceIdDUSI (go/dusi) is used as the identifier here. This identifier is unique to the user and device. This will help identify which device or application the user’s request originated from. This is not to be confused with the client_instance_id that android devices provide. This is currently used by surfaces that use the assistant-legacy-nexus and assistant-legacy-clockwork pipelines. DUSI is created and set in S3. This field is only filled for GAIA requests.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
connectedDockIdA device ID produced by a connected dock, which is registered in HomeGraph.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
deviceConfigThe unique DeviceConfig to the specific third party device. It is also used by Android Auto Embedded first party device. See go/opa-ids.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14AssistantApiCoreTypesDeviceConfig
deviceTypeDEPRECATED. assistant.api.core_types.governed.SurfaceIdentity.surface_type field should be used instead. The device’s surface type. This is the string version of surface_type. The server should use the SurfaceType value derived from this string. If the device_type isn’t supported within the SurfaceType enum, it will be set as UNKNOWN. Developers should use the enum in ServerParams instead of this string. WARNING: Clients are not actually setting this field. This field will be removed once references to it within the code base have been removed.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
homeGraphDeviceIdThe unique device ID for HomeGraph devices. This is the HomeGraph ID, created when the device is registered into HomeGraph. It is immutable for the same device unless it is completely deleted and recreated. See go/home-graph for details.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
libassistantDeviceIdThe unique ID for libassistant based devices. See go/libassistant-id for details.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
multiHotwordArbitrationDeviceIdIf set, indicates that the device is participating the multi-hotword arbitration and the id is an UUID to distinguish it from other devices. It should also be consistent between requests from a single device within a session (or short duration).AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
opaIosDeviceIdThe unique device ID for the Assistant App on iOS. See go/opa-ios-design for details.AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
quartzDeviceIdThe unique ID of a Quartz device. See go/quartz-design-doc for more details. Quartz ID is a hash of (android_id + gaia).AssistantApiCoreTypesDeviceIdLINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`’s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14String
deviceIdThe identifier of the device.AssistantApiCoreTypesDeviceUserIdentityThe set of information that helps Assistant identify a device-user pair. An example use of this proto is in broadcast reply, when after receiving a broadcast, we store a device-user pair in an attentional entity in order to later infer who initated the broadcast on which device.AssistantApiCoreTypesDeviceId
gaiaIdThe identifier of the user.AssistantApiCoreTypesDeviceUserIdentityThe set of information that helps Assistant identify a device-user pair. An example use of this proto is in broadcast reply, when after receiving a broadcast, we store a device-user pair in an attentional entity in order to later infer who initated the broadcast on which device.String
localizedAppNameThe localized app name.AssistantApiCoreTypesHomeAppInfoThe Home app information of the provider. Next ID: 3String
packageNameUnique package name that identifies a Home app of the provider.AssistantApiCoreTypesHomeAppInfoThe Home app information of the provider. Next ID: 3String
accessibilityTextA text description of the image to be used for accessibility, e.g. screen readers.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
appIconIdentifierApp identifier. This field is specific to mobile surfaces and stands for app package name for Android surface, and app bundle identifier for iOS. In case identifier is specified but invalid, some default icon will be used, e.g. PackageManager.getDefaultActivityIcon() for Android. If you want to show image for AGSA versions which don’t support this field, you can specify source_url as backup.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
badgeImageThis is the image that is displayed as the badge on the main image.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13AssistantApiCoreTypesImage
contentContent of the image in bytes.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
heightAssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13integer
imageSourceIndicate the data source where the image is fetched.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
jsonContentContent of image in form of JSON representation.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
letterDrawableTextText used to generate a letter drawable (a letter icon with color). It will be the default icon if the source_url is empty or cannot be rendered.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
providerUrlUrl of the image provider, which is the website containing the image. For example, https://www.agentx.com.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
sourceUrlThe source url of the image. For example, https://www.agentx.com/logo.pngAssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
sourceUrlTypeType of the source url.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13String
widthThe width and height of the image in pixels.AssistantApiCoreTypesImageAn image represents the data about an image or a photo. NextId: 13integer
typeSpecifying which type of internal provider.AssistantApiCoreTypesInternalProviderInfoInfo for targeting a feature provided directly by the Assistant surface itself. i.e Could be pointing to AGSA audio player for AUDIO_PLAYER on AGSA.String
bundleIdentifierBundle identifier that identifies an iOS app of the provider.AssistantApiCoreTypesIosAppInfoThe iOS app information of the provider. Next ID: 4String
localizedAppNameThe localized app name.AssistantApiCoreTypesIosAppInfoThe iOS app information of the provider. Next ID: 4String
openAppUrlA URL to open the provider’s app.AssistantApiCoreTypesIosAppInfoThe iOS app information of the provider. Next ID: 4String
localizedAppNameThe localized app name.AssistantApiCoreTypesKaiOsAppInfoThe KaiOS app information of the provider. Next ID: 4String
openAppUrlA URL to open the provider’s app.AssistantApiCoreTypesKaiOsAppInfoThe KaiOS app information of the provider. Next ID: 4String
packageNameUnique package name that identifies a KaiOS app of the provider.AssistantApiCoreTypesKaiOsAppInfoThe KaiOS app information of the provider. Next ID: 4String
accuracyMetersThe accuracy of the coordinates in meters.AssistantApiCoreTypesLocationCoordinatesGeographic coordinate information for location.float
latDegreesLatitude degrees.AssistantApiCoreTypesLocationCoordinatesGeographic coordinate information for location.float
lngDegreesLongitude degrees.AssistantApiCoreTypesLocationCoordinatesGeographic coordinate information for location.float
appNameApp name of the message notification, e.g. Hangouts.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
bundleIdThe key used to group this notification into a cluster.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
dataUriUri for the attachment (image, audio, video etc.).AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
groupNameName of the group associated with the message notification. This field is set iff this is a group message.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
groupingKeyThe group key of a proactive notification. Details in assistant.api.client_op.NotificationArgs.grouping_key.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
indexIndex of the message notification.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21integer
markAsReadActionAvailableBoolean indicating if the mark_as_read action is available for this message.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21boolean
messageLengthLength of the message/notification content in characters. Note: We can’t send the full content because of privacy restriction, preventing sending client content to our backends. Concatenated message_length of all notification_entries.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21integer
messageRecipientTypeAssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
messageWordCountWord count of the messageAssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21integer
mimeTypeMime type of the data_uri. e.g. ‘audio/wav’, ‘video/mp4’, ‘image/png’.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
notificationEntriesAssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21list(AssistantApiCoreTypesMessageNotificationNotificationEntry)
notificationIconKeyOn-device cache key for notification icon.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
notificationKeyString key of the notification. It is the key from original StatusBarNotification received from Android OS. It is used to identify the original notification to send a reply.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
opaqueTokenThe opaque_token of a proactive notification. Details in assistant.api.client_op.NotificationArgs.opaque_token.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
packageNameApp pkg of the message notification, e.g. “com.google.android.talk”.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
postTimeTimestamp of the last notification’s post time.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
replyActionAvailableBoolean indicating if the reply action is available for this message.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21boolean
senderAssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21AssistantApiCoreTypesMessageNotificationPerson
senderNameSender’s name of the message notification, e.g. Elsa. Last sender name in case of a group conversation.AssistantApiCoreTypesMessageNotificationThis proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21String
audioDurationDuration of audio message.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9String
charCountCount of characters in the message body in the notification.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9integer
dataUriUri for the attachment (image, audio, video etc.).AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9String
messageBodyNote that this is not present in production traffic. Content of the message body in the notification.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9String
mimeTypeMime type of the data_uri. e.g. ‘audio/wav’, ‘video/mp4’, ‘image/png’.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9String
postTimeTimestamp of the notification’s post time.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9DateTime
senderSender of the message notification.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9AssistantApiCoreTypesMessageNotificationPerson
wordCountCount of words in the message body in the notification.AssistantApiCoreTypesMessageNotificationNotificationEntryStructure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9integer
isImportantAssistantApiCoreTypesMessageNotificationPersonMirrors part of https://developer.android.com/reference/android/app/Person Next Id: 4boolean
keyAssistantApiCoreTypesMessageNotificationPersonMirrors part of https://developer.android.com/reference/android/app/Person Next Id: 4String
nameAssistantApiCoreTypesMessageNotificationPersonMirrors part of https://developer.android.com/reference/android/app/Person Next Id: 4String
androidAppInfoThe android app information of the provider.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesAndroidAppInfo
castAppInfoThe cast app information of the provider.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesCastAppInfo
chromeosAppInfoThe ChromeOS app information of the provider.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesChromeOsAppInfo
cloudProviderInfoThe third party provider information.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesCloudProviderInfo
fallbackUrlA URL to fallback to if app can not be opened.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13String
homeAppInfoAssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesHomeAppInfo
iconImageUrlPublic URL pointing to an icon image for the provider. e.g. https://lh3.googleusercontent.com/UrY7BAZ-XfXGpfkeWg0zCCeo-7ras4DCoRalC_WXXWTK9q5b0Iw7B0YQMsVxZaNB7DMAssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13String
internalProviderInfoThe internal assistant provider information.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesInternalProviderInfo
iosAppInfoThe iOS app information of the provider.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesIosAppInfo
kaiosAppInfoThe KaiOS app information of the provider.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesKaiOsAppInfo
sipProviderInfoThe sip information of the provider.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesSipProviderInfo
webProviderInfoThe web provider information.AssistantApiCoreTypesProviderProvider. Like, Spotify or iHeartRadio. Next ID: 13AssistantApiCoreTypesWebProviderInfo
androidAppInfoDeltaThe android app information of the provider.AssistantApiCoreTypesProviderDeltaProviderDelta. The incremental change, e.g. installation or deletion for Spotify or iHeartRadio. Currently it is for Android only. A few considerations for edge cases: – If the app being deleted is not found from Footprints, it is ignored. – For Footprint upload through Geller, the gPRC response is available for client to retry in the next upload if the upload fails. – For Assistant Request, there is no upload status similar to the current AppCapabilities. Next ID: 4AssistantApiCoreTypesAndroidAppInfoDelta
fallbackUrlA URL to fallback to if app can not be opened.AssistantApiCoreTypesProviderDeltaProviderDelta. The incremental change, e.g. installation or deletion for Spotify or iHeartRadio. Currently it is for Android only. A few considerations for edge cases: – If the app being deleted is not found from Footprints, it is ignored. – For Footprint upload through Geller, the gPRC response is available for client to retry in the next upload if the upload fails. – For Assistant Request, there is no upload status similar to the current AppCapabilities. Next ID: 4String
iconImageUrlPublic URL pointing to an icon image for the provider. e.g. https://lh3.googleusercontent.com/UrY7BAZ-XfXGpfkeWg0zCCeo-7ras4DCoRalC_WXXWTK9q5b0Iw7B0YQMsVxZaNB7DMAssistantApiCoreTypesProviderDeltaProviderDelta. The incremental change, e.g. installation or deletion for Spotify or iHeartRadio. Currently it is for Android only. A few considerations for edge cases: – If the app being deleted is not found from Footprints, it is ignored. – For Footprint upload through Geller, the gPRC response is available for client to retry in the next upload if the upload fails. – For Assistant Request, there is no upload status similar to the current AppCapabilities. Next ID: 4String
categoryThe category related with the ringtone. It’s used to generate ringtone related with the category if the entity_mid is not be populated. E.g. for instrument, the ringtone may be piano sound.AssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11String
characterAlarmMetadataAssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadata
characterTagAssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11String
entityMidThe freebase mid of the entity related to the ringtone. It will be used to generate the ringtone for the alarm or timer (with support for i18n). For instance, for the “cat” mid, the related ringtone will be a cat sound in some language, and for the “Beyonce” mid, the ringtone will be, e.g., a playlist of Beyonce’s best hits.AssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11String
funtimeMetadataAssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadata
genMlAlarmMetadataAssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11AssistantApiCoreTypesRingtoneTaskMetadataGenMlAlarmMetadata
gentleWakeInfoGentle wake information for this alarm.AssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11AssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfo
onDeviceAlarmMetadataAssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadata
onDeviceAlarmSoundWill be deprecated. Use OnDeviceAlarmMetadata.AssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11String
routineAlarmMetadataAssistantApiCoreTypesRingtoneTaskMetadataTask metadata information describing the ringtone. Next id: 11AssistantApiCoreTypesRingtoneTaskMetadataRoutineAlarmMetadata
agentIdsFor character alarm, the media resources are provided through AOG apps. During alarm trigger phase, aog apps with the specified agent_ids are used to get the media resources. Multiple “AoG agents” can satisfy a character_tag. So the user will select the agents they want at alarm creation time. The chosen agents will be recorded so that the resources only from those agents will be used at trigger time. The number of selected agent_ids will not exceed 3. See go/character-alarm-aog.AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadatalist(String)
characterTagsThe Character Alarm tag. Tags are needed to identify the theme of the alarm. For example, if the tag is ‘astronaut’, astronaut based audio is played during alarm ring. Note : We have made it repeated so that the user can choose multiple character alarm themes at one go. At present, the user is allowed to choose only one theme during alarm creation.AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadatalist(String)
iconUrlsIcons urls corresponding to a character. Note : We have made it repeated so that we can show different images when the alarm rings. At present, we only support only one image.AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadatalist(String)
agentIdsFor FunTime alarms and timers, the media resources are provided through AOG apps during their ringtone. Multiple AoG agents can satisfy a label. So a random agent will be chosen from those that are supplied. See go/funtime-engdesign.AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadataUsed to make timers and alarms more delightful. See go/funtime-engdesign for more details.list(String)
animationBlobThese bytes may represent the blob of the Rive animation that we pass to the Opal App. We will deprecate this field if we figure out a solution to load the animation from the web.AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadataUsed to make timers and alarms more delightful. See go/funtime-engdesign for more details.String
animationUrlUrl for Rive animation that is brought up on ring. Rive is a lightweight animation library that is compatible with Flutter on Opal. See https://rive.app/.AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadataUsed to make timers and alarms more delightful. See go/funtime-engdesign for more details.String
timerHeroUrlThe url used to load the image that is at the center of the timer during timer countdown visuals.AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadataUsed to make timers and alarms more delightful. See go/funtime-engdesign for more details.String
ttsServiceRequestBytesThis is used to call S3 to realize the TTS. Is in the form of bytes because of a circular dependency issue in libassistant protos. It is a serialized proto of type speech.s3.TtsServiceRequest.AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadataUsed to make timers and alarms more delightful. See go/funtime-engdesign for more details.String
isEnabledAssistantApiCoreTypesRingtoneTaskMetadataGenMlAlarmMetadataMetadata for machine learning generated audio samples. This will be similar to character alarms, Category will be set MEDIA but this metadata field will be used to identify the ringtone type on surface. (go/magenta-alarm-ringtones).boolean
ringtoneLabelLabel for the generated ringtone.AssistantApiCoreTypesRingtoneTaskMetadataGenMlAlarmMetadataMetadata for machine learning generated audio samples. This will be similar to character alarms, Category will be set MEDIA but this metadata field will be used to identify the ringtone type on surface. (go/magenta-alarm-ringtones).String
effectDurationMsSpecifies how long the effect lasts. Allowed for effect to last after the alarm has started ringing. If unset or negative or 0, effect is assumed to last until alarm trigger time.AssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfoGentle wake actions like slowly brightening the room/device screen leading up to the alarm firing (go/cube-gentle-wake-up).String
isEnabledIndicates if gentle wake action is to be performed before this alarm fires. This is enabled only if the device supports sunrise alarm capability. http://cs/symbol:assistant.api.SunriseFeaturesSupportAssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfoGentle wake actions like slowly brightening the room/device screen leading up to the alarm firing (go/cube-gentle-wake-up).boolean
startTimedeltaMsSpecifies how long before the alarm fire time, the wakeup effect will start. ALWAYS POSITIVE.AssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfoGentle wake actions like slowly brightening the room/device screen leading up to the alarm firing (go/cube-gentle-wake-up).String
onDeviceAlarmSoundOpal/UI layer will set this bit based on the user selection.AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadataThis describes the alarm sound resource enum and the alarm sound label for the on device alarm sound. On-device ringtones are product specific, hence Opal/UI layer will be responsible for populating this metadata at creation/edit. The enum map will be used to convert to an internal resource id used by libassistant for accessing the asset which are not exposed to UI.String
onDeviceAlarmSoundLabelA string label to identify the alarm sound name. Opal/UI layer will set this as per product definition. This will be used to display the name of the selected ringtone.AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadataThis describes the alarm sound resource enum and the alarm sound label for the on device alarm sound. On-device ringtones are product specific, hence Opal/UI layer will be responsible for populating this metadata at creation/edit. The enum map will be used to convert to an internal resource id used by libassistant for accessing the asset which are not exposed to UI.String
ttsServiceRequestBytesThis is used to call S3 to realize the TTS. Is in the form of bytes because of a circular dependency issue in libassistant protos. It is a serialized proto of type speech.s3.TtsServiceRequest. This request will contain an ssml with the url to the ringtone files hosted on gstatic.AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadataThis describes the alarm sound resource enum and the alarm sound label for the on device alarm sound. On-device ringtones are product specific, hence Opal/UI layer will be responsible for populating this metadata at creation/edit. The enum map will be used to convert to an internal resource id used by libassistant for accessing the asset which are not exposed to UI.String
routineIdThe unique id for each routine. When the alrm is dismissed, it will trigger the routine of the routine alarm’s creator if feasible.AssistantApiCoreTypesRingtoneTaskMetadataRoutineAlarmMetadataString
providerIdThe providers id (MID) which is the primary identifier for a call provider within the Assistant. A MID, or machine identifier, is a unique identifier issued by Knowledge Graph for all entities contained in it’s graph.AssistantApiCoreTypesSipProviderInfoSession Initiation Protocol (SIP) information for providers that use SIP to initiate multimedia communication sessions, like Google Voice and Fi. https://en.wikipedia.org/wiki/Session_Initiation_ProtocolString
realmCalling realm to be use for each call. i.e. For anonymous, this would be set to anonymous.chirp.google.comAssistantApiCoreTypesSipProviderInfoSession Initiation Protocol (SIP) information for providers that use SIP to initiate multimedia communication sessions, like Google Voice and Fi. https://en.wikipedia.org/wiki/Session_Initiation_ProtocolString
useBirdsongTaclIf true, client should use the Birdsong TaCL API for this call. Uses the VoiceCallManager API by default. For more details: go/birdsong-migration-google-homeAssistantApiCoreTypesSipProviderInfoSession Initiation Protocol (SIP) information for providers that use SIP to initiate multimedia communication sessions, like Google Voice and Fi. https://en.wikipedia.org/wiki/Session_Initiation_Protocolboolean
deviceIdThe identifier of the device.AssistantApiCoreTypesSurfaceIdentityThe set of information that helps the server identify the surface. This replaces the User-Agent string within the Assistant Server. Note: The SurfaceIdentity proto should only be used to derive the capabilities of a surface. It should not be accessed outside of the CapabilityBuilder or CapabilityChecker. NEXT ID: 6AssistantApiCoreTypesDeviceId
legacySurfaceTypeDEPRECATED: The legacy device’s surface type enum. NOTE: Prefer using the ontological `surface_type` field above. If you need to access the legacy surface type, please file a bug and add it in your code to migrate to ontological surface type.AssistantApiCoreTypesSurfaceIdentityThe set of information that helps the server identify the surface. This replaces the User-Agent string within the Assistant Server. Note: The SurfaceIdentity proto should only be used to derive the capabilities of a surface. It should not be accessed outside of the CapabilityBuilder or CapabilityChecker. NEXT ID: 6String
surfaceTypeThe device’s surface type. The types are defined at google3/assistant/api/core_types/surfaces.gcl. For more details, refer to go/ontologicalize-surface-type.AssistantApiCoreTypesSurfaceIdentityThe set of information that helps the server identify the surface. This replaces the User-Agent string within the Assistant Server. Note: The SurfaceIdentity proto should only be used to derive the capabilities of a surface. It should not be accessed outside of the CapabilityBuilder or CapabilityChecker. NEXT ID: 6String
surfaceTypeStringDEPRECATED. The legacy device’s surface type string. NOTE: Prefer using the ontological `surface_type` field. The device’s surface type. This is the string version of the assistant.api.core_types.SurfaceType enum. The server should not use this field, rather it should use the SurfaceType value derived from this string.AssistantApiCoreTypesSurfaceIdentityThe set of information that helps the server identify the surface. This replaces the User-Agent string within the Assistant Server. Note: The SurfaceIdentity proto should only be used to derive the capabilities of a surface. It should not be accessed outside of the CapabilityBuilder or CapabilityChecker. NEXT ID: 6String
surfaceVersionThe version of the surface/client. This is different from the Conversation protocol version.AssistantApiCoreTypesSurfaceIdentityThe set of information that helps the server identify the surface. This replaces the User-Agent string within the Assistant Server. Note: The SurfaceIdentity proto should only be used to derive the capabilities of a surface. It should not be accessed outside of the CapabilityBuilder or CapabilityChecker. NEXT ID: 6AssistantApiCoreTypesSurfaceVersion
typeAssistantApiCoreTypesSurfaceTypeSpecifies the types of device surfaces. LINT.IfChange When adding new surface types make sure that My Activity (https://myactivity.google.com/product/assistant) will correctly render by adding your enum to http://cs/symbol:GetAssistSurfaceName%20f:%5C.cc$ If your type doesn’t fit in to any of the existing surfaces messages, add a new message in http://google3/personalization/footprints/boq/uservisible/events/intl/smh_frontend_messages.h.String
majorAssistantApiCoreTypesSurfaceVersionThe version of the surface/client. New surfaces are encouraged to only use the “major” field to keep track of version number. The “minor” field may be used for surfaces that rely on both the “major” and “minor” fields to define their version.integer
minorAssistantApiCoreTypesSurfaceVersionThe version of the surface/client. New surfaces are encouraged to only use the “major” field to keep track of version number. The “minor” field may be used for surfaces that rely on both the “major” and “minor” fields to define their version.integer
homeStorageSerialized storage (context) persisted and retrieved for the app and home.AssistantApiCoreTypesWebProviderInfoThe web information of the provider. Next ID: 5String
localizedAppNameThe localized app name.AssistantApiCoreTypesWebProviderInfoThe web information of the provider. Next ID: 5String
openAppUrlA URL to open the provider’s app.AssistantApiCoreTypesWebProviderInfoThe web information of the provider. Next ID: 5String
thirdPartyCustomNluInfoInfo about 3P Custom NLU used in this web provider. TODO(b/321644453) remove when QRewrite is able to call SERoot.AssistantApiCoreTypesWebProviderInfoThe web information of the provider. Next ID: 5AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfo
localeThe locale of this agent version, represented by BCP-47 language strings, such as “en”, “en-US”, “fr”, “fr-CA”, “sr-Latn”, “zh-Hans-CN”, etc.AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfoString
nluAgentIdUnique internal identifier of 3P Custom NLU agent. UUID.AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfoString
nluAgentVersionIdentifies the 3P Custom NLU agent version.AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfoString
localConnectivityEnabledWhether the device has torus/usonia capabililities enabled or not.AssistantApiCrossDeviceExecutionCapabilityboolean
remoteCastMediaEnabledWhether the device supports cast media originated from a remote device to be executed through local execution and can upload results asynchronously. Needs to be checked before sending remote media initiation through local channel since it needs an async result upload path.AssistantApiCrossDeviceExecutionCapabilityboolean
fallbackToTetheredDeviceIf true, data.VALIDATE should be routed to the tethered device (if present) if the tethered device supports data.VALIDATE and the primary device does not.AssistantApiDataValidateCapabilitiesboolean
dayThe day, in 1…31.AssistantApiDateA Gregorian calendar date.integer
monthThe month, in 1…12.AssistantApiDateA Gregorian calendar date.integer
yearThe year, e.g. 2016.AssistantApiDateA Gregorian calendar date.integer
dateA Gregorian calendar date.AssistantApiDateTimeA date-time specification, combining a date and civil time (relative to a given timezone).AssistantApiDate
timeOfDayA civil time relative to a timezone.AssistantApiDateTimeA date-time specification, combining a date and civil time (relative to a given timezone).AssistantApiTimeOfDay
timeZoneA time zone in IANA format.AssistantApiDateTimeA date-time specification, combining a date and civil time (relative to a given timezone).AssistantApiTimeZone
endDateEnd date of the range.AssistantApiDateTimeRangeA representation of a range of time with start and end datetime specified.AssistantApiDateTime
startDateStart date of the range.AssistantApiDateTimeRangeA representation of a range of time with start and end datetime specified.AssistantApiDateTime
movementThese capabilities are scoped to abilities of the device to move around.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiMovementCapabilities
surfaceIdentityThe set of information that helps the server identify the surface.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiCoreTypesSurfaceIdentity
screenThese capabilities are scoped to the ability to see and interact with the Assistant through a screen. If the device has no screen it should send an empty ScreenCapabilities. Sending no ScreenCapabilities will cause this to be overridden with the surface default.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiScreenCapabilities
callCapabilitiesThe call capabilities of this device. go/call-capabilitiesAssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiCallCapabilities
systemNotificationRestrictionsRestrictions related to system-level notifications. This field is superficially similar to ProactiveNotificationOutput, but unlike that field which tracks a per-user preference on the OPA side, this field captures system level notifications restrictions. This field is not stored and is merged to capabilities from conversation params. It exists mostly for logging purposes of android channel state and global app-level notification opt out.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiSystemNotificationRestrictions
sodaCapabilitiesCapabilities related to SODA (Speech On-Device API).AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiSodaCapabilities
hasVoiceTelephonyIndicates that the device has connection to cellular network that allows it to make voice calls. This is distinct from device just being capable of voice telephony, because the device can be capable yet miss the suitable SIM card (for example, it could miss SIM card altogether, or have data-only SIM card).AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37boolean
lensPerceptionCapabilitiesCapabilities related to Lens Perception, i.e. image understanding. See go/lens-perception-sdk.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiLensPerceptionCapabilities
castThese capabilities are scoped to the cast abilities of this device.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiCastCapabilities
deviceIdThis is the same device id that is specified in the conversation protocol and should be unique to each device/user/model combination. For example, if a request is coming from a watch through AGSA the watch and AGSA should have different device_ids. Note: this field should only be used to determine which device the capabilities belong to and not to access the id of the device. Instead DeviceProperties should be used and accessed through ParamsAccessor.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiCoreTypesDeviceId
thirdPartyCapabilitiesCapabilities related to third party integration.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiThirdPartyCapabilities
androidIntentCapabilitiesCapabilites related to Android intent support.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiAndroidIntentCapabilities
cameraThese capabilities are scoped to the camera abilities of this device.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiCameraCapabilities
deviceUxModeCapabilities related to Android tablet UX experience.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37String
assistantCapabilityCapabilities if surface supports Google Assistant.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37String
bluetoothCapabilitiesBluetooth capabilities related to usage of a feature.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiBluetoothCapabilities
locationThese capabilities are scoped to the location abilities of this device.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiLocationCapabilities
notificationOutputRestrictionsSettings, that reflect whether a specific notification type is allowed for current device, e.g. if the user opted out from notification category or category group. This settings are server-side stored and evaluated unlike SystemNotificationRestrictions field.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiNotificationOutputRestrictions
loggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiLoggingOnlyData
notificationCapabilitiesDEPRECATED: Use SystemNotificationRestrictions instead. Specifies whether the surface is able to display notifications. This field is superficially similar to ProactiveNotificationOutput, but unlike that field which tracks a per-user preference on the OPA side, this field captures whether the surface is capable of displaying notifications.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37String
messageCapabilitiesAssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiMessageCapabilities
audioInputThese capabilities are scoped to the ability to gather audio. It includes information like the type of audio that can be gathered (e.g. public, private).AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiAudioInput
contactLookupCapabilitiesAssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiContactLookupCapabilities
outputRestrictionsThese are user configured restrictions indicating what the device is allowed to output from the privacy point of view.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiOutputRestrictions
softwareThese capabilities are scoped to the software available on the device as well as the set of supported Assistant features.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiSoftwareCapabilities
communicationUiCapabilitiesAssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiCommunicationUiCapabilities
carUxRestrictionsUX restrictions for Auto.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37list(String)
audioOutputThese capabilities are scoped to the ability to play audio. It includes information like the type of audio that can be played (e.g. public, private).AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiAudioOutput
popOnLockscreenCapabilityCapability to support Pop on lockscreen.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37String
dataValidateCapabilitiesAssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiDataValidateCapabilities
surfaceTypeStringDEPRECATED. surface_identity field below already contains this information. The device’s surface type. This is the string version of the assistant.api.core_types.SurfaceType enum. The server should not use this field, rather it should use the SurfaceType value derived from this string.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37String
jwnCapabilitiesIndicates if the client supports Javascript Whatsnext (go/jwn). Also contains the Jwn libraries present on the client along with their versions.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiJwnCapabilities
safetyRestrictionsIndicates if the client has safety related restriction.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37String
supportedLocaleLocales supported by assistant settings for speaking and display. This is independent from device language that is defined in device setting. New locales are added based on rollout, whitelist and app version releases because older versions does not have model support. Currently supported locale list differs by surface type.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37list(String)
speechCapabilitiesDEPRECATED Capabilities related to speech detection on devices.AssistantApiDeviceCapabilitiesThis message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: – device hardware – software – status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface’s capabilities can differ from the device’s. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37AssistantApiSpeechCapabilities
nanosSigned fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.AssistantApiDurationA Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like “day” or “month”. It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years.integer
secondsSigned seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.AssistantApiDurationA Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like “day” or “month”. It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years.String
clarificationDataSupportedWhether client supports clarification suggestion chip to be displayed see |assistant.suggestions.ClarificationData|AssistantApiFeatureSpecificActionSupportboolean
supportedActivitiesA list of fitness activity types supported by this client.AssistantApiFitnessFeatureSupportlist(String)
stateSyncMethodSpecifies the params proto that Fluid Actions uses to sync state with server.AssistantApiFluidActionsSupportString
deviceIdDeviceId of the accessory device (eg. watch) Commonly the go/dusi (eg. client_instance_id) is provided.AssistantApiGacsCapabilitiesCapabilities of Google assistant conversation service(GACS) devices. These capabilites including supported GACS actions and response size limitations.AssistantApiCoreTypesDeviceId
responseConfigConfiguration sent by device.AssistantApiGacsCapabilitiesCapabilities of Google assistant conversation service(GACS) devices. These capabilites including supported GACS actions and response size limitations.GoogleAssistantAccessoryV1ResponseConfig
ttsEncodingDEPRECATED: Format of TTS audio requested by the device.AssistantApiGacsCapabilitiesCapabilities of Google assistant conversation service(GACS) devices. These capabilites including supported GACS actions and response size limitations.String
gcmRegistrationIdGCM registration id for the device. Used to pass messages to the device.AssistantApiGcmCapabilitiesCapabilities related to GCM.String
supportsAssistantGcmAssistant supports GCM on the device. ClientOps can be sent to it over GCM and will be executed.AssistantApiGcmCapabilitiesCapabilities related to GCM.boolean
supportsClientInputOverGcmIf it is set to true, then it indicates to server that device is capable of receiving a GCM payload with serialized client input. The client input will be sent back to Assistant Server over conversation protocol.AssistantApiGcmCapabilitiesCapabilities related to GCM.boolean
gestureSensingWhether Gesture is supported. When false, override the value for tap and omniswipe.AssistantApiGestureCapabilitiesThe gesture capabilities related to Selina. Next ID: 4boolean
omniswipeGestureCapableWhether omniswipe is supportedAssistantApiGestureCapabilitiesThe gesture capabilities related to Selina. Next ID: 4boolean
tapGestureCapableWhether tap is supportedAssistantApiGestureCapabilitiesThe gesture capabilities related to Selina. Next ID: 4boolean
guestAccessOnYoutubeAssistantApiGuestAccessOutputAccess settings for guests.String
confirmationMessageSupportedWhether the client supports confirmation messages in Immersive Canvas actions.AssistantApiImmersiveCanvasSupportboolean
pauseSignalSupportedWhether the client support canvas pause signal. If true, the Assistant Server will send a signal when canvas transitioning to pause mode.AssistantApiImmersiveCanvasSupportboolean
librariesVersionMapThe name and version of the jwn libraries currently stored on the client. These are the same that the server communicated when the library was first sent down.AssistantApiJwnCapabilitiesThese capabilities are used to determine the jwn libraries and their versions that are present on the client.map
supportedCompressionModeCompression algorithms supported on the client. Server can choose one of these to compress WhatsNext Javascript programs and libraries.AssistantApiJwnCapabilitiesThese capabilities are used to determine the jwn libraries and their versions that are present on the client.list(String)
supportsJwnWhether the client supports running jwn code.AssistantApiJwnCapabilitiesThese capabilities are used to determine the jwn libraries and their versions that are present on the client.boolean
hasLensPerceptionWhether the device supports Lens Perception.AssistantApiLensPerceptionCapabilitiesCapabilities related to Lens Perception, i.e. image understanding. See go/loa-lens-device-capabilities. Next ID: 6boolean
isLensDirectIntentAvailableIndicates whether Lens supports Lens Direct Intent (go/lensdirectintent).AssistantApiLensPerceptionCapabilitiesCapabilities related to Lens Perception, i.e. image understanding. See go/loa-lens-device-capabilities. Next ID: 6boolean
isLensLiveViewfinderAvailableIndicates whether Lens supports Live view-finder experience.AssistantApiLensPerceptionCapabilitiesCapabilities related to Lens Perception, i.e. image understanding. See go/loa-lens-device-capabilities. Next ID: 6boolean
isLensPostCaptureAvailableIndicates whether Lens supports Post-capture experience with an image payload.AssistantApiLensPerceptionCapabilitiesCapabilities related to Lens Perception, i.e. image understanding. See go/loa-lens-device-capabilities. Next ID: 6boolean
lensCapabilitiesContains the capabilities that Lens can support.AssistantApiLensPerceptionCapabilitiesCapabilities related to Lens Perception, i.e. image understanding. See go/loa-lens-device-capabilities. Next ID: 6AssistantApiLensPerceptionCapabilitiesLensCapabilities
diningThe presence of this message means that Dining is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesThe set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7AssistantApiLensPerceptionCapabilitiesLensCapabilitiesDining
educationThe presence of this message means that Education is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesThe set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7AssistantApiLensPerceptionCapabilitiesLensCapabilitiesEducation
outdoorThe presence of this message means that Outdoor is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesThe set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7AssistantApiLensPerceptionCapabilitiesLensCapabilitiesOutdoor
shoppingThe presence of this message means that Shopping is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesThe set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7AssistantApiLensPerceptionCapabilitiesLensCapabilitiesShopping
textThe presence of this message means that intenting directly into the text filter is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesThe set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7AssistantApiLensPerceptionCapabilitiesLensCapabilitiesText
translateThe presence of this message means that Translation is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesThe set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7AssistantApiLensPerceptionCapabilitiesLensCapabilitiesTranslate
isTextToSpeechSupportedIndicates whether text-to-speech is supported.AssistantApiLensPerceptionCapabilitiesLensCapabilitiesTextText recognition capability.boolean
supportedLanguageTagsThe list of language IETF BCP 47 tags that are supported. See the full details in the comment on the equivalent field in: http://google3/java/com/google/android/apps/gsa/search/shared/service/proto/lens_service_event.proto;l=55;rcl=355512559AssistantApiLensPerceptionCapabilitiesLensCapabilitiesTranslateTranslation capability.list(String)
channelsByProviderA list of channel providers each of which provides a list of its channels.AssistantApiLiveTvChannelCapabilitieslist(AssistantApiLiveTvChannelCapabilitiesChannelsByProvider)
channelsA list of channels provided by this input. Keep the performance impact in mind when the number/size of the channels is large. When there are too many channels, consider stripping out some data.AssistantApiLiveTvChannelCapabilitiesChannelsByProviderlist(AssistantApiLiveTvChannelCapabilitiesLiveTvChannel)
inputIdAn identifier to identify the input source. For example for TIF based channels, this will be the TIF input ID to differentiate different tuner apps. See https://source.android.com/devices/tvAssistantApiLiveTvChannelCapabilitiesChannelsByProviderString
providerTypeType of provider who provides this channel input.AssistantApiLiveTvChannelCapabilitiesChannelsByProviderString
channelIdUnique channel identifier.AssistantApiLiveTvChannelCapabilitiesLiveTvChannelString
channelNameA list of channel names and synonyms.AssistantApiLiveTvChannelCapabilitiesLiveTvChannellist(String)
channelNumberChannel number displayed to user. Optional.AssistantApiLiveTvChannelCapabilitiesLiveTvChannelString
deeplinkA deep link into the Live player app that tunes to this channel.AssistantApiLiveTvChannelCapabilitiesLiveTvChannelString
midKG mid of the channel if it exists in KG.AssistantApiLiveTvChannelCapabilitiesLiveTvChannelString
networkMidNetwork KG mid of the channel if it exists in KGAssistantApiLiveTvChannelCapabilitiesLiveTvChannelString
providerInfoContains detailed provider information such as android app package name.AssistantApiLiveTvProviderAssistantApiCoreTypesProvider
providerKeyA provider enum string for OTT providers. The available key can be found in go/ump-provider-enum For Tuner provider, the provider key would be an ID the tuner app uploaded from TIF. See https://source.android.com/devices/tvAssistantApiLiveTvProviderString
providerTypeAssistantApiLiveTvProviderString
gpsAvailableAssistantApiLocationCapabilitiesboolean
acpVersionA user-readable string describing the ACP version (go/acp-version) of the client app used by the user to originate the conversation.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
androidIdRandom identifier assigned to Android mobile devices. Older logs may have previously stored other kinds of android IDs in this field, but all current logs should use the GServices Id. See go/androidids.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
appVersionA user-readable string describing the version of the client app used by the user to originate the conversation.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
assistantSettingsSourceAn enum specifying when was this ATV AssistantSettings entry initially created.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
boardNameThe type of board used by manufacturer for this deviceAssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
boardRevisionThe revision of board usedAssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
castAssistantSettingLinkingResultThis field records the linking status between Assistant setting entry and Cast setting entry. Currently only ATV surface populates this field for profiling purpose.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16AssistantApiCastAssistantSettingLinkingResult
deviceModelA user-readable string describing the device’s hardware platform.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
embedderBuildInfoAny relevant info concerning the build options of the embedder (that is the software which runs as the ‘driver’ of an Assistant library, such as libassistant. the embedder is typically built by a third party)AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
initialAppVersionA string recording the app version that is initially used to created this settings entry.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
isPrimaryUserBoolean field to indicate whether a certain user is the primary user of a device or not. This is useful for distinguishing the user0 from other users given user0 might have certain privileges (Eg: Hubmode on Tangor)AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16boolean
mdnsDisplayNamedefault display name of device over mdns. This is specified at the factory, not specified by the user.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
platformBuildA user-readable string describing the device’s software platform.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
virtualReleaseChannelA string describing device’s release channel. For cast devices, the string will look like “qa-beta-channel”, “eng-no-update”, etc.AssistantApiLoggingOnlyDataData which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16String
skipConfirmationsWhilePlayingWhether to prevent confirmations (text, tts) for media control actions while media is playing so that the media session is not interrupted.AssistantApiMediaControlSupportboolean
fallbackToTetheredDeviceAppCapabilitiesIf true, APP_ID queries initiated by this device should fall back to execution on the tethered device if it’s available and if the primary device cannot perform the action (e.g. due to the app not being installed).AssistantApiMessageCapabilitiesboolean
preferTargetingPrimaryDeviceFor chat_message.SEND targeting, when either the primary or secondary (tethered) device is capable of handling the chat_message.SEND action, prefer targeting it to the primary device.AssistantApiMessageCapabilitiesboolean
supportedRecipientTypesShould only be checked if nonempty.AssistantApiMessageCapabilitieslist(String)
deviceSettingStatusThe current setting status of message summary on current device.AssistantApiMessageSummarySupportLINT.IfChange(messageSummarySupport)String
lastVoiceOptInFlowTimestampLast time that voice opt-in flow has been triggered.AssistantApiMessageSummarySupportLINT.IfChange(messageSummarySupport)DateTime
readNotificationSummarizationSupportedWhether the client supports message summarization.AssistantApiMessageSummarySupportLINT.IfChange(messageSummarySupport)boolean
voiceOptInFlowCounterThe voice consent flow counter on current device.AssistantApiMessageSummarySupportLINT.IfChange(messageSummarySupport)integer
mobilityIndicates how much the device moves around. E.g., TV has a low mobility level, while Auto has a very high level.AssistantApiMovementCapabilitiesString
optOutStateAssistantApiNotificationOutputRestrictionsAssistantApiNotificationOutputRestrictionsOptOutState
categoryGroupStateAssistantApiNotificationOutputRestrictionsOptOutStatePer category/category group notification opt out settings.list(AssistantApiNotificationOutputRestrictionsOptOutStateCategoryGroupState)
categoryStateAssistantApiNotificationOutputRestrictionsOptOutStatePer category/category group notification opt out settings.list(AssistantApiNotificationOutputRestrictionsOptOutStateCategoryState)
categoryGroupAssistantApiNotificationOutputRestrictionsOptOutStateCategoryGroupStateString
stateAssistantApiNotificationOutputRestrictionsOptOutStateCategoryGroupStateString
categoryAssistantApiNotificationOutputRestrictionsOptOutStateCategoryStateString
stateAssistantApiNotificationOutputRestrictionsOptOutStateCategoryStateString
cloudCapabilityThe OEM Cloud execution capability of this device, containing routing details for cloud fulfillment.AssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.AssistantDevicesPlatformProtoCloudCapability
cloudDeviceCapabilitiesIf fulfillment is done via 3P cloud and 3P supports device capabilities, this field will be set.AssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.map
deviceModelIdDevice Model Id from DeviceModelPackage.AssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.String
deviceModelRevisionIdDevice Model Revision Id from DeviceModelPackage.AssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.String
deviceSpecificDataOpaque supported action data related to a specific domain of devices, for example for car. go/car-talk-registration-modelAssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.String
internalCapabilityInternal-only config containing metadata about the Device Model, for example to control the ranking behavior.AssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.AssistantDevicesPlatformProtoInternalCapability
thirdPartyActionConfig3P Action Metadata, populated from the Device Model lookup and the client request parameters. For example, an Assistant SDK request would have the billed project id of the Assistant request added here in order to enable any Device Actions developed using the same Google Cloud project. This data is sent to Service Engine to mask triggering for Device Actions.AssistantApiOemCapabilitiesEncapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.AssistantApiThirdPartyActionConfig
isLocalNetworkArbitrationSupportedCapabilities related to local network arbitration (go/local-network-arbitration). Indicates if the device is capable of being a host device in the LAN whiling doing local network arbitration.AssistantApiOnDeviceAssistantCapabilitiesDefinitions of on-device assistant capabilities.boolean
isOnDeviceArbitrationSupportedCapabilities related to on-device arbitration(go/arbitration-on-device).AssistantApiOnDeviceAssistantCapabilitiesDefinitions of on-device assistant capabilities.boolean
isOnDeviceAssistantSupportedIndicates if on-device assistant is enabled on this device. Example usecases: NGA (go/nga) or Marble (go/marble).AssistantApiOnDeviceAssistantCapabilitiesDefinitions of on-device assistant capabilities.boolean
isOnDeviceUnderstandingSupportedThis may be used by NGA. E.g. if understanding happens on device, we can have more aggressive logic when fulfilling some features on the server side, like teleport.AssistantApiOnDeviceAssistantCapabilitiesDefinitions of on-device assistant capabilities.boolean
isOnDeviceSmartHomeSupportedMaster bit for on-device Smart Home features.AssistantApiOnDeviceSmartHomeCapabilitiesDefinitions of on-device Smart Home capabilities. Next ID: 2boolean
isSupportedDetermines if an on-device storage is supported.AssistantApiOnDeviceStorageCapabilitiesThe on-device storage capabilities found on the device.boolean
googlePhotoContentThe type of Google Photo content which the device can output.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11String
guestAccessOutputAccess settings for guests.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11AssistantApiGuestAccessOutput
personalDataThe level of personal data which the device can output. See go/personal-readout for detail.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11String
proactiveNotificationOutputThis controls if the server can proactively send notification to users, and it does not affect scenarios that users ask for information. The notification may include TTS and lights. It could be only lights for chirp.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11String
proactiveOutputRestrictions on displaying and interacting with content on proactive surfaces (e.g. Dragonglass home screen). Note: NEVER access this field of OutputRestrictions directly, use the code in assistant/assistant_server/settings/device/device_settings_util.h instead.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11AssistantApiProactiveOutput
youtubeAutoplayRestrictionWhether YouTube autoplay is allowed for queries from the user to this device. See go/assistant-youtube-settings for details.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11String
youtubeContentThe type of YouTube content which the device can output.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11String
youtubeTvContentThe type of YouTube TV content which the device can output.AssistantApiOutputRestrictionsThese are user configurable permissions representing what the device is allowed to output. Next ID: 11String
allowAllPersonalDataAllows displaying all personal data on proactive surfaces with no face match capability.AssistantApiProactiveOutputNext ID: 7boolean
androidTvAssistantSettingsSourceFor ANDROID_TV devices, the location that this setting was last changed from. Note: this structure allows to extend to more per-vertical bits in the future.AssistantApiProactiveOutputNext ID: 7String
healthAndFitnessProactiveAllows displaying Health and Fitness content on proactive surfaces. This is a sub bit of the device-wide PR bit – the device-wide PR bit must be enabled AND this vertical sub bit must be enabled for H&F content to be shown. This bit will be available on all surfaces that have the proactive-bit enabled. If the proactive-bit is not enabled, then we do not show health and fitness content at all (or even allow access to this setting).AssistantApiProactiveOutputNext ID: 7String
photosProactiveAllows displaying photos content on Dragonglass proactive surfaces. This is a sub bit of the device-wide PR bit – the device-wide PR bit must be enabled AND this vertical sub bit must be enabled for photos content to be shown on Dragonglass surfaces. This bit will be available on all Dragonglass surfaces that have the proactive-bit enabled. If the proactive-bit is not enabled or it’s not a Dragonglass surface, then we do not show proactive photos content at all, nor allow access to this setting. See go/opa-photos-sg-settings for more details.AssistantApiProactiveOutputNext ID: 7String
userMatchProactiveSettings for displaying personal data on proactive surfaces with face match capability.AssistantApiProactiveOutputNext ID: 7String
protobufDataThe serialized protocol buffer.AssistantApiProtobufAlso known as “Extensions Without Extensions” or “The Poor Man’s Any”, this simple proto is used to transmit arbitrary protocol buffers over the wire. Unlike extensions: – It does not require the proto type to be compiled into the binary. (Useful so that the proto declaration can be inside the conversation package) – It is compatible with all versions of proto, including proto3 and the wack-tastic version used on ChromecastOS. Server libraries for dealing with it live in google3/assistant/protocol/protobuf_lib.h.String
protobufTypeThe type of the protocol buffer to use. This must be a resolvable name (Namespace.ProtoName) and refer to a proto which is either compiled in to both client and server (e.g. a base proto type) or to one which is part of the conversation package.AssistantApiProtobufAlso known as “Extensions Without Extensions” or “The Poor Man’s Any”, this simple proto is used to transmit arbitrary protocol buffers over the wire. Unlike extensions: – It does not require the proto type to be compiled into the binary. (Useful so that the proto declaration can be inside the conversation package) – It is compatible with all versions of proto, including proto3 and the wack-tastic version used on ChromecastOS. Server libraries for dealing with it live in google3/assistant/protocol/protobuf_lib.h.String
beginThe first day of the recurrence. If begin is not set, then the reminder will start infinitely in the past.AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.AssistantApiDate
blacklistedRangesA list of blacklisted dates to skip the alarm on.AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.list(AssistantApiDateTimeRange)
dayOfMonthSpecifies the date in a month. For example, if day_of_month is 15, then it represent the 15th day of the specified month.AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.list(integer)
dayOfWeekSpecifies a weekly or daily recurrence. Constraint: The date falls on one of these days of the week, in 0…6 (Sunday…Saturday).AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.list(integer)
endThe last day of the recurrence.AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.AssistantApiDate
everyMultiplier on the frequency of the recurrence. Use this to specify patterns that recur every X days, months, years, etc. Example: [remind me to call mom every 2nd week]. Default is 1 (every day, every month, every year).AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.integer
monthOfYearSpecifies the month in a year. Constrain: the month falls on one of these months, in 1, 2, … 12 (January…December).AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.list(integer)
numOccurrencesThe number of occurrences after which the recurrence should end.AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.integer
weekOfMonthSpecifies the index of week in a month. For example, the second Tuesday every month, in this case, week_of_month should be 2.AssistantApiRecurrenceDate-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.list(integer)
enabledExtensionsList of enabled Robin extensions.AssistantApiRobinCapabilitiesUsed to describe the capabilities and params of Robin Client. Field will be populated from Client or backfilled in SAL only for Robin client.list(String)
robinStatusAssistantApiRobinCapabilitiesUsed to describe the capabilities and params of Robin Client. Field will be populated from Client or backfilled in SAL only for Robin client.AssistantApiRobinCapabilitiesRobinStatus
supportedRobinOpsList of supported RobinOps.AssistantApiRobinCapabilitiesUsed to describe the capabilities and params of Robin Client. Field will be populated from Client or backfilled in SAL only for Robin client.list(String)
availableAssistantApiRobinCapabilitiesRobinStatusCurrent Robin status of the client.AssistantApiRobinCapabilitiesRobinStatusRobinStatusAvailable
notAvailableAssistantApiRobinCapabilitiesRobinStatusCurrent Robin status of the client.AssistantApiRobinCapabilitiesRobinStatusRobinStatusNotAvailable
optedInAssistantApiRobinCapabilitiesRobinStatusCurrent Robin status of the client.AssistantApiRobinCapabilitiesRobinStatusRobinStatusOptedIn
optedOutAssistantApiRobinCapabilitiesRobinStatusCurrent Robin status of the client.AssistantApiRobinCapabilitiesRobinStatusRobinStatusOptedOut
reasonsAssistantApiRobinCapabilitiesRobinStatusRobinStatusNotAvailableRobin is not available and can not be enabled by the user.list(integer)
fontScaleFactorThe scale factor used to convert Scalable Pixel (SP) units to Density-independent Pixel (DP) units (DP = SP * scale factor). Fonts are measured in units of SP, and on some platforms such as Android the SP to DP scale factor can be affected by the font size a user selects in accessibility settings.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11number
inputTypeThe types of input that this screen supports. Note that this can be empty in which case the screen’s input type is unknown.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11list(String)
maskMask defined for this device, if any.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11AssistantApiScreenCapabilitiesMask
protoLayoutTargetedSchemaThe targeted schema version for ProtoLayout requests.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11AssistantApiScreenCapabilitiesProtoLayoutVersion
resolutionIf this field is absent, the resolution of the screen is unknown.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11AssistantApiScreenCapabilitiesResolution
screenOffIf screen is turned off.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11boolean
screenStateDetectionThe ability of the client to correctly report screen state.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11String
supportedRenderingFormatThe primary supported rendering format for display on the device’s screen. This may be used to determine what format of card to be returned when rendering cards.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11String
supportedScreenStatesThe screen states that the client supports. The current screen state is specified in DeviceProperties.screen.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11list(String)
visionHelpEnabledWhether the device enabled vision help features in accessibility settings. The settings is config in Assistant App and on-device settings, and stored in footprints. When enabled, font, color and TTS will be adjusted.AssistantApiScreenCapabilitiesThese capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11boolean
typeAssistantApiScreenCapabilitiesMaskA mask applied to the screen’s pixel space to determine regions not visible on the physical device.String
majorAssistantApiScreenCapabilitiesProtoLayoutVersionVersion info for ProtoLayout requests.integer
minorAssistantApiScreenCapabilitiesProtoLayoutVersionVersion info for ProtoLayout requests.integer
dpiDots (pixels) per inch of the screen.AssistantApiScreenCapabilitiesResolutionA Resolution proto indicates the size of the application window. All fields are required.integer
heightPxAssistantApiScreenCapabilitiesResolutionA Resolution proto indicates the size of the application window. All fields are required.integer
mSizem_size is the smallest square box size to display a capital letter M so that the user can still easily understand it.AssistantApiScreenCapabilitiesResolutionA Resolution proto indicates the size of the application window. All fields are required.integer
nengSizeneng_size is the smallest square box size to display a letter 螚 (Neng, U+879A) so that the user can easily understand it. (Neng is a visually dense Chinese letter, and so may require a larger box than an M.)AssistantApiScreenCapabilitiesResolutionA Resolution proto indicates the size of the application window. All fields are required.integer
widthPxThe dimensions of the application window, in pixels.AssistantApiScreenCapabilitiesResolutionA Resolution proto indicates the size of the application window. All fields are required.integer
gestureCapabilitiesA list of gestures that selina supportsAssistantApiSelinaCapabilitesThe Soli capabilities on Elaine, including gestures and sleep sensing. go/dingo-dc-software Next ID: 4AssistantApiGestureCapabilities
selinaSupportedWhether the client supports selina.AssistantApiSelinaCapabilitesThe Soli capabilities on Elaine, including gestures and sleep sensing. go/dingo-dc-software Next ID: 4boolean
sleepSensingSupportedWhether the client can monitor sleep. This allows us to show sleep CUJ related information: go/TwilightDesignAssistantApiSelinaCapabilitesThe Soli capabilities on Elaine, including gestures and sleep sensing. go/dingo-dc-software Next ID: 4boolean
anyUserHasSetPersonalPhotosWhether any user sets personal photos on this device. See go/ambient-setting-in-assistant-design.AssistantApiSettingsAmbientSettingsboolean
recentHighlightsEnabledWhether or not the user’s current selection for their ambient photo frame includes the auto-generated “Recent Highlights” album. This is used to determine which users to display the go/opa-photos-memories-tile. See go/opa-photo-memories-imax-optin for more discussion on why this bit was created.AssistantApiSettingsAmbientSettingsboolean
showPersonalPhotoDataWhether to enable the personal photo data in the ambient settings: https://screenshot.googleplex.com/Wd4OFkQfOyF See go/opa-photos-ambient-location-date-dd#heading=h.5x4iaouuiett for explanation.AssistantApiSettingsAmbientSettingsboolean
showPersonalPhotosWhether current user sets personal photos on this device. See go/ambient-setting-in-assistant-design.AssistantApiSettingsAmbientSettingsboolean
carSettingsCapabilitiesCapabilities that are associated with Assistant Settings on auto surfaces.AssistantApiSettingsAppCapabilitiesThese capabilities are associated with Assistant Settings on devices.AssistantApiCarSettingsCapabilities
reissueQueryAfterMusicSetupWhether the client supports reissuing query after setting up in Music Settings.AssistantApiSettingsAppCapabilitiesThese capabilities are associated with Assistant Settings on devices.boolean
supportsPaymentsSettingsUpdateWhether the client supports updating payments setting.AssistantApiSettingsAppCapabilitiesThese capabilities are associated with Assistant Settings on devices.boolean
isAutoFramingEnabledAssistantApiSettingsAutoFramingSettingsSettings pertaining to auto framing. See go/auto-framing-presentation.boolean
allowIncomingCallsWhether this device is allowed to receive incoming PSTN calls.AssistantApiSettingsCarrierCallDeviceSettingsCarrier related call settings on the device.boolean
stateAssistantApiSettingsCommunicationsFilterSpecification of which communication features can be used.String
schedulesAssistantApiSettingsDeviceDowntimeSettingsSpecification of times when most features on a device are disabled for certain users. During these periods, the device will respond to most interactions with something like “sorry, I’m sleeping right now”. Design: go/home-ft-settings-storage PRD: go/home-family-tools-prdlist(AssistantApiSettingsLabeledDowntimeSchedule)
targetsThe set of users of this device that will have these downtime settings applied. Must have at least one element.AssistantApiSettingsDeviceDowntimeSettingsSpecification of times when most features on a device are disabled for certain users. During these periods, the device will respond to most interactions with something like “sorry, I’m sleeping right now”. Design: go/home-ft-settings-storage PRD: go/home-family-tools-prdlist(String)
enabledEnables/disables all the filters at the same time. For new devices or non-Cast devices this is always false.AssistantApiSettingsDeviceFeatureFiltersDefines a set of restrictions on particular device features for a certain set of users. Design: go/home-ft-settings-storage PRD: go/home-family-tools-prdboolean
featureFiltersThe filters (feature restrictions) to apply when `enabled` is true.AssistantApiSettingsDeviceFeatureFiltersDefines a set of restrictions on particular device features for a certain set of users. Design: go/home-ft-settings-storage PRD: go/home-family-tools-prdAssistantApiSettingsFeatureFilters
targetsThe set of users of this device that will have these settings applied. Must have at least one element.AssistantApiSettingsDeviceFeatureFiltersDefines a set of restrictions on particular device features for a certain set of users. Design: go/home-ft-settings-storage PRD: go/home-family-tools-prdlist(String)
optInEnabledIndicates whether the crash logs can be uploaded and the device logs can be enabledAssistantApiSettingsDeviceLogsOptInboolean
voiceEnrollmentStatusIndicates whether the user’s voice has been successfully enrolled on this device.AssistantApiSettingsDeviceSettingsNext ID: 73String
paymentsEnabledDEPRECATED: Use DeviceCapabilities.OutputRestrictions.personal_data instead. Whether the user has enabled payments for this device.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
linkedUsersPlease do NOT use this field without prior approval from PWG. Users who have signed in onto this device, go/linked-users-in-pkg.AssistantApiSettingsDeviceSettingsNext ID: 73list(AssistantApiSettingsLinkedUser)
ancillaryDeviceIdThe additional device ids. Currently used only for ATV. go/project-yellowstone Note: This field is for internal (Within settings) use only.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsInternalAncillaryDeviceId
speakerIdEnabledIndicates whether the user has enabled speaker-id for this device. See go/google-assistant-multi-user for more info on this project.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
faceEnrollmentStatusIndicates whether the user’s face has been successfully enrolled on this device. See go/face-match-server-design for more info.AssistantApiSettingsDeviceSettingsNext ID: 73String
speechSettingsSpeech/hotword detection related settings.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsSpeechSettings
colocationStatusStatus of colocation. go/co-location-work-v2 Note: this is a cache at the Assistant level. The source of truth is inside CastAuthenticationServer, which is only used for Home devices.AssistantApiSettingsDeviceSettingsNext ID: 73String
lastUsedCoarseTimestampCoarsened hourly timestamp of when the device was last used.AssistantApiSettingsDeviceSettingsNext ID: 73DateTime
supervisionSettingsRestrictions on how and when certain users can use a device. See go/home-ft-prd.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsDeviceSupervisionSettings
postalCodeAssistantApiSettingsDeviceSettingsNext ID: 73String
humanFriendlyNameThe human-friendly name of the cast device, e.g., my living room tv. This field is set by the user and already localized.AssistantApiSettingsDeviceSettingsNext ID: 73String
homeGraphDataHolds the data that should be written to HomeGraph. Note: this field is not persisted in Assistant Settings storage. It is simply used for transporting data when client calls UpdateSettings.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsHomeGraphData
blueSteelEnabledIndicates whether the user has enabled Blue Steel. See go/blue-steel for more info on this project.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
locationFeatureThe feature proto of the location of the device. Note: client does not need to populate this. It will be auto-populated based on “address” field on server side. Currently, only “bound” and “type” are persisted, since the entire FeatureProto is too big.AssistantApiSettingsDeviceSettingsNext ID: 73GeostoreFeatureProto
defaultAudioDeviceIdThe identification of the default device which user want to output audio. See go/default-media-output-design for more info.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiCoreTypesDeviceId
speechOutputSettingsSettings related to TTS output.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsSpeechOutputSettings
oauthClientIdOAuth client id for the device. This field is available for Assistant SDK devices. It is written when the device is registered to the user (AssistantSettingsUiService.LinkAssistantDeviceUi). When user revokes grant on the Assistant device, Assistant Devices Platform Service will receive Pubsub notification with OAuth client id for the revoked device, and we will compare that with this stored id to identity device to remove.AssistantApiSettingsDeviceSettingsNext ID: 73String
marketplaceDisclosureSee go/marketplace-disclosure for more info.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsMarketplaceDisclosure
localeThe locale for the device: language + region, i.e., en-US, ja-JP.AssistantApiSettingsDeviceSettingsNext ID: 73String
linkedDeviceIdStores pairing between different devices. See go/quartz-design-doc for more info.AssistantApiSettingsDeviceSettingsNext ID: 73list(AssistantApiCoreTypesDeviceId)
deviceModelIdThe model ID of the device. This should be globally unique across manufactures/OEMs. Examples: “nest_cam_iq_2017”, “comcast_voice_box_2017”.AssistantApiSettingsDeviceSettingsNext ID: 73String
verboseTtsForChromecastEnabledIndicates whether to play verbose tts for Elementary on chirp. See: go/opa-cast-a11y-impl-design fore more info on this project. Note: this should probably be in SpeechOutputSetting below.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
shortenedAddressA human-readable shortened address. This is usually the street address. Note: client does not need to populate this. It will be auto-populated based on “address” field on server side. Developers can use this field to avoid reading out the full address everytime.AssistantApiSettingsDeviceSettingsNext ID: 73String
deviceBrandThe brand of the device, populated from DeviceOemParams. Examples: “google”, “samsung”.AssistantApiSettingsDeviceSettingsNext ID: 73String
creationTimestampMsThe timestamp that the device is linked with the user in milliseconds.AssistantApiSettingsDeviceSettingsNext ID: 73String
deviceIdThe identification of the device.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiCoreTypesDeviceId
faceEnrollmentErrorsList of errors that happened during the face enrollment process if it failed. See go/face-match-enrollment-error for more info.AssistantApiSettingsDeviceSettingsNext ID: 73list(String)
faceMatchEnabledIndicates whether the user has enabled Face Match for this device. See go/face-match-server-design for more info on this project.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
locationCoordinatesCoordinate information of the device location.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiCoreTypesLocationCoordinates
allowIncomingCallsWhether this device is allowed to receive incoming calls.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
isCloudSyncDeviceIndicates whether the device is also managed through HA cloud sync. go/ha-dev-guideAssistantApiSettingsDeviceSettingsNext ID: 73boolean
politeModeSpecify whether polite mode is enabled for this device. See go/pretty-please-dd.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsPoliteMode
hotwordThresholdAdjustmentFactorHotwordThresholdAdjustmentFactor contains threshold_adjustment_factor, and it’s validity. TAF is a measure of adjustment applied to the hotword threshold as a result of go/autotune. Currently, this is updated from query_settings_frame, but if we move to updating it from the client, this could also contain TAFs as a result of Hotword Sensitivity, in addition to Autotune.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsHotwordThresholdAdjustmentFactor
autoFramingSettingsAuto framing settings associated with a device. See go/auto-framing-presentation.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsAutoFramingSettings
onDeviceAppSettingsDevice specific app related settings.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsOnDeviceAppSettings
kidsModeSpecifies if kids-mode is enabled for the device. See go/aff-parentalsupervision-dd.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsKidsMode
gcmSettingsStores GCM info associated with a device. See go/quartz-design-doc for more info.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsGcmSettings
tetheredInfoPresence indicates a tethered wearable. go/wearable-device-ids.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsTetheredInfo
hotwordSensitivityThe level of hotword sensitivity. go/hotword-sensitivity-prdAssistantApiSettingsDeviceSettingsNext ID: 73String
reauthTrustedDeviceSettingsTrusted device preferences Assistant reauth. go/assistant-reauth-verify-skip.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsReauthTrustedDeviceSettings
ambientSettingsAmbient settings contains the configuration of Photo Frame on DG device. This field relies on IMAX service to do the update, sync happenes after user updates IMAX device settings or a device registers in CloudCastDevice. So it’s more like a cached version instead of definitive source-of-truth. More details at go/ambient-setting-in-assistant-design.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsAmbientSettings
hospitalityModeStatusIndicates whether the device is currently in Hospitality mode. go/hospitality-mode-design. This is moved to a per user setting in assistant settings. ref. go/hospitality-settings-v2AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsHospitalityMode
masqueradeModeAssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsMasqueradeMode
personalizationMetadataMetadata about how personalization settings were configured.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsPersonalizationMetadata
defaultVideoDeviceIdThe identification of the default device which user want to output video. Note that, we don’t fallback to this for audio playback when default_audio_device_id is not set. See go/default-media-output-design for more info.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiCoreTypesDeviceId
optInStatusSpecifies if device logs and crashes can be captured during SendFeedbackAssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsDeviceLogsOptIn
surfaceTypeThe type of assistant surface. Only use this field when device type is ASSISTANT.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiCoreTypesSurfaceType
truncatedLocalNetworkIdLocal network ID of the device (truncated to obfuscate devices and households globally). This is a temporary signal to determine proximity of Assistant devices in a house (HGS place).AssistantApiSettingsDeviceSettingsNext ID: 73String
vmLastUsedCoarseTimestampCoarsened hourly timestamp of when the user was last verified by VoiceMatch on this device. This is used for enforcing VoiceMatch model TTL. go/voicematch-pdd-ttlAssistantApiSettingsDeviceSettingsNext ID: 73DateTime
ackStatusLINT.ThenChange(//depot/google3/assistant/ui/assistant_device_settings_ui.proto)AssistantApiSettingsDeviceSettingsNext ID: 73String
deviceModelRevisionThe Device Platform Service lookup revision. (go/device-model-revision) For 1p devices, and most 3p devices with no custom feature, this should be always 0, which means no lookup needed. For 3p devices with custom assistant feature, this is provided directly by OEM as incremental (e.g. 1, 2, 3, …)AssistantApiSettingsDeviceSettingsNext ID: 73integer
notificationProfileInformation about how to send the user a notification. This won’t be populated for fb-conv users (allo group chat users).AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsNotificationProfile
voiceInputEnabledA boolean indicates whether voice input (mic-button, hotword, etc) is enabled.AssistantApiSettingsDeviceSettingsNext ID: 73boolean
citycity and postal_code are sent to third party AoG Apps as location when permission is granted for precise or coarse location. https://developers.google.com/actions/reference/rest/Shared.Types/Permission city and postal_code have the same description as in Proto Postal Address: https://cs.corp.google.com/piper///depot/google3/location/country/postaladdress.proto city corresponds to locality_name, postal_code corresponds to postal_code_number. These two fields are set in assistant_settings_service by AddressConverter. https://cs.corp.google.com/piper///depot/google3/location/addressformatter/public/addressconverter.h See go/aog-i18n-address-parse for more informationAssistantApiSettingsDeviceSettingsNext ID: 73String
dusiOnly valid for ATV. Stores the android DUSI for the corresponding user. More details: go/auto-logout-on-unlink.AssistantApiSettingsDeviceSettingsNext ID: 73String
timeZoneDevice time zone. It’s mainly used for a one-time notification for new users when they just bought and activated their devices. They may not have used Search or Assistant before, so their timezone info may not available elsewhere when we want to send a notification. This should be used as a fallback only when other timezone sources such as assistant_settings:user_attribute#inferred_user_timezone are not available. Also, when both |time_zone| and |location| are set, the |location| should be preferred to derive the most up to date timezone. This info directly comes from the device through early device setting recording mechanism. See more details at go/early-device-setting-recording.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiTimeZone
lastCastRegistrationTimestampDevice’s latest registration timestamp provided by Cast side. This field is not necessarily up to date. The update frequency is defined in last_registration_update_frequency_in_days field of AssistantConfig in java/com/google/chrome/dongle/common/proto/home_assistant_config.proto. go/cast-last-registration-timeAssistantApiSettingsDeviceSettingsNext ID: 73DateTime
crossSurfaceAvailabilityAvailability of this device for Assistant Cross-surface handoffs. (go/assistant-cross-surface)AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsDeviceSettingsCrossSurfaceAvailability
typeThe type of the device. Note: this should only be used for grouping devices for UI presentation purpose. Use |capabilities| to decide what the device can do.AssistantApiSettingsDeviceSettingsNext ID: 73String
aliasNameThe alias names of the device, e.g. my living room tv, tv, living room and etc., which user will usually use to refer to the device in addition to human_friendly_name. It can help speech biasing and query understanding. This field is set by the user and already localized.AssistantApiSettingsDeviceSettingsNext ID: 73list(String)
homeGraphIdThe home graph ID that can be used to lookup the corresponding entry in HomeGraph. go/home-graph. Note: when this field is empty, it doesn’t necessarily mean that the device is not in home graph. It just means that Assistant doesn’t know about the mapping.AssistantApiSettingsDeviceSettingsNext ID: 73String
addressA human-readable address string for the location; generally a one-line address such as “34 Masonic Ave, San Francisco CA 94117, United States”. Set this field to empty string for deletion, in which case the rest of the location related fields below will be cleared as well.AssistantApiSettingsDeviceSettingsNext ID: 73String
internalVersionInternal version of the DeviceSettings for measurement of the DeviceSettings mutation race conditions. See go/consistent-assistant-settings-update.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiSettingsInternalVersion
isDeviceActivationCacheEnabledWhen true, the user has explicitly allowed audio and visual data collection on this deviceAssistantApiSettingsDeviceSettingsNext ID: 73boolean
capabilitiesDescribes roughly what a device is capable of doing and metadata around those capabilities. Note: this includes device limitations as well as user configurable settings.AssistantApiSettingsDeviceSettingsNext ID: 73AssistantApiDeviceCapabilities
lastKnownClientLocaleLast known locale of the client.AssistantApiSettingsDeviceSettingsCrossSurfaceAvailabilityString
lastParamsWriteTimestampThis is the timestamp when the AssistantRequestParams (in ASSISTANT_SNAPSHOT corpus) were last written for this device.AssistantApiSettingsDeviceSettingsCrossSurfaceAvailabilityDateTime
downtimeSettingsSpecification of times that a device shouldn’t respond to certain users. See go/home-ft-prd.AssistantApiSettingsDeviceSupervisionSettingsAssistantApiSettingsDeviceDowntimeSettings
featureFiltersRestrictions on features that certain users can access on a device. See go/home-ft-prd.AssistantApiSettingsDeviceSupervisionSettingsAssistantApiSettingsDeviceFeatureFilters
enabledTrue if downtime should be enabled during this period.AssistantApiSettingsDowntimePeriodSpecifies a period of up to 24 hours when downtime should be enabled, starting at certain time on a certain day of the week, and ending at a later time on either that day or the following day.boolean
endTimeTime of day that this downtime period should end. Required. If end_time > start_time, end_time is relative to start_day. Otherwise, end_time is relative to the day after start_day. For example, start_day: MONDAY, start_time: 9 p.m., end_time: 6 a.m. means that the downtime period starts at 9 p.m. on Monday and ends at 6 a.m. on Tuesday.AssistantApiSettingsDowntimePeriodSpecifies a period of up to 24 hours when downtime should be enabled, starting at certain time on a certain day of the week, and ending at a later time on either that day or the following day.GoogleTypeTimeOfDay
startDayThe day of the week when this downtime period starts. Required.AssistantApiSettingsDowntimePeriodSpecifies a period of up to 24 hours when downtime should be enabled, starting at certain time on a certain day of the week, and ending at a later time on either that day or the following day.String
startTimeTime of day that this downtime period should start. Required.AssistantApiSettingsDowntimePeriodSpecifies a period of up to 24 hours when downtime should be enabled, starting at certain time on a certain day of the week, and ending at a later time on either that day or the following day.GoogleTypeTimeOfDay
enabledTrue if this downtime schedule should be enabled.AssistantApiSettingsDowntimeScheduleSpecification of when downtime is enabled on different days of the week. Contains up to 7 DowntimePeriod messages, up to one per day of the week.boolean
periodsDowntime entries for the days of the week, in no particular order. There can be at most one period defined for each day of the week. Days of the week with no explicit period defined are treated as disabled, so the device is available all day (modulo an end time that may spill over from the previous day).AssistantApiSettingsDowntimeScheduleSpecification of when downtime is enabled on different days of the week. Contains up to 7 DowntimePeriod messages, up to one per day of the week.list(AssistantApiSettingsDowntimePeriod)
allowKnockKnockTrue if Duo Knock Kncok feature is enabled on the device.AssistantApiSettingsDuoCallDeviceSettingsDuo related call settings on the device. Next ID: 5boolean
shouldBeLinkedBoolean indicating if user has explicitly marked this device to be linked or not. This bit is used in case where unexpected errors occur and we have to check for account/device status and mark the device linked after verification.AssistantApiSettingsDuoCallDeviceSettingsDuo related call settings on the device. Next ID: 5boolean
stateThe call state of the device (i.e. whether a Duo call account has been setup on the device).AssistantApiSettingsDuoCallDeviceSettingsDuo related call settings on the device. Next ID: 5String
talkbackEnabledClient device settings: settings which are populated by client to give to duocore. TalkBack is an accessibility service that helps blind and vision-impaired users interact with their devices. Indicates whether talkback is enabled for the device. Note: this is per device settings currently filled by client for all users.AssistantApiSettingsDuoCallDeviceSettingsDuo related call settings on the device. Next ID: 5boolean
communicationsFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsCommunicationsFilter
musicFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsMusicFilter
newsFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsNewsFilter
podcastFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsPodcastFilter
searchFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsSearchFilter
thirdPartyAppsFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsThirdPartyAppsFilter
videoFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsVideoFilter
webviewFilterAssistantApiSettingsFeatureFiltersSpecification of which assistant features are allowed for a particular device or user account.AssistantApiSettingsWebviewFilter
gcmIdAssistantApiSettingsGcmSettingsString
gcmPackageAssistantApiSettingsGcmSettingsString
agentIdAgent ID, aka project ID. Used as the AgentDeviceId.agent_id of device when calling Home Graph Service.AssistantApiSettingsHomeGraphDataNext ID: 8String
attributesSee go/ha-dev-guide and HomeGraphItem.attribute in //assistant/verticals/homeautomation/proto/home_graph.protoAssistantApiSettingsHomeGraphDataNext ID: 8map
deviceIdDevice ID, used as AgentDeviceId.device_id of device when calling Home Graph Service.AssistantApiSettingsHomeGraphDataNext ID: 8String
deviceTypeHGS device type. See java/com/google/home/graph/service/config/protoconf.pi for the exhaustive list of type strings.AssistantApiSettingsHomeGraphDataNext ID: 8String
shouldWriteToHomeGraphWhether device data should be written to Home Graph via Assistant device_settings. Assistant SDK and Google Home write their devices into Home Graph through AssistantSettingsService, while Home Automation Partner devices (e.g. SmartThings, Philips Hue, Nest, TP-Link, etc.) don’t need to be written to Home Graph through AssistantSettingsService. This field decides whether AssistantSettingsService writes devices to Home Graph or not.AssistantApiSettingsHomeGraphDataNext ID: 8boolean
supportedTraitsSupported traits of the device. See java/com/google/home/graph/service/config/protoconf.pi for the exhaustive list of trait-strings.AssistantApiSettingsHomeGraphDataNext ID: 8list(String)
supportsDirectResponseWhether the device supports direct response. See HomeGraphItem.supports_direct_response in //assistant/verticals/homeautomation/proto/home_graph.protoAssistantApiSettingsHomeGraphDataNext ID: 8boolean
cardConfigConfig for Hospitality UI modules.AssistantApiSettingsHospitalityCardSettingslist(AssistantApiSettingsHospitalityCardSettingsCardConfig)
showMediaTapGestureTutorialToggle media tap gesture tutorial card.AssistantApiSettingsHospitalityCardSettingsboolean
showPhotoSwipeGestureTutorialToggle photo swipe gesture tutorial card.AssistantApiSettingsHospitalityCardSettingsboolean
youtubeCardConfigConfig for YouTube video cards.AssistantApiSettingsHospitalityCardSettingslist(AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfig)
activeActionRequiredWhether the UI module requires user action. If true, the UI module can peek on to the top of Ambient. See SmartDisplayModuleState::ACTIVE_ACTION_REQUIRED.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.boolean
dismissableWhether the UI module is dismissable.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.boolean
effectiveTimeThe time that the module is effective and visible to the user. If not set, the module is effective immediately.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.AssistantApiTimestamp
expiryTimeThe time that the module is expired and invisible to the user. If not set, the module never expires.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.AssistantApiTimestamp
imageUrlThe image URL for the UI module.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.String
moduleIdModule ID.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.String
payloadQueryPayload query to the partner AoG action when user responds to UI Module, e.g. “Tell the hotel how my stay is going”.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.String
titleTitle of the message to be shown to user at the top of the UI Module.AssistantApiSettingsHospitalityCardSettingsCardConfigConfiguration for hospitality card.String
imageUrlURL of image to go on card. The URL must be a public link accessible from ZeroState.AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfigConfiguration for YouTube video card (Stargazer tile).String
playlistIdID of YouTube playlist to play on card tap. A playlist is used instead of a single video id to avoid autoplaying related videos. The playlist and the videos it contains must be public or unlisted to be accessible from ZeroState.AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfigConfiguration for YouTube video card (Stargazer tile).String
textText on card (i.e., video title).AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfigConfiguration for YouTube video card (Stargazer tile).String
aogContextIdList of AOG app context ids that are linked to this device. These apps will have access to the structure information for the device.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17list(String)
aogInvocationPhraseInvocation phrase for hotel’s AoG action. Used for ZS promotion card and “talk to my hotel” rewrites. Setting this to an empty value will mark it unset.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17String
brandingAssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiSettingsHospitalityModeBranding
cardSettingsAssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiSettingsHospitalityCardSettings
deviceClearRequestThe time when we received a request to reset the device.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiTimestamp
dialogTtlOverrideMicrosShould the dialog have a shorter ttl. See go/ipp-consumer-prd#heading=h.ibu9b1ysdl4t and go/interpreter-device-clear#bookmark=id.hw8ey1bzjadn for context.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17String
enterpriseIdIdentifier for the enterprise which owns the device. Setting this to an empty value will mark it unset.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17String
hospitalityModeEnabledIndicates whether this device is in the hospitality mode.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17boolean
lastDeviceClearLast time the device was cleared and placed in hospitality mode. Will be set when the switch is toggled on and reset when a guest checks out. On the device this triggers removing alarms, timers, etc.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiTimestamp
lastModifiedTimestampIndicates when hospitality settings were last updated.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiTimestamp
lastWelcomedLast time the welcome message was played for the guest. If last_welcomed < welcome_request, the message should be replayed and this time set.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiTimestamp
manualResetRequiredIndicates whether or not the device must be reset manually (by voice or touch), as opposed to being automatically reset. go/hospitality-manual-resetAssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17boolean
promotedLanguagesIn order promoted languages for interpreter devices. This represents languages by BCP-47 language strings, such as “en”, “en-US”, “fr”, “fr-CA”, “sr-Latn”, “zh-Hans-CN”, “zh-Hant-HK”,etc.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17list(String)
typeAssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17String
verbalResetSupportedWhether we allow users to initiate clearing the device verbally. We generally allow this for private devices and not for public ones.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17boolean
welcomeRequestThe time when we received a request to welcome the user.AssistantApiSettingsHospitalityModeHospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17AssistantApiTimestamp
displayNameBrand display in the UIAssistantApiSettingsHospitalityModeBrandingTODO(b/169423976) Consider moving Branding out of user level settings into enterprise level settings. Partner branding fields used to customize the ui. Next ID: 7String
displayNameForLanguageBrand display in the UI for languages that the enterprise has a localized name that is different from its global branding name. For example, Hilton is ‘ヒルトン’ in Japanese and ‘希爾頓’ in Chinese. The keys are hospitality supported display locales, e.g. en, ja-JP, etc, defined in experiment parameter Hospitality__hospitality_display_supported_locales.AssistantApiSettingsHospitalityModeBrandingTODO(b/169423976) Consider moving Branding out of user level settings into enterprise level settings. Partner branding fields used to customize the ui. Next ID: 7map
largeLogoUrlAssistantApiSettingsHospitalityModeBrandingTODO(b/169423976) Consider moving Branding out of user level settings into enterprise level settings. Partner branding fields used to customize the ui. Next ID: 7String
smallLogoUrlAssistantApiSettingsHospitalityModeBrandingTODO(b/169423976) Consider moving Branding out of user level settings into enterprise level settings. Partner branding fields used to customize the ui. Next ID: 7String
isValidCurrently, is_valid is set to false whenever the TAF is not an Autotune aware value. This includes hotword sensitivity users, or devices not eligible for autotune.AssistantApiSettingsHotwordThresholdAdjustmentFactorHotwordThresholdAdjustmentFactor contains threshold_adjustment_factor, and it’s validity. value should only be considered when is_valid = true.boolean
valueAssistantApiSettingsHotwordThresholdAdjustmentFactorHotwordThresholdAdjustmentFactor contains threshold_adjustment_factor, and it’s validity. value should only be considered when is_valid = true.integer
deviceIdContains device ids known to devices. eg. For ATV, it contains client_instance_id and cast_id.AssistantApiSettingsInternalAncillaryDeviceIdRepresents supporting device ids.AssistantApiCoreTypesDeviceId
generationTimeContains the timestamp when this version was generated.AssistantApiSettingsInternalVersionRepresents a version of a specifit setting, e.g. DeviceSettings.DateTime
idInteger value of the version, it is a monotonically increasing number and starts at 0. On every update it is incremented by 1.AssistantApiSettingsInternalVersionRepresents a version of a specifit setting, e.g. DeviceSettings.String
kidsModeEnabledAssistantApiSettingsKidsModeKids mode config for the current device. go/aff-parentalsupervision-ddboolean
obfuscatedGaiaIdIdentifier of the account currently specified to be used with kids mode.AssistantApiSettingsKidsModeKids mode config for the current device. go/aff-parentalsupervision-ddString
displayNameUser-provided name for this schedule.AssistantApiSettingsLabeledDowntimeScheduleString
scheduleAssistantApiSettingsLabeledDowntimeScheduleAssistantApiSettingsDowntimeSchedule
castLinkingTimeTime of linking of the device with the user provided by Cast.AssistantApiSettingsLinkedUserRepresents the profile of the user who has signed in onto this device. Next id: 5DateTime
emailPrimary email address of the user.AssistantApiSettingsLinkedUserRepresents the profile of the user who has signed in onto this device. Next id: 5String
gaiaIdAssistantApiSettingsLinkedUserRepresents the profile of the user who has signed in onto this device. Next id: 5String
namesSupports features which depend on profile name, when no matching contact is found.AssistantApiSettingsLinkedUserRepresents the profile of the user who has signed in onto this device. Next id: 5list(AppsPeopleOzExternalMergedpeopleapiName)
confirmedTrue if the user has confirmed the marketplace disclosure.AssistantApiSettingsMarketplaceDisclosureboolean
timestampMsThe time user confirmed the marketplace disclosure.AssistantApiSettingsMarketplaceDisclosureString
lastEnterGuestModeTimestampAssistantApiSettingsMasqueradeModeGuest mode for the current device. go/assistant-guest-mode-summaryAssistantApiTimestamp
lastExitGuestModeTimestampAssistantApiSettingsMasqueradeModeGuest mode for the current device. go/assistant-guest-mode-summaryAssistantApiTimestamp
masqueradeModeEnabledAssistantApiSettingsMasqueradeModeGuest mode for the current device. go/assistant-guest-mode-summaryboolean
availableProvidersProviders available at the time user updated settings.AssistantApiSettingsMusicFilterSpecification of which music features can be used.list(String)
providerFilterStateRepresents the state for the music provider filter.AssistantApiSettingsMusicFilterSpecification of which music features can be used.String
stateAssistantApiSettingsMusicFilterSpecification of which music features can be used.String
whitelistedProvidersContains the list of whitelisted music providers.AssistantApiSettingsMusicFilterSpecification of which music features can be used.list(String)
stateAssistantApiSettingsNewsFilterSpecification of which news features can be used.String
alloNotificationProfileEach device can have only one type of notification profile.AssistantApiSettingsNotificationProfileAssistantApiSettingsNotificationProfileAlloNotificationProfile
botSendTokenThe send token of the conversation with the user.AssistantApiSettingsNotificationProfileAlloNotificationProfileChatBotPlatformBotSendToken
idThe fireball id of this user.AssistantApiSettingsNotificationProfileAlloNotificationProfileChatBotPlatformFireballId
carrierCallDeviceSettingsOn device carrier call related settings.AssistantApiSettingsOnDeviceAppSettingsAssistantApiSettingsCarrierCallDeviceSettings
duoCallDeviceSettingsOn device duo call related settings.AssistantApiSettingsOnDeviceAppSettingsAssistantApiSettingsDuoCallDeviceSettings
faceMatchAssistantApiSettingsPersonalizationMetadataString
personalResultsAssistantApiSettingsPersonalizationMetadataString
voiceMatchAssistantApiSettingsPersonalizationMetadataString
stateAssistantApiSettingsPodcastFilterSpecification of which podcast features can be used.String
politeModeEnabledAssistantApiSettingsPoliteModePolite mode config for the current device. go/polite-mode-ddboolean
neverAskAgainIf true, don’t ask user to trust this device again.AssistantApiSettingsReauthTrustedDeviceSettingsTrustSettingsNext id: 6boolean
neverAskExpirationTimestampDEPRECATED: Use never_ask_again instead. Expiration timestamp of “never ask again” status. If this field is set and is later than current timestamp, we should NOT ask the user whether they’d like to trust this device.AssistantApiSettingsReauthTrustedDeviceSettingsTrustSettingsNext id: 6DateTime
trustDeviceExpirationTimestampExpiration timestamp of “trusted” status. If this field is set and is later than current timestamp, we can consider this device to be trusted.AssistantApiSettingsReauthTrustedDeviceSettingsTrustSettingsNext id: 6DateTime
stateAssistantApiSettingsSearchFilterSpecification of which search features can be used.String
speechOutputAssistantApiSettingsSpeechOutputSettingsSettings related to TTS output.String
continuedConversationEnabledIndicates whether Continued Conversation is enabled for this device.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
deviceModelTypeStores the device model type e.g Pixel.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16String
dspAvailableWhether the device has DSP chip to enable always on hotword detection.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
hotwordInNavigationEnabledWhether hotword has been enabled by the user during navigation.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16String
hotwordSettingStores hotword setting status for the locales which don’t support voice match.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16String
lockscreenEnabledWhether pin/pattern lockscreen has been enabled by the user.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
opaEligibilityStateStores if Assistant is available for the user’s device/locale, where Enabled means it is available and disabled means it is not.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16String
opaEligibleStores if Assistant is available for the user’s device/locale. Deprecated as bools do not give accurate true/false ratios due to old clients reporting the default value.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
sdkVersionStores the Android SDK version. This comes from android.os.Build.VERSION.SDK_INT.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16integer
speakerIdModelPresentWhether speaker ID model is present for the user.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
speakerIdRecognitionEnabledIndicates whether the user has enabled speaker-id (fromAnyScreen/alwaysOn) for this device. Deprecated – use voice_match_setting insteadAssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
trustedVoiceEnabledIndicates whether the user has enabled trusted voice for this device.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
unlockWithHotwordAvailableA bool indicating whether device supports unlocking device with hotword.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
userMigratedToDeclinedStores if user was migrated from undecided to declined as apart of Mariko project. Used for potential growth targeting.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16boolean
voiceMatchSettingStores the hotword/voice match setting status for the locales which support voice match.AssistantApiSettingsSpeechSettingsSettings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16String
primaryHostDeviceIdThe host this wearable is tethered to (e.g. phone). When host is AGSA then this is agsa_client_instance_id. When host is IOPA then this is opa_ios_device_id.AssistantApiSettingsTetheredInfoString
stateAssistantApiSettingsThirdPartyAppsFilterSpecification of which third party apps can be used.String
autoplayToggleStateState that indicates whether autoplay is enabled for youtube videos.AssistantApiSettingsVideoFilterSpecification of which video features can be used.String
availableProvidersProviders available at the time user updated settings.AssistantApiSettingsVideoFilterSpecification of which video features can be used.list(String)
providerFilterStateRepresents the state for the video provider filter.AssistantApiSettingsVideoFilterSpecification of which video features can be used.String
stateAssistantApiSettingsVideoFilterSpecification of which video features can be used.String
whitelistedProvidersContains the list of whitelisted video providers.AssistantApiSettingsVideoFilterSpecification of which video features can be used.list(String)
jasperWebviewConsentIndicates if user has consented Jasper warning message.AssistantApiSettingsWebviewFilterSpecification of which webview features can be used.boolean
stateAssistantApiSettingsWebviewFilterSpecification of which webview features can be used.String
methodAssistantApiSignInMethodThe method of sign in which the client supports.String
signInRequiredMake Google sign-in mandatory for using Google Assistant on the device.AssistantApiSignInMethodThe method of sign in which the client supports.boolean
supportsHotwordSensitivityWhether the device supports different levels of hotword sensitivity. go/hotword-sensitivity-prdAssistantApiSodaCapabilitiesCapabilities related to SODA (Speech On-Device API). Next ID: 5boolean
supportsSimpleStopWhether Simple Stop (go/simple-stop) is enabled on the device. Simple stop allows users to stop firing alarms and timers by just saying “stop” without first saying the hotword.AssistantApiSodaCapabilitiesCapabilities related to SODA (Speech On-Device API). Next ID: 5boolean
supportsSpeakerIdWhether the device supports speaker-id (speaker identification based on hotword and/or spoken query – go/speaker-id). Note: there are existing devices that support speaker-id but does not have this capability set. Not having this field populated doesn’t necessarily mean the device doesn’t support speaker-id.AssistantApiSodaCapabilitiesCapabilities related to SODA (Speech On-Device API). Next ID: 5boolean
supportsWarmWordsWhether the device supports WarmWords (go/warm-words-framework).AssistantApiSodaCapabilitiesCapabilities related to SODA (Speech On-Device API). Next ID: 5boolean
appCapabilitiesIMPORTANT: Only one of AppCapabilities and AppCapabilitiesDelta should be in the SoftwareCapabilities. In the edge case if the client sends up both AppCapabilities and AppCapabilitiesDelta, AppCapabilitiesDelta is ignored. Complete list of app capabilities.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28list(AssistantApiAppCapabilities)
appCapabilitiesDeltaIncremental update for app capabilities.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28list(AssistantApiAppCapabilitiesDelta)
carAssistantCapabilitiesCapabilities related to Assistant on Auto surfaces.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiCarAssistantCapabilities
clockCapabilitiesCapabilities related to clock functionality, like alarms, timers, etc.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiClockCapabilities
conversationVersionA top-level version of Conversation protocol where the versions are explicitly defined at go/conversation-versions.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSupportedConversationVersion
crossDeviceExecutionCapabilitiesFor torus x-device execution supportAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiCrossDeviceExecutionCapability
gacsCapabilitiesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiGacsCapabilities
gcmCapabilitiesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiGcmCapabilities
liveTvChannelCapabilitiesCapabilities related to live TV channels.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiLiveTvChannelCapabilities
oemCapabilitiesList of actions OEM supports. This includes built-in actions and custom actions.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiOemCapabilities
onDeviceAssistantCapabilitieson-device Assistant capabilitiesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiOnDeviceAssistantCapabilities
onDeviceSmartHomeCapabilitiesCapability bits for on-device Smart Home. go/framework-for-local-semexAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiOnDeviceSmartHomeCapabilities
onDeviceStorageCapabilitiesReflects the storage capabilities on the device.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiOnDeviceStorageCapabilities
operatingSystemThe operating system of the device.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28String
orderedLiveTvProvidersAn ordered list containing the live tv providers available in the client. The order of the providers reflects the ranking in the client and will be respected by server as well.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28list(AssistantApiLiveTvProvider)
robinCapabilitiesCapabilities of Robin client.AssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiRobinCapabilities
selinaCapabilitiesThe Soli capabilities on Elaine. go/dingo-dc-softwareAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSelinaCapabilites
settingsAppCapabilitiesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSettingsAppCapabilities
supportedClientOpAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28list(AssistantApiSupportedClientOp)
supportedFeaturesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSupportedFeatures
supportedMsgVersionAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSupportedProtocolVersion
supportedProviderTypesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSupportedProviderTypes
surfacePropertiesAssistantApiSoftwareCapabilitiesThese capabilities represent what software features the client supports. This should be determined based on the client’s various software versions (OS, GSA version, etc). Next ID: 28AssistantApiSurfaceProperties
dspAvailableA bool indicating whether device supports dsp based hotword detection.AssistantApiSpeechCapabilitiesDEPRECATED These capabilities are associated with speech detection on devices.boolean
unlockWithHotwordAvailableA bool indicating whether device supports unlocking device with hotword.AssistantApiSpeechCapabilitiesDEPRECATED These capabilities are associated with speech detection on devices.boolean
clickImpersonationSupportedWhether client supports user impersonation on suggestion chip click. go/suggestion-click-impersonationAssistantApiSuggestionsSupportNext ID: 18boolean
debugDataSupportedWhether client supports suggestions debug data to be displayed.AssistantApiSuggestionsSupportNext ID: 18boolean
drlHistoryChipSupportedWhether DRL history chip is supported. Related bug: http://b/241837879, http://b/171854732 Design doc: http://go/panthera-history-chip-dd DRL history chip was originally rolled out to Panthera in http://google3/googledata/experiments/mobile/agsa/studies/agsa_nga/opa_panthera_one_input_ui_launch.gcl?l=55&rcl=384682900. We plan to roll it out to NGA and TNG. drl_history_chip_supported bit specifies whether the client support (and should have) DRL history chip.AssistantApiSuggestionsSupportNext ID: 18boolean
escapeHatchSupportedWhether client supports escape hatches aka post execution suggestions go/nga-escape-hatch-prdAssistantApiSuggestionsSupportNext ID: 18String
executedTextSupportedWhether the client can rewrite suggestion query text into executed text, if the latter is present. If this feature is disabled, the rewrite happens in Assistant Server.AssistantApiSuggestionsSupportNext ID: 18boolean
executionContextSupportedWhether the client supports passing back `execution_context` from |assistant.api.client_op.SuggestionProcessingParams| when the suggestion is clicked or spoken.AssistantApiSuggestionsSupportNext ID: 18boolean
featureSpecificActionSupportWhether the client supports features in |SuggestionFeatureSpecificAction|.AssistantApiSuggestionsSupportNext ID: 18AssistantApiFeatureSpecificActionSupport
featureSpecificAppActionsNotificationSupportedWhether the client supports handling App Actions’ notification when the suggestion is clicked. This will allow the server to populate the `app_actions_notification_data` extension field from |SuggestionFeatureSpecificAction| proto message.AssistantApiSuggestionsSupportNext ID: 18boolean
multiStepTrySayingSupportedWhether the multi-step try saying suggestion feature is supported. dd: go/tng-multi-step-simplifiedAssistantApiSuggestionsSupportNext ID: 18boolean
ruleIdInExecutionContextSupportedWhether the rule_id field in the execution_context is supported. This is a temporary workaround to be able to identify clicks on Person entity suggestions on Sabrina and is expected to be eventually deprecated. TODO(b/185517153) : Deprecate (but do not delete) once click tracking is correctly sent up from the Katniss client.AssistantApiSuggestionsSupportNext ID: 18boolean
showExecutedTextSupportedWhether the client can show executed_text after the click on the suggestion chip. Must be set to false on TNG. TNG disregards |SuggestionProcessingParams.show_executed_text| field and always treats it as if |show_executed_text=true|.AssistantApiSuggestionsSupportNext ID: 18boolean
showTranslationSupportedWhether the client can show chip as (text | translation). go/lang-partner-docAssistantApiSuggestionsSupportNext ID: 18boolean
supportedDisplayTargetsA list of suggestions display targets supported by this client. If unset only DEFAULT SuggestionDisplayTarget is supported.AssistantApiSuggestionsSupportNext ID: 18list(AssistantApiSuggestionsSupportDisplayTargetSupport)
widgetDataSupportedWhether client supports widget suggestion chip to be displayed.AssistantApiSuggestionsSupportNext ID: 18boolean
executedTextSupportedWhether the client can rewrite suggestion query text into executed text, if the latter is present for the display target.AssistantApiSuggestionsSupportDisplayTargetSupportboolean
headerTextSupportedWhether PresentationParams.header_text is supported for the display target.AssistantApiSuggestionsSupportDisplayTargetSupportboolean
repressImpressionSupportedWhether Suggestion.repress_impression is supported. If not repressed suggestions are not returned.AssistantApiSuggestionsSupportDisplayTargetSupportboolean
targetDisplay target that is supported.AssistantApiSuggestionsSupportDisplayTargetSupportString
sunriseSimulationSupportedIf true, the device can slowly brighten the screen and simulate sunrise experience. Alarms with sunrise field enabled can be set on this device.AssistantApiSunriseFeaturesSupportboolean
clientOpNameThis should be the same as the name of the SemanticClientOp that is supported.AssistantApiSupportedClientOpThese are the set of ClientOps that are supported by the device.String
clientOpPropertiesThe properties associated with the ClientOp. This proto should be associated with the client_op_name.AssistantApiSupportedClientOpThese are the set of ClientOps that are supported by the device.AssistantApiProtobuf
supportedExecutionAssistantApiSupportedClientOpThese are the set of ClientOps that are supported by the device.AssistantApiSupportedClientOpSupportedExecution
versionA version of 0 is the equivalent to not having support for that client_op type. Note that a client_op is also unsupported if it is not included at all in the list of supported client_ops.AssistantApiSupportedClientOpThese are the set of ClientOps that are supported by the device.integer
supportsPartialFulfillmentClientOp execution supports special rendering behavior while the user is in the middle of expressing their query. This behavior includes: 1) New partial output always over-writes prior partial output. 2) Canceling the interaction removes partial fulfilment from any user visible interaction history. If this is true, whether to apply the special rendering behavior will be determined by PartialFulfillmentRenderingParams. More details can be found at go/ma-natcon-pf-api.AssistantApiSupportedClientOpSupportedExecutionAdditional properties that client can support for executing the client op. They are surface-specific execution properties and are unrelated to the execution model.boolean
supportsSynchronousExecutionClient can support synchronous execution of the client op. For tts.OUTPUT client op it means that client would honor |synchronous_playback_args| argument. Please see more at go/synchronous-sounds-design.AssistantApiSupportedClientOpSupportedExecutionAdditional properties that client can support for executing the client op. They are surface-specific execution properties and are unrelated to the execution model.boolean
supportsConversationProtocolWhether conversation protocol is supported explicitly. If true, SingleDeviceCapabilityChecker::SupportsConversationProtocol will always return true.AssistantApiSupportedConversationVersionThe overall Conversation Protocol version. As we make fundamental changes to Conversation protocol that are non-backwards compatible, we will increment the protocol version. By default, all clients will support version 0. All versions are documented at go/conversation-versions.boolean
versionThe supported version number.AssistantApiSupportedConversationVersionThe overall Conversation Protocol version. As we make fundamental changes to Conversation protocol that are non-backwards compatible, we will increment the protocol version. By default, all clients will support version 0. All versions are documented at go/conversation-versions.integer
readNotificationSummarizationSupportedWhether the client supports message summarization. Deprecated, use message_summary_support instead.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
fitnessFeatureSupportInformation about what support this device has for fitness.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiFitnessFeatureSupport
masqueradeModeSupportedWhether the device supports masquerade mode (go/masquerade).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
appControlSupportThe client information for app control support. More details in: go/acaia.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiAppControlSupport
gearheadNotificationSourceSupportedWhether the client supports the Gearhead message notification source, in which case notification-related operations can access it.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
parentalControlsSupportedWhether or not the client supports enabling parental controls. When a device to supports parental controls, it has the software necessary to store the relevant information required for parental controls to work. This information includes a boolean “enabled bit” as well as the obfuscated gaia ID of the kid account selected for use with parental controls. Devices supportings kids mode send this information to S3 via S3ClientInfo in every request. See go/aff-kidsproduct for details.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
mediaControlSupportInformation about how client handles media controls (play, pause, skip …)AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiMediaControlSupport
sunriseFeaturesSupportWhether the client supports the sunrise screen brightening feature before the alarm fires. This is used to indicate whether sunrise alarms can be set on the device. http://cs/symbol:assistant.api.core_types.governed.RingtoneTaskMetadata.GentleWakeInfoAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiSunriseFeaturesSupport
shLockScreenSupportedWhether the client supports SmartHome lock screen logic (i.e. on Tangor).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
fluidActionsSupportFluid Actions features supported by the client. If this field is not set in the incoming request, it could mean that the client does not support Fluid Actions. Alternatively, it could mean that the client supports Fluid Actions, but syncs state with server using the old protocol, namely ConversationStateParams. When b/140733618 is resolved, Surface Adaptation Layer will add this field for old clients that support Fluid Actions framework.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiFluidActionsSupport
bypassMsgNotificationDismissalWhether or not Assistant should enforce the dismissal of communication notifications associated with messages.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
justInTimeSupportedWhether the client supports confirmation flow when a permission is missing. If set to true, the user will be prompted and on confirmation the original flow will continue.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
sleepSensingSupportedWhether the client can monitor sleep. This allows us to show sleep CUJ related information: go/TwilightDesign Use for development only, see the same field in DeviceCapabilities.SoftwareCapabilities.SelinaCapabilities.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
actionV2SupportedFeaturesAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiActionV2SupportedFeatures
mediaSessionDetectionThe ability of the client to detect media sessions on the device.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69String
gdiSupportedWhether account linking via Google Deep Integrations (GDI) is supported. go/opa-gdi-designAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
zoomSupportedWhether the client supports joining a Zoom meeting.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
persistentDisplaySupportedWhether the client supports persistent display. The new feature allows Assistant devices with screen to display a continuously updating permanent display, such as ambient weather, without the need for a user to ask the Assistant. Design doc: go/assistant-persistent-display.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
alarmTimerManagerApiSupportedWhether the client supports AlarmTimerManager API (go/alarm-timer-manager-api).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
bypassDiDcCheckForCommsWhether communications flows for the client can bypass the DI/DC check. The client will enforce some other equivalent permission as necessary concerning access to device contacts and apps.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
readMessagesTtsTaperingSupportedWhether the client supports tts tapering for the read messages flow. If set to true the tapered tts variant would be used during the read messages flow.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
funtimeSupportedWhether the surface client op performer supports Funtime alarms and timers. go/funtime-engdesignAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
webBrowserSupportedWhether the supports opening a URL in a web browser. For example, we want to disable this for clients like Chirp.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
mapsDialogsSupportedWhether the client supports Assistant dialogs within Maps. This field will be set only when the Maps on the surface supports Assistant dialogs embedded within Maps. go/gsa-gmm.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
opaOnSearchSupportedWhen the entry source is search, whether the client supports rendering a similar response as OPA one does. Entry source is defined at http://cs/symbol:assistant.api.params.DeviceProperties.EntrySourceAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
isPairedPhoneContactUploadNeededForCommsWhether paired-phone contact upload is needed for communications queries to work (e.g. on AAE).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
noInputResponseSupportedWhether the client can render no input response or just ignore it. No input response is returned when client has a no speech input interaction, eg. user tapped mic but didn’t say anything.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
smartspaceCrossDeviceTimerSupportedWhether the client supports smart space cross-device timers. (go/ss-x-device-timer)AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
clientOpResultBatchingSupportedWhether the client can batch client op results before sending them to the server.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
usesSeparateFullViewerIf set, it indicates that the client can open a separate HTML browser/webviewer (full viewer) to display certain visual results. These visual results usually require more memory to render (e.g. high resolution photos). Compared to the regular viewer that display all other Assistant result, the full viewer does not have memory limit. The field is copied from the device model. See http://google3/assistant/devices_platform/proto/device_model_capabilities.proto?l=225&rcl=312576471 Also see go/webassistant-full-card-viewer.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
confirmationBeforeReadingMultipleMessagesSupportedWhether the client supports confirmation flow before announcement of multiple messages. If set to true the user will be prompted once and confirmation will be taken before all the messages are announced.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
messageSummarySupportThe client information for message summary. More details in: go/roadwayrecap-prdAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiMessageSummarySupport
acpSupportIn what way is assistant continued presence supported. (go/opa-acp-prd)AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiAssistantContinuedPresenceSupport
viewReminderHubPageNotSupportedWhether the client supports viewing of reminder hub page or not. Default is supported. Set to true to disable returning reminder hub page url in reminder responses.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
duoGroupCallingSupportedWhether the client supports Duo group calling.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
client1mProvidersSupportedWhether the client supports 1m providers (go/1m-partner-expansion).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
hasPhysicalRadioWhether the client has a physical radio installed.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
liveCardsSupportedWhether the surface supports LiveCards. In cases where the user intent flow cannot be completed within the Assistant, LiveCards are used to take the user to an external app or website. These cards will be pushed to the Google Home app via the PushMessage ClientOp.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
signInMethodWhich kind of sign in the client supports.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiSignInMethod
lottieAnimationSupportWhether the client supports the Lottie animation library for the broadcast feature.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69String
serverGeneratedFeedbackChipsEnabledWhether the Assistant Server should generate feedback suggestion chips.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
transactionFeaturesSupportTransactions features, supported by the client. Transactions feature may includes how Transactions team want to populate additional information from the device to the server.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiTransactionFeaturesSupport
tapToReadOptimizationSupportedWhether the client supports faster optimization for tap_to_read feature.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
remoteCloudCastingEnabledWhether the client has remote casting enabled. For ex: we want to disable this for clients like Auto.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
crossDeviceBroadcastSupportedWhether the client supports cross-device broadcast (i.e. on Torus).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
suggestionsSupportSuggestion chips features, supported by the client.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiSuggestionsSupport
crossDeviceBroadcastVersionThe version of cross device broadcast (ie; broadcast on torus) which the client supports.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69String
conversationalCareSupportedWhether the client can render conversational care responses. go/conversational-careAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
assistantForKidsSupportedWhether Assistant for Kids (a.k.a. Designed for Family) features are supported.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
isPairedPhoneNeededForCommsWhether a Bluetooth-paired phone is a core component of communications flows on the client.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
csatVisualOverlaySupportedWhether the client supports csat visual overlay. (go/sd-od-csat)AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
transactionsVersionThe version of transactions which the client supports.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69String
duoClientApiFeaturesThe features set which duo client on the device supports. This should be serialized from proto {@code duo_client_api.DuoClientApiFeatures}.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69String
aaeNotificationSourceSupportedWhether the client supports the alternative message notification sources on AAE, in which case notification-related operations can access it.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
immersiveCanvasSupportAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69AssistantApiImmersiveCanvasSupport
soliGestureDetectionSupportedWhether or not the client supports gesture detection via soli chips. The reason to prepend the name with soli is to distinguish it from computer vision based methods, e.g. Newman devices.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
lensSupportedWhether the client has Google Lens (Assistant Eyes).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
privacyAwareLockscreenSupportedWhether the client supports the privacy-aware lockscreen protocol (go/assistant-lockscreen-spec).AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
assistantExploreSupportedWhether the client supports the assistant explore section. This field will be active only when the Explore section is available to the user. This means that the user is (a) signed-in, (b) a IOPA / AGSA user, and (c) in a locale where explore is available.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
meetSupportedWhether the client supports joining a Google Meet meeting.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
launchKeyboardSupportedWhich way of launching the keyboard the client supports.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69String
immersiveCanvasConfirmationMessageSupportedWhether the client supports confirmation messages in Immersive Canvas actions. Deprecated: use the filed in immersive_canvas_support.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
warmWelcomeTutorialSupportedWhether the client supports the programmatic warm welcome tutorial. Design doc: go/opal-pww-design.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
inDialogAccountLinkingSupportedWhether the client supports account linking in-dialog (askForSignIn). This is used before this feature is moved to conversation protocol. To support this, the client needs to: – Integrate with Google Deep Integrations. – Have logic to send the result of account linking back to AS.AssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
thirdPartyGuiSupportedWhether the device supports the 3p GUI framework, which allows third parties to enter the conversation with the user, showing their logo next to their chat bubbles, etc. go/3p-phoneAssistantApiSupportedFeaturesThese are the set of features that are supported by the device. It’s a part of the SoftwareCapabilities of the device. Next ID: 69boolean
messageVersionAssistantApiSupportedProtocolVersionContains versions of protocol buffer messages. This is the equivalence of a proto3 map, keyed by a protocol buffer message’s name, and the value is the version of this message. e.g. {“assistant.api.core_types.Timer”: 2, “assistant.api.core_types.Alarm”: 1} See go/assistant-protocol-versioning for more details.list(AssistantApiSupportedProtocolVersionMessageVersionPair)
messageNameThe full path of a message which should start from the package name. e.g. “assistant.api.core_types.Timer”.AssistantApiSupportedProtocolVersionMessageVersionPairString
versionThe supported version number.AssistantApiSupportedProtocolVersionMessageVersionPairinteger
supportedTypesAssistantApiSupportedProviderTypesTypes of providers that are supported by the client. For example, ChromeOS support both web app and Android app (for eligible devices).list(String)
executionCapabilitiesAssistantApiSurfacePropertiesProperties of the surface that are not hardware related or feature specific.AssistantApiSurfacePropertiesExecutionCapabilities
prefersGlanceableUiIndicates if the surface prefers glanceable UI when rendering Assistant response. (see go/mobile-dr-hbird-glanceable-comms-cuj for more context).AssistantApiSurfacePropertiesProperties of the surface that are not hardware related or feature specific.boolean
responseDisplayFormatIf this field is unset, the response format is unknownAssistantApiSurfacePropertiesProperties of the surface that are not hardware related or feature specific.String
supportsMultiResponseIf true, the client supports receiving multiple responses. See go/multiple-response-in-media-use-cases for more details.AssistantApiSurfacePropertiesProperties of the surface that are not hardware related or feature specific.boolean
supportsClientOpPreloadingCompletes the preloading ie., sets up the stage for the execution of client ops on the device while the previous conv delta is being executed. Refer to go/preload-convdelta for more information.AssistantApiSurfacePropertiesExecutionCapabilitiesDescribes the capabilities that are related to the execution of client ops on the device.boolean
supportsNonFinalizedResponsesA value of true indicates that the client supports streaming of non-finalized responses by use of ClientExecutionParams.response_stream_id. and ClientExecutionParams.to_be_finalized.AssistantApiSurfacePropertiesExecutionCapabilitiesDescribes the capabilities that are related to the execution of client ops on the device.boolean
supportsNonMaterializedInteractionsIf true, the client supports receiving non-materialized interactions (go/as-streaming-protocol-nm).AssistantApiSurfacePropertiesExecutionCapabilitiesDescribes the capabilities that are related to the execution of client ops on the device.boolean
categoryStateAssistantApiSystemNotificationRestrictionsRestrictions related to system-level notifications.list(AssistantApiSystemNotificationRestrictionsNotificationCategoryState)
channelStateAssistantApiSystemNotificationRestrictionsRestrictions related to system-level notifications.list(AssistantApiSystemNotificationRestrictionsNotificationChannelState)
notificationCapabilitiesSpecifies whether the surface is able to display notifications.AssistantApiSystemNotificationRestrictionsRestrictions related to system-level notifications.String
categoryIdNotification channel type.AssistantApiSystemNotificationRestrictionsNotificationCategoryStateNotification channels state for the new server driven channels.integer
disabledWeather the notifications on this channel are disabled.AssistantApiSystemNotificationRestrictionsNotificationCategoryStateNotification channels state for the new server driven channels.boolean
disabledReasonAssistantApiSystemNotificationRestrictionsNotificationCategoryStateNotification channels state for the new server driven channels.String
channelTypeNotification channel type.AssistantApiSystemNotificationRestrictionsNotificationChannelStateNotification channels state.String
enabledWhether the notifications on this channel are enabled.AssistantApiSystemNotificationRestrictionsNotificationChannelStateNotification channels state.boolean
deviceActionCapabilityDeviceActionCapability from DeviceModelPackage.AssistantApiThirdPartyActionConfig3P Action Metadata. Next ID: 3AssistantDevicesPlatformProtoDeviceActionCapability
projectConfigsList of Action project capabilities.AssistantApiThirdPartyActionConfig3P Action Metadata. Next ID: 3list(AssistantApiThirdPartyActionConfigProjectConfig)
projectIdGoogle cloud project id for which the Action Package or Device Model is registered.AssistantApiThirdPartyActionConfigProjectConfigMetadata for ActionPackage. Device Actions are disabled by default unless explicitly enabled for the device here, see go/3p-device-actions-v2-design.String
dataSharingRestrictionsRestrictions for the device to share any data with third party apps. See details in go/atv-dsc.AssistantApiThirdPartyCapabilitiesString
hourThe hour, in 0…23.AssistantApiTimeOfDayA civil time relative to a timezone.integer
minuteThe minute, in 0…59.AssistantApiTimeOfDayA civil time relative to a timezone.integer
nanosecondThe fraction of seconds in nanoseconds, in 0..999999999.AssistantApiTimeOfDayA civil time relative to a timezone.integer
secondThe second, in 0…59. Leap seconds are not supported.AssistantApiTimeOfDayA civil time relative to a timezone.integer
nanosNon-negative fractions of a second at nanosecond resolution.AssistantApiTimestampAn absolute point in time independent of timezone or calendar, based on the proto3 Timestamp (//google/protobuf/timestamp.proto). NOTE: THIS IS NO LONGER RECOMMENDED TO BE USED. It was originally defined separately from google.protobuf.Timestamp due to incompatibility with proto2 syntax. The incompatibility issues have since been resolved and so the Google-wide standard representation of google.protobuf.Timestamp should be preferred. In fact, google.protobuf.* protos in general are now recommended to be used in new APIs.integer
secondsSeconds of UTC time since the Unix epoch.AssistantApiTimestampAn absolute point in time independent of timezone or calendar, based on the proto3 Timestamp (//google/protobuf/timestamp.proto). NOTE: THIS IS NO LONGER RECOMMENDED TO BE USED. It was originally defined separately from google.protobuf.Timestamp due to incompatibility with proto2 syntax. The incompatibility issues have since been resolved and so the Google-wide standard representation of google.protobuf.Timestamp should be preferred. In fact, google.protobuf.* protos in general are now recommended to be used in new APIs.String
ianaIdTime zone in IANA format, e.g. America/Los_Angeles for USA Pacific Time.AssistantApiTimeZoneA time zone. Conceptually, a time zone is a set of rules associated with a location that describes a UTC offset and how it changes over time (e.g. Daylight Saving Time). The offset is used to compute the local date and time.String
voicePinSuppressedIf true, setting this boolean means the device should not support voice PIN. For example, although the phone supports both voice and PIN pad, but we don’t want users using voice. https://docs.google.com/document/d/1M8iJQX3GuxGZGeidS8Gl4KJt3LuBWAIlolPlW10DkxU/edit#heading=h.8ovvdd3i2thvAssistantApiTransactionFeaturesSupportboolean
defaultVolumePercentageThe volume percentages for spelled out values.AssistantApiVolumePropertiesinteger
highVolumePercentageAssistantApiVolumePropertiesinteger
levelStepSizeThe number of levels to move for a step.AssistantApiVolumePropertiesfloat
lowVolumePercentageAssistantApiVolumePropertiesinteger
maximumVolumeLevelThe max number of volume levels the client supports.AssistantApiVolumePropertiesinteger
mediumVolumePercentageAssistantApiVolumePropertiesinteger
veryHighVolumePercentageAssistantApiVolumePropertiesinteger
veryLowVolumePercentageAssistantApiVolumePropertiesinteger
maxSupportedAlarmsMaximum number of alarms that can be created on the client. Zero or unset indicates no maximum limit.AssistantDevicesPlatformProtoAlarmCapabilityCapability with regard to support of alarms by the client.integer
restrictAlarmsToNextDayWhether the client restricts alarms to ring within the next 24 hours.AssistantDevicesPlatformProtoAlarmCapabilityCapability with regard to support of alarms by the client.boolean
supportsGenericMutationsWhether the client supports mutation of any alarm attribute such as time_pattern, recurrence_pattern, etc through the MUTATE action. If this is false, MUTATE may only be used to disable or dismiss an alarm. This field is true by default for backwards-compatibility; clients which don’t support mutation outside of Disable/DismissAlarm should explicitly set this to false.AssistantDevicesPlatformProtoAlarmCapabilityCapability with regard to support of alarms by the client.boolean
supportsStopActionWhether the client supports the STOP alarm action. If this is false, stop actions will be represented by the MUTATE action, and the device may need to check alarm state to determine if there’s a firing alarm that needs to be dismissed.AssistantDevicesPlatformProtoAlarmCapabilityCapability with regard to support of alarms by the client.boolean
intValueSpecAssistantDevicesPlatformProtoArgSpecAssistantDevicesPlatformProtoIntValueSpec
optionValueSpecAssistantDevicesPlatformProtoArgSpecAssistantDevicesPlatformProtoOptionValueSpec
typeAssistantDevicesPlatformProtoArgSpecString
cloudEndpointsThe list of CloudEndpoints supported by this Device Model. Note that each should have a unique |name|. If any cloud endpoints are provided here, then the first one in the list will be used by default for all Cloud Execution. An Intent may override the default by providing an |execution_config|.AssistantDevicesPlatformProtoCloudCapabilityStates the cloud capabilities of the device, i.e. the endpoint(s) to use for cloud execution of Actions or Registration.list(AssistantDevicesPlatformProtoCloudEndpoint)
nameThe name for this cloud endpoint. It’s unique per Locale. This is not an API resource name. Ex: sample-nlu-endpointAssistantDevicesPlatformProtoCloudEndpointA cloud endpoints associates with this device, it can be used for query parsing, or cloud execution.String
scopesThe list of scopes to be provided in the OAuth2 token. They must be a subset of the scopes registered in the Account Linking flow, or the request will fail. If the client itself provides the token, then this field is ignored.AssistantDevicesPlatformProtoCloudEndpointA cloud endpoints associates with this device, it can be used for query parsing, or cloud execution.list(String)
urlThe URL for this endpoint, it must start with https.AssistantDevicesPlatformProtoCloudEndpointA cloud endpoints associates with this device, it can be used for query parsing, or cloud execution.String
assistantDeviceInRoomOptOutIntegrate your device with Google’s Smart Home solution by putting your device into Google’s Home Graph, a database that stores and provides contextual data about the home and its devices. For example, Home Graph can store the concept of a living room that contains multiple types of devices, when you say “turn on the light” to a device, if you have light in the living room, that light will be turned on.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10boolean
builtInIntentModeSpecifies behavior for built-in device actions for this device model. If not specified, defaults to ENABLE_CONFIGURED_INTENTS_ONLY.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10String
customIntentModeSpecifies which custom device actions should be enabled for this device model. This will only affect the behavior of intents corresponding to those from the Action Package of this project. If not specified, defaults to ENABLE_ALL.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10String
defaultExecutionConfigDefault instructions for routing of any Intent. The data here could be overridden for specific Intents if provided directly in the ‘intents’ field.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10AssistantDevicesPlatformProtoExecutionConfig
inlinedActionCapabilitySpecifies capabilities for device actions that are inlined in the google.assistant.embedded.v1.DeviceAction message.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10AssistantDevicesPlatformProtoInlinedActionCapability
intentsIntent configurations. Built-in and custom intents may be configured here. Note that built-in intents will always behave with IntentMode of ENABLE_CONFIGURED_INTENTS_ONLY. The IntentMode for custom intents can be changed using the custom_intent_mode. To configure an intent, list it here with its intent name, e.g. “MY_CUSTOM_INTENT”, “google.assistant.car.model.capabilities.AC_TEMPERATURE”.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10list(AssistantDevicesPlatformProtoIntent)
providedDataProvided data which augments the device action capabilities. Some built-in intents may require additional configuration to be provided. One example could be the list of channels available for the `action.intent.SelectChannel` intent.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10list(AssistantDevicesPlatformProtoProvidedData)
traitsList of built-in traits such as “action.devices.traits.OnOff” See java/com/google/home/graph/service/config/protoconf.pi As of Nov. 2017, we also support custom traits for EAP users. We’ll eventually disable custom traits once custom actions are in place.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10list(String)
understandingConfigSpecifies the format how Google routes queries to 3P cloud. By default, this field is unset, all partners should get shallow NLU. This is needed *ONLY* for specific partners for strong business reasons.AssistantDevicesPlatformProtoDeviceActionCapabilityThis capability represents device action needed capability. Next ID: 10AssistantDevicesPlatformProtoUnderstandingConfig
clientOpPropertyAssistantDevicesPlatformProtoDeviceModifySettingCapabilityAssistantApiClientOpPropertiesDeviceModifySettingClientOpProperty
cloudEndpointNameInstructions for performing a cloud execution request for the Intent when the execution_type is set to CLOUD. If non-empty, then the device execution would be routed to the CloudEndpoint specified by this name. The Account Linking exchange may be performed to fetch the OAuth access token, and the access token will be included in the HTTP header.AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8String
cloudIntentTranslationDisabledIf this field is set, then the Syndication cloud call will be disabled for this intent. Note this only applies if any Syndication cloud endpoint is associated with the Device Model, otherwise setting this field does nothing. By default, all Intents that are enabled and supported by the Syndication API will be routed through the Syndication cloud endpoint if it’s provided.AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8boolean
intentCommandFormatSpecifies the intent command format for this Action. For example, in order to launch an Android intent instead of receiving the device action payload on the client, then this field can be set with “intent:/#Intent;…;my_extra={$.params.channels[0].channelCode};end” The parameter “{$.params.channels[0].channelCode}” is in JSON path format, and will be replaced with the content from the original device action payload. Thus, with # JSON “execution”: [ { “command”: “action.devices.commands.SelectChannel”, “params”: { “channels”: [{ “channelName”: “exampleChannel”, “channelCode”: “1-1” }] } } ] as the original action result, then the final result would look like “intent:/#Intent;…;my_extra=\\”1-1\\”;end”AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8String
localDisabledIf this field is set, then local execution capability is disabled for all matching intents.AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8boolean
localExecutionTypeSpecifies how to execute this Action when it is invoked locally (from the same device.)AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8String
remoteDisabledIf this field is set, then remote execution capability is disabled for all matching intents.AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8boolean
remoteExecutionTypeSpecifies how to execute this Action when it is invoked remotely (from a different device.)AssistantDevicesPlatformProtoExecutionConfigSpecifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8String
alarmSpecifies capabilities for handling on-device alarms. The presence of this field, even if empty, implies that the device supports alarms.AssistantDevicesPlatformProtoInlinedActionCapabilityAssistantDevicesPlatformProtoAlarmCapability
responseLimitsSpecifies the size limits on responses. If message is not defined then no limits exist.AssistantDevicesPlatformProtoInlinedActionCapabilityAssistantDevicesPlatformProtoResponseLimits
supportSdkExecuteWhether this device model package support sdk.EXECUTE client_op (a.k.a action.devices.EXECUTE intent), which will be filled into google.assistant.embedded.v1.DeviceAction.device_request_json. It is default to true (and not public), since all 3P will depends on the device_request_json. Only internal projects like Edoras will set this to false.AssistantDevicesPlatformProtoInlinedActionCapabilityboolean
supportedDeviceOpsSpecifies capabilities for handling assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoInlinedActionCapabilityAssistantDevicesPlatformProtoSupportedDeviceOps
supportsMultiResponseSpecifies whether server can send a series of responses for a single query. Example: Routines where multiple actions to be executed one after another.AssistantDevicesPlatformProtoInlinedActionCapabilityboolean
timerSpecifies capabilities for handling on-device timers. The presence of this field, even if empty, implies that the device supports timers.AssistantDevicesPlatformProtoInlinedActionCapabilityAssistantDevicesPlatformProtoTimerCapability
ttsOutputSpecifies whether client supports receiving `DeviceAction.tts_output`.AssistantDevicesPlatformProtoInlinedActionCapabilityAssistantDevicesPlatformProtoTtsOutputCapability
executionConfigInstructions for the routing of this Intent.AssistantDevicesPlatformProtoIntentAn intent configures the behavior of a device action for this device. Next ID: 7AssistantDevicesPlatformProtoExecutionConfig
nameThe name of the intent.AssistantDevicesPlatformProtoIntentAn intent configures the behavior of a device action for this device. Next ID: 7String
providedDataNamesList of provided data names used by this intent. Note that some built-in intents will not function properly without provided data, such as `action.intent.SwitchChannel` or `action.intent.AppSelector`.AssistantDevicesPlatformProtoIntentAn intent configures the behavior of a device action for this device. Next ID: 7list(String)
securityConfigSecurity configuration for this Intent.AssistantDevicesPlatformProtoIntentAn intent configures the behavior of a device action for this device. Next ID: 7AssistantDevicesPlatformProtoSecurityConfig
triggerConditionsThe conditions which must be met by the device before executing this Intent. More than one can be provided, in which case the conditions operate with the “AND” operator, i.e. the first condition which is failed will be used to restrict the execution of this Intent.AssistantDevicesPlatformProtoIntentAn intent configures the behavior of a device action for this device. Next ID: 7list(AssistantDevicesPlatformProtoTriggerCondition)
allowedAssistantSdkAuthProjectIdsWhen using the Assistant SDK (Embedded Assistant API), the project id used to authenticate the gRPC request is checked and must match against the project id of the Device Model. We will additionally allow the project ids listed in the device model here to be let through. See https://docs.google.com/document/d/1InAczpQJs6LCH1l–2yy67JM9hsBJbiL57fusnL3A8AAssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.list(String)
appCapabilitiesFromDeviceInstallAppsLoad the assistant.api.AppCapabilities from DEVICE_INSTALLED_APP footprint corpus. See go/edoras-geller.AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
cloudDeviceActionEndpointUses this endpoint for device action fulfillment when there’s no endpoint in syndication_metadata. 1p surfaces/devices such as telephone can enable this for its cloud action fulfillment without enabling the whole syndication experience.AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.AssistantDevicesPlatformProtoCloudEndpoint
deviceActionsEligibleForHighConfidenceSignals that the model will have updated ranking behavior as described in https://docs.google.com/document/d/1SN_AgadRr_cdIrFe-qgRbIX2J1sOE7lcRXAvM1GUPoU.AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
forceSignInMake Google sign-in mandatory for using Google Assistant on the device. (This bit is initially added for Samsung TV.)AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
forceThirdPartyDeviceIdForDeviceLookupWhen looking up device (for example for disclosure consent check), then always use the third party device id for lookup instead of any other device id which would normally have higher precedence, such as cast_device_id.AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
forceTransactionsAuthenticationAdds “transactions.AUTHENTICATION” for car automation probers. Since the probers run as Assistant SDK requests, voice match always fails for car automation requests, so we add this client op as a hack to allow probers to appear as personal devices and bypass voice match. See b/137221645.AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
hasCustomSearchResultsRenderingSignals that this device can “render” raw search results even with no screen (e.g., using a text reader). If this is true, fallback search results can be returned as a custom device action in a SearchResults message. http://google3/assistant/embedded/proto_translation/utils/proto/search_results.protoAssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
overrideProjectIdForDeviceLookupWhen looking up device (for example for disclosure consent check), use this project id as part of the primary key for the device lookup (i.e. instead of the device_config.agent_id.) The precedence is as follows: 1) this field, if set for the device’s device model 2) device_config.agent_id 3) device_model.project_idAssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.String
stadiaAssistantConfigAssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.AssistantDevicesPlatformProtoInternalCapabilityStadiaAssistantConfig
telephoneAttributionTelephone server is able to send attribution to user feature phone. See go/telephone-attribution.AssistantDevicesPlatformProtoInternalCapabilityCapabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.boolean
stadiaPlatformAssistantDevicesPlatformProtoInternalCapabilityStadiaAssistantConfigThe StadiaAssistantConfig. This field should only be set if the device model is a Stadia.String
maxValueAssistantDevicesPlatformProtoIntValueSpecString
minValueAssistantDevicesPlatformProtoIntValueSpecString
valuesAssistantDevicesPlatformProtoOptionValueSpeclist(String)
nameAssistantDevicesPlatformProtoProvidedDataProvided data which augments the device action capabilities. Some built-in intents may require additional configuration to be provided. One example could be the list of channels available for the `action.intent.SelectChannel` intent.String
clientOpPropertyAssistantDevicesPlatformProtoProviderOpenCapabilityAssistantApiClientOpPropertiesProviderOpenClientOpProperty
maxAssistResponseSizeBytesMax size in bytes of the total serialized AssistResponse receivable by the client. If response exceeds this max, response may be modified by the server.AssistantDevicesPlatformProtoResponseLimitsSpecifies the size limits on responses receivable by the client.integer
maxDisplayLinesBytesMaximum size in bytes (not characters) of text the display can handle (which may be different from how much the display can show at a time due to scrolling).AssistantDevicesPlatformProtoResponseLimitsSpecifies the size limits on responses receivable by the client.integer
maxSuggestionChipBytesMaximum size in bytes (not characters) for each suggestion chip.AssistantDevicesPlatformProtoResponseLimitsSpecifies the size limits on responses receivable by the client.integer
maxSuggestionChipsMaximum number of suggestion chips the device can handle to display.AssistantDevicesPlatformProtoResponseLimitsSpecifies the size limits on responses receivable by the client.integer
authMechanismForRemoteRequestsSpecifies auth mechanism to be used upon remote request for device action.AssistantDevicesPlatformProtoSecurityConfigEncapsulates security configuration for a single intent of a device model.String
callCall|call_call| specifies the support for the call.CALL clientop, and the corresponding call_call field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoCallCallCapability
clientReconnect|client_reconnect| indicates support for client.RECONNECT using assistant.embedded.v1.DeviceOp. There is an alternative API/capability for client.RECONNECT specified in RoutineCapability.supports_reconnect. Client should choose between this and RoutineCapability but not both.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoClientReconnectCapability
coreDismissAssistant[core_dismiss_assistant] specifies the support for core.DISMISS_ASSISTANT client_op and the corresponding core_dismiss_assistant field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoCoreDismissAssistantCapability
deviceModifySetting|device_modify_setting| specifies the support for device.MODIFY_SETTING client_op, and the corresponding device_modify_setting field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoDeviceModifySettingCapability
deviceTakePhoto[device_take_photo] specifies the support for the device.TAKE_PHOTO clientop, and the corresponding device_take_photo field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoDeviceTakePhotoCapability
executionWait|execution_wait| specifies the support for execution.WAIT client_op, and the corresponding execution_wait field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoExecutionWaitCapability
getHealthObservation|get_health_observation| specifies the support for get_health_observation client_op, and the corresponding get_health_observation field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoGetHealthObservationCapability
mediaNextAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaNextCapability
mediaPauseAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaPauseCapability
mediaPlayMediaAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaPlayMediaCapability
mediaPreviousAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaPreviousCapability
mediaResumeAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaResumeCapability
mediaShowControlsAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaShowControlsCapability
mediaStopAssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoMediaStopCapability
providerFulfill|provider_fulfill| specifies the support for provider.FULFILL client_op, and the corresponding provider_fulfill field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoProviderFulfillCapability
providerOpen|provider_open| specifies the support for provider.OPEN client_op, and the corresponding provider_open field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoProviderOpenCapability
sendChatMessage|send_chat_message| specifies the support for the chat_message.SEND clientop, and the corresponding send_chat_message field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoSendChatMessageCapability
uiShowInterpreter|ui_show_interpreter| specifies the support for ui.SHOW_INTERPRETER client_op, and the corresponding ui_show_interpreter field in assistant.embedded.v1.DeviceOp.AssistantDevicesPlatformProtoSupportedDeviceOpsThis message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19AssistantDevicesPlatformProtoUiShowInterpreterCapability
maxSupportedExtendedTimerDurationMaximum extended timer duration supported by the client. The extended timer duration is the total start-to-finish duration after an AddTimeToTimer operation. E.g. if a user sets a timer for 30 minutes, and later adds 10 minutes, the extended duration is 40 minutes. Zero or unset indicates no maximum limit.AssistantDevicesPlatformProtoTimerCapabilityCapability with regard to support of timers by the client.AssistantApiDuration
maxSupportedTimerDurationMaximum timer duration supported by the client. Zero or unset indicates no maximum limit.AssistantDevicesPlatformProtoTimerCapabilityCapability with regard to support of timers by the client.AssistantApiDuration
maxSupportedTimersMaximum number of timers that can be created on the client. Zero or unset indicates no maximum limit.AssistantDevicesPlatformProtoTimerCapabilityCapability with regard to support of timers by the client.integer
supportsMutateActionWhether the client supports the MUTATE timer action. If this is false, mutate operations may be handled by sending a pair of REMOVE and CREATE timer actions to replace the existing timer instead of mutating it.AssistantDevicesPlatformProtoTimerCapabilityCapability with regard to support of timers by the client.boolean
simpleTtsA simple TTS to play.AssistantDevicesPlatformProtoTriggerConditionA TriggerCondition is described as a set of states which must be met by the device. It also includes instructions to the Assistant on what kind of response to execute when the condition is not met.String
statusRefers to a defined ConditionalResult keyed by its status. It could be a built-in or custom ConditionalResult for this Intent. Note: the states provided by the device MUST contain all of the states required by the ConditionalResult.AssistantDevicesPlatformProtoTriggerConditionA TriggerCondition is described as a set of states which must be met by the device. It also includes instructions to the Assistant on what kind of response to execute when the condition is not met.String
supportsStructuredTtsSpecifies whether client supports out-of-band TTS synthesis. When this is enabled, client could receive TTS request message in `SpeechOutputArgs.structured_tts` which it can then use to make request to S3 for synthesizing TTS audio.AssistantDevicesPlatformProtoTtsOutputCapabilityCapabilities with regard to support of outputting TTS.boolean
nluLevelSpecifies the NLU level for the intent.AssistantDevicesPlatformProtoUnderstandingConfigSpecifies the NLU level that Google performs, which determines the request format sent to the 3P cloud.String
typeAssistantDeviceTargetingDeviceTargetingErrorThe information associated with an error while selecting the target device. Next ID: 2String
streamsAll active media streams while the user issues the query.AssistantLogsAllMediaStreamLoglist(AssistantLogsMediaStreamLog)
targetStreamThe stream selected by stream transfer logic to be transferred to another device. It will be empty for other features. Target_stream is different from target_device since target_stream could have multiple devices.AssistantLogsAllMediaStreamLogAssistantLogsMediaStreamLog
ambiguousDeviceIndexDevice index of the initial ambiguous devices. The device index in this message is consistent with the device index in DeviceInfoLog. It would be used to track more detailed information of a device if needed.AssistantLogsAmbiguousTargetDeviceLogThis message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.list(integer)
devicesAfterPromotersDeviceInfo for devices after the filters and promoters. – When device targeting is only configured for single target, these are ambiguous devices that would have been the output of Lumos. Downstream may perform extra check before disambiguation dialog. For example, Media Initiation checks playability for devices. The output here is before the check. – When configured for multi-target, these are just the target devices. For privacy consideration, we may only log device id field inside.AssistantLogsAmbiguousTargetDeviceLogThis message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.list(AssistantLogsDeviceInfoLog)
finalTargetDevicethe final targeted device selected by playability filter or DeviceSelectionDialogAssistantLogsAmbiguousTargetDeviceLogThis message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.AssistantLogsDeviceInfoLog
playabilityFilteredDevicesIndexDevice index of the devices after playability filterAssistantLogsAmbiguousTargetDeviceLogThis message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.list(integer)
puntInfoLogWhen there is no qualified devices after playability check, it would populate punt_info below. If all devices are filtered out for the same reason, there would only be one item. Otherwise, there will be multiple items.AssistantLogsAmbiguousTargetDeviceLogThis message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.list(AssistantLogsAmbiguousTargetDeviceLogPuntInfoLog)
structureFilteredDeviceIndexDevice index of the devices after structure filterAssistantLogsAmbiguousTargetDeviceLogThis message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.list(integer)
deviceIndexIndex of devices that have the same punt info during playability check, i.e. same media_excuse and provider_mid.AssistantLogsAmbiguousTargetDeviceLogPuntInfoLogPuntInfoLog is used to log why devices get filtered out during media content playability check. It contains media excuse, provider mid and also index of devices filtered by them.list(integer)
mediaExcuseExcuse for media action triggering. See: assistant/verticals/media/proto/media_excuse.proto.AssistantLogsAmbiguousTargetDeviceLogPuntInfoLogPuntInfoLog is used to log why devices get filtered out during media content playability check. It contains media excuse, provider mid and also index of devices filtered by them.integer
providerMidProvider id that the excuse belongs to. This is the KG MID of the provider, e.g., “/m/09jcvs” for Youtube.AssistantLogsAmbiguousTargetDeviceLogPuntInfoLogPuntInfoLog is used to log why devices get filtered out during media content playability check. It contains media excuse, provider mid and also index of devices filtered by them.String
localNetworkIdDiffThe diff between AvailableDevice and CTF for the local network ID of the device.AssistantLogsAvailableDeviceAndCtfContextDiffLogA list of per-device contexts and their respective diffs between AvailableDevice and CTF.String
locationFeatureDiffThe diff between AvailableDevice and CTF for the feature proto of the location of the device.AssistantLogsAvailableDeviceAndCtfContextDiffLogA list of per-device contexts and their respective diffs between AvailableDevice and CTF.String
availableDeviceInfoLogAssistantLogsAvailableDevicesLogContains the available devices in DeviceTargetingContext.list(AssistantLogsDeviceInfoLog)
rawContactInfoThis list provides account information from the raw contact which is the source of this field.AssistantLogsCommunicationDeviceContactInfoLogThis is the log version of apps.people.oz.external.mergedpeopleapi.DeviceContactInfo Next ID: 2list(AssistantLogsCommunicationRawDeviceContactInfoLog)
relativeCostAssistantLogsCommunicationFuzzyNgramMatchLogThis is the log version of fuzzy ngram match results that’s used for generating the best fuzzy match. Next ID: 3number
typeAssistantLogsCommunicationFuzzyNgramMatchLogThis is the log version of fuzzy ngram match results that’s used for generating the best fuzzy match. Next ID: 3String
emailAssistantLogsCommunicationGoogleAccountProvenanceFrom google3/quality/qrewrite/proto/account_provenance.proto;l=14 We need to copy this as the above proto has Enum field which is not compatible between proto2 and proto3. go/proto2-versus-proto3#enumsString
gaiaIdAssistantLogsCommunicationGoogleAccountProvenanceFrom google3/quality/qrewrite/proto/account_provenance.proto;l=14 We need to copy this as the above proto has Enum field which is not compatible between proto2 and proto3. go/proto2-versus-proto3#enumsString
isDasherAccountAssistantLogsCommunicationGoogleAccountProvenanceFrom google3/quality/qrewrite/proto/account_provenance.proto;l=14 We need to copy this as the above proto has Enum field which is not compatible between proto2 and proto3. go/proto2-versus-proto3#enumsboolean
accountProvenanceGoogle AccountProvenance of the contact.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31AssistantLogsCommunicationGoogleAccountProvenance
commonNameAliasConfidencePopulated if matched_name_type is GIVEN_NAME_ALIAS or FULL_NAME_ALIAS.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31number
conceptIdConcept id for relationships in English, e.g. “Mother” for all non-English locales. It’s only populated for source = RELATIONSHIP.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
deviceContactAttributesInteger value corresponding to DeviceContactExtraMetadata.Attribute enum. http://google3/social/graph/wire/proto/merged_person.proto?l=933&rcl=320308954AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31list(integer)
emailIdCount# emails stored for the contact.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31integer
fuzzyNgramMatchPopulate only if ContactRecognitionAlternate.Source is ‘FUZZY_CONTACT_MATCH’.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31list(AssistantLogsCommunicationFuzzyNgramMatchLog)
gaiaIdContact owner’s gaia id from cs/symbol::symbol:quality_qrewrite.PersonalContactData.shared_contact_owner_gaia_id. Only populated for is_shared = true and non sign-out mode and user is not the owner of the contact(shared contact from other user). This field is not being logged in P2.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
isContactFromSecondaryAccountBoolean value indicating whether selected contact is from different account than the logged in account.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31boolean
isExactMatchIf the contact is matched exactly from the query name.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31boolean
isSharedIf this is a shared contact. This is true in 2 cases: – User is calling their own contacts that have been marked as shared. – User is calling shared contacts from some other user’s contact list. This field is not being logged in P2.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31boolean
isTransliteratedMatchIndicate the contact matches the transliterated query.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31boolean
isVanityContactTrue if the contact is a vanity contact(has email = user’s email address).AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31boolean
isVisibleToGuestsRelationshipIf the lookup was done using relationship which is visible to guests. This value will only be set if lookup was done using relationship. E.g. user has a guest relationship (doctor) -> (John) And user says “call doctor”, then this value will be true.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31boolean
matchedNameTypeThe matched name type of a contact candidate.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
matchedRecognitionAlternateNameAlternate recognition term which was used to match this contact.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
matchedStarlightLookupNameNgram matched by starlight lookup for fuzzy matching in fulfillment. We need this to analyze how many contacts are returned by starlight lookup that is not matched by fuzzy matching. For example, “Komal Dear” is matched to “Komal Dr” by fuzzy match. When doing starlight lookup, “Komal” and “Dr” will be looked up separately. So “Dr xxx” will also be returned. We want to see how often this happens.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31list(String)
metadataPersonMetadata of the selected contact.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31AssistantLogsCommunicationPersonMetadataLog
nameMatchedContactIndexThe indices of the contact in |candidate_contact| whose name matches the |selected_contact_data|. |candidate_contact|: http://google3/logs/proto/assistant/contact.proto?l=111&rcl=306283376 |selected_contact_data|: http://google3/logs/proto/assistant/contact.proto?l=108&rcl=306283376AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31list(integer)
originalQueryNameThe original name in the query as transcribed by ASR.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
phoneInformation regarding the phone endpoints of the selected contact. Currently it is only logged for selected candidate.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31list(AssistantLogsCommunicationPhoneLog)
phoneNumberCount# phone_numbers stored for the contact.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31integer
pkgReferenceTypeEncodes if pkg_person was resolved via a name or relationship reference.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
recognitionAlternateScorePopulate only if ContactRecognitionAlternate.Source is not NONE.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31number
recognitionAlternateSourceRecognition alternative source type. If not none, then it indicates the personal contact data is alternative and how the alternative is fulfilled.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
relationshipMemoryCountThe number of resolved relationship names and contact pointers from Assistant Memory.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31integer
selectedPhoneInformation regarding the selected phone endpoint. Currently it is only logged for selected candidate.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31AssistantLogsCommunicationPhoneLog
shortcutContactInfoShortcut information of the contact.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31MajelContactInformationShortcutInformation
sourceThe contact source of a contact candidate.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31String
systemContactGroupIdInteger value corresponding to SystemContactGroup enum. http://google3/social/graph/wire/proto/merged_person.proto?l=3151&rcl=320308954AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31list(integer)
whatsappPhoneNumberCountDEPRECATED. Use phone instead. Used before 2020-01-13. Number of phone numbers annotated with Whatsapp.AssistantLogsCommunicationPersonalContactDataLogContact meta data. Next ID: 31integer
deviceContactInfoAssistantLogsCommunicationPersonMetadataLogThis is the log version of apps.people.oz.external.mergedpeopleapi.PersonMetadata Next ID: 2list(AssistantLogsCommunicationDeviceContactInfoLog)
rawDeviceContactInfoThis list provides account information from the raw contact which is the source of this field.AssistantLogsCommunicationPhoneLogThis is the log version of apps.people.oz.external.mergedpeopleapi.Phone proto. Next ID: 3list(AssistantLogsCommunicationRawDeviceContactInfoLog)
typeLabel for phone number in the Contacts app. It can have standard values provided by the app e.g. MOBILE, HOME, WORK etc, but users are allowed to modify. So essentially it becomes user content.AssistantLogsCommunicationPhoneLogThis is the log version of apps.people.oz.external.mergedpeopleapi.Phone proto. Next ID: 3String
accountTypeAccount type of raw contact, e.g. “com.google” or “com.linkedin.android”.AssistantLogsCommunicationRawDeviceContactInfoLogThis is the log version of apps.people.oz.external.mergedpeopleapi.RawDeviceContactInfo proto. Next ID: 3String
defaultSpeakerAssistantLogsDefaultDeviceLogLog device info of default speaker and tvAssistantLogsDeviceInfoLog
defaultTvAssistantLogsDefaultDeviceLogLog device info of default speaker and tvAssistantLogsDeviceInfoLog
sourceDeviceIdAssistantLogsDefaultDeviceLogLog device info of default speaker and tvString
localDefaultDevicesAssistantLogsDefaultDevicesLogAssistantLogsDefaultDeviceLog
nearbyDefaultDevicesDefault settings of nearby devices.AssistantLogsDefaultDevicesLoglist(AssistantLogsDefaultDeviceLog)
deviceIdLogThe identification of the device. The logging version of the full DeviceId.AssistantLogsDeviceAnnotationLogDevice annotation mention from querylist(AssistantLogsSettingsDeviceIdLog)
rawTextFromQueryThe raw text mentioning a device from the query, such as “any tv”.AssistantLogsDeviceAnnotationLogDevice annotation mention from queryString
typeThe annotation type mentioned in the query.AssistantLogsDeviceAnnotationLogDevice annotation mention from queryString
userDefinedNameThe matched device name set by the user, such as “big screen tv”.AssistantLogsDeviceAnnotationLogDevice annotation mention from queryString
arbitrationDeviceIdDevice identifier string for the current device used in the arbitration service.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
availableDeviceAndCtfContextDiffA list of diffs for the device’s context between AvailableDevice and CTF.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19AssistantLogsAvailableDeviceAndCtfContextDiffLog
connectivityAssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
deviceIdThe identification of the device. DeviceId (go/as-device-id) has multiple fields. To consloidate it to a single to make dremel easier, we use the string obtained by calling go/get-device-id.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
deviceIdLogThe identification of the device. The logging version of the full DeviceId.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19AssistantLogsSettingsDeviceIdLog
deviceIndexWe index linked devices and log these index to avoid logging device_id. device_index should always be a positive number or -1. -1 means this device is not in homegraph.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19integer
deviceModelIdThis is the device_model_id field in device_settings proto. It has the same value for the same type of devices. e.g. Sonos.Sonos One.S13AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
distanceLINT.ThenChange(//depot/google3/assistant/context/proto/device_arbitration.proto:EstimatedRelativeDistance)AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
eliminatingLumosProcessorThe lumos processor which eliminated this device, if applicableAssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
homeStructureIdThe home structure id of the device.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
isRemoteAssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19boolean
isTetheredThis flag indicates this is a non-local device that is tethered to local/originating device. Tethered device is a special case of is_remote and typically used in wearable scenarios. This is always false for local device and when it is true, it implies is_remote is also true.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19boolean
mediaCapabilitiesAssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19AssistantLogsMediaCapabilities
mediaDeviceTypeAssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
nameUser defined device nameAssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
sessionsThis field should be populated only when there is at least one session on this device.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19list(AssistantLogsDeviceMediaSessionLog)
surfaceTypeThis field should be populated only when the device is an Assistant device.AssistantLogsDeviceInfoLogThe information related to the device. Next ID: 19String
deviceIdAssistantLogsDeviceMediaSessionLogLog about the media session on a device.AssistantApiCoreTypesDeviceId
mediaSessionTypeAssistantLogsDeviceMediaSessionLogLog about the media session on a device.String
mediaTypeThe type of the media session. If provider does not report this field, we ## compute it by mapping provider type to media type. Here is the mapping: |ProviderType |MediaItemMetadata.Type| |————————————– |MUSIC |TRACK | |VIDEO |VIDEO | |LIVE_TV |TV_CHANNEL | |AUDIOBOOK |AUDIO_BOOK | |PODCAST |PODCAST_EPISODE | ## |LIVE_STREAMING|VIDEO |AssistantLogsDeviceMediaSessionLogLog about the media session on a device.String
playbackStateThe playback states of the session.AssistantLogsDeviceMediaSessionLogLog about the media session on a device.String
providerMidThe KG mid of the media provider.AssistantLogsDeviceMediaSessionLogLog about the media session on a device.String
supportedTransportControlAssistantLogsDeviceMediaSessionLogLog about the media session on a device.list(String)
allDefaultDevicesDefault settings of all nearby devices Deprecated, use default_devices_log instead.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23list(AssistantLogsDefaultDeviceLog)
allMediaStreamLogLogs all active media sessions.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsAllMediaStreamLog
availableDevicesLogThe list of `available_devices` as they appear in DeviceTargetingContext. This is very useful for debugging diffs between GB and CMP since they have different methods of populating the `available_devices` field.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsAvailableDevicesLog
counterfactualDeviceSelectionLogDeviceSelectionLog for counterfactual logging.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsDeviceSelectionLog
defaultDevicesInclude default tv and default speaker Deprecated, use all_default_devices below.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsDefaultDeviceLog
defaultDevicesLogAssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsDefaultDevicesLog
devicesStrTemporaray field for debugging ANDROID_AUTO multi_target_devices punt. This will be removed once we identify the root cause.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23list(String)
inputErrorLogAssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23list(AssistantLogsInputErrorLog)
localDeviceNow we just log the media sessions on local device Deprecated, use NearbyDevicesLog::LocalDevice instead.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsDeviceInfoLog
logDataSourceIndicates which library populated the device_selection_log for this query.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23String
mediaFocusThe Media Focus information. This field should be populated only when there is a Media Focus. Deprecated, use media_focuses below instead.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsMediaFocusInfoLog
mediaFocusesLogMedia focuses on all devices.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsMediaFocusesLog
nearbyDevicesLogAll nearby devices and local device.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsNearbyDevicesLog
queryAnnotationThis should log the query annotation features found in the device, such as the device annotation, the room annotation, and the structure annotation from the query.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsQueryAnnotationLog
selectionResultThe result of device selection.AssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23AssistantLogsDeviceSelectionResultLog
testCodesAssistantLogsDeviceSelectionLogContains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23list(AssistantLogsDeviceTargetingTestCode)
ambiguousTargetDevicesDeprecated, please use qualified_devices.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11AssistantLogsAmbiguousTargetDeviceLog
deviceSelectionDecisionSummaryAssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11AssistantLogsMediaDeviceSelectionDecisionSummary
deviceTargetingErrorTypeAssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11String
finalLumosStageThe class name for the final filter/promoter used by Lumos for device targeting. This filter or promoter runs for all users, and contains no data specific to the individual user.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11String
lowConfidenceTargetDevice////////////////////////////////////////////////////////////////////////// Ambiguous Results: the library failed to select the final target device(s) but it narrows down to a set of devices which are all valid target device candidates. The client needs to do further disambiguation, e.g., giving a dialog or having customized logic. The low confidence target device means the library falied to select the target device but it picked two devices for the client to do disambiguation.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11AssistantLogsLowConfidenceTargetDeviceLog
mediaFocusSelectionErrorType////////////////////////////////////////////////////////////////////////// This field log the error while selecting target device in media_focus_selector.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11String
processorInfoThe log for each stage of Lumos, showing the number of eliminated devices from each processor.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11list(AssistantLogsLumosProcessorInfo)
qualifiedDevicesWe will apply several filters and dialogs to select a target device if media_focus_selector fail to select one. This field should log the devices left after each filter or dialog. It also log the detailed info of the final target device.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11AssistantLogsAmbiguousTargetDeviceLog
singleTargetDevice////////////////////////////////////////////////////////////////////////// Unambiguous Results: the library successfully selected the final target device(s) and no further disambiguation is needed. Deprecated, please use target_device.AssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11AssistantLogsDeviceInfoLog
targetDeviceAssistantLogsDeviceSelectionResultLogLog the selection result. Next ID: 11AssistantLogsTargetDeviceLog
typeAssistantLogsDeviceTargetingTestCodeTest code is used to track special events happening in Device Targeting Library. Next Id: 2String
errorCodeAssistantLogsInputErrorLoginteger
errorTypeAssistantLogsInputErrorLogString
fallbackDeviceLogThe fallback device.AssistantLogsLowConfidenceTargetDeviceLogRepresents the case where there is a target device with low confidence so that the library didn’t directly target it. Instead, the library returns the low confidence target device and the fallback device for the client to decide to either trigger a dialog to disambiguate or select one of them based on extra business logic. Next ID: 3AssistantLogsDeviceInfoLog
lowConfTargetDeviceLogThe selected low confidence focus device.AssistantLogsLowConfidenceTargetDeviceLogRepresents the case where there is a target device with low confidence so that the library didn’t directly target it. Instead, the library returns the low confidence target device and the fallback device for the client to decide to either trigger a dialog to disambiguate or select one of them based on extra business logic. Next ID: 3AssistantLogsDeviceInfoLog
devicesAfterRunNumber of candidate devices after this stage is run.AssistantLogsLumosProcessorInfointeger
devicesBeforeRunNumber of candidate devices before this stage is run.AssistantLogsLumosProcessorInfointeger
processorNameName of the processor for this stage.AssistantLogsLumosProcessorInfoString
canReceiveRemoteActionAssistantLogsMediaCapabilitiesboolean
hasScreenAssistantLogsMediaCapabilitiesboolean
deviceSelectionPreferenceUsedAssistantLogsMediaDeviceSelectionDecisionSummaryA summary of the reasons that we chose a certain target device.String
deviceSelectionReasonAssistantLogsMediaDeviceSelectionDecisionSummaryA summary of the reasons that we chose a certain target device.String
miscSelectionSignalAssistantLogsMediaDeviceSelectionDecisionSummaryA summary of the reasons that we chose a certain target device.list(String)
dialogTriggeredAssistantLogsMediaFocusesLogFollowing are the MDA compatible loggings for media focus, default settings and nearby devices.boolean
localMediaFocusAssistantLogsMediaFocusesLogFollowing are the MDA compatible loggings for media focus, default settings and nearby devices.AssistantLogsMediaFocusInfoLog
mediaFocusesDeprecated, use nearby_media_focuses instead.AssistantLogsMediaFocusesLogFollowing are the MDA compatible loggings for media focus, default settings and nearby devices.list(AssistantLogsMediaFocusInfoLog)
nearbyMediaFocusesMediaFouces found on nearby devices.AssistantLogsMediaFocusesLogFollowing are the MDA compatible loggings for media focus, default settings and nearby devices.list(AssistantLogsMediaFocusInfoLog)
currentFocusDurationSecHow long the device is in focus so farAssistantLogsMediaFocusInfoLogThe information related to Media Focus. TODO(b/138952173) Deprecate MediaFocusState in logs/proto/majel_gws/media_action_triggering_info.proto and assistant/verticals/media/proto/target_device_info.protointeger
dialogTriggeredTODO(b/134944092) Log MediaFocusDialogTrigger Enum in focus_status.AssistantLogsMediaFocusInfoLogThe information related to Media Focus. TODO(b/138952173) Deprecate MediaFocusState in logs/proto/majel_gws/media_action_triggering_info.proto and assistant/verticals/media/proto/target_device_info.protoboolean
focusDeviceLINT.ThenChange(//depot/google3/logs/proto/majel_gws/media_action_triggering_info.proto) The focus device.AssistantLogsMediaFocusInfoLogThe information related to Media Focus. TODO(b/138952173) Deprecate MediaFocusState in logs/proto/majel_gws/media_action_triggering_info.proto and assistant/verticals/media/proto/target_device_info.protoAssistantLogsDeviceInfoLog
mediaFocusStateThe media focus state at the time of the request.AssistantLogsMediaFocusInfoLogThe information related to Media Focus. TODO(b/138952173) Deprecate MediaFocusState in logs/proto/majel_gws/media_action_triggering_info.proto and assistant/verticals/media/proto/target_device_info.protoString
sourceDeviceIdThe source device of media focus.AssistantLogsMediaFocusInfoLogThe information related to Media Focus. TODO(b/138952173) Deprecate MediaFocusState in logs/proto/majel_gws/media_action_triggering_info.proto and assistant/verticals/media/proto/target_device_info.protoString
deviceIndexThe device index in this message is consistent with the device index in DeviceInfoLog. This field refers to the devices that hosting the session.AssistantLogsMediaStreamLogMedia stream is composed of a media session and one or more devices which are hosting (playing) the session. Usually, a session is only hosted by one devcie. However, with cast group or stream transfer/expansion, a session could be hosted by multiple devices, which are playing the same session simultaneously.list(integer)
sessionAssistantLogsMediaStreamLogMedia stream is composed of a media session and one or more devices which are hosting (playing) the session. Usually, a session is only hosted by one devcie. However, with cast group or stream transfer/expansion, a session could be hosted by multiple devices, which are playing the same session simultaneously.AssistantLogsDeviceMediaSessionLog
deviceArbitrationCreationTimestampMsThe timestamp that DeviceArbitration is created in milliseconds.AssistantLogsNearbyDevicesLogString
deviceTargetingInputCreationTimestampMsThe timestamp that DeviceTargetingInput is built in milliseconds.AssistantLogsNearbyDevicesLogString
eliminatedByFurtherDistanceAssistantLogsNearbyDevicesLoginteger
eliminatedByLocalClosestAssistantLogsNearbyDevicesLoginteger
eliminatedByUnknownDifferentRoomAssistantLogsNearbyDevicesLoginteger
eliminatedByUnregisteredDeviceAssistantLogsNearbyDevicesLoginteger
localDeviceAssistantLogsNearbyDevicesLogAssistantLogsDeviceInfoLog
nearbyDevicesAssistantLogsNearbyDevicesLoglist(AssistantLogsDeviceInfoLog)
numClosestDevicesAssistantLogsNearbyDevicesLoginteger
numEquallyCloseDevicesAssistantLogsNearbyDevicesLoginteger
numFurtherDevicesAssistantLogsNearbyDevicesLoginteger
numHearingDevicesAssistantLogsNearbyDevicesLoginteger
numUnknownDistanceDevicesAssistantLogsNearbyDevicesLoginteger
langAssistantLogsProviderAnnotationLogProvider annotation annotated from the query. These fields contain the detailed information for the provider. (e.g. for Youtube, package_names contains “com.google.android.youtube”, localized_names contains “youtube”, and lang contains “en” from “en-US” which depends on user’s setting.)String
localizedNamesAssistantLogsProviderAnnotationLogProvider annotation annotated from the query. These fields contain the detailed information for the provider. (e.g. for Youtube, package_names contains “com.google.android.youtube”, localized_names contains “youtube”, and lang contains “en” from “en-US” which depends on user’s setting.)list(String)
packageNamesAssistantLogsProviderAnnotationLogProvider annotation annotated from the query. These fields contain the detailed information for the provider. (e.g. for Youtube, package_names contains “com.google.android.youtube”, localized_names contains “youtube”, and lang contains “en” from “en-US” which depends on user’s setting.)list(String)
deviceAnnotationDeprecated, please use room_annotations.AssistantLogsQueryAnnotationLogLog about the query requirementsAssistantLogsDeviceAnnotationLog
deviceAnnotationsLog the device annotations mentioned in the query.AssistantLogsQueryAnnotationLogLog about the query requirementslist(AssistantLogsDeviceAnnotationLog)
providerAnnotationLog the provider annotations annotated from the query.AssistantLogsQueryAnnotationLogLog about the query requirementsAssistantLogsProviderAnnotationLog
roomAnnotationTODO(b/171250187) Deprecates the optional RoomAnnotationLog and DeviceAnnotationLog. Deprecated, please use device_annotations.AssistantLogsQueryAnnotationLogLog about the query requirementsAssistantLogsRoomAnnotationLog
roomAnnotationsLog the room annotations mentioned in the query.AssistantLogsQueryAnnotationLogLog about the query requirementslist(AssistantLogsRoomAnnotationLog)
structureAnnotationsLog the structure annotations mentioned in the query.AssistantLogsQueryAnnotationLogLog about the query requirementslist(AssistantLogsStructureAnnotationLog)
createdSecondsAgoThe reminder is created N seconds ago. This helps tracking how the user issues follow-up actions after reminder is created. For example, whether the user likes to issues another [show reminders] query right after reminder is created?AssistantLogsReminderLogAnnotate a single reminder instance.String
retrievedRankingClassIf the reminder is retrieved by a ranking class (see go/opa-reminders-ranker), this will be populated with the class info. Refer to assistant.productivity.ReminderRankingClass.RankingType. Since that proto is in proto2 format, we can only wire by int type.AssistantLogsReminderLogAnnotate a single reminder instance.integer
rawTextFromQueryThe raw text mentioning a room from the query, such as “my living room”.AssistantLogsRoomAnnotationLogRoom annotation mentioned in query.String
roomCountThe number of rooms annotated, if there are multiple structures. They are guaranteed to have the same text_from_query and name due to exact matching.AssistantLogsRoomAnnotationLogRoom annotation mentioned in query.integer
roomIdThe identification of the room.AssistantLogsRoomAnnotationLogRoom annotation mentioned in query.list(String)
typeThe annotation type mentioned in the query.AssistantLogsRoomAnnotationLogRoom annotation mentioned in query.String
userDefinedNameAssistantLogsRoomAnnotationLogRoom annotation mentioned in query.String
agsaClientInstanceIdThe client_instance_id on devices with GSA. See ‘client_instance_field’ in go/androidids.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
alloDeviceIdAllo Id. Corresponds to the GBotRequest.Sender.sender. This ID type should be deprecated by now, yet we’ve observed it serving prod traffic in GB.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
canonicalDeviceIdA unique device ID for Assistant devices as proposed by go/ocelot-team.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
castDeviceIdIf set, indicates that the device is a cast device, and contains the UUID of the cast device. Corresponds to the device_id field of the CastDevice proto.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
clientInstanceIdDUSI (go/dusi) is used as the identifier here. This identifier is unique to the user and device. This will help identify which device or application the user’s request originated from. This is not to be confused with the client_instance_id that android devices provide. This is currently used by surfaces that use the assistant-legacy-nexus and assistant-legacy-clockwork pipelines. DUSI is created and set in S3. This field is only filled for GAIA requests.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
deviceConfigIdThe unique DeviceConfig to the specific third party device. It is also used by Android Auto Embedded first party device. See go/opa-ids.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
homeGraphDeviceIdThe unique device ID for HomeGraph devices. This is the HomeGraph ID, created when the device is registered into HomeGraph. It is immutable for the same device unless it is completely deleted and recreated. See go/home-graph for details. }AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
libassistantDeviceIdThe unique ID for libassistant based devices.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
opaIosDeviceIdThe unique device ID for the Assistant App on iOS. See go/opa-ios-design for details.AssistantLogsSettingsDeviceIdLogThe logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9String
rawTextFromQueryThe raw text mentioning a structure from the query, such as “my house”.AssistantLogsStructureAnnotationLogStructure annotation mentioned in query.String
structureIdThe identification of the structure.AssistantLogsStructureAnnotationLogStructure annotation mentioned in query.list(String)
typeThe annotation type mentioned in the query.AssistantLogsStructureAnnotationLogStructure annotation mentioned in query.String
userDefinedNameAssistantLogsStructureAnnotationLogStructure annotation mentioned in query.String
devicesAssistantLogsTargetDeviceLogRepresents the case where the library successfully selects the target device. It could be one or multiple devices. Next ID: 4list(AssistantLogsDeviceInfoLog)
lowConfidenceReasonAssistantLogsTargetDeviceLogRepresents the case where the library successfully selects the target device. It could be one or multiple devices. Next ID: 4String
resultConfidenceLevelAssistantLogsTargetDeviceLogRepresents the case where the library successfully selects the target device. It could be one or multiple devices. Next ID: 4String
deviceNameAssistantPfrDeviceRdMetadataString
deviceTypesAssistantPfrDeviceRdMetadatalist(String)
effectiveArgSpanLengthAssistantPfrDeviceRdMetadatanumber
hasAmbiguousResolutionsTrue if there are more than one possible resolutions to the RD.AssistantPfrDeviceRdMetadataboolean
hasResolvedDeviceIdTrue if there’s at least one device id that gets resolved. Note this is different from is_grounded = true: it is possible that is_grounded = false (num_grounded_args =0) but there is resolved device ids. E.g.: “turn on the blue light” Power_on(device_object = [d1, d2]:RD(category=DeviceObject(name=’blue light’)) where there are “blue light 1” and “blue light 2” hence two resolved device ids. But since the quantifier is single, GB can’t resolve the ambiguity and would set num_grounded_args = 0 to indicate such unresolved ambiguity.AssistantPfrDeviceRdMetadataboolean
roomNameAssistantPfrDeviceRdMetadataString
deviceRdMetadataEach DeviceRdMetadata represents one device RD (device slot) in the intent. Note that each device RD could have multiple device groundings inside of it.AssistantPfrSmartHomeIntentMetadataUsed by the Smarthome Business Rules twiddler to determine whether to replace the top-scoring Smarthome intent with another.list(AssistantPfrDeviceRdMetadata)
intentNameAssistantPfrSmartHomeIntentMetadataUsed by the Smarthome Business Rules twiddler to determine whether to replace the top-scoring Smarthome intent with another.String
isExactMatchWhen num_constraints == num_constraints_satisfied, indicating all slot matchings are exact match.AssistantPfrSmartHomeIntentMetadataUsed by the Smarthome Business Rules twiddler to determine whether to replace the top-scoring Smarthome intent with another.boolean
isGroundedWhen num_grounded_args > 0, indicating there is at least one top-level argument is grounded.AssistantPfrSmartHomeIntentMetadataUsed by the Smarthome Business Rules twiddler to determine whether to replace the top-scoring Smarthome intent with another.boolean
fingerprintAssistantPfrTiebreakingMetadataFeatures used by the PrefulfillmentRanker’s scorer exclusively to break ties.String
sortedNameStringAssistantPfrTiebreakingMetadataFeatures used by the PrefulfillmentRanker’s scorer exclusively to break ties.String
fulfillableDominantMediaWhether this is a fulfillable, dominant Media intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
generatedByLegacyAquaDomainWhether or not the intent was generated by a legacy Aqua domain that PFR should care about.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
hasAnswerGroupWhether the interpretation has a Search answer group object, signifying it came from Search resolution.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
subIntentTypeAssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74String
isIntentFromOrbitWhether the intent is from ORBIT.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
usesGroundingBoxWhether the interpretation should run through grounding box or not.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
effectiveArgSpanLengthThe total effective length of the spans for the arguments used to construct the parse. May include vertical specific adjustments. Eg: For the query [delete my 7 p.m. alarm called chicken] and intent Delete_alarm(alarm_object=RD(category=AlarmObject( label=”chicken”, trigger_time_datetime=<< 7 PM >>))), the effective argument span is “7 p.m.” + “chicken” (total length of 13).AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74number
phaseQuery understanding phase the intent was produced in.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74String
isFullyGroundedWhether the intent is fully grounded.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isSageInNageIntentWhether the intent is produced by the Sage IntentGenerator invoked by the NSP intent-generator (thus, Sage-in-NSP-invoking_Sage, or Sage-in-Nage).AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isSageDisabledIntentWhether the intent is an intent marked disabled by the Sage IG.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
deepMediaDominantWhether the intent is dominant according to NSP deep-media.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isVideoIntentWhether the intent is a media object video intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
parsingScoreMse8BucketIdA ID corresponding to which bucket a given parsing score belongs in.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74integer
predictedIntentConfidenceIntent confidence predicted by the AssistantVerticalClassifier QRewrite servlet.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74number
nspIntentParseScoreParse score generated by NSP. If NSP intent has been pruned due to dededuplication, It will have highest parse score for deduplicated intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
numConstraintsSignals as proposed in go/improved-grounding-signals. Sum of the number of constraints used by the Grounding Box to ground each variable.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
isPodcastIntentWhether the intent is a podcast intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isDummyIntentAssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isScoreBasedIntentWhether this intent is a score-based intent, relying on PFR for scoring and pruning to the top intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
platinumSourceWhether the intent comes from the Sage IntentGenerator’s “platinum” source, signifying high-confidence in quality.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
nspRankRank of the intent as reported by NSP.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74integer
dominantIndicates interpretation dominance predicted by KScorerAssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isRadioIntentWhether the intent is a PlayMedia radio intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
searchDispatchThe determination made by the SearchDispatchingConfig as to whether and how this interpretation should be dispatched to Search.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74String
isHighConfidencePodcastIntentUsed for PFR manual rule to prefer high confidence podcast intent (e.g. topical, genre) over generic podcast intents.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
calibratedParsingScoreA parsing score that is independently calibrated by each parser/IG.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
intentNameAuisScoreExpAssistant User Interaction Score which is aggregated using intent name from exp laelaps.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
inQueryMaxEffectiveArgSpanLengthThis is a cross-intent feature which is calculated by iterating all intent candidates. This feature should be populated in post-IG stage (before GB).AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74number
pq2tVsAssistantIbstCosineCosine similarity between predicted query-to-term model and assistant intent-type-based salient terms. This is intended to be only used for ACE ranking and only populated for assistant traffic.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
isTvmIntentWhether the intent is a media object tvm intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
numGroundedArgsNumber of grounded arguments the intent has, populated by the Grounding Box.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
numGroundableArgsGrounding Signals. Number of groundable arguments the intent has, populated by the Grounding Box.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
intentTypeintent_type differentiates between intents that share the top level intent name. For eg: for TV_FALLBACK_SEARCH_INTENT, the top level intent name must be “Find_media” and the media_object argument within it must be of type “Media_unspecified”.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74String
pq2tVsIbstCosineCosine similarity between predicted query-to-term model and intent-type-based salient terms. This is intended to be used as a backoff to pq2t_vs_qibst_cosine if it is missing.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
isNspIntentWhether this interpretation was genearted by NSP.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isSageIntentWhether this intent was generated by Sage.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
intentNameAuisScoreQUS intent-based ranking signals. Assistant User Interaction Score which is aggregated using intent name.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
kScoreUsed for PFR manaul rule to prefer high kscore radio intent. The k-score comes from twiddled_ranking_scores in query interpretations.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74number
isAquaMediaIntentWhether the intent aqua intent from media domain enabled in QBTAssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isValidSmarthomeIntentWhether the intent is a Smarthome-domain intent with valid device arguments.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
tiebreakingMetadataAssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74AssistantPfrTiebreakingMetadata
smarthomeIntentMetadataSmartHome intent metadata used for the SmartHome business-rules twiddler.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74AssistantPfrSmartHomeIntentMetadata
numConstraintsSatisfiedSum of the number of constraints satisfied for each variable. Depending on the match score for a constraint, this number can be fractional and is in the range [0, num_constraints]. Populated by the Grounding Box.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
isMediaControlIntentWhether the intent is a media control intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
isPodcastGenericIntentUsed for PFR manual rule to prefer high confidence podcast intent (e.g. topical, genre) over generic podcast intents.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
maxHgrScoreAcrossBindingSetsThe maximum score assigned by the Horizontal Grounding Ranker (HGR) across all of the intent’s binding sets.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74float
intentNameintent_name is used by PFR ensemble model. See go/pfr_ha_launch_docAssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74String
kscorerRankThe rank order of the interpretation as determined by kscorer. The kscorer-determined dominant interpretation, if any, gets a rank of 0. The remaining N interpretations get a rank of 1 through N.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74integer
isPlayGenericMusicWhether the intent is a PlayGenericMusic-type intent.AssistantPrefulfillmentRankerPrefulfillmentSignalsSignals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 74boolean
name[REQUIRED] The name of the list item.AssistantProductivityListItemA message to represent an item in a list. Just a basic string for now, but extensible for the future.String
idREQUIRED. An unique identifier for the attachment. We have a plan to index this field, so it’s marked as REQUIRED. Chat with opa-reminders-eng@ if you have a use case without an attachment ID.AssistantRemindersAttachmentProto descrbing an attachment to an Assistant Reminder. If the attachment has different behavior on different surfaces (e.g., deeplinks), there will be multiple attachments attach to the Reminder. Each of them will specify the surface type and the corresponding deeplink.String
linkAssistantRemindersAttachmentProto descrbing an attachment to an Assistant Reminder. If the attachment has different behavior on different surfaces (e.g., deeplinks), there will be multiple attachments attach to the Reminder. Each of them will specify the surface type and the corresponding deeplink.AssistantRemindersAttachmentLink
surfaceTypeREQUIRED. Surface types this attachment should be shown.AssistantRemindersAttachmentProto descrbing an attachment to an Assistant Reminder. If the attachment has different behavior on different surfaces (e.g., deeplinks), there will be multiple attachments attach to the Reminder. Each of them will specify the surface type and the corresponding deeplink.list(String)
linkUrlREQUIRED. The link to surface to frontends (e.g., Hubpage, notifications.) This could also be a surface-specific deeplink (be sure to set `surface_type` accordingly.)AssistantRemindersAttachmentLinkString
notificationTextREQUIRED. The text for the notification link button. Note: We cannot take nlp_generation.TemplateData yet due to cyclic dependency. The plan is to cut dependency from TemplateData to quality.actions.Reminder. DEPRECATED. No longer used as part of the notification flow.AssistantRemindersAttachmentLinkAssistantRemindersNlgTemplateKey
hasReferencedEntityAtCreationWhether the reminder created has a referenced_entity attached to it or not(go/hub-memory-payload). Since we plan to set this in Assistant reminder creation path flow, in case later the referenced_entity is removed from the reminder, then this bit might still remain true. Also in case referenced_entity is later added to reminder(for example when referenced_entity is attached by Server), then also this bit might remain false. This bit will be used to *guess* if the user has a memory-enabled AGSA, thus we’ll surface the “open memory” button on hubpage. This check is not perfect, as the user might have other phones with older AGSA, so this is just a *best guess*. This field won’t be stored in Memory backend, and will not be populated back when retrieving reminders.AssistantRemindersMemoryPayloadSince this is stored in BE, any update on this proto needs LGTM by ARIS storage ownerboolean
recordIdId of record that is associated with Reminder. This will be set for all Assistant reminders created after the first launch of the Reminder Memory integration, see go/reminders-memory for more details. Also, this might apply to all other types of reminders.AssistantRemindersMemoryPayloadSince this is stored in BE, any update on this proto needs LGTM by ARIS storage ownerString
messageSetREQUIRED.AssistantRemindersNlgTemplateKeyEquivalent to nlp_generation.TemplateKey. We cannot use nlp_generation.TemplateKey message directly becasue that proto is defined in a relatively large proto and has other dependencies, which will increase the size unnecessary and might hit many limitations (e.g., 5MiB limitation for Spanner type environment.).String
templateNameREQUIRED.AssistantRemindersNlgTemplateKeyEquivalent to nlp_generation.TemplateKey. We cannot use nlp_generation.TemplateKey message directly becasue that proto is defined in a relatively large proto and has other dependencies, which will increase the size unnecessary and might hit many limitations (e.g., 5MiB limitation for Spanner type environment.).String
hasLocationInterpretationWhether the nickname could also refer to a location. For example, “walmart”, “starbucks”.AssistantTeleportTeleportNicknameSignalsboolean
installInfoIndicates whether the user has the app installed.AssistantTeleportTeleportNicknameSignalsString
isGenericTrue when the name is generic, i.e when it could refer to multiple packages from different developrs. For example, “mail” is considered a generic name (since it can refer to “gmail”, “yahoo mail” etc.) but “facebook” although could refer to both “facebook” and “facebook lite” is not considered generic (both packages are from the same third party).AssistantTeleportTeleportNicknameSignalsboolean
nicknameTierThe tier of the nickname.AssistantTeleportTeleportNicknameSignalsString
sourceAssistantTeleportTeleportNicknameSignalsString
matchScoreNeural contact match similarity score.AssistantVerticalsCommonContactMatchSignalNeural contact match signals.number
contextIdActions-on-Google action context ID. See go/sdm-hospitality-design.AssistantVerticalsHomeautomationProtoActionProjectConfigMetadata for Actions-on-Google configuration.String
agentIdThe agent’s ID. Generally it is the agent’s Google pantheon project id.AssistantVerticalsHomeautomationProtoAgentDeviceIdAn agent + device pair that uniquely identifies a device.String
deviceIdDevice ID defined by the agent.AssistantVerticalsHomeautomationProtoAgentDeviceIdAn agent + device pair that uniquely identifies a device.String
authTypeAssistantVerticalsHomeautomationProtoAgentInformationAgentInformation represents the details needed to support both 1P and 3P partnerships for Home Automation. Next ID: 7String
deviceSourceAssistantVerticalsHomeautomationProtoAgentInformationAgentInformation represents the details needed to support both 1P and 3P partnerships for Home Automation. Next ID: 7String
executionPathAssistantVerticalsHomeautomationProtoAgentInformationAgentInformation represents the details needed to support both 1P and 3P partnerships for Home Automation. Next ID: 7String
idUnique Agent ID which maps to a specific Agent. Not using Agent Name here as it may change over time.AssistantVerticalsHomeautomationProtoAgentInformationAgentInformation represents the details needed to support both 1P and 3P partnerships for Home Automation. Next ID: 7String
keyAgent’s foreign key that uniquely identifies a user’s device.AssistantVerticalsHomeautomationProtoAgentInformationAgentInformation represents the details needed to support both 1P and 3P partnerships for Home Automation. Next ID: 7String
structureBasedRoutineAssistantVerticalsHomeautomationProtoAttributeProtos representing device or structure attributes. See go/hgs-attributes-protos. Only protos approved and formalized by assistant/HG team should be added here.AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutine
attributeProtosAssistantVerticalsHomeautomationProtoAttributesLINT.IfChange(proto_attributes)list(AssistantVerticalsHomeautomationProtoAttribute)
enabledAssistantVerticalsHomeautomationProtoCommonEventTriggerLINT.IfChange(proto_event_trigger) Next id: 5boolean
eventTriggerPayloadDetailed settings for the event trigger; unset if not applicable.AssistantVerticalsHomeautomationProtoCommonEventTriggerLINT.IfChange(proto_event_trigger) Next id: 5map
eventTriggerTypeDifferent event type may have different settings. For example: * SCHEDULED will have event_trigger_payload of cs/symbol:assistant.verticals.voice_shortcut.proto.Schedule * LOCATION will have event_trigger_payload of cs/symbol:assistant.verticals.voice_shortcut.proto.LocationTriggerEventAssistantVerticalsHomeautomationProtoCommonEventTriggerLINT.IfChange(proto_event_trigger) Next id: 5String
triggerSourceUnique identifier for the EventTrigger, e.g. SCHEDULED_ROUTINES. See the enum values of cs/symbol:WorkflowTriggerInput.TriggerSourceAssistantVerticalsHomeautomationProtoCommonEventTriggerLINT.IfChange(proto_event_trigger) Next id: 5integer
enabledWhether this Routine is enabled or not. If false, then this Routine can’t be triggered by Voice.AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.boolean
googlePreconfigWorkflowIdThe unique identifier for a class of workflows. For example: * “sbr_001” => Away * “sbr_002” => Home * “category_template” => CUSTOMAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.String
languageAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.String
payloadInternal format payload primarily for Routines team use.AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.map
securityLevelThe security level of the Structure Based Routine as determined by the most security-sensitive task.AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.String
sharedAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.boolean
storagePayloadAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.map
structureIdAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.String
triggersVoice or event triggers.AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.list(AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineTrigger)
typeAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.String
uiPayloadUI format payload primarily for external team use.AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineRoutines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.map
eventTriggerAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineTriggerNext id: 3AssistantVerticalsHomeautomationProtoCommonEventTrigger
voiceTriggerAssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineTriggerNext id: 3AssistantVerticalsHomeautomationProtoCommonVoiceTrigger
queryAssistantVerticalsHomeautomationProtoCommonVoiceTriggerLINT.IfChange(proto_voice_trigger) Next id: 2String
conciergeProductFeaturesAssistantVerticalsHomeautomationProtoConciergeFeaturesThe Concierge features a structure is eligible for. See {@link home.graph.common.ConciergeFeatures}.list(String)
annotatedSpanDeviceThe query span for device mention.AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfoNext ID: 5String
annotatedSpanRoomThe query span for room mention.AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfoNext ID: 5String
annotatedSpanStructureThe query span for structure mention.AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfoNext ID: 5String
processedMentionedSpanThis field is from query_info.processed_mentioned_span in DTO.AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfoNext ID: 5String
supportedStructureFeaturesThe features that are available for a structure. Will only be populated if the item_type == STRUCTURE.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45AssistantVerticalsHomeautomationProtoSupportedStructureFeatures
traitRoutingHintsFor SHED devices, some traits can only be executed on 3P cloud, e.g. “action.devices.traits.MediaInitiation”, “action.devices.traits.Channel” go/shed-per-trait-routingAssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(HomeGraphCommonTraitRoutingHints)
parentNodeLINT.IfChange(home_graph_single_parent) At the moment, we just have a single string. In future this will expand with additional metadata from client or cloud execution data store. In today’s ‘tree’ HomeGraph each object has a single parent. In the future this may have a mesh for complex cases — zones, doors, etc — so we make this a repeated element today. LINT.ThenChange(//depot/google3/assistant/assistant_server/settings/user_defined_actions/footprints/footprint_accessor.cc:home_graph_single_parent)AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(String)
actionProjectConfigsCustom actions that this item supports.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(AssistantVerticalsHomeautomationProtoActionProjectConfig)
zoneNameSaftDocumentSAFT Document with linguistic annotations for the zone name, if applicable.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45NlpSaftDocument
operationalNodeIdOperational CHIP Node ID that combines the fabric ID and node id in format of . (Hex format without 0x prefix, for example, 0F001234FA67AA39.1234ABCD1111DDDD).AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
saftDocumentSAFT Document with linguistic annotations for the primary device name.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45NlpSaftDocument
opaqueCustomDataStore custom data for agent calls here. This will likely be short-lived — we will replace this with calls to HGS. (Note: This may end up not temporary if we only need it for a couple partners — more efficient to have it on a few users than require HGS reads for all users.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
lanscanOptedInWhether local home platform should discover new devices via LAN for the structure.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45boolean
pluralWe use this to determine if the synonyms matched in the aqua interpretation is plural. Then we will return disambiguate dialog or execute commands with all the targets.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(String)
deviceModelIdSee note in home_graph.proto; loaded into DE now to avoid having to double-read assistant settings records as per go/smarthome-removing-assistant-settingsAssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
notificationSupportedByAgentIndicates whether the device is capable of sending notifications. This field will be set by the agent (partner) on an incoming SYNC. If a device is not capable of generating notifications, the partner should set this flag to false. If a partner is not capable of calling ReportStateAndNotification to send notifications to Google, the partner should set this flag to false. If there is a user setting in the partner app to enable notifications and it is turned off, the partner should set this flag to false.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45boolean
parentTypeThe type of the parent. Currently only set for devices, to distinguish between structure and room parents. Items currently have only one parent, and entries after the first parent_type are ignored.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(String)
gcmExecutionAddressGCM address for cloud execution across google cloud messaging rather than 3p cloud.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
smartDeviceManagementDataData needed for SDM (fleet management). See go/enterprise-id-in-assistant.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45AssistantVerticalsHomeautomationProtoSmartDeviceManagementData
voiceMatchRequiredSet to which level of voice match is needed. Enum based on string input from the partner in json sync. Values accepted: “none” (but in this case partners won’t set it), “owner” [requires matching one of the creator gaia IDs], or “member” [any recognized voice ‘enrolled’ on the device]. This may expand; only “owner” is in use for first partner, Tile.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
personalizedNicknamesUser-given nicknames for an entity (e.g. “My house”). These nicknames are unique to the gaia user. Nickname in DeviceInfo is per-entity level nickname, while personalized_nicknames is per-user per-entity.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(String)
primaryNameWhich of the values was the original, user-provided name — or our disambiguated, cleaned-up version of it. This is what we use in TTS when we need to identify an object that wasn’t just spoken uniquely by the user — in disambiguation dialogue, or in response to a collective interrogative (e.g. “what lights are on in the kitchen?”)AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
attributesAttributes data as provided from SYNC. This gets used in mutation and execution and in some potential cases, in biasing.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45map
hashValueThe hash value from go/de-consistency-checkAssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
willReportStateThis device will report state; we can query realtime state from local HGS rather than slow QUERY intent to the 3p cloud.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45boolean
matterUniqueIdMatter Unique ID. Contains VID/PID informationAssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45AssistantVerticalsHomeautomationProtoMatterUniqueId
userDefinedDeviceTypeThe priority order of speech targeting: 1. user_defined_device_type 2. derived_device_type 3. device_typeAssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
supportsDirectResponseThis device supports direct response — if the device itself is issuing the query (which means it’s also an assistant surface) we can return its payload directly rather than via cloud.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45boolean
targetDeviceSignalStrengthsOnly present for an AoGH device. HGS Device ID of a target device and the signal strength (RSSI in dB, higher is better) between that target device and the AoGH device. If this map is empty, there are no target devices reachable by this AoGH device.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45map
roleInformationUser’s role information for this device. This will be used in Home Automation server to decide if user has authority to fulfill its request.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45AssistantVerticalsHomeautomationProtoRoleInformation
assistantDeviceIdDevice ID that matches the ID passed from the device to discourse_context when a user issues a query to an Assistant-enabled device that is registered with Cast (via CCS (see go/castservers)), or some other service.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
derivedTypeAny types that are not the given item type, but derived later. For example, if an item has type action.devices.types.OUTLET but is named “floor lamp” we can derive that it also has type action.devices.types.LIGHT. Also considered along with |type| when triggering type-based actions.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(String)
modelNameModel name from HomeGraph, populated from model_manifest.model_name. See b/200087451.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
notificationEnabledByUserIndicates whether notifications have been enabled by a user and will be announced for this device. This is set by the user within the Google app settings, and Google will announce the device notification only if both notification_supported_by_agent and notification_enabled_by_user are true.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45boolean
otherDeviceIdsOther agent id + foreign id pairs associated with the device. This can be used to represent a group of devices (e.g. Sonos’ bonded zone) as a single device, or a device that comes in through different sync flows (e.g. Newman with a Nest camera).AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(AssistantVerticalsHomeautomationProtoAgentDeviceId)
smartHomeFeaturesSmartHome feature flags that may be enabled per-item.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45AssistantVerticalsHomeautomationProtoSmartHomeFeatures
typeThe item type, such as “action.devices.types.VACUUM” – to be used in triggering type-based actions, e.g. “start vacuuming”: go/smarthome-type-based-actions.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
tdssUpdateTimestampThe timestamp at which the TDSS map was last updated. This information is used to help determine which hub would be preferred if multiple hubs report the same reach-ability for a device.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45DateTime
creatorGaiaIdSee Device.creator_gaia_ids in //home/graph/proto/service/types.proto. If empty, the GAIA ID from the request EUC is assumed to be the creator. We only need at most one creator_gaia_id.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
reportStateStatusWhether device report state is out of sync with Query response.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45String
routableViaGcmOnly present for a target device. Indicates this target device is reachable by a local (AoGH) path via an AoGH device.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45boolean
groupIdsList of parent group IDs, if the device is added to one or multiple device groups (see go/home-groups). Will be consumed by Smart Home APIs and (in the future) Assistant CTF to populate the group member list of device groups.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(String)
physicalLocationStores the location for the STRUCTURE type.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45AssistantVerticalsHomeautomationProtoPhysicalLocation
otherDeviceSourcesAdditional device sources. This can be the result of the device being merged with other devices with a different source.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45list(String)
agentInformationAgent details.AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataNext ID: 45AssistantVerticalsHomeautomationProtoAgentInformation
traitsAssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataSupportedTraitslist(String)
deviceSelectionLogthe next 3 fields are for Lumos output (DTO) that needs to be propagated to the Fulfilment through the HomeAutomationDevice proto.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceNext ID: 9AssistantLogsDeviceSelectionLog
dtoErrorAssistantVerticalsHomeautomationProtoHomeAutomationDeviceNext ID: 9AssistantDeviceTargetingDeviceTargetingError
dtoQueryInfoThis field is from query_info in DTO.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceNext ID: 9AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfo
homeautomationMetadataDevice meta data.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceNext ID: 9AssistantVerticalsHomeautomationProtoHomeAutomation_MetaData
listlist of HomeAutomationDeviceItem. After migration completes, we will mark the above 4 field as deprecated and only use this field.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceNext ID: 9list(AssistantVerticalsHomeautomationProtoHomeAutomationDeviceItem)
matchedItemKeyCorresponding to casse matched_item CustomTypeItem key.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceNext ID: 9String
matchedItemRawvalueCorresponding to casse Argument raw_value.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceNext ID: 9String
matchedItemValueCorresponding to casse matched_item CustomTypeItem value.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceNext ID: 9list(String)
homeautomationMetadataDevice meta data.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceItemAssistantVerticalsHomeautomationProtoHomeAutomation_MetaData
matchedItemKeyCorresponding to casse matched_item CustomTypeItem key.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceItemString
matchedItemRawvalueCorresponding to casse Argument raw_value.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceItemString
matchedItemValueCorresponding to casse matched_item CustomTypeItem value.AssistantVerticalsHomeautomationProtoHomeAutomationDeviceItemlist(String)
productIdAssistantVerticalsHomeautomationProtoMatterUniqueIdMatter unique Id. These values are provided by the device.integer
uniqueIdAssistantVerticalsHomeautomationProtoMatterUniqueIdMatter unique Id. These values are provided by the device.String
vendorIdAssistantVerticalsHomeautomationProtoMatterUniqueIdMatter unique Id. These values are provided by the device.integer
addressAssistantVerticalsHomeautomationProtoPhysicalLocationString
geoLocationAssistantVerticalsHomeautomationProtoPhysicalLocationGoogleTypeLatLng
iamCheckRequiredWhen true, role_type will be ignored, Nest IAM RPC will called to check authority.AssistantVerticalsHomeautomationProtoRoleInformationRepresents the user’s role such as assistant only or manager for a device. Design doc: https://docs.google.com/document/d/1c1hnauEbBfDkywO3GZkI8ejHP765l2tLspmPgckEe2Y/boolean
roleTypeAssistantVerticalsHomeautomationProtoRoleInformationRepresents the user’s role such as assistant only or manager for a device. Design doc: https://docs.google.com/document/d/1c1hnauEbBfDkywO3GZkI8ejHP765l2tLspmPgckEe2Y/String
enterpriseIdThe enterprise that owns the structure. E.g. Disney, Dream Hotel, etc. This is used for log/analytics purpose. For privacy reasons, we log at enterprise level instead of structure level.AssistantVerticalsHomeautomationProtoSmartDeviceManagementDataString
circadianLightingEnabledFlag indicating whether the background Circadian Lighting effect is enabled for a particular light (go/circadian-lighting-e2e).AssistantVerticalsHomeautomationProtoSmartHomeFeaturesSmartHome feature flags that may be enabled per-item. LINT.IfChangeboolean
energySavingsEnabledFlag indicating whether automatic Energy Savings are enabled for this item.AssistantVerticalsHomeautomationProtoSmartHomeFeaturesSmartHome feature flags that may be enabled per-item. LINT.IfChangeboolean
gentleWakeupEnabledFlag indicating whether Gentle Wake Up is enabled for this item (go/sleep-wake-design).AssistantVerticalsHomeautomationProtoSmartHomeFeaturesSmartHome feature flags that may be enabled per-item. LINT.IfChangeboolean
homeAwayOverMatterEnabledFlag indicating whether the user has enabled / disabled sending Home/Away status updates to the device through the Google custom IntelligenceEvents Matter cluster. (go/google-clusters-design)AssistantVerticalsHomeautomationProtoSmartHomeFeaturesSmartHome feature flags that may be enabled per-item. LINT.IfChangeboolean
conciergeFeaturesAssistantVerticalsHomeautomationProtoSupportedStructureFeaturesThe features a structure supports.AssistantVerticalsHomeautomationProtoConciergeFeatures
deviceIdThe unique device on which the mention occurred. For example, if the user has two Google Home devices, this indicates which of the two was used.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13AssistantApiCoreTypesDeviceId
eventIdID of the event that resulted in this entity mention. For user and system turn AEs, this is taken from the ConversationSnapshotId of the snapshot containing this mention. For client AEs, this is empty. This can be used to join back this particular mention to the specific “turn” in which this mention took place.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13EventIdMessage
factoidScoreIf this mention corresponds to a WebAnswer, then this defines the score associated with that answer.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13number
listEntryInfoIf present, this entity was mentioned as part of a larger list.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13AttentionalEntitiesMentionPropertiesListEntryInfo
recencyEstimates the recency of the mention. This is internally computed at runtime on a turn-by-turn basis.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13String
roleThe semantic role that the entity was used in.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13AttentionalEntitiesSemanticRoleId
salienceHow salient this mention is. This field will only be set if the mention is derived from a SearchAnswerValue. See go/webresultsdata-as-aes for more details.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13String
sourceContains metadata about the source of the mention.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13AttentionalEntitiesMentionPropertiesSource
spatialPropertiesIf present, properties of visual mentions (e.g., how they are displayed to the user, visibility, etc.).AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13AttentionalEntitiesSpatialProperties
surfaceFormDetails about how this mention was presented.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13AttentionalEntitiesSurfaceForm
timestampUnix timestamp noting (approximately) when this mention occurred. We do not guarantee that the time will correspond precisely to when the user uttered/heard a response. If mentions within a single turn have *different* timestamps, they should accurately reflect the order in which the mentions occurred. If that order is unknown, they should all have the same timestamp.AttentionalEntitiesMentionPropertiesRepresents the properties of a mention. Next ID: 13DateTime
indexThe index of the entity presented to the user. NOTE: Indexing starts from 0.AttentionalEntitiesMentionPropertiesListEntryInfoContains information about how an entity was presented as part of a list.String
lexicalGroundingsIdA string which uniquely identifies the list item this entity represents in the list. For example, consider the “OrderPizza” intent with the “size” slot: U: I want to order a pizza A: Sure. What size do you want: large, medium, or small? U: Gigantic The lexical_groundings_id can be “large” to identify the large item in the list. This lexical_groundings_id together with the semantic role fields (i.e., role.intent_id & role.role_id) can be used to match the nlp_semantic_parsing::LexicalGroundings::ValueTermType to utilize lexical grounding for i18n of static list selection items. Note that this field only needs to be populated when developers expect to provide lexical groundings for the list item this entity represents. Effectively, this field will be populated when this entity is published by ListPresentationFrame and the ::quality::dialog_manager::IntentStageSignals::FieldCandidate.lexical_groundings_id field is populated. See go/lpf-i18nv2 & go/taskstate-ae-sync for more details.AttentionalEntitiesMentionPropertiesListEntryInfoContains information about how an entity was presented as part of a list.String
clientAttentionalEntitiesMentionPropertiesSourceThe agent or system from which the mention was derived. Each mention corresponds to a single source.AttentionalEntitiesMentionPropertiesSourceClient
systemAttentionalEntitiesMentionPropertiesSourceThe agent or system from which the mention was derived. Each mention corresponds to a single source.AttentionalEntitiesMentionPropertiesSourceSystem
userAttentionalEntitiesMentionPropertiesSourceThe agent or system from which the mention was derived. Each mention corresponds to a single source.AttentionalEntitiesMentionPropertiesSourceUser
intentIdSemantic roles will be defined locally, within the context of a single task/feature. The |intent_id| is a unique identifier for such a local cluster. In most cases, this should be exactly the same as the name of the intent used for TaskState (see go/assistant-intent-catalog). In cases where the intent isn’t well-defined, this can be an arbitrary, feature-defined identifier.AttentionalEntitiesSemanticRoleIdUniquely identifies a semantic role. When this role corresponds to a slot in a registered user intent (see go/assistant-intent-catalog), then the SemanticRoleId maps precisely onto that slot in the intent catalog. However, not all semantic roles corresponds to such user intent slots.String
roleIdIdentifier for a semantic role, unique within the namespace of |intent_id|. When this role corresponds to a slot in the intent, the |role_id| should be equal to the name of that argument. For example, consider an entry in the intent catalog: core_intent { id { id: “BookARide” } slot { name: “provider” type { string_type { } } } slot { name: “num_riders” type { number_type { } } } } Then, the |role_id| would be “provider” or “num_riders” when referring to one of these slots. NOTE: when responding to the user, the Assistant may actually make use of other roles such as “ETA” or “driver” that are not part of the intent declaration. These should still be assigned consistent semantic roles. For example, a dialog with the Shopping feature: User: Where can I buy XYZ? Google: [Best Buy in Sunnyvale] has [XYZ] in stock. User: Great! Give me directions. In this case, both “Best Buy” and “XYZ” would be pushed to attentional entities. Best Buy, in this case, may not be an argument in the ShoppingItemStockInquiry intent, but should still have a consistent |role_id| such as “possessing_business”.AttentionalEntitiesSemanticRoleIdUniquely identifies a semantic role. When this role corresponds to a slot in a registered user intent (see go/assistant-intent-catalog), then the SemanticRoleId maps precisely onto that slot in the intent catalog. However, not all semantic roles corresponds to such user intent slots.String
visibilityAttentionalEntitiesSpatialPropertiesProperties of visual mentions (e.g., how they are displayed to the user, visibility, etc.).String
textAttentionalEntitiesSurfaceFormHow the entity was presented in this mention at a surface level. For example, “President Barack Obama” or “Barack Obama” or “he” might all be reasonable surface forms for the MID /m/02mjmr.String
biasingfieldBiasingPerDocDataThis data is expected to appear in approximately 2 out of every 1,000 documents with an average of 2 fields per document. Rough order of size is in the hundreds of kilobytes per Mustang shard.list(BiasingPerDocDataBiasingField)
biasingFieldBiasingPerDocData2A replacement for BiasingPerDocData that is more efficient wrt size in the index.list(BiasingPerDocData2BiasingField)
compressedNameA fingerprint of the actual name of the field.BiasingPerDocData2BiasingFieldinteger
valueThe value, under various representations to get maximum compression. Exactly one of them is guaranteed to be filled. value as a double.BiasingPerDocData2BiasingFieldfloat
valueFloata floating value, represented as an integer by converting using floating_value * 1000. Useable for all floating values that need 3 digits of precision, and are small enough.BiasingPerDocData2BiasingFieldinteger
valueIntvalue as an int32. When the value is encode-able as an integer.BiasingPerDocData2BiasingFieldinteger
NameFingerprint of the attribute name (no need to keep long field names)BiasingPerDocDataBiasingFieldMetadata fields on which we can bias (sort) search results independently from the normal ranking using a ScoreAdjusterString
ValueBiasing value translated into a double for uniform comparisonBiasingPerDocDataBiasingFieldMetadata fields on which we can bias (sort) search results independently from the normal ranking using a ScoreAdjusterfloat
BlobIDBlobstoreBlobRefA BlobRef is used to refer to a blob in BlobStore. Clients may only manipulate blobs through BlobRefs. BlobRefs should not be sent in the clear outside of Google (for example, encoded in URLs, stored in a client cookie, or referred to in Javascript); for efficiency, the IDs expose internal details of the blobstore (such as machine IPs or cluster names). If clients need to store BlobRefs outside of Google, they must encrypt the BlobRef securely or use an alternative insecure identifier with an id->BlobRef mapping inside our network.String
OptionsBlobstoreBlobRefA BlobRef is used to refer to a blob in BlobStore. Clients may only manipulate blobs through BlobRefs. BlobRefs should not be sent in the clear outside of Google (for example, encoded in URLs, stored in a client cookie, or referred to in Javascript); for efficiency, the IDs expose internal details of the blobstore (such as machine IPs or cluster names). If clients need to store BlobRefs outside of Google, they must encrypt the BlobRef securely or use an alternative insecure identifier with an id->BlobRef mapping inside our network.String
RefIDBlobstoreBlobRefA BlobRef is used to refer to a blob in BlobStore. Clients may only manipulate blobs through BlobRefs. BlobRefs should not be sent in the clear outside of Google (for example, encoded in URLs, stored in a client cookie, or referred to in Javascript); for efficiency, the IDs expose internal details of the blobstore (such as machine IPs or cluster names). If clients need to store BlobRefs outside of Google, they must encrypt the BlobRef securely or use an alternative insecure identifier with an id->BlobRef mapping inside our network.String
ShardBinBlobstoreBlobRefA BlobRef is used to refer to a blob in BlobStore. Clients may only manipulate blobs through BlobRefs. BlobRefs should not be sent in the clear outside of Google (for example, encoded in URLs, stored in a client cookie, or referred to in Javascript); for efficiency, the IDs expose internal details of the blobstore (such as machine IPs or cluster names). If clients need to store BlobRefs outside of Google, they must encrypt the BlobRef securely or use an alternative insecure identifier with an id->BlobRef mapping inside our network.integer
SizeSize of the complete blob, in bytes.BlobstoreBlobRefA BlobRef is used to refer to a blob in BlobStore. Clients may only manipulate blobs through BlobRefs. BlobRefs should not be sent in the clear outside of Google (for example, encoded in URLs, stored in a client cookie, or referred to in Javascript); for efficiency, the IDs expose internal details of the blobstore (such as machine IPs or cluster names). If clients need to store BlobRefs outside of Google, they must encrypt the BlobRef securely or use an alternative insecure identifier with an id->BlobRef mapping inside our network.String
SourceV2BlobIDThe ID of the V2 blob this blob hasBlobstoreBlobRefA BlobRef is used to refer to a blob in BlobStore. Clients may only manipulate blobs through BlobRefs. BlobRefs should not be sent in the clear outside of Google (for example, encoded in URLs, stored in a client cookie, or referred to in Javascript); for efficiency, the IDs expose internal details of the blobstore (such as machine IPs or cluster names). If clients need to store BlobRefs outside of Google, they must encrypt the BlobRef securely or use an alternative insecure identifier with an id->BlobRef mapping inside our network.String
V2ReadBlobTokenDeprecated.BlobstoreBlobRefA BlobRef is used to refer to a blob in BlobStore. Clients may only manipulate blobs through BlobRefs. BlobRefs should not be sent in the clear outside of Google (for example, encoded in URLs, stored in a client cookie, or referred to in Javascript); for efficiency, the IDs expose internal details of the blobstore (such as machine IPs or cluster names). If clients need to store BlobRefs outside of Google, they must encrypt the BlobRef securely or use an alternative insecure identifier with an id->BlobRef mapping inside our network.String
blogurlFpused for blogurl crowding.BlogPerDocDataAdditional data for Blog/PostsString
clientSpamminessThis score captures how spammy the client is that the micropost was created with. The higher the score the worse.BlogPerDocDataAdditional data for Blog/Postsinteger
convTreeFor the threaded conversation view. Only populated in docs with provider type SYNTHETIC_CONVERSATION_DOC.BlogPerDocDataAdditional data for Blog/PostsBlogsearchConversationTree
copycatScoreBlogPerDocDataAdditional data for Blog/Postsinteger
docQualityScoreBlogPerDocDataAdditional data for Blog/Postsinteger
isSyntacticReshareA syntactic reshare is a document that is * created from an original and shared with friends and * we detect this resharing property by syntactically parsing the doc. . For example, a retweet is an example of a syntactic_reshare because we can detect that it’s a reshare by grepping for “RT @”.BlogPerDocDataAdditional data for Blog/Postsboolean
microblogQualityExptDataExperimental data for quality experiments. This will NOT be populated in prod, but we will use this for experiments.BlogPerDocDataAdditional data for Blog/PostsProto2BridgeMessageSet
numMentionsFor replies/reshares. num_mentions = number of times the pattern @foo appears in the document.BlogPerDocDataAdditional data for Blog/Postsinteger
outlinksBlogPerDocDataAdditional data for Blog/Postslist(BlogPerDocDataOutlinks)
postContentFingerprintThe fingerprint for the body text of the microblog post. It is copied from MicroBlogPost.post_content_fingerprint.BlogPerDocDataAdditional data for Blog/Postsinteger
qualityScoreBlogPerDocDataAdditional data for Blog/Postsinteger
spamScoreBlog scoring signals.BlogPerDocDataAdditional data for Blog/Postsinteger
universalWhitelistedBlogPerDocDataAdditional data for Blog/Postsboolean
userQualityScoreUser and doc quality scores for updates (aka microposts).BlogPerDocDataAdditional data for Blog/Postsinteger
aggregationFpRepresentative id for an equivalence class of URLs. E.g. http://youtube.com/watch?v=12 and http://youtube.com/watch?v=12&feature=related have the same aggregation id since they’re effectively the same webpageBlogPerDocDataOutlinksResolved url and site spamscore for outlinks in updates (aka microposts).String
resolvedUrlBlogPerDocDataOutlinksResolved url and site spamscore for outlinks in updates (aka microposts).String
siteSpamScoreBlogPerDocDataOutlinksResolved url and site spamscore for outlinks in updates (aka microposts).integer
titleBlogPerDocDataOutlinksResolved url and site spamscore for outlinks in updates (aka microposts).String
authorNameThe username of the author of the microblog post represented by this node.BlogsearchConversationNodeString
childrenA list of docids of child nodes.BlogsearchConversationNodelist(String)
dateThe creation date of the doc.BlogsearchConversationNodeString
docidDocid of the microblog post represented by this node.BlogsearchConversationNodeString
parentThe docid of the parent node. The root of the tree will leave this empty.BlogsearchConversationNodeString
convIdThe id of this conversation.BlogsearchConversationTreeString
nodesThe nodes in this conversation. No particular order is assumed.BlogsearchConversationTreelist(BlogsearchConversationNode)
modulesList of supported modules for a business.BlueGingerClientVisibleProtoBlueGingerSupportedServicesInformation to indicate BG availability for businesses. This message is filled from Topic Server and stored in the GSR in Superroot.list(BlueGingerClientVisibleProtoBlueGingerSupportedServicesBlueGingerModule)
nameModule name, e.g. hairdresser_reservation. from quality/views/extraction/kcube/bg/modules/modules.bzl.BlueGingerClientVisibleProtoBlueGingerSupportedServicesBlueGingerModuleString
servicesServices of this module that are supported by the business, e.g. haircuts.BlueGingerClientVisibleProtoBlueGingerSupportedServicesBlueGingerModulelist(String)
useCaseBlueGingerClientVisibleProtoBlueGingerSupportedServicesBlueGingerModuleString
bookIdthe book id for the main citationBookCitationPerDocDataPer-doc data for the web page about the cited book Approximate size is on average ~10bytesString
discretizedCitationScorethe discretized citation score for the main book. we map the raw score 1.0-20.0 to 0 – 127BookCitationPerDocDataPer-doc data for the web page about the cited book Approximate size is on average ~10bytesinteger
previewableIs there a preview or excerpt of the book on this document?BookCitationPerDocDataPer-doc data for the web page about the cited book Approximate size is on average ~10bytesboolean
secondBookIdbook id for the second citation if we can’t separate the two top citations (they are too close).BookCitationPerDocDataPer-doc data for the web page about the cited book Approximate size is on average ~10bytesString
secondDiscretizedCitationScorethe discretized score for the second citationBookCitationPerDocDataPer-doc data for the web page about the cited book Approximate size is on average ~10bytesinteger
dayopenBusinessHoursWe divide up a week into individual open intervals. If any are present then they must be arranged in strictly increasing order, with non-empty spaces between successive intervals, and all times between 0 and 604800, the number of seconds in a week.integer
intervalBusinessHoursWe divide up a week into individual open intervals. If any are present then they must be arranged in strictly increasing order, with non-empty spaces between successive intervals, and all times between 0 and 604800, the number of seconds in a week.list(BusinessHoursInterval)
endThe interval ends at the start of this secondBusinessHoursIntervalinteger
startTime in seconds since Midnight-Monday-MornBusinessHoursIntervalinteger
expiryTimeMicrosTime since epoch (micros) that this will expireChatBotPlatformBotSendTokenToken to be exposed and stored by the botString
sendTokenEncrypted InternalSendTokenChatBotPlatformBotSendTokenToken to be exposed and stored by the botString
idWhen used as a user ID, it’s the phone number of the sender. When used as a session ID: For group conversation, it is the group ID. For 1 to 1, it is the receiver or sender phone number. For 1 to bot, it is the receiver phone number or empty.ChatBotPlatformFireballIdGoogleInternalCommunicationsInstantmessagingV1Id
classificationClassifierPornClassifierDataNext ID: 6list(ClassifierPornClassifierDataClassification)
imageBasedDetectionDoneRecords whether the image linker is run already. This is only used for Alexandria but NOT for Segindexer.ClassifierPornClassifierDataNext ID: 6boolean
timestampClassifierPornClassifierDataNext ID: 6String
labelClassifierPornClassifierDataClassificationString
scoreClassifierPornClassifierDataClassificationnumber
classifierdataClassifierPornDocumentDataNext ID: 3ClassifierPornClassifierData
sitedataClassifierPornDocumentDataNext ID: 3ClassifierPornSiteData
csaiClassificationThis field is only filled for the CSAI vertical.ClassifierPornQueryClassifierOutputGeneric output for one vertical.String
debugHuman-readable debug information about the classification. This field is only set if output_debug is set in the classification input.ClassifierPornQueryClassifierOutputGeneric output for one vertical.String
isPositiveThe bit that shows if this classifier outputs positive classification for the input query. Set by thresholding with a recommended threshold.ClassifierPornQueryClassifierOutputGeneric output for one vertical.boolean
scoreThe score that the classifier assigned to the input query. This is filled by all verticals.ClassifierPornQueryClassifierOutputGeneric output for one vertical.number
csaiClassifierPornQueryMultiLabelClassifierOutputMulti-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.ClassifierPornQueryClassifierOutput
fringeClassifierPornQueryMultiLabelClassifierOutputMulti-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.ClassifierPornQueryClassifierOutput
medicalClassifierPornQueryMultiLabelClassifierOutputMulti-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.ClassifierPornQueryClassifierOutput
minorClassifierPornQueryMultiLabelClassifierOutputMulti-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.ClassifierPornQueryClassifierOutput
offensiveClassifierPornQueryMultiLabelClassifierOutputMulti-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.ClassifierPornQueryClassifierOutput
pornClassifierPornQueryMultiLabelClassifierOutputMulti-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.ClassifierPornQueryClassifierOutput
spoofClassifierPornQueryMultiLabelClassifierOutputMulti-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.ClassifierPornQueryClassifierOutput
violenceClassifierPornQueryMultiLabelClassifierOutputMulti-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.ClassifierPornQueryClassifierOutput
vulgarClassifierPornQueryMultiLabelClassifierOutputMulti-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.ClassifierPornQueryClassifierOutput
queryTextPornScoreA query text porn score for the queries which have clicks to the image: query_text_porn_score := sum(clicks(query) * text_porn_score(query)) / sum(clicks(query))ClassifierPornQueryStatsQuerySats contains the information about the queries that users typed to search for this image.number
totalClicksClassifierPornQueryStatsQuerySats contains the information about the queries that users typed to search for this image.number
adultClassifierPornReferrerCountsReferrerCounts stores how many referrers an images has and how many of them were classified as porn and as adult/softporn respectively. Note that a referrer is usually a landing page, but as of March 2011 this also includes referrers which an image can ‘inherit’ by propagating counts from near duplicate images.integer
pornNumber of referrers which are classified as porn and as adult.ClassifierPornReferrerCountsReferrerCounts stores how many referrers an images has and how many of them were classified as porn and as adult/softporn respectively. Note that a referrer is usually a landing page, but as of March 2011 this also includes referrers which an image can ‘inherit’ by propagating counts from near duplicate images.integer
totalTotal number of referrers.ClassifierPornReferrerCountsReferrerCounts stores how many referrers an images has and how many of them were classified as porn and as adult/softporn respectively. Note that a referrer is usually a landing page, but as of March 2011 this also includes referrers which an image can ‘inherit’ by propagating counts from near duplicate images.integer
avgPedoPageScoreThe average pedo page score for the site.ClassifierPornSiteDataNext ID: 53number
finalPedoSiteScoreClassifierPornSiteDataNext ID: 53number
numberOfPagesThe number of pages that were used to compute the scores and ratios.ClassifierPornSiteDataNext ID: 53String
numberOfPedoPagesThe number of pages with pedo restrict.ClassifierPornSiteDataNext ID: 53String
siteSitechunk used to compute the signals. The field is present only for data created after December 2022.ClassifierPornSiteDataNext ID: 53String
sitePornRatioThe ratio of porn/softporn of the site this page belongs to.ClassifierPornSiteDataNext ID: 53number
siteSoftpornRatioClassifierPornSiteDataNext ID: 53number
versionedscoreClassifierPornSiteDataNext ID: 53list(ClassifierPornSiteDataVersionedScore)
violenceScoreThe cubic mean aggregation of violence page scores in the site.ClassifierPornSiteDataNext ID: 53number
violenceStatsClassifierPornSiteDataNext ID: 53ClassifierPornSiteViolenceStats
scoreClassifierPornSiteDataVersionedScoreThe site porn score of the site to which the page of interest belongs to. Multiple versions are kept across large changes for some time. The Version-4 score is the average Universal Page Probability of all the site’s pages, and will come with populated verticals4_score and site_rule (if any rule fires) fields. When using this score it is recommended to subscribe to the following mailing list: g/safesearch-announce.number
siteRuleClassifierPornSiteDataVersionedScoreThe site porn score of the site to which the page of interest belongs to. Multiple versions are kept across large changes for some time. The Version-4 score is the average Universal Page Probability of all the site’s pages, and will come with populated verticals4_score and site_rule (if any rule fires) fields. When using this score it is recommended to subscribe to the following mailing list: g/safesearch-announce.list(String)
versionClassifierPornSiteDataVersionedScoreThe site porn score of the site to which the page of interest belongs to. Multiple versions are kept across large changes for some time. The Version-4 score is the average Universal Page Probability of all the site’s pages, and will come with populated verticals4_score and site_rule (if any rule fires) fields. When using this score it is recommended to subscribe to the following mailing list: g/safesearch-announce.integer
verticals4ScorePlease talk to safesearch@ before relying on any of these internal fields:ClassifierPornSiteDataVersionedScoreThe site porn score of the site to which the page of interest belongs to. Multiple versions are kept across large changes for some time. The Version-4 score is the average Universal Page Probability of all the site’s pages, and will come with populated verticals4_score and site_rule (if any rule fires) fields. When using this score it is recommended to subscribe to the following mailing list: g/safesearch-announce.number
meanFinalViolenceScoreClassifierPornSiteViolenceStatsNext ID: 6number
numberOfImagesClassifierPornSiteViolenceStatsNext ID: 6String
numberOfVideosClassifierPornSiteViolenceStatsNext ID: 6String
videoViolenceScoreClassifierPornSiteViolenceStatsNext ID: 6number
cloudSqlInstanceConnectionNameOutput only. The CloudSQL instance connection name.CloudAiPlatformTenantresourceCloudSqlInstanceConfigThe identity to configure a CloudSQL instance provisioned via SLM Terraform.String
cloudSqlInstanceNameInput/Output [Optional]. The CloudSQL instance name within SLM instance. If not set, a random UUIC will be generated as instance name.CloudAiPlatformTenantresourceCloudSqlInstanceConfigThe identity to configure a CloudSQL instance provisioned via SLM Terraform.String
kmsKeyReferenceInput [Optional]. The KMS key name or the KMS grant name used for CMEK encryption. Only set this field when provisioning new CloudSQL instances. For existing CloudSQL instances, this field will be ignored because CMEK re-encryption is not supported.CloudAiPlatformTenantresourceCloudSqlInstanceConfigThe identity to configure a CloudSQL instance provisioned via SLM Terraform.String
mdbRolesForCorpAccessInput [Optional]. MDB roles for corp access to CloudSQL instance.CloudAiPlatformTenantresourceCloudSqlInstanceConfigThe identity to configure a CloudSQL instance provisioned via SLM Terraform.list(String)
slmInstanceNameOutput only. The SLM instance’s full resource name.CloudAiPlatformTenantresourceCloudSqlInstanceConfigThe identity to configure a CloudSQL instance provisioned via SLM Terraform.String
slmInstanceTemplateInput [Required]. The SLM instance template to provision CloudSQL.CloudAiPlatformTenantresourceCloudSqlInstanceConfigThe identity to configure a CloudSQL instance provisioned via SLM Terraform.String
slmInstanceTypeInput [Required]. The SLM instance type to provision CloudSQL.CloudAiPlatformTenantresourceCloudSqlInstanceConfigThe identity to configure a CloudSQL instance provisioned via SLM Terraform.String
adminsCloudAiPlatformTenantresourceGcsBucketConfigThe identity to configure a GCS bucket.list(String)
bucketNameInput/Output [Optional]. The name of a GCS bucket with max length of 63 chars. If not set, a random UUID will be generated as bucket name.CloudAiPlatformTenantresourceGcsBucketConfigThe identity to configure a GCS bucket.String
entityNameInput/Output [Optional]. Only needed for per-entity tenant GCP resources. During Deprovision API, the on-demand deletion will only cover the tenant GCP resources with the specified entity name.CloudAiPlatformTenantresourceGcsBucketConfigThe identity to configure a GCS bucket.String
kmsKeyReferenceInput/Output [Optional]. The KMS key name or the KMS grant name used for CMEK encryption. Only set this field when provisioning new GCS bucket. For existing GCS bucket, this field will be ignored because CMEK re-encryption is not supported.CloudAiPlatformTenantresourceGcsBucketConfigThe identity to configure a GCS bucket.String
ttlDaysInput/Output [Optional]. Only needed when the content in bucket need to be garbage collected within some amount of days.CloudAiPlatformTenantresourceGcsBucketConfigThe identity to configure a GCS bucket.integer
viewersInput/Output [Required]. IAM roles (viewer/admin) put on the bucket.CloudAiPlatformTenantresourceGcsBucketConfigThe identity to configure a GCS bucket.list(String)
membersInput/Output [Required]. The member service accounts with the roles above. Note: placeholders are same as the resource above.CloudAiPlatformTenantresourceIamPolicyBindingThe dynamic IAM bindings to be granted after tenant projects are created.list(String)
resourceInput/Output [Required]. The resource name that will be accessed by members, which also depends on resource_type. Note: placeholders are supported in resource names. For example, ${tpn} will be used when the tenant project number is not ready.CloudAiPlatformTenantresourceIamPolicyBindingThe dynamic IAM bindings to be granted after tenant projects are created.String
resourceTypeInput/Output [Required]. Specifies the type of resource that will be accessed by members.CloudAiPlatformTenantresourceIamPolicyBindingThe dynamic IAM bindings to be granted after tenant projects are created.String
roleInput/Output [Required]. The role for members below.CloudAiPlatformTenantresourceIamPolicyBindingThe dynamic IAM bindings to be granted after tenant projects are created.String
createDatabaseOptionsInput [Optional]. The options to create a spanner database. Note: give the right options to ensure the right KMS key access audit logging and AxT logging in expected logging category.CloudAiPlatformTenantresourceInfraSpannerConfigThe configuration for a spanner database provisioning. Next ID: 8CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions
kmsKeyReferenceInput [Optional]. The KMS key name or the KMS grant name used for CMEK encryption. Only set this field when provisioning new Infra Spanner databases. For existing Infra Spanner databases, this field will be ignored because CMEK re-encryption is not supported. For example, projects//locations//keyRings//cryptoKeys/CloudAiPlatformTenantresourceInfraSpannerConfigThe configuration for a spanner database provisioning. Next ID: 8String
sdlBundlePathInput [Required]. The file path to the spanner SDL bundle.CloudAiPlatformTenantresourceInfraSpannerConfigThe configuration for a spanner database provisioning. Next ID: 8String
spannerBorgServiceAccountInput [Optional]. The spanner borg service account for delegating the kms key to. For example, [email protected], for the nonprod universe.CloudAiPlatformTenantresourceInfraSpannerConfigThe configuration for a spanner database provisioning. Next ID: 8String
spannerLocalNamePrefixCloudAiPlatformTenantresourceInfraSpannerConfigThe configuration for a spanner database provisioning. Next ID: 8String
spannerNamespaceCloudAiPlatformTenantresourceInfraSpannerConfigThe configuration for a spanner database provisioning. Next ID: 8String
spannerUniverseInput [Required]. Every database in Spanner can be identified by the following path name: /span//:CloudAiPlatformTenantresourceInfraSpannerConfigThe configuration for a spanner database provisioning. Next ID: 8String
cmekCloudResourceNameThe cloud resource name for the CMEK encryption. For example, projects//locations/CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptionsThe options to create a spanner database. KMS key access audit logging and AxT logging will be associated with the given resource name, resource type and service name. Please ensure to give right options to enable correct audit logging and AxT logging.String
cmekCloudResourceTypeThe cloud resource type for the CMEK encryption. For example, contentwarehouse.googleapis.com/LocationCloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptionsThe options to create a spanner database. KMS key access audit logging and AxT logging will be associated with the given resource name, resource type and service name. Please ensure to give right options to enable correct audit logging and AxT logging.String
cmekServiceNameThe service name for the CMEK encryption. For example, contentwarehouse.googleapis.comCloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptionsThe options to create a spanner database. KMS key access audit logging and AxT logging will be associated with the given resource name, resource type and service name. Please ensure to give right options to enable correct audit logging and AxT logging.String
serviceAccountEmailOutput only. The service account email that has been created.CloudAiPlatformTenantresourceServiceAccountIdentityThe identity to configure a service account.String
tagInput/Output [Optional]. The tag that configures the service account, as defined in google3/configs/production/cdpush/acl-zanzibar-cloud-prod/activation_grants/activation_grants.gcl. Note: The default P4 service account has the empty tag.CloudAiPlatformTenantresourceServiceAccountIdentityThe identity to configure a service account.String
billingConfigInput/Output [Required]. The billing account properties to create the tenant project.CloudAiPlatformTenantresourceTenantProjectConfigThe identity to configure a tenant project.GoogleApiServiceconsumermanagementV1BillingConfig
folderInput/Output [Required]. The folder that holds tenant projects and folder-level permissions will be automatically granted to all tenant projects under the folder. Note: the valid folder format is `folders/{folder_number}`.CloudAiPlatformTenantresourceTenantProjectConfigThe identity to configure a tenant project.String
policyBindingsInput/Output [Required]. The policy bindings that are applied to the tenant project during creation. At least one binding must have the role `roles/owner` with either `user` or `group` type.CloudAiPlatformTenantresourceTenantProjectConfigThe identity to configure a tenant project.list(GoogleApiServiceconsumermanagementV1PolicyBinding)
servicesInput/Output [Required]. The API services that are enabled on the tenant project during creation.CloudAiPlatformTenantresourceTenantProjectConfigThe identity to configure a tenant project.list(String)
cloudSqlInstancesThe CloudSQL instances that are provisioned under the tenant project.CloudAiPlatformTenantresourceTenantProjectResourceThe tenant project and tenant resources. Next ID: 10list(CloudAiPlatformTenantresourceCloudSqlInstanceConfig)
gcsBucketsThe GCS buckets that are provisioned under the tenant project.CloudAiPlatformTenantresourceTenantProjectResourceThe tenant project and tenant resources. Next ID: 10list(CloudAiPlatformTenantresourceGcsBucketConfig)
iamPolicyBindingsThe dynamic IAM bindings that are granted under the tenant project. Note: this should only add new bindings to the project if they don’t exist and the existing bindings won’t be affected.CloudAiPlatformTenantresourceTenantProjectResourceThe tenant project and tenant resources. Next ID: 10list(CloudAiPlatformTenantresourceIamPolicyBinding)
infraSpannerConfigsThe Infra Spanner databases that are provisioned under the tenant project. Note: this is an experimental feature.CloudAiPlatformTenantresourceTenantProjectResourceThe tenant project and tenant resources. Next ID: 10list(CloudAiPlatformTenantresourceInfraSpannerConfig)
tagInput/Output [Required]. The tag that uniquely identifies a tenant project within a tenancy unit. Note: for the same tenant project tag, all tenant manager operations should be idempotent.CloudAiPlatformTenantresourceTenantProjectResourceThe tenant project and tenant resources. Next ID: 10String
tenantProjectConfigThe configurations of a tenant project.CloudAiPlatformTenantresourceTenantProjectResourceThe tenant project and tenant resources. Next ID: 10CloudAiPlatformTenantresourceTenantProjectConfig
tenantProjectIdOutput only. The tenant project ID that has been created.CloudAiPlatformTenantresourceTenantProjectResourceThe tenant project and tenant resources. Next ID: 10String
tenantProjectNumberOutput only. The tenant project number that has been created.CloudAiPlatformTenantresourceTenantProjectResourceThe tenant project and tenant resources. Next ID: 10String
tenantServiceAccountsThe service account identities (or enabled API service’s P4SA) that are expclicitly created under the tenant project (before JIT provisioning during enabled API services).CloudAiPlatformTenantresourceTenantProjectResourceThe tenant project and tenant resources. Next ID: 10list(CloudAiPlatformTenantresourceTenantServiceAccountIdentity)
p4ServiceAccountsA list of P4 service accounts (go/p4sa) to provision or deprovision.CloudAiPlatformTenantresourceTenantResourceA collection of tenant resources.list(CloudAiPlatformTenantresourceServiceAccountIdentity)
tenantProjectResourcesA list of tenant projects and tenant resources to provision or deprovision.CloudAiPlatformTenantresourceTenantResourceA collection of tenant resources.list(CloudAiPlatformTenantresourceTenantProjectResource)
serviceAccountEmailOutput only. The email address of the generated service account.CloudAiPlatformTenantresourceTenantServiceAccountIdentityThe identity of service accounts that have been explicitly created under tenant projects.String
serviceNameInput/Output [Required]. The service that the service account belongs to. (e.g. cloudbuild.googleapis.com for GCB service accounts)CloudAiPlatformTenantresourceTenantServiceAccountIdentityThe identity of service accounts that have been explicitly created under tenant projects.String
confidenceThe confidence of the tag, encoded to 14 bits (range [0, 16383]). Due to modeling details, a large number of tags become trustworthy with confidence greater than 0.001, so two bytes of precision are required.CommerceDatastoreDeepTagThe basic message that contains a single decision output of go/deeptagger.integer
tagA Deep Tag enum in uint32 form.CommerceDatastoreDeepTagThe basic message that contains a single decision output of go/deeptagger.integer
modelOutputsThe set of outputs for a series of model versions. The size of this field should not extend beyond 4 at any time: two versions for slow-update track dependencies, and two versions for fast-update track dependencies.CommerceDatastoreImageDeepTagsImage-level deep tags: essentially equivalent to the proto above but containing tags that are computed at the image level. These image signals are maintained by the Visual Shopping team (visual-shopping@). *** If you do use the signals, please add an entry in go/ShoppingImageAttributeClients to be notified for model upgrade. *** We recommend our clients against using the raw confidence value directly. Instead, the clients should use the library, cs/ads/shopping/visual/deeptags/public/single_tag.h and cs/ads/shopping/visual/deeptags/public/single_scored_tag.h to specify an operating point in terms of precision or recall. See the following code example: http://google3/shopping/visual/explore_looks/looks_offline_pipeline.cc?l=268&rcl=304165166 *** `model_outputs` is a repeated field. Please check `version` to get the model you desire to use, instead of indexing the model_outputs directly e.g. model_outputs(0). We will remove the old versions in the future and this will lead to incorrect model. *** Models: As of Q2 2020, we have two models running within Shopping: model one only has the overlay tag, which we are deprecating, and model two has the tags specified in go/VisualShoppingImageAttributes.list(CommerceDatastoreImageDeepTagsModelOutput)
backgroundTypeCommerceDatastoreImageDeepTagsModelOutputCommerceDatastoreDeepTag
collageCommerceDatastoreImageDeepTagsModelOutputCommerceDatastoreDeepTag
croppingWe are looking to deploy a model for the Ads team to identify images with bad cropping. The model will be for Ads only and we will not populate the cropping field in CDS.CommerceDatastoreImageDeepTagsModelOutputCommerceDatastoreDeepTag
modelTypeCommerceDatastoreImageDeepTagsModelOutputCommerceDatastoreDeepTag
nfsTag corresponds to the shopping non-family safe (nfs) image signal.CommerceDatastoreImageDeepTagsModelOutputCommerceDatastoreDeepTag
objectCountCommerceDatastoreImageDeepTagsModelOutputCommerceDatastoreDeepTag
overlayTag corresponding to unwanted text overlay (watermarks, logos, promotional elements, artifacts, etc).CommerceDatastoreImageDeepTagsModelOutputCommerceDatastoreDeepTag
selfieCommerceDatastoreImageDeepTagsModelOutputCommerceDatastoreDeepTag
textOverlayTag corresponding to the text overlay classifier (watermarks, logos, promotional elements, artifacts, etc).CommerceDatastoreImageDeepTagsModelOutputlist(CommerceDatastoreDeepTag)
versionCommerceDatastoreImageDeepTagsModelOutputinteger
localizedvariationsCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194CompositeDocLocalizedVariations
localizedAlternateNameLocalized alternate names are similar to alternate names, except that it is associated with a language different from its canonical. This is the subset of webmaster-provided localized alternate names being in the dup cluster of this document. Used during serving for swapping in the URL based on regional and language preferences of the user.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194list(IndexingConverterLocalizedAlternateName)
forwardingdupCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194list(CompositeDocForwardingDup)
perDocDataCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194PerDocData
accessRequirementsContains necessary information to enforce row level Docjoin access control.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194IndexingPrivacyAccessAccessRequirements
propertiesCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194DocProperties
badSslCertificateThis field is present iff the page has a bad SSL certificate itself or in its redirect chain.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194IndexingBadSSLCertificate
extradupCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194list(CompositeDocExtraDup)
subindexidCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194list(String)
ptokenContains information necessary to perform policy decision on the usage of the data assosiated with this cdoc.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194PtokenPToken
richcontentDataIf present, indicates that some content was inserted, deleted, or replaced in the document’s content (in CompositeDoc::doc::Content::Representation), and stores information about what was inserted, deleted, or replaced.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194IndexingConverterRichContentData
scaledIndyRankto copy to per-docCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194integer
cseIdCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194list(QualityProseCSEUrlInfo)
indexingIntermediateSerialized indexing intermediate data.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194String
docVideosInfo about videos embedded in the document.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194list(ImageRepositoryVideoProperties)
indexinginfoCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194CompositeDocIndexingInfo
localinfoCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194LocalWWWInfo
storageRowTimestampMicrosRow timestamp in CDoc storage.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194String
partialUpdateInfoOnly present in partial cdocs.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194CompositeDocPartialUpdateInfo
additionalchecksumsCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194CompositeDocAdditionalChecksums
anchorsMark as non-personal since no personal fields will be populated in `anchors.link_additional_info` and `anchors.additional_info`. For more details of Search personal data, see go/dma52-search-cdoc-fields.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194Anchors
registrationinfoInformation about the most recent creation and expiration of this domain. It’s extracted from domainedge signal.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194RegistrationInfo
docAttachmentsA generic container to hold document annotations and signals. For a full list of extensions live today, see go/wde.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194Proto2BridgeMessageSet
docinfoPassthroughAttachmentsThis message set is used for data pushed into the index using the signals framework that is never to be used in Mustang or TG Continuum scoring/snippeting code. Any protocol buffer stored in this message set is automatically returned in a docinfo response – it ends up in the “info” message set in the WWWSnippetResponse, so it can be used in post-doc twiddlers and for display in GWS with no code changes in Mustang or Teragoogle.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194Proto2BridgeMessageSet
docImagesInfo about “selected” images associated with the document for which we (already) have ImageData. For each image URL, some fixed number of documents are selected as web referrers for the image URL, and within those selected documents, we say the image is “selected”. Within the remaining documents, we say the image is “rejected”. Note that this distinction is slightly different from selected for indexing. Only images within doc_images where is_indexed_by_imagesearch is true will be selected for indexing. You can find the rejected images at composite_doc.doc_attachments().get(). You can find images that are selected, but for which we have no ImageData (yet) at composite_doc.image_indexing_info().selected_not_indexed_image_link()CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194list(ImageData)
includedcontentCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194list(CompositeDocIncludedContent)
porninfoPorn related data used for image and web search porn classification as well as for diagnostics purposes.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194ClassifierPornDocumentData
urldateDate in the url extracted by quality/snippets/urldate/date-in-url.cc This is given as midnight GMT on the date in question.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194String
embeddedContentInfoData produced by the embedded-content system. This is a thin message, containing only embedded_links_info data for the embedder and JavaScript/CSS embedded links (the embedded-content bigtable also contains snapshots, compressed document trees and all embedded link types). Provided using the index signal API.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194IndexingEmbeddedContentEmbeddedContentInfo
richsnippetrich snippet extracted from the content of a document.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194RichsnippetsPageMap
qualitysignalsCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194CompositeDocQualitySignals
anchorStatsMark as non-personal since it’s an aggregation of anchors. For more details of Search personal data, see go/dma52-search-cdoc-fields.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194IndexingDocjoinerAnchorStatistics
alternatenameCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194list(CompositeDocAlternateName)
dataVersionContains the tracking version of various data fields in CompositeDoc.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194IndexingDocjoinerDataVersion
syntacticDateCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194QualityTimebasedSyntacticDate
urlWARNING!!! “url” field in CompositeDoc is optional, and is usually missing: e.g., Docjoin CompositeDoc’s don’t have CompositeDoc::url. has_url() checking is often useful. So don’t rely on CompositeDoc::url unless you’re sure otherwise. Usually you want to use CompositeDoc::doc::url instead.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194String
docjoinsOnSpannerCommitTimestampMicrosThe commit timestamp of a CDoc update to Docjoins on Spanner.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194String
ContentChecksum96Visible content checksum as computed by repository::parsehandler::checksum::Checksum96bitsParseHandler. The value is a Fprint96 in “key format” (i.e., by Fprint96::AsKey()).CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194String
liveexperimentinfoCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194CompositeDocLiveExperimentInfo
labelDataThis field associates a document to particular labels and assigns confidence values to them.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194QualityLabelsGoogleLabelData
sitemapSitelinks: a collection of interesting links a user might be interested in, given they are interested in this document. WARNING: this is different from the crawler Sitemaps (see SitemapsSignals in the attachments).CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194Sitemap
robotsinfolistCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194CompositeDocRobotsInfoList
docCompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194GDocumentBase
csePagerankCutoffURL should only be selected for CSE Index if it’s pagerank is higher than cse_pagerank_cutoff.CompositeDocProtocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: – Where should I look up certain information (e.g: pagerank, language)? – What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field’s size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194integer
NoTransientChecksum96Same as ContentChecksum96 but without transient boilerplate.CompositeDocAdditionalChecksumsAdditional checksums of the document.String
SimHashDeprecated. Use simhash_v2 and simhash_v2_significance instead.CompositeDocAdditionalChecksumsAdditional checksums of the document.String
SimHashIsTrustedCompositeDocAdditionalChecksumsAdditional checksums of the document.boolean
simhashV2Simhash-v2 is generated by SimHashParseHandler, designed as a complete replacement of simhash-v1 (a.k.a. the original simhash above) from ApproxDupsParseHandler. Simhash-v2 uses a revised algorithm so that it is expected to work better in most cases than simhash-v1. They coexist in current transition period, then simhash-v1 will be retired.CompositeDocAdditionalChecksumsAdditional checksums of the document.String
simhashV2SignificanceSimhash-v2-significance is used to describe the confidence about the corresponding simhash-v2 value. It is defined as the average absolute difference from zero of all internal state components when finalizing a simhash-v2 value in HashMultiSetDotCauchy. We used to compare the significance against some pre-defined threshold (default: 20) to get a boolean value “trusted_simhash_v2”. However, it is possible that this field is missing while “simhash_v2” is present, in such case (1) Use “SimHashIsTrusted” instead if it is present, AND/OR (2) Assume “simhash_v2” is trusted if its value is non-zero.CompositeDocAdditionalChecksumsAdditional checksums of the document.float
UrlCompositeDocAlternateNameAlternate names are some urls that we would like to associate with documents in addition to canonicals. Sometimes we may want to serve these alternatenames instead of canonicals. Alternames in CompositeDoc should come from WebMirror pipeline.String
UrlEncodingSee webutil/urlencodingCompositeDocAlternateNameAlternate names are some urls that we would like to associate with documents in addition to canonicals. Sometimes we may want to serve these alternatenames instead of canonicals. Alternames in CompositeDoc should come from WebMirror pipeline.integer
ecnFpFp96 of webmirror equivalence class as of last time this was exported.CompositeDocAlternateNameAlternate names are some urls that we would like to associate with documents in addition to canonicals. Sometimes we may want to serve these alternatenames instead of canonicals. Alternames in CompositeDoc should come from WebMirror pipeline.String
ecnFpFp96 of webmirror equivalence class as of last time this was exported.CompositeDocExtraDupThe top non-forwarding dups of the canonical url.String
urlThe url of the non-forwarding dup.CompositeDocExtraDupThe top non-forwarding dups of the canonical url.String
ecnThe name of the url’s webmirror equivalence class.CompositeDocForwardingDupThe top forwarding dups of the canonical url. (note: it may actually include some dups that are NOT used for forwarding data but for making “info:” complete)String
ecnFpCompositeDocForwardingDupThe top forwarding dups of the canonical url. (note: it may actually include some dups that are NOT used for forwarding data but for making “info:” complete)String
purposesThe purpose(s) of the forwarding dup indicating if it is used for forwarding signal/anchors generally, or only for forwarding some specific signal (e.g. navboost), or for some other purposes (e.g., not for forwarding any data but for making “info:” complete). See indexing/dups/public/dups.h for more details.CompositeDocForwardingDupThe top forwarding dups of the canonical url. (note: it may actually include some dups that are NOT used for forwarding data but for making “info:” complete)integer
rawPagerankRaw pagerank of the url.CompositeDocForwardingDupThe top forwarding dups of the canonical url. (note: it may actually include some dups that are NOT used for forwarding data but for making “info:” complete)integer
repidThe webmirror repid of the forwarding dup.CompositeDocForwardingDupThe top forwarding dups of the canonical url. (note: it may actually include some dups that are NOT used for forwarding data but for making “info:” complete)String
urlThe url of the forwarding dup.CompositeDocForwardingDupThe top forwarding dups of the canonical url. (note: it may actually include some dups that are NOT used for forwarding data but for making “info:” complete)String
urlencodingThe encoding of the url (see webutil/urlencoding for details).CompositeDocForwardingDupThe top forwarding dups of the canonical url. (note: it may actually include some dups that are NOT used for forwarding data but for making “info:” complete)integer
SourceTypeBitfieldIndicate how this content came to be included. Legal values are constructed by bitwise-OR-ing values from the included_content::SourceType enum. Default SourceTypeBitfield = included_content::INCLUDED_FRAMECompositeDocIncludedContentString
includedDocCompositeDocIncludedContentGDocumentBase
linkUrlCompositeDocIncludedContentString
perDocDataCompositeDocIncludedContentPerDocData
propertiesCompositeDocIncludedContentDocProperties
cdocBuildInfoTo hold extra info for building a final cdoc from raw cdoc and goldmine annotations.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.IndexingDocjoinerCDocBuildInfo
contentProtectedWhether current page is under content protection, i.e. a page has been crawled as an error page, but we preserve its last known good content and keep its crawl_status as converter.CrawlStatus::CONTENT.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.boolean
convertToRobotedReasonIf set, indicates that the crawl status was converted to ROBOTED for the reason specified by the enum value in converter.RobotedReasons.ConvertToRobotedReasons. See indexing/converter/proto/converter.proto for details. If unset, then the document was not converted to roboted, and if the document crawl status is ROBOTED, then the document is disallowed (at least to Google) in robots.txt.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.integer
crawlStatusOne of the enum values in converter.CrawlStatus.State (see indexing/converter/proto/converter.proto for details). Default is converter.CrawlStatus::CONTENT. The document is roboted if the value is converter.CrawlStatus::ROBOTED.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.integer
demotionTagsCompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.list(String)
errorTypeOne of the enum values in converter.ErrorPageType (see indexing/converter/proto/error-page-detector-enum.proto for detail). Default is converter::ERROR_PAGE_NONE.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.integer
freshdocsCorporaCompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.list(String)
hostidThe host id of the document. Used chiefly to determine whether the document is part of a parked domain.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.String
ieIdentifierA short descriptive string to help identify the IE application or setup where this CDoc is generated. For example: websearch_m3 This field is for debuggability purposes.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.String
imageIndexingInfoIndexing info about images (i.e. image links missing image data, etc).CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.ImageSearchImageIndexingInfo
indexingTsThe timestamp (the time since the Epoch, in microseconds) when the docjoin is exported from indexing. The main purpose of this field is to identify different versions of the same document.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.String
noLongerCanonicalTimestampIf set, the timestamp in microseconds when the URL stopped being canonical. This should never be set for exported canonical documents. This field is used by dups during canonical flip, and by webmain when doc selection switched between desktop and mobile. Union respects this timestamp to prevent old doc being deleted until the new doc is picked upCompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.String
normalizedClickScoreThis score is calculated by re-mapping the back onto the partition’s score distribution, such that the score represents the score of the equivalently ranked organically-selected document.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.number
primaryVerticalVertical membership of the document. – `primary_vertical` is the vertical that initiated indexing of this document (or empty if the vertical was websearch). – `verticals` is the full list of verticals that contained this document (excluding websearch) at indexing time. `primary_vertical` may or may not be an element of `verticals` because of vertical membership skew between the ingestion time and indexing time. See go/one-indexing-for-web for more background.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.String
rawNavboostThe raw navboost count for the canonical url without aggregating the navboost from dup urls. This field is used when building forwarding map.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.integer
rowTimestampThe timestamp (the time since the Epoch, in microseconds) to represent doc version, which is used in the downstream processing after Raffia. If it’s not set, indexing_ts will be used as row_timestamp. The timestamp is generally set by reprocessing to set slightly newer indexing_ts such that the system can respect the reprocessed version to overwrite old data in storage.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.String
selectionTierRankSelection tier rank is a language normalized score ranging from 0-1 over the serving tier (Base, Zeppelins, Landfills) for this document.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.number
tracingIdThe tracing ids is to label the version of url for url status tracking. This repeated field will carry at most 10 tracing id. See more details in go/rich-tracing-design There will be less than 2% base+uz cdocs carrying this field. The major sources of tracing ids include: * Indexing API pushed urls * Index Metrics sampling urls The tracing ids will be written into cdocs by Webmain Ramifier. The consumer of the tracing ids is Union serving notification collector see more at go/serving-notification-from-unionCompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.list(String)
urlChangerateChangerate information for this doc (see crawler/changerate/changerate.proto for details).CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.CrawlerChangerateUrlChangerate
urlHistoryUrl change history for this doc (see crawler/changerate/changerate.proto for details). Note if a doc has more than 20 changes, we only keep the last 20 changes here to avoid adding to much data in its docjoin.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.CrawlerChangerateUrlHistory
urlPatternSignalsUrlPatternSignals for this doc, used to compute document score in LTG (see indexing/signal_aggregator/proto/signal-aggregator.proto for details).CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.IndexingSignalAggregatorUrlPatternSignals
verticalsCompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.list(String)
videoIndexingInfoIndexing info about videos.CompositeDocIndexingInfoContains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.ImageRepositoryVideoIndexingInfo
perLiveExperimentInfoList of necessary information for each live experiments.CompositeDocLiveExperimentInfoContains information needed for end-to-end live experiments. For a cdoc generated by production pipeline, it includes experiment IDs that have selected current document. For a cdoc generated by experiment pipeline, it includes current experiment ID.list(CompositeDocLiveExperimentInfoPerLiveExperimentInfo)
experimentIdID of a live experiment.CompositeDocLiveExperimentInfoPerLiveExperimentInfoContains information for a live experiment.String
partialCdocPartial CDoc for a live experiment.CompositeDocLiveExperimentInfoPerLiveExperimentInfoContains information for a live experiment.CompositeDoc
dupsComputedAlternateNamesA subset of computed variations, only the members which are dups to the main url. Used during serving for swapping in the URL based on regional and language preferences of the user.CompositeDocLocalizedVariationslist(IndexingDupsComputedLocalizedAlternateNamesLocaleEntry)
webmasterAlternateNamesAll localized alternate names provided by the webmaster (canonical and dups, indexed and not-indexed). Used on the ranking side for swapping out results based on the webmaster preference.CompositeDocLocalizedVariationslist(IndexingConverterLocalizedAlternateName)
goldmineAnnotatorNamesList of goldmine annotator updates present in the enclosing partial cdoc.CompositeDocPartialUpdateInfoContains information about the partial updates present in a partial CompositeDoc.list(String)
imagesSignalNamesList of images signal updates present in the enclosing partial cdoc. Images signal name for a images signal is the unique name for the signal according to SignalSpec.CompositeDocPartialUpdateInfoContains information about the partial updates present in a partial CompositeDoc.list(String)
lastFullIndexingInfoContains last full indexing information for partial updates.CompositeDocPartialUpdateInfoContains information about the partial updates present in a partial CompositeDoc.list(CompositeDocPartialUpdateInfoLastFullIndexingInfo)
shouldLookupDocjoinsTierWhich tier we should do cdoc lookup to merge partial cdocs. This uses the integer value of indexing.selection.CorpusId. NOT intended for other usage.CompositeDocPartialUpdateInfoContains information about the partial updates present in a partial CompositeDoc.integer
shouldLookupDocjoinsVerticalCorpusWhich vertical docjoin corpus we should do cdoc lookup to merge partial cdocs. This uses the string value of table name in google3/indexing/docjoins/spanner/schema/global_tables_data.sdl. For example, Voce and ShortVideo. NOT intended for other usage.CompositeDocPartialUpdateInfoContains information about the partial updates present in a partial CompositeDoc.String
signalNamesList of signal updates present in the enclosing partial cdoc. Signal name for a signal is unique name for the signal according to SignalSpec.CompositeDocPartialUpdateInfoContains information about the partial updates present in a partial CompositeDoc.list(String)
corpusThe corpus of last full updates.CompositeDocPartialUpdateInfoLastFullIndexingInfoLast full indexing information for the partial CDoc.String
lastFullIndexingTsMicrosLast full update indexing timestamp in microseconds.CompositeDocPartialUpdateInfoLastFullIndexingInfoLast full indexing information for the partial CDoc.String
lastSignificantUpdateContains a date used for the “Date Last Modified” toolbelt restrict mode. Note: this date is a combined date and is different from the pure shingle-based signal stored in contentage.last_significant_update field.CompositeDocQualitySignalsNote: This is a misleading name as of 2022/10/14. The field is still set and has meaningful data, but no longer holds quality signals. All the data are freshness-related and they’re not particularly sensitive.QualityTimebasedLastSignificantUpdate
pagetypeCompositeDocQualitySignalsNote: This is a misleading name as of 2022/10/14. The field is still set and has meaningful data, but no longer holds quality signals. All the data are freshness-related and they’re not particularly sensitive.QualityTimebasedPageType
newsRobotsInfoCompositeDocRobotsInfoListList of robots info parsed for the user-agents other than the default used to crawl this page.IndexingConverterRobotsInfo
ugcDiscussionEffortScoreUGC page quality signals. (Times 1000 and floored)CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
productReviewPPromotePageCompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
experimentalQstarDeltaSignalThis field is *not* propagated to shards. It is meant to be populated at serving time using one of the versions present in the `experimental_nsr_team_wsj_data` field above (using the `ExperimentalNsrTeamDataOverridesParams` opti to populate it; see http://source/search?q=ExperimentalNsrTeamDataOverridesParams%20file:ascorer.proto). The purpose of this field is to be read by an experimental Q* component, in order to quickly run LEs with new delta components. See go/0DayLEs for details.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43number
productReviewPDemoteSiteProduct review demotion/promotion confidences. (Times 1000 and floored)CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
experimentalQstarSiteSignalThis field is *not* propagated to shards. It is meant to be populated at serving time using one of the versions present in the `experimental_nsr_team_wsj_data` field above (using the `ExperimentalNsrTeamDataOverridesParams` opti to populate it; see http://source/search?q=ExperimentalNsrTeamDataOverridesParams%20file:ascorer.proto). The purpose of this field is to be read by an experimental Q* component, in order to quickly run LEs with new site components. See go/0DayLEs for details.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43number
exactMatchDomainDemotionPage quality signals converted from fields in proto QualityBoost in quality/q2/proto/quality-boost.proto. To save indexing space, we convert the float values in [0, 1] to integers in range [0, 1023] (use 10 bits). exact_match_domain_demotion: converted from QualityBoost.emd.boost.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
nsrVersionedDataVersioned NSR score to be used in continuous evaluation of the upcoming NSR version and assess quality impact on various slices. This field is deprecated – used the equivalent field inside nsr_data_proto instead.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43list(NSRVersionedItem)
nsrConfidenceNSR confidence score: converted from quality_nsr.NsrData. This field is deprecated – use nsr_variance inside nsr_data_proto instead.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
lowQualityS2V low quality score: converted from quality_nsr.NsrData, applied in Qstar. See quality_nsr::util::ConvertNsrDataToLowQuality.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
navDemotionnav_demotion: converted from QualityBoost.nav_demoted.boost.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
pqDataEncoded page-level PQ signals.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
siteAuthoritysite_authority: converted from quality_nsr.SiteAuthority, applied in Qstar.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
crapsNewUrlSignalsFor craps_[url|pattern]_signals, please avoid accessing these fields directly, even in minor ways like checking has_craps_*. Instead, please use methods from quality/navboost/craps/craps-lossy-compression.h or talk to craps-team@.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43String
babyPandaV2DemotionNew BabyPanda demotion, applied on top of Panda. This is meant to replace |baby_panda_demotion|.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
authorityPromotionauthority promotion: converted from QualityBoost.authority.boostCompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
productReviewPUhqPageThe possibility of a page being a high quality review page.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
crapsAbsoluteHostSignalsImpressions, unsquashed, host level, not to be used with compressed ratios. Not to be used in Pattern Data.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
productReviewPPromoteSiteCompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
nsrOverrideBidNSR override bid, used in Q* for emergency overrides. This field is deprecated – used the equivalent field inside nsr_data_proto instead.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43number
babyPandaDemotionbaby_panda_demotion: converted from QualityBoost.rendered.boost.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
serpDemotionserp demotion: applied in Qstar.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
anchorMismatchDemotionanchor_mismatch_demotion: converted from QualityBoost.mismatched.boost.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
crapsNewHostSignalsCompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43String
experimentalQstarSignalThis field is *not* propagated to shards. It is meant to be populated at serving time using one of the versions present in the `experimental_nsr_team_wsj_data` field above (using the `ExperimentalNsrTeamDataOverridesParams` opti to populate it; see http://source/search?q=ExperimentalNsrTeamDataOverridesParams%20file:ascorer.proto). The purpose of this field is to be read by an experimental Q* component, in order to quickly run LEs with new components. See go/0DayLEs for details.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43number
pairwiseqScoringDataDeprecated and unused field.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43PairwiseQScoringData
topicEmbeddingsVersionedDataVersioned TopicEmbeddings data to be populated later into superroot / used directly in scorers.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43list(QualityAuthorityTopicEmbeddingsVersionedItem)
scamnessScam model score. Used as one of the web page quality qstar signals. Value range from 0 to 1023.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
crapsUnscaledIpPriorBadFractionCompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
pandaDemotionThis is the encoding of Panda fields in the proto SiteQualityFeatures in quality/q2/proto/site_quality_features.proto. The encoding/decoding is performed using functions from quality_coati::coati_util.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
unauthoritativeScoreUnauthoritative score. Used as one of the web page quality qstar signals.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
experimentalNsrTeamWsjDataThis field is *not* propagated to shards, but it’s populated at serving time by go/web-signal-joins (see b/207344056). See go/0DayLEs for details. This is only meant to be used during LEs, it should *not* be used for launches.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43list(QualityNsrExperimentalNsrTeamWSJData)
experimentalNsrTeamDataThis field is *not* propagated to shards, but it’s populated at serving time by go/web-signal-joins (see b/207344056). See go/0DayLEs for details. This is only meant to be used during LEs, it should *not* be used for launches.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43QualityNsrExperimentalNsrTeamData
productReviewPReviewPageFields product_review_p_review_page and product_review_p_uhq_page are for promoting/demoting HQ/LQ review pages in NGS. See go/pr-boosts for details. The possibility of a page being a review page.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
pqDataProtoStripped page-level signals, not present in the encoded field ‘pq_data’.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43QualityNsrPQData
pairwiseqVersionedDataVersioned PairwiseQ score to be used in continuous evaluation of the upcoming PairwiseQ versions and assess quality impact on various slices.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43list(PairwiseQVersionedItem)
crapsNewPatternSignalsCompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43String
vlqNsrNSR for low-quality videos, converted from quality_nsr.NsrData.vlq_nsr. This field is deprecated – used the equivalent field inside nsr_data_proto instead.CompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
productReviewPDemotePageCompressedQualitySignalsA message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 43integer
conceptIdConceptsConceptIdString
iduint64 bring lots of issues, and string a better practice.ConceptsConceptIdString
freshdocsOutgoingSelected outgoing attributions extracted on FreshDocs.ContentAttributionsThe following protobuf is used to store an attribution from one page to (usually) one other page, giving credit for the content. This information is used during ranking to promote the attributed page. This protobuf is copied from a quality_contra::SelectedAttribution. See //quality/contra/authorship/attribution and https://qwiki.corp.google.com/display/Q/ContentTrackingContentAttribution.list(ContentAttributionsOutgoingAttribution)
offlineOutgoingSelected outgoing attributions extracted via offline MR jobs.ContentAttributionsThe following protobuf is used to store an attribution from one page to (usually) one other page, giving credit for the content. This information is used during ranking to promote the attributed page. This protobuf is copied from a quality_contra::SelectedAttribution. See //quality/contra/authorship/attribution and https://qwiki.corp.google.com/display/Q/ContentTrackingContentAttribution.list(ContentAttributionsOutgoingAttribution)
onlineOutgoingSelected outgoing attributions extracted online on Alexandria.ContentAttributionsThe following protobuf is used to store an attribution from one page to (usually) one other page, giving credit for the content. This information is used during ranking to promote the attributed page. This protobuf is copied from a quality_contra::SelectedAttribution. See //quality/contra/authorship/attribution and https://qwiki.corp.google.com/display/Q/ContentTrackingContentAttribution.list(ContentAttributionsOutgoingAttribution)
bestEvidenceTypeContentAttributionsOutgoingAttributionThis is a copy of quality_contra::SelectedAttribution::SelectedInfo. The url is converted to docid and other fields are copied directly.String
docidContentAttributionsOutgoingAttributionThis is a copy of quality_contra::SelectedAttribution::SelectedInfo. The url is converted to docid and other fields are copied directly.String
propertiesContentAttributionsOutgoingAttributionThis is a copy of quality_contra::SelectedAttribution::SelectedInfo. The url is converted to docid and other fields are copied directly.integer
usableForClusteringContentAttributionsOutgoingAttributionThis is a copy of quality_contra::SelectedAttribution::SelectedInfo. The url is converted to docid and other fields are copied directly.boolean
mustangBytesCompact representation for Mustang storage. See image/search/utils/packed_crops.h for details on the packing format.ContentAwareCropsIndexingString
mustangBytesVersionContentAwareCropsIndexinginteger
canonicalLexicalMidMid for an entity that has lexical data (a LexiconEntry). See https://g3doc.corp.google.com/nlp/generation/g3doc/lexical_data.md for for more information about lexical data. This is the canonical mid for this entity (eg. it would be for “mother” in EN even if user referred to “mom”).CopleyLexicalMetadataContains lexical metadata for a given reference. For example, this proto will be used to store locale-specific Lexical mids for contact relationships (e.g. /g/11gv0vypg4 is the mid for mother in english and /g/11gmy_gv87 is for mother in french) as an extension to QRefAnnotation::other_metadata, when available.String
personalReferenceTypeThe manner in which the entity was referenced (e.g. “my hotel”, “the airport”).CopleyPersonalReferenceRepresents a reference made by a user that refers to some personal entity.String
referenceScoreThe strength of the personal reference. For example “my flight” may receive a high reference_score, whereas “the airport” may receive a low score.CopleyPersonalReferenceMetadataGeneral message used to store metadata about references to personal entities, even if those entities cannot be resolved.number
referencesA list of all references made. Empty if no personal references exist. Multiple references can be present when multiple references were made in a single query, or the type of reference was ambiguous.CopleyPersonalReferenceMetadataGeneral message used to store metadata about references to personal entities, even if those entities cannot be resolved.list(CopleyPersonalReference)
subreferenceMetadataSubreference metadata for all compound references on this span.CopleyPersonalReferenceMetadataGeneral message used to store metadata about references to personal entities, even if those entities cannot be resolved.CopleySubreferenceMetadata
sourceTypeMetadataCopleySourceTypeListlist(CopleySourceTypeMetadata)
contactAnnotationIdAnnotation ID of a contact annotation, e.g. a relationship set via Assistant. This ID is generated by People Write Server. It is used to delete Contact Annotations via People API.CopleySourceTypeMetadataContains the source and type information related to a personal entity, for example if it’s an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13String
displayableNameCopleySourceTypeMetadataContains the source and type information related to a personal entity, for example if it’s an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13String
emailIdentifierOnly used if personal_data_provenance == PERSONAL_SOURCE_GMAIL. Used to create a link to the source email in the form: mail.google.com/mail/u/0/?extsrc=sync&client=h&plid={email_identifier}CopleySourceTypeMetadataContains the source and type information related to a personal entity, for example if it’s an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13String
eventIdPopulated for some footprints data sources; uniquely identifies the footprint that generated the personal data that this provenance is attached to.CopleySourceTypeMetadataContains the source and type information related to a personal entity, for example if it’s an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13EventIdMessage
localDiscoverySettingsMetadataCopleySourceTypeMetadataContains the source and type information related to a personal entity, for example if it’s an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13PersonalizationSettingsApiProtoLocalDiscoveryLocalDiscoverySettingsMetadata
personalDataProvenanceCopleySourceTypeMetadataContains the source and type information related to a personal entity, for example if it’s an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13String
personalDataTypeCopleySourceTypeMetadataContains the source and type information related to a personal entity, for example if it’s an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13String
provenanceCategoryCopleySourceTypeMetadataContains the source and type information related to a personal entity, for example if it’s an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13list(String)
sensitivitySensitivity applying to this copley annotation.CopleySourceTypeMetadataContains the source and type information related to a personal entity, for example if it’s an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13KnowledgeAnswersSensitivitySensitivity
mostCompoundResolvedEntitiesResolved entities are sorted from highest resolution score to lowest.CopleySubreferenceMetadataRepresents the most compound resolved entities and most nested unresolved references for a span. Useful for punting.list(CopleySubreferenceResolution)
mostNestedUnresolvedReferenceThis is a merged representation of the compound reference having the most_compound_resolved_entities as an argument.CopleySubreferenceMetadataRepresents the most compound resolved entities and most nested unresolved references for a span. Useful for punting.CopleySubreferenceReference
personalReferenceTypesType of reference. There may be multiple for a single reference (e.g. relationship and contact).CopleySubreferenceReferenceRepresents a reference that may be part of a larger compound reference. For example, “my brother’s birthday” will have a subreference that may have references for “my brother”.list(String)
referenceScoreHighest reference score for any references merged in this span.CopleySubreferenceReferenceRepresents a reference that may be part of a larger compound reference. For example, “my brother’s birthday” will have a subreference that may have references for “my brother”.number
relationshipLexicalInfoOnly set for unresolved relationship references and can be used to get the canonical word for the relationship (e.g. “mother”) in TTS.CopleySubreferenceReferenceRepresents a reference that may be part of a larger compound reference. For example, “my brother’s birthday” will have a subreference that may have references for “my brother”.CopleyLexicalMetadata
midCan be used with PKG Service for looking up metadata about this entity at fulfillment/GenX time.CopleySubreferenceResolutionRepresents a resolution that may be part of a larger compound reference. For example, “my brother’s birthday” will have a subreference that may have resolutions for “my brother”.String
nameName of the entity represented by this resolution.CopleySubreferenceResolutionRepresents a resolution that may be part of a larger compound reference. For example, “my brother’s birthday” will have a subreference that may have resolutions for “my brother”.String
resolutionScoreA resolution score of 0 indicates that it did not resolve to a real entity.CopleySubreferenceResolutionRepresents a resolution that may be part of a larger compound reference. For example, “my brother’s birthday” will have a subreference that may have resolutions for “my brother”.number
corpusCorpusSelectionInfoString
corpusScoreCorpus specific score for an imageCorpusSelectionInfonumber
isSelectedForIndexingWhether an image was selected for indexing.CorpusSelectionInfoboolean
referrerDocidSet of referrers indexed with the image.CorpusSelectionInfolist(String)
referrerUrlsSet of referrer urls indexed with the image.CorpusSelectionInfolist(String)
confidenceTo store confidence in the distribution in cases when total is not set.CountryClickDistributionfloat
itemCountryClickDistributionlist(CountryClickDistributionItem)
totalTo store total clicks on this page/domain.CountryClickDistributionfloat
doubleValueCountryClickDistributionItemfloat
nameCountryClickDistributionItemString
valueCountryClickDistributionIteminteger
debugA non critical field to store debug info for a country attachment. Used in experiments and for debugging.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44String
salientCountrySetCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44QualitySalientCountriesSalientCountrySet
provinceGeotokenListCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(CountryProvinceGeotoken)
countryidFromUgcIs true if the country attachment was computed through the UGC pipeline.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
fromUrlPatternCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
weightAboveIdealForLocalnessIf result is global, store weight above ideal, as a confidence signal. Used in query localness, cleared in production CountryAttachment.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44float
existNextLevelCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
globalCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
urlPatternBasedCountryCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44integer
fromLanguageFallbackBooleans to keep track of where the country-id of the page came from. These are used for debugging and/or unittests, and cleared in production.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
salientCountries[Experimental]: Top salient countries for a doc. If a country can not be found on this field it can be considered that this doc is not relevant to it.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(CountrySalientCountry)
fromRestrictsCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
relatedCountriestwo-letter(lower-case) countrycode, e.g. us countries that is related to, but not local toCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(String)
relatedCountryCodesCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(integer)
sitenameDomain name of keys in filtering metro reducer class, used only by the intermediate mapreduces to produce filtered data.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44String
fromUgcCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
localCountryCodesFields that actually store the country id in docjoins. The format of this data is defined in //i18n/identifiers/stableinternalregionconverter.cc. Converter defined there can be used to convert it to RegionCode format.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(integer)
clickDistributionStore weighted click distribution for page level country-id classification.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44CountryClickDistribution
localCountriestwo-letter(lower-case) countrycode, e.g. us countries that is local toCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(String)
geoLocationsNew MetroID: Now called GeoLocations since the locations could be sublocalities, cities or states. GeoLocations are always more fine grained than country. TODO (jayeshv): Once new MetroID/GeoLocations is launched everywhere, deleted old MetroID related fields.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44CountryGeoLocations
superGlobalSuper global pages get lesser demotion than global pages. A document can only be either global or super_global but not both.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
isValidForCountryRestrictSet to true if the local_countries field can be used for country restricts as well.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
documentLocationSourceSpecifies the origin of `geo_locations`. Right now, it can either come from deprecated Docloc system or the new Brainloc system when Docloc doesn’t have sufficient evidence.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44String
fromSgDomainsCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
fromWmxCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
userVisibleCountryFromLogsThis is used to store the visible country id computed from logs dataCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44String
fromTldCountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44boolean
metroIdListMetro locations: list of NavBoost feature V2 associated with a doc, along with the enclosing province. Metro locations with new tags.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(CountryMetroNBFeature)
restrictCountriesList of two-letter(lower-case) countrycodes(e.g. us) valid for restricts. Typically cloned out of local_countries if is_valid_for_country_restrict is set to true.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(String)
debugSourceUrlSet to the signal source URLs when merging country signals in Alexandria during sitemoves. Essentially if sites A and B move to C, and we merge A and B’s signal to C, in the countryattachment signal C will have URL A and B as source_url. Only used for debugging and it doesn’t show up in docjoins.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(String)
wmxCountryCountry specified for a web-site through webmaster console.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44String
metroNavboostMetro navboost: list of (NavBoost feature V2, navboost float) pairs.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(CountryMetroNBFeature)
urlPatternBasedLanguageLanguage and country extracted using the URL pattern map.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44integer
metroLocationIdMetro level data. metro_location_id stores geotokens for metro restricts.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44list(String)
userVisibleLocalCountryThis is the country id we show to users on the result page. This is kept different from country demotion country id because we dont want to expose our backoff and url based detection algorithm – also we want to be ultra conservative in showing this.CountryCountryAttachmentIf you add new fields to this message, do not use any tag value less than the “Next free tag” below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44integer
clickRadius50PercentThe radius (in miles) around the assigned location that the document gets 50% of its clicks.CountryGeoLocationStores one location and all meta-data associated with that location.integer
confidenceConfidence on the location. Ranges in [0.0, 1.0]. Cleared during index creation.CountryGeoLocationStores one location and all meta-data associated with that location.number
confidencePercentConfidence mapped to [0, 100]. Converted to integer for efficient storage. Populated during index creation.CountryGeoLocationStores one location and all meta-data associated with that location.integer
internalIdUsed for compressed docloc data. In compressed data, instead of location_info, only an integer ID for that LocationInfo is stored. A separate lookup table is used to get full LocationInfo from the internal ID.CountryGeoLocationStores one location and all meta-data associated with that location.integer
locationInfoCountryGeoLocationStores one location and all meta-data associated with that location.CountryLocationInfo
propagatedFromASubpageTrue if this location is assigned to one of the subpages, and not to the page itself. If the total number of locations assigned to all the subpages of a page is small (usually up to 5), then that page also gets assigned those locations, and this flag is set for those locations.CountryGeoLocationStores one location and all meta-data associated with that location.boolean
geoLocationCountryGeoLocationsList of locations assigned to a document.list(CountryGeoLocation)
isNonLocationSpecificThis will be set to true for documents which receive several clicks but are not assigned any location because the click distribution is flat. Typical examples are global sites like facebook.com, chains like walmart.com, informational sites like wikipedia.org etc. This flag is not propagated to deeper pages since this signal is meant to indicate that a website or a part of website is conclusively non-local, so propagating this information to deeper pages does not make sense. If this flag is set, then the only possible geo_location will be the ones which are propagated_from_a_subpage.CountryGeoLocationsList of locations assigned to a document.boolean
propagationDepthFromParentDepth of the URL from it’s nearest parent in GeoLocation data. Webpages inherhit locations from their parent pages. For example, if foo.com/a is assigned location L1, and foo.com/a/b is not assigned any location, then http://www.foo.com/a/b inherits location L1 from it’s nearest parent foo.com/a in GeoLocation data. This attribute is the distance from the nearest parent which is present in GeoLocation data. In this particular case, it will be 1.CountryGeoLocationsList of locations assigned to a document.integer
centerThe latitude and longitude of the conceptual center of the location. For cities, this would be the center of the downtown, or maybe the location of city hall. For states and countries it might be the capital city. But there are no guarantees and this may be any random point inside the location.CountryLocationInfoThis represents one location.GeostorePointProto
cityCountryLocationInfoThis represents one location.String
countryHuman readable name hierarchy. Only the relevant fields will be present. For example for city GeoLocations, sub_locality field will not be present. Cleared during index creation.CountryLocationInfoThis represents one location.String
countyCountryLocationInfoThis represents one location.String
enclosingStateFeatureIdOyster feature ID of the enclosing state. Cleared during index creation.CountryLocationInfoThis represents one location.GeostoreFeatureIdProto
featureIdOyster feature ID of the location. Cleared during index creation.CountryLocationInfoThis represents one location.GeostoreFeatureIdProto
stateCountryLocationInfoThis represents one location.String
stateIdFprint32 bit fingerprint of the feature id of the state of this location. For cities and sub-localities it will be the enclosing state. For state locations, it will be fingerprint of the feture-id of the location itself. Populated during index creation.CountryLocationInfoThis represents one location.integer
subLocalityCountryLocationInfoThis represents one location.String
typeType of the location (sub-locality, city, state etc).CountryLocationInfoThis represents one location.String
enclosingProvinceGeotokenThe enclosing_province_geotoken is a 32 bit fingerprint of the state encosing the (metro) id. MetroId’s can span multiple states. Enclosing geotoken is filled in with the state name for disambiguation. ProvinceGeotoken field is different as it indicates an “interest”. Format: 32 bit fingerprint(__state__country).CountryMetroNBFeatureA metro feature, keyed by NavBoost feature id V2. This can be a metro id, a boost, or extended in the future to add probabilities or weights.integer
idA 32 bit navboost v2 feature id encoding (country, language, metro). NavBoosterUtils class (google3/quality/navboost/nav_booster_utils.h) provides functions to decode this feature.CountryMetroNBFeatureA metro feature, keyed by NavBoost feature id V2. This can be a metro id, a boost, or extended in the future to add probabilities or weights.integer
navboostThis is the multiplier to apply to the result for this locale & query. NOTE: This is for serving purposes only and should not be populated in the index.CountryMetroNBFeatureA metro feature, keyed by NavBoost feature id V2. This can be a metro id, a boost, or extended in the future to add probabilities or weights.number
geotokenCountryProvinceGeotokenA 32 bit fingerprint of a state level geotoken. The geotoken is in the following format: __state__country. These indicate a page is of interest to these states/regions of a country. The use of message is to enable easy additions of probabilities or weights per metro id in the future.integer
compressedSalienceCountrySalientCountrySalient Countries is an estimated probability (salience) of a doc to be relevant to a country. On this message, countries are represented as int32 (the format of this data is defined in i18n/identifiers/stableinternalregionconverter.cc). Salience is a value in range [0.0 – 1.0] in which 1.0 represents a high likelihood to be relevant to the countryinteger
countryCodeCountrySalientCountrySalient Countries is an estimated probability (salience) of a doc to be relevant to a country. On this message, countries are represented as int32 (the format of this data is defined in i18n/identifiers/stableinternalregionconverter.cc). Salience is a value in range [0.0 – 1.0] in which 1.0 represents a high likelihood to be relevant to the countryinteger
salienceCountrySalientCountrySalient Countries is an estimated probability (salience) of a doc to be relevant to a country. On this message, countries are represented as int32 (the format of this data is defined in i18n/identifiers/stableinternalregionconverter.cc). Salience is a value in range [0.0 – 1.0] in which 1.0 represents a high likelihood to be relevant to the countrynumber
componentsCrawlerChangerateMultipleComponentDistributionProto contains parameters for a multiple component distributions, where each component has non-negative weight and the sum of component weights is 1.list(CrawlerChangerateSingleComponentDistribution)
logScalingScaling factor to ensure the approximated posterior to have the same scale as the product of prior and likelihood. This value is used to compute posterior weights. Uses log scale to provide a wider range. This field is for internal use only.CrawlerChangerateSingleComponentDistributionProto contains parameters of a single component distribution.number
typeThe type indicates the type of the distribution.CrawlerChangerateSingleComponentDistributionProto contains parameters of a single component distribution.String
weightThe weight is only used in multiple component scenarios.CrawlerChangerateSingleComponentDistributionProto contains parameters of a single component distribution.number
additionalChangesMergedDuplicate UrlChanges crawled within a specified time range will be merged together. UrlChanges are considered duplicates if the simhash, simhash_is_trusted, simhash_v2, simhash_v2_is_trusted, and shingle_simhash are the same. additional_changes_merged indiciates the number of duplicate UrlChanges merged into this UrlChange.CrawlerChangerateUrlChangeNEXT_TAG: 13integer
fractionalTileChangeDeprecated fields. The fraction of tiles (0 to 1) that changed.CrawlerChangerateUrlChangeNEXT_TAG: 13float
intervalThe length in seconds of the change.CrawlerChangerateUrlChangeNEXT_TAG: 13integer
offDomainLinksChangeWhether the content of the off-domain links changed.CrawlerChangerateUrlChangeNEXT_TAG: 13boolean
offDomainLinksCountThe new count of off-domain links, if they changed.CrawlerChangerateUrlChangeNEXT_TAG: 13integer
onDomainLinksCountThe new count of on-domain links, if the count changed.CrawlerChangerateUrlChangeNEXT_TAG: 13integer
onDomainLinksCountChangeWhether the number of on-domain links changed.CrawlerChangerateUrlChangeNEXT_TAG: 13boolean
shingleSimhashThe old simhash value obtained from shingles.CrawlerChangerateUrlChangeNEXT_TAG: 13IndexingConverterShingleFingerprint
simhashThe simhash-v1 value. Use of simhash-v1 is deprecated, and newer UrlChange should only contain simhash-v2. During this transition period, UrlChange can contain either simhash or simhash_v2. It is possible that previous UrlChange only contain simhash-v1 and the next UrlChange only contain simhash-v2. In this case, we skip that interval in our changerate computation. [go/changerate-simhash-v2-migration]CrawlerChangerateUrlChangeNEXT_TAG: 13String
simhashIsTrustedWhether the simhash-v1 should be trusted.CrawlerChangerateUrlChangeNEXT_TAG: 13boolean
simhashV2The simhash-v2 value.CrawlerChangerateUrlChangeNEXT_TAG: 13String
simhashV2IsTrustedWhether the simhash-v2 value should be trusted.CrawlerChangerateUrlChangeNEXT_TAG: 13boolean
approximatedPosteriorThe approximated posterior distribution.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.CrawlerChangerateMultipleComponentDistribution
averageChangeSignificanceThe “significance” of the average change we saw of this document (from 0 to 1). Influenced by content changes. This can be used for prioritizing the crawl (higher significance first).CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
changeperiod//////////////////////////////////////////////////////////////////////////// The classic changerate estimation. //////////////////////////////////////////////////////////////////////////// The classic estimate of change period (in seconds). It is computed by inserted a “fake” change and no-change interval as a prior distribution. This field is generally not used and should NOT be accessed directly. See above for correct method for determining the change period estimate.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
confidenceThe confidence (between 0 and 1) in the changeperiod guess.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
globalBasedChangePeriod//////////////////////////////////////////////////////////////////////////// The changerate estimation based on the global prior. //////////////////////////////////////////////////////////////////////////// The global-based changeperiod. This is our estimate (in seconds) for the average time between changes. It is computed using the new prior method based on global_based_prior_period and the global_based_prior_strength specified below. This is used for computing pattern priors. Use pattern_based_change_period or changeperiod fields for all other purposes.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
globalBasedChangePeriodConfidenceThe ‘confidence’ of the global-based changeperiod. This is the n-th root of the posterior evaluated at MAP point, where n is the number of history intervals. For now, it is hard to interpret the meaning of the absolute values of ‘average’ posterior cross different sets of data.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
globalBasedPriorPeriodThe 2 parameters below specify the prior employed in calculating the global_based_change_period. These values are precomputed through an offline analysis and specified via flags.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
globalBasedPriorStrengthCrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
lastChangeSignificanceThe “significance” of the last change we saw of this document (from 0 to 1). Influenced by content changes, etc. This can be used for prioritizing the crawl (higher significance first).CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
lastChangedThe last time (unix timestamp) we saw a changed copy of the document. Provided iff we have seen the page change.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
lastFetchedThe last time (unix timestamp) we saw a fetched copy of the document.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
numIntervalsThe number of intervals we’ve seen for this document (where an interval is two different versions).CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
patternBasedChangePeriod//////////////////////////////////////////////////////////////////////////// The changerate estimation based on the pattern prior. //////////////////////////////////////////////////////////////////////////// The pattern-based changeperiod. This is our estimate (in seconds) for the average time between changes. It is calculated based on the pattern_based_prior_period and pattern_based_prior_strength below. This quantity will eventually replace the old changeperiod calculation.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
patternBasedChangePeriodConfidenceThe same as global_based_change_period_confidence, except it is computed using pattern based priors.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
patternBasedLowerChangePeriodThe lower edge of a confidence interval for the pattern-based change period.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
patternBasedPriorPeriodThe 2 parameters below specify the prior employed in calculating the pattern_based_change_period. These values are calculated in a separate process and looked up based on the URL pattern.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
patternBasedPriorStrengthCrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
patternChangePeriodVersionThe version number of the algorithm, refer to ChangePeriodVersion for more information.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
type//////////////////////////////////////////////////////////////////////////// Basic information of a document. //////////////////////////////////////////////////////////////////////////// The type of the document determined by crawl histories, refer to TYPE for more information.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
ugcChangePeriod//////////////////////////////////////////////////////////////////////////// The UGC changerate estimation. //////////////////////////////////////////////////////////////////////////// Information on change period generated from user generated content (UGC) change history.CrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.integer
ugcChangePeriodConfidenceCrawlerChangerateUrlChangerateThe next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.float
changeAll the changes we’ve seen for this URL.CrawlerChangerateUrlHistorylist(CrawlerChangerateUrlChange)
latestVersionThe latest version we’ve seen.CrawlerChangerateUrlHistoryCrawlerChangerateUrlVersion
urlThis field in only set in ‘url_history’ column of Union repository to avoid having to read CompositeDocs.CrawlerChangerateUrlHistoryString
additionalChangesMergedSame as the field in UrlChange. This allows us to merge identical UrlVersions into a single UrlVersion.CrawlerChangerateUrlVersionNEXT_TAG: 15integer
contentTypeThe content type of the page.CrawlerChangerateUrlVersionNEXT_TAG: 15integer
isImsNotModifiedWhether this is an IMS response (a 304, not modified).CrawlerChangerateUrlVersionNEXT_TAG: 15boolean
lastModifiedThe date from the LastModified header, if present.CrawlerChangerateUrlVersionNEXT_TAG: 15integer
shingleSimhashThe simhash value obtained from shingles.CrawlerChangerateUrlVersionNEXT_TAG: 15IndexingConverterShingleFingerprint
simhashThe simhash-v1 value. The simhash-v1 is now deprecated and new UrlVersions should only populate simhash-v2. During migration phase from using simhash-v1 to simhash-v2, it is possible that previous UrlChange only contain simhash-v1 and the next UrlChange / UrlVersion could only contain simhash-v2. In this case, we skip that interval in our changerate computation. [go/changerate-simhash-v2-migration]CrawlerChangerateUrlVersionNEXT_TAG: 15String
simhashIsTrustedWhether the simhash-v1 should be trusted.CrawlerChangerateUrlVersionNEXT_TAG: 15boolean
simhashV2The simhash-v2 value.CrawlerChangerateUrlVersionNEXT_TAG: 15String
simhashV2IsTrustedWhether the simhash-v2 value should be trusted.CrawlerChangerateUrlVersionNEXT_TAG: 15boolean
timestampThe timestamp we crawled the page.CrawlerChangerateUrlVersionNEXT_TAG: 15integer
newsclusterCrowdingPerDocDatalist(CrowdingPerDocDataNewsCluster)
ClusterIdFingerprint combination of all urls in a clusterCrowdingPerDocDataNewsClusterFor crowding in news we need to keep data about the last X clustering iterations around.String
ClusterSizeThis is the X in the “and X related >>” link on headlines and search resultsCrowdingPerDocDataNewsClusterFor crowding in news we need to keep data about the last X clustering iterations around.integer
ClusterTimeStampWhen was this clustered (needed for keeping last X iterations around and discarding earlier ones)CrowdingPerDocDataNewsClusterFor crowding in news we need to keep data about the last X clustering iterations around.integer
cropBytesCompact representation for indexing, see creatism::CropBitmap for details on the packing format.DeepCropIndexingString
x0Pixels version of the DeepCropIndexing bytes, this corresponds to the crop box for a given image (based input image size and desired aspect ratio).DeepCropPixelsinteger
x1DeepCropPixelsinteger
y0DeepCropPixelsinteger
y1DeepCropPixelsinteger
avgTermWeightThe average weighted font size of a term in the doc bodyDocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().integer
badTitleMissing or meaningless titleDocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().boolean
badtitleinfoDocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().list(DocPropertiesBadTitleInfo)
languagesA Language enum value. See: go/language-enumDocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().list(integer)
leadingtextLeading text information generated by google3/quality/snippets/leadingtext/leadingtext-detector.ccDocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().SnippetsLeadingtextLeadingTextInfo
numPunctuationsDocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().integer
numTagsDocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().integer
numTokensThe number of tokens, tags and punctuations in the tokenized contents. This is an approximation of the number of tokens, tags and punctuations we end up with in mustang, but is inexact since we drop some tokens in mustang and also truncate docs at a max cap.DocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().integer
proseRestrictThe restricts for CSE structured search.DocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().list(String)
restrictsDocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().list(String)
timestampThe time CDocProperties::StartDocument() is called, encoded as seconds past the epoch (Jan 1, 1970). This value is always refreshed and not reused.DocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().String
titleExtracted from the title tag of the content. This is typically extracted by TitleMetaCollector defined at google3/segindexer/title-meta-collector.h. Please see its documentation for the format and other caveats.DocPropertiesNOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().String
scoreDocPropertiesBadTitleInfoBad title information.number
typeDocPropertiesBadTitleInfoBad title information.String
featureNameDrishtiCompressedFeatureProtocol buffer for storing compressed feature.String
inRangeBitstreamin_range_bitstream is the string produced by range coder, while out_of_range_bitstream corresponds to the overflow stream, which is used whenever a quantized value is out of range. See https://cs.corp.google.com/piper///depot/google3/research/vision/piedpiper/brain/python/layers/entropy_models.py?l=225&cl=234825412DrishtiCompressedFeatureProtocol buffer for storing compressed feature.String
outOfRangeBitstreamDrishtiCompressedFeatureProtocol buffer for storing compressed feature.String
extraIf extra is present it must be of the same length as value.DrishtiDenseFeatureDatalist(DrishtiFeatureExtra)
generalExtraDrishtiDenseFeatureDataDrishtiFeatureExtra
valueDense data.DrishtiDenseFeatureDatalist(number)
extraIf extra is present it must be of the same length as value.DrishtiDenseTokenDataProtocol buffer for storing dense token data.list(DrishtiFeatureExtra)
generalExtraDrishtiDenseTokenDataProtocol buffer for storing dense token data.DrishtiFeatureExtra
valueDrishtiDenseTokenDataProtocol buffer for storing dense token data.list(integer)
extraExtra information for this particular FeatureSetData (example timestamp of this frame in the video). (Almost never used).DrishtiFeatureSetDatalist(DrishtiFeatureExtra)
featureThe following can have multiple FeatureSetElement(s) Each of these FeatureSetElement correspond to the various feature groups. One concrete example is the way these features are generated – example audio, video or OCR.DrishtiFeatureSetDatalist(DrishtiFeatureSetDataFeatureSetElement)
labelLabels for this particular FeatureSetData. (Almost never used). Only interesting when you have (for example) frame level labels.DrishtiFeatureSetDatalist(DrishtiLabelSetElement)
compressedDrishtiFeatureSetDataFeatureSetElementA FeatureSetElement stores the features coming from a single group.DrishtiCompressedFeature
denseDrishtiFeatureSetDataFeatureSetElementA FeatureSetElement stores the features coming from a single group.DrishtiDenseFeatureData
indexedDrishtiFeatureSetDataFeatureSetElementA FeatureSetElement stores the features coming from a single group.DrishtiIndexedFeatureData
nameA name for the feature group: example “AUDIO”, “VIDEO”, “OCR”, etc.DrishtiFeatureSetDataFeatureSetElementA FeatureSetElement stores the features coming from a single group.String
quantizedDrishtiFeatureSetDataFeatureSetElementA FeatureSetElement stores the features coming from a single group.DrishtiQuantizedDenseFeatureData
quantizedByteDenseDrishtiFeatureSetDataFeatureSetElementA FeatureSetElement stores the features coming from a single group.DrishtiQuantizedByteDenseFeatureData
quantizedByteIndexedDrishtiFeatureSetDataFeatureSetElementA FeatureSetElement stores the features coming from a single group.DrishtiQuantizedByteIndexedFeatureData
sparseDrishtiFeatureSetDataFeatureSetElementA FeatureSetElement stores the features coming from a single group.DrishtiSparseFeatureData
tokenDrishtiFeatureSetDataFeatureSetElementA FeatureSetElement stores the features coming from a single group.DrishtiDenseTokenData
elementFeatureSetData contains the features. In most scenarios, you only have one element. However, multiple elements are appropriate in case of videos where each element may correspond to a frame in the video.DrishtiFeatureSetDataSequenceThis represents a sequence (ordered) of FeatureSetData elements.list(DrishtiFeatureSetData)
extraSome extra information about this FeatureSetDataSequence. (Almost never used).DrishtiFeatureSetDataSequenceThis represents a sequence (ordered) of FeatureSetData elements.list(DrishtiFeatureExtra)
labelGlobal (video-level) labels. In most cases, you only have one LabelSetElement. All the labels will be stored in this single LabelSetElement. Scenarios where you may have multiple LabelSetElement(s) is (for example) when you want to differentiate the labels into various sub-groups – eg, central vs relevant, kg-ids vs queries, etc.DrishtiFeatureSetDataSequenceThis represents a sequence (ordered) of FeatureSetData elements.list(DrishtiLabelSetElement)
timestampIf set, must be same length as element. Each entry is the timestamp in microseconds where the FeatureSetData element was extracted.DrishtiFeatureSetDataSequenceThis represents a sequence (ordered) of FeatureSetData elements.list(String)
extraIf extra is present it must be of the same length as index and value.DrishtiIndexedFeatureDatalist(DrishtiFeatureExtra)
generalExtraDrishtiIndexedFeatureDataDrishtiFeatureExtra
indexIndexed data. index and value must be of the same length.DrishtiIndexedFeatureDatalist(String)
valueDrishtiIndexedFeatureDatalist(number)
extraDrishtiLabelSetDatalist(DrishtiFeatureExtra)
generalExtraDrishtiLabelSetDataDrishtiFeatureExtra
targetClassDrishtiLabelSetDatalist(String)
targetClassNameDrishtiLabelSetDatalist(String)
targetValueDrishtiLabelSetDatalist(number)
targetWeightDrishtiLabelSetDatalist(number)
weightWeight assigned to this set of labels.DrishtiLabelSetDatanumber
labelDrishtiLabelSetElementDrishtiLabelSetData
nameDrishtiLabelSetElementString
extraIf extra is present it must be of the same length as value.DrishtiQuantizedByteDenseFeatureDataProto message to store quantized dense feature data.list(DrishtiFeatureExtra)
generalExtraDrishtiQuantizedByteDenseFeatureDataProto message to store quantized dense feature data.DrishtiFeatureExtra
valueQuantized values for the feature.DrishtiQuantizedByteDenseFeatureDataProto message to store quantized dense feature data.String
extraIf extra is present it must be of the same length as value.DrishtiQuantizedByteIndexedFeatureDataProto message to store quantized indexed feature data.list(DrishtiFeatureExtra)
generalExtraDrishtiQuantizedByteIndexedFeatureDataProto message to store quantized indexed feature data.DrishtiFeatureExtra
indexDrishtiQuantizedByteIndexedFeatureDataProto message to store quantized indexed feature data.list(String)
valueQuantized values for the feature.DrishtiQuantizedByteIndexedFeatureDataProto message to store quantized indexed feature data.String
extraIf extra is present it must be of the same length as value.DrishtiQuantizedDenseFeatureDatalist(DrishtiFeatureExtra)
generalExtraDrishtiQuantizedDenseFeatureDataDrishtiFeatureExtra
valueQuantized Dense data.DrishtiQuantizedDenseFeatureDatalist(String)
extraIf extra is present it must be of the same length as label and value.DrishtiSparseFeatureDatalist(DrishtiFeatureExtra)
generalExtraDrishtiSparseFeatureDataDrishtiFeatureExtra
labelIndexed data. label and value must be of the same length.DrishtiSparseFeatureDatalist(String)
valueDrishtiSparseFeatureDatalist(number)
byteSizeImage size in bytes. Meaningful when contents are not stored inline (e.g., via `image_blob_id`).DrishtiVesperEncodedThumbnailThe attributes of encoded thumbnail images. Next id: 10.String
crc32cCRC-32 checksum of the image bytes. Can be used for data integrity check.DrishtiVesperEncodedThumbnailThe attributes of encoded thumbnail images. Next id: 10.integer
encodingQualityJPEG/WEBP quality factor in range [0,100].DrishtiVesperEncodedThumbnailThe attributes of encoded thumbnail images. Next id: 10.integer
encodingTypeImage encoding type.DrishtiVesperEncodedThumbnailThe attributes of encoded thumbnail images. Next id: 10.String
heightDrishtiVesperEncodedThumbnailThe attributes of encoded thumbnail images. Next id: 10.integer
imageBlobIdThe Blob ID of the thumbnail image in the Blobstore. We recommend absolute IDs with universe prefix if this field is passed across systems. The owner of this blob is also responsible for data Wipeout compliance.DrishtiVesperEncodedThumbnailThe attributes of encoded thumbnail images. Next id: 10.String
imageBytesEncoded thumbnail bytes. Prefer this over `image_string` as we are not supposed to store image bytes in a proto string field.DrishtiVesperEncodedThumbnailThe attributes of encoded thumbnail images. Next id: 10.String
imageStringPlease migrate to `image_bytes`.DrishtiVesperEncodedThumbnailThe attributes of encoded thumbnail images. Next id: 10.String
widthThumbnail resolution.DrishtiVesperEncodedThumbnailThe attributes of encoded thumbnail images. Next id: 10.integer
beginTimestampMsThe begin timestamp in milliseconds.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.integer
durationMsThe duration of the moving thumbnail in milliseconds. Note that the duration may not be the difference between begin_timestamp_ms and end_timestamp_ms, esp when the moving thumbnail covers multiple clips from the video.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.integer
encodedGifAnimationDrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.String
encodedVideoStringThe encoded video string.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.String
encodedWebpAnimationThe encoded WebP animation.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.String
endTimestampMsThe end timestamp in milliseconds.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.integer
heightPixel height of the moving thumbnail.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.integer
idMovingThumbnail id (e.g., the video id).DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.String
movingThumbnailerVersionIf set, this is the algorithm version used to generate this moving thumbnail.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.String
nameMovingThumbnail name.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.String
scoreThe score of the moving thumbnail.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.number
scoreComponentsDrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.DrishtiVesperMovingThumbnailScoreComponents
thumbnailsA set of single frame thumbnails in the MovingThumbnail.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.list(DrishtiVesperThumbnail)
typeMovingThumbnail type.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.String
webpQualityLevelThe actual quality of the Webp animation. Note this value may not be equal to the quality value requested in the animation creator’s options. This is because other requirements, such as the max file size, may force the creator to lower the actual quality value.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.number
widthPixel width of the moving thumbnail.DrishtiVesperMovingThumbnailLINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.integer
audienceRewindRatioScoreDrishtiVesperMovingThumbnailScoreComponentsSum of individual score components within a moving thumbnail. Used as input for weight fitting.number
iconicFaceScoreDrishtiVesperMovingThumbnailScoreComponentsSum of individual score components within a moving thumbnail. Used as input for weight fitting.number
matchingScoreDrishtiVesperMovingThumbnailScoreComponentsSum of individual score components within a moving thumbnail. Used as input for weight fitting.number
motionScoreDrishtiVesperMovingThumbnailScoreComponentsSum of individual score components within a moving thumbnail. Used as input for weight fitting.number
titleMatchingScoreDrishtiVesperMovingThumbnailScoreComponentsSum of individual score components within a moving thumbnail. Used as input for weight fitting.number
videoThumbQualityScoreDrishtiVesperMovingThumbnailScoreComponentsSum of individual score components within a moving thumbnail. Used as input for weight fitting.number
denseFeaturesThumbnail dense featuresDrishtiVesperThumbnailThe attributes of a video thumbnail.list(number)
encodedImageStringThumbnail image as an encoded image. Deprecated, use encoded_thumbnails instead.DrishtiVesperThumbnailThe attributes of a video thumbnail.String
encodedImageStringSmallThumbnail image as an encoded image with smaller resolution. Deprecated, use encoded_thumbnails instead.DrishtiVesperThumbnailThe attributes of a video thumbnail.String
encodedThumbnailsEncoded thumbnail images.DrishtiVesperThumbnailThe attributes of a video thumbnail.list(DrishtiVesperEncodedThumbnail)
idThumbnail id.DrishtiVesperThumbnailThe attributes of a video thumbnail.String
ocrTextText in video thumbnails that was detected by OCR.DrishtiVesperThumbnailThe attributes of a video thumbnail.String
qualityScoresThumbnail quality scores.DrishtiVesperThumbnailThe attributes of a video thumbnail.list(DrishtiVesperThumbnailQualityScore)
shouldUpdateDefaultThumbnailIf true, this thumbnail should update default thumbnail.DrishtiVesperThumbnailThe attributes of a video thumbnail.boolean
thumbnailerModelVersionThumbnailer Version.DrishtiVesperThumbnailThe attributes of a video thumbnail.String
timestampMsThumbnail timestamp in milliseconds.DrishtiVesperThumbnailThe attributes of a video thumbnail.integer
typeThumbnail type.DrishtiVesperThumbnailThe attributes of a video thumbnail.String
userReportedThumbnailDrishtiVesperThumbnailThe attributes of a video thumbnail.DrishtiVesperUserReportUserReportedThumbnail
userReportedThumbnailsAll user reported thumbnails of interest.DrishtiVesperThumbnailThe attributes of a video thumbnail.list(DrishtiVesperUserReportUserReportedThumbnail)
versionThumbnail version, i.e., the unix time in seconds when the thumbnail was created.DrishtiVesperThumbnailThe attributes of a video thumbnail.integer
scoreDrishtiVesperThumbnailQualityScorenumber
typeDrishtiVesperThumbnailQualityScoreString
racyLevelDrishtiVesperUserReportHumanLabelProto holding values for details about human labels.String
modelNameDrishtiVesperUserReportModelScoreProto holding values for details about score and the source model.String
scoreDrishtiVesperUserReportModelScoreProto holding values for details about score and the source model.number
denseFeaturesDrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12list(number)
durationNumber of days in which volume is calculated.DrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12integer
humanLabelDrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12DrishtiVesperUserReportHumanLabel
impressionsDaily aggregared impressions for the reported video.DrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12integer
needHumanLabelWhether the thumbnail needs a human label.DrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12boolean
rawHumanLabelsDrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12list(DrishtiVesperUserReportHumanLabel)
reportScoreDrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12DrishtiVesperUserReportModelScore
reportTypeDrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12String
scoreDrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12DrishtiVesperUserReportModelScore
useCaseDrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12String
volumeNumber of reports.DrishtiVesperUserReportUserReportedThumbnailProto holding values for user reported thumbnails. Next id: 12integer
idVideo id.DrishtiVesperVideoThumbnailVideo level container for thumbnail with its attributes, e.g., timestamp, id, quality scores, annotations, or features.String
movingThumbnailsDrishtiVesperVideoThumbnailVideo level container for thumbnail with its attributes, e.g., timestamp, id, quality scores, annotations, or features.list(DrishtiVesperMovingThumbnail)
thumbnailsDrishtiVesperVideoThumbnailVideo level container for thumbnail with its attributes, e.g., timestamp, id, quality scores, annotations, or features.list(DrishtiVesperThumbnail)
appIdApplication ID (or project ID) from Google API Console.EmbedsDeepLinkDataDeep-linking data is used to construct a deep-link URI for an activity or frame’s embed, such that on click, the user is taken to the right place in a mobile app. If the app is not installed, the user is taken to the app store. If not on mobile, an analogous web uri is used.String
clientThe data for a Google API Console client is entered by a developer during client registration and is stored in PackagingService.EmbedsDeepLinkDataDeep-linking data is used to construct a deep-link URI for an activity or frame’s embed, such that on click, the user is taken to the right place in a mobile app. If the app is not installed, the user is taken to the app store. If not on mobile, an analogous web uri is used.list(EmbedsPackagingServiceClient)
deepLinkIdThe ID for non-URL content. Embeds may either have no analogous web presence or prefer a native mobile experience if supported. In the case of no web presence, instead of setting the “url” field of an embed, such developers will set this field and other content fields, e.g. thumbnail, title, description. If set, this field is used to construct the deep-link URI. Note that the native experience is preferred over the web link and the web link is used as a fallback.EmbedsDeepLinkDataDeep-linking data is used to construct a deep-link URI for an activity or frame’s embed, such that on click, the user is taken to the right place in a mobile app. If the app is not installed, the user is taken to the app store. If not on mobile, an analogous web uri is used.String
urlAnalogous web presence. Used as desktop fallback or when no native link data is present.EmbedsDeepLinkDataDeep-linking data is used to construct a deep-link URI for an activity or frame’s embed, such that on click, the user is taken to the right place in a mobile app. If the app is not installed, the user is taken to the app store. If not on mobile, an analogous web uri is used.String
canonicalIdThe canonical ID of the embed. If absent, the canonical ID is equal to the ID; if present, then the canonical ID represents an “equivalence class” of embeds which really refer to the same object. (For example, the URLs http://www.foo.com/ and http://foo.com/ refer to the same object) This field may be updated periodically by background processes.EmbedsEmbedClientItemRepresents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.String
deepLinkDataDeep-linking data to take the user to the right place in a mobile app. This is only used for preview and attribution. Links that are specific to a given embed type should live on that specific embed’s proto by using Link. See http://goto.google.com/mariana-design.EmbedsEmbedClientItemRepresents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.EmbedsDeepLinkData
idThe ID of the embed. This corresponds to the schema.org ID, as represented in the ItemScope.id field.EmbedsEmbedClientItemRepresents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.String
provenanceThe provenance of the embed, populated when the embed originated from a web fetch. The provenance captures information about the web page the embed had originated, like the URL that was retrieved and the retrieved URL’s canonical form. This is useful in the case where the URL shared by the URL redirects (e.g., in the case of a shortened URL).EmbedsEmbedClientItemRepresents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.EmbedsProvenance
renderIdThe ID used to identify the embed during rendering. This field will match ID, if set, otherwise it will be the ID of the parent activity. This field is only populated on the server for client use and is not persisted to storage.EmbedsEmbedClientItemRepresents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.String
signatureSignature of the embed, used for verification.EmbedsEmbedClientItemRepresents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.String
transientDataTransient generic data that will not be saved on the server.EmbedsEmbedClientItemRepresents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.EmbedsTransientData
typeThe first value in `type` determines which extension field will be set. When creating an EmbedClientItem, you only need to set the first (primary) type in this field. When the server receives the item, it will populate the full type list using the parent annotations in the ItemType enum.EmbedsEmbedClientItemRepresents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.list(String)
androidPackageNameAndroid app’s package name to generate the deep-link URI.EmbedsPackagingServiceClientDevelopers register a client in Google API Console to get the deep-linking feature on Google+ posts or frames about their apps. The client data is stored in this proto.String
iosAppStoreIdiOS app’s App Store ID to generate the App Store URL when app is not installed on device.EmbedsPackagingServiceClientDevelopers register a client in Google API Console to get the deep-linking feature on Google+ posts or frames about their apps. The client data is stored in this proto.String
iosBundleIdiOS app’s bundle ID to generate the deep-link URI.EmbedsPackagingServiceClientDevelopers register a client in Google API Console to get the deep-linking feature on Google+ posts or frames about their apps. The client data is stored in this proto.String
typeType of Google API Console client.EmbedsPackagingServiceClientDevelopers register a client in Google API Console to get the deep-linking feature on Google+ posts or frames about their apps. The client data is stored in this proto.String
annotationBlobAnnotation blob from Annotation Service.EmbedsProvenanceThis field records where the ItemScope was retrieved, if it was created via a web fetch.String
canonicalUrlCanonical url of the retrieved_url, if one was resolved during retrieval, for example, if a rel=”canonical” link tag was provided in the retrieved web page.EmbedsProvenanceThis field records where the ItemScope was retrieved, if it was created via a web fetch.String
inputUrlThe url originally passed in the PRS request, which should be used to re-discover the content. Note that this URL may be a forwarding service or link shortener (bit.ly), so it should not be assumed to be canonical, but should be used for navigation back to the original source of the itemscope.EmbedsProvenanceThis field records where the ItemScope was retrieved, if it was created via a web fetch.String
itemtypeContains exact types as parsed, whether or not we recognized that type at parse time. If an itemscope is created by merging SchemaOrg markup and open graph markup then the first itemtype would be schemaorg type, the second would be open graph and so on. example: http://schema.org/VideoObject, og:video.movie Plain text; usually a URLEmbedsProvenanceThis field records where the ItemScope was retrieved, if it was created via a web fetch.list(String)
retrievedTimestampMsecThe server retrieved timestamp (in msec).EmbedsProvenanceThis field records where the ItemScope was retrieved, if it was created via a web fetch.String
retrievedUrlThe final URL that was the actual source of the itemscope, after any redirects.EmbedsProvenanceThis field records where the ItemScope was retrieved, if it was created via a web fetch.String
processIdprocess_id is an integer that identifies the process on this machine that generated this event. This id is calculated once when the server generates its first event, and may change if the process is migrated to a different host. This field has a very specific format mandated by the logs collection infrastructure, which is subject to change WITHOUT NOTICE. As of 2013-01-09, this format is: uint32 process_id = (time(NULL) << 24) + (getpid() & 0xFFFFFF); If you are generating an extended_pid directly, you MUST use one of the maintained library implementations in order to generate it properly: C++ //borg/borgletlib:extended_pid; call borg::ExtendedPid() Python //borg/borgletlib/python:pyextendedpid; call ExtendedPid() Go //borg/borgletlib/go:extendedpid; call Get() Java //java/com/google/common/logging; call EventId.getPid() If you think that you need to parse the values of this field, please contact logs-collection-dev@ to discuss your requirement.EventIdMessageAn EventId is a 128 bit identifier that uniquely identifies an event, such as a query. The event time recorded to the nearest microsecond, along with information about the process generating the event, ensures that all EventIds are unique. Details of this EventId are described in a design document: http://www/eng/designdocs/sawmill/adlogs.htmlinteger
serverIpserver_ip is the IPv4 address or http://go/ghostid of the machine running the server that created this event message. This allows us to distinguish between events that occur at the same time on different servers. Format: 10.1.2.3 is stored as 0x0a010203, and GHostId 1 as 0x00000001.EventIdMessageAn EventId is a 128 bit identifier that uniquely identifies an event, such as a query. The event time recorded to the nearest microsecond, along with information about the process generating the event, ensures that all EventIds are unique. Details of this EventId are described in a design document: http://www/eng/designdocs/sawmill/adlogs.htmlinteger
timeUsectime_usec is the number of microseconds since the epoch (i.e., since 1970-01-01 00:00:00 UTC) as an int64: 1e6 * (unix time) + microseconds. Applications must ensure that EventIdMessages have increasing times, artificially increasing time_usec to one greater than the previous value if necessary. Alternate implementations were considered: 1. storing unix time and microseconds separately would require a bit more storage, and the convenience of having a single value representing the time seemed more useful than having trivial access to a unix time. 2. storing unix time in the upper 32 bits would allow for more precision – up to 4G events/second, but it wouldn’t print nicely as a decimal value and it seems unlikely that any single server would ever sustain more than 1M events/second. 3. Java-compatible time uses millis – this would limit servers to 1000 events per second – too small. Other names for this field were considered, including time, time_stamp, and utime. We felt that including the units in the name would tend to produce more readable code. utime might be interpreted as user time. unix timestamp * 1e6 + microsecondsEventIdMessageAn EventId is a 128 bit identifier that uniquely identifies an event, such as a query. The event time recorded to the nearest microsecond, along with information about the process generating the event, ensures that all EventIds are unique. Details of this EventId are described in a design document: http://www/eng/designdocs/sawmill/adlogs.htmlString
matchinfoExtraSnippetInfoResponsethe extra info response from ascorer used to build snippets in GWS experimentsExtraSnippetInfoResponseMatchInfo
querysubitemExtraSnippetInfoResponsethe extra info response from ascorer used to build snippets in GWS experimentslist(ExtraSnippetInfoResponseQuerySubitem)
tidbitExtraSnippetInfoResponsethe extra info response from ascorer used to build snippets in GWS experimentslist(ExtraSnippetInfoResponseTidbit)
titleMatchesbitvector of query items matching the titleExtraSnippetInfoResponseMatchInfoString
urlMatchesbitvector of query items matching the urlExtraSnippetInfoResponseMatchInfoString
weightedItemsbitvector of query items considered by chooserExtraSnippetInfoResponseMatchInfoString
isHighlightedAdditional information from the SnippetQuery.ExtraSnippetInfoResponseQuerySubitemA query term, phrase, or synonym. An original query term or phrase is called an “item”. Each item may have more than one “subitem” if there are synonyms. In rare cases a subitem may correspond to multiple items, such as the subitem “cia” in the query [central intelligence agency].boolean
isOptionalExtraSnippetInfoResponseQuerySubitemA query term, phrase, or synonym. An original query term or phrase is called an “item”. Each item may have more than one “subitem” if there are synonyms. In rare cases a subitem may correspond to multiple items, such as the subitem “cia” in the query [central intelligence agency].boolean
isOriginaltrue iff this subitem was an original query term or phrase. Can only be false if want_all_query_subitems == true in the request.ExtraSnippetInfoResponseQuerySubitemA query term, phrase, or synonym. An original query term or phrase is called an “item”. Each item may have more than one “subitem” if there are synonyms. In rare cases a subitem may correspond to multiple items, such as the subitem “cia” in the query [central intelligence agency].boolean
itemsa bitvector of the query items corresponding to this subitem. Typically only one bit is set, but see comment above.ExtraSnippetInfoResponseQuerySubitemA query term, phrase, or synonym. An original query term or phrase is called an “item”. Each item may have more than one “subitem” if there are synonyms. In rare cases a subitem may correspond to multiple items, such as the subitem “cia” in the query [central intelligence agency].integer
texttext associated with this query itemExtraSnippetInfoResponseQuerySubitemA query term, phrase, or synonym. An original query term or phrase is called an “item”. Each item may have more than one “subitem” if there are synonyms. In rare cases a subitem may correspond to multiple items, such as the subitem “cia” in the query [central intelligence agency].String
weightthe weight of this query item, as calculated by SubitemWeight(): https://qwiki.corp.google.com/display/Q/SnippetWeightsExtraSnippetInfoResponseQuerySubitemA query term, phrase, or synonym. An original query term or phrase is called an “item”. Each item may have more than one “subitem” if there are synonyms. In rare cases a subitem may correspond to multiple items, such as the subitem “cia” in the query [central intelligence agency].integer
anchorinfoExtraSnippetInfoResponseTidbitExtraSnippetInfoResponseTidbitAnchorInfo
beginFor tidbits only: position of tidbit in the document. More specifically, tidbit is found at [begin, end) in the document’s tokens.ExtraSnippetInfoResponseTidbitinteger
endExtraSnippetInfoResponseTidbitinteger
itemsa bitvector of each query term within this tidbitExtraSnippetInfoResponseTidbitString
scorethe score for this tidbit if there was one this is returned for Snippets and Tidbits and is only meaningful for comparing between objects of the same type (snippet to snippet, tidbit to tidbit)ExtraSnippetInfoResponseTidbitnumber
textthe tidbit text, with search terms already highlightedExtraSnippetInfoResponseTidbitString
typeExtraSnippetInfoResponseTidbitString
offdomainCountExtraSnippetInfoResponseTidbitAnchorInfothis information is specific to anchors and is only returned if type == ANCHORinteger
ondomainCountExtraSnippetInfoResponseTidbitAnchorInfothis information is specific to anchors and is only returned if type == ANCHORinteger
mustangBytesAlways use image/search/utils/face_proto_util.h for packing and unpacking these values.FaceIndexingString
mustangBytesVersionFaceIndexinginteger
binaryClassifierEither binary_classifier will be set, using the enum above, or binary_classifier_name will be set, if it is not one of the classifiers in the enum – never both.FatcatCompactBinaryClassificationString
binaryClassifierNameFatcatCompactBinaryClassificationString
discreteFractionA CompactDocClassification will not usually have a weight. For a CompactSiteClassification, this value will be 0…127 corresponding to 0.0…1.0, indicating fraction of the site that this label applies toFatcatCompactBinaryClassificationinteger
binaryFatcatCompactDocClassificationThe result of PetacatAnnotator. Each result contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, sorted by the probabilities in descending order. 3. Binary classification results about page types and sensitive content. The types of taxonomies include: verticals4, geo, verticals4_geo, products_services, icm_im_audiences and icm_im_audiences_dev.list(FatcatCompactBinaryClassification)
clustersFatcatCompactDocClassificationThe result of PetacatAnnotator. Each result contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, sorted by the probabilities in descending order. 3. Binary classification results about page types and sensitive content. The types of taxonomies include: verticals4, geo, verticals4_geo, products_services, icm_im_audiences and icm_im_audiences_dev.FatcatCompactRephilClusters
epochFatcatCompactDocClassificationThe result of PetacatAnnotator. Each result contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, sorted by the probabilities in descending order. 3. Binary classification results about page types and sensitive content. The types of taxonomies include: verticals4, geo, verticals4_geo, products_services, icm_im_audiences and icm_im_audiences_dev.String
langCodeFatcatCompactDocClassificationThe result of PetacatAnnotator. Each result contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, sorted by the probabilities in descending order. 3. Binary classification results about page types and sensitive content. The types of taxonomies include: verticals4, geo, verticals4_geo, products_services, icm_im_audiences and icm_im_audiences_dev.String
rephilModelIdThe id of the Rephil model used to generate the Rephil clusters. If it is absent, Rephil 4 is assumed.FatcatCompactDocClassificationThe result of PetacatAnnotator. Each result contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, sorted by the probabilities in descending order. 3. Binary classification results about page types and sensitive content. The types of taxonomies include: verticals4, geo, verticals4_geo, products_services, icm_im_audiences and icm_im_audiences_dev.integer
taxonomicFatcatCompactDocClassificationThe result of PetacatAnnotator. Each result contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, sorted by the probabilities in descending order. 3. Binary classification results about page types and sensitive content. The types of taxonomies include: verticals4, geo, verticals4_geo, products_services, icm_im_audiences and icm_im_audiences_dev.list(FatcatCompactTaxonomicClassification)
urlnot needed if the url is the sstable / bigtable key used during intermediate processing onlyFatcatCompactDocClassificationThe result of PetacatAnnotator. Each result contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, sorted by the probabilities in descending order. 3. Binary classification results about page types and sensitive content. The types of taxonomies include: verticals4, geo, verticals4_geo, products_services, icm_im_audiences and icm_im_audiences_dev.String
weightThe relative weight of this doc within a site, typically something like pagerank or navboost impressions. May be a large number (like an actual pageviews estimate), not limited to a small range.FatcatCompactDocClassificationThe result of PetacatAnnotator. Each result contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, sorted by the probabilities in descending order. 3. Binary classification results about page types and sensitive content. The types of taxonomies include: verticals4, geo, verticals4_geo, products_services, icm_im_audiences and icm_im_audiences_dev.String
clusterFatcatCompactRephilClusterslist(FatcatCompactRephilClustersCluster)
discreteWeight0…127 corresponds to 0.0 – 1.0FatcatCompactRephilClustersClusterinteger
idFatcatCompactRephilClustersClusterinteger
categoryFatcatCompactTaxonomicClassificationA version of this proto for logging is available at cs/symbol:logged_fatcat.LoggedCompactTaxonomicClassificationlist(FatcatCompactTaxonomicClassificationCategory)
classifierVersionFatcatCompactTaxonomicClassificationA version of this proto for logging is available at cs/symbol:logged_fatcat.LoggedCompactTaxonomicClassificationString
taxonomyEither taxonomy will be set, using the enum above, or taxonomy_name will be set (if the taxonomy is not one of the ones in the enum) – never bothFatcatCompactTaxonomicClassificationA version of this proto for logging is available at cs/symbol:logged_fatcat.LoggedCompactTaxonomicClassificationString
taxonomyNameFatcatCompactTaxonomicClassificationA version of this proto for logging is available at cs/symbol:logged_fatcat.LoggedCompactTaxonomicClassificationString
discreteWeightgo/petacat-faq#how-should-i-interpret-classification-weights Discrete to reduce size. Range is [0,127], corresponding to [0.0,1.0].FatcatCompactTaxonomicClassificationCategoryA taxonomic category. A classification consists of weight (totalling 1.0) distributed among one or more categories.integer
idThe category’s ID, e.g. 20 for /Sports in the go/verticals4 taxonomy.FatcatCompactTaxonomicClassificationCategoryA taxonomic category. A classification consists of weight (totalling 1.0) distributed among one or more categories.integer
typeFocusBackendContactDetailHashhttp://go/contact-detail-hash.String
valueThe hash here will be a 16-bit weak hash to avoid reverse engineering for decoding the actual contact detail. The hash value is computed by the fingerprint of the raw contact detail mod 2^16.FocusBackendContactDetailHashhttp://go/contact-detail-hash.integer
annotationIdThe annotation ID. Annotations are only allowed to point to annotations that do not themselves have a pointer (avoids any possibilty of loops). Cast this field to string in javascript to make it compile in js.FocusBackendContactPointerA contact pointer that represents a contact (http://go/assistant-contact-id).String
deviceRawContactIdThe raw contact ID from an active mobile device of the user.FocusBackendContactPointerA contact pointer that represents a contact (http://go/assistant-contact-id).FocusBackendDeviceRawContactId
focusContactIdThe contact ID from the Focus backend. Cast this field to string in javascript to make it compile in js.FocusBackendContactPointerA contact pointer that represents a contact (http://go/assistant-contact-id).String
otherContactIdAdditional contact ids that are not actively used to match contact pointers to contacts.FocusBackendContactPointerA contact pointer that represents a contact (http://go/assistant-contact-id).FocusBackendOtherContactId
secondaryIdThe secondary identifier of contact. It will be used when the primary ID doesn’t match any contact.FocusBackendContactPointerA contact pointer that represents a contact (http://go/assistant-contact-id).FocusBackendSecondaryContactId
ContactIdDeviceContact Id.FocusBackendDeviceContactId//////////////////// DeviceContactId ////////////////////// Used by Device Contacts only. For more details see go/fbs-support-for-device-contacts.String
DeviceIdDevice Id.FocusBackendDeviceContactId//////////////////// DeviceContactId ////////////////////// Used by Device Contacts only. For more details see go/fbs-support-for-device-contacts.FocusBackendDeviceId
AndroidDeviceIdThe GServices id on Android. See go/android-id.FocusBackendDeviceId//////////////////// DeviceId ////////////////////// Used by Device Contacts only. For more details see go/fbs-support-for-device-contacts.String
HashDeviceId.Hash is a SHA256 of some attribute of the user and device. For Android devices: Hash = SHA256(gaia_account_name + “:” + “1” + “:” + (android id – LSB)); For iOS devices: Hash = TOLOWER(HEX(GMCSComputeUserDeviceToken(userId, iOsDeviceId)) For more details see go/client-instance-id.FocusBackendDeviceId//////////////////// DeviceId ////////////////////// Used by Device Contacts only. For more details see go/fbs-support-for-device-contacts.String
DeviceIdFocusBackendDeviceRawContactId//////////////////// DeviceRawContactId ////////////////////// Used by Device Contacts Only. The Raw ID as assigned to the original contact on the device. For more details see go/fbs-support-for-device-contacts.FocusBackendDeviceId
RawContactIdRaw ID assigned by the device. Cast this field to string in javascript to make it compile in js.FocusBackendDeviceRawContactId//////////////////// DeviceRawContactId ////////////////////// Used by Device Contacts Only. The Raw ID as assigned to the original contact on the device. For more details see go/fbs-support-for-device-contacts.String
deviceContactIdDevice contact ID, when available: – The annotation points to a device contact, and the device contact id was correctly populated when the annotation was created. Note that the device contact id is populated once per device contact on a device. It is distinct from RawContactId – a single device contact may have multiple raw contact ids. – The annotation points to a Focus contact that was merged with device contact information in Starlight. When the annotation was created, a device contact id was available on the merged person object. – The contact annotation was created from April 2021 onwards. All prior annotations do not populate this field. ContactPointer creation relies on the client caller to correctly populate the device contact id, and does not enforce any assumptions on availability of this field. This field is repeated because in rare cases Starlight may merge device contact information across different devices into a single merged person object. WARNING: Use with extreme caution! This ID is not stable. For more details see go/fbs-support-for-device-contacts.FocusBackendOtherContactIdAdditional contact ids that are not actively used to match contact pointers to contacts. There may be overlap with primary or secondary contact ids.list(FocusBackendDeviceContactId)
contactDetailHashThe hashes of the contact details (e.g. phone number and email address).FocusBackendSecondaryContactIdThe secondary ID of a contact.list(FocusBackendContactDetailHash)
contactNameThe contact’s full name, not hashed.FocusBackendSecondaryContactIdThe secondary ID of a contact.String
contactNameHashThe hash of contact’s full name, generated using Fingerprint2011(). Cast this field to string in javascript to make it compile in js.FocusBackendSecondaryContactIdThe secondary ID of a contact.String
datasetMid of the dataset.FreebaseCitationCitation contains the information needed to correctly attribute the source of data.String
isAttributionRequiredIf set to true, the citation is required to be displayed when the data is used.FreebaseCitationCitation contains the information needed to correctly attribute the source of data.boolean
projectName of the project of the data’s origin.FreebaseCitationCitation contains the information needed to correctly attribute the source of data.String
providerThe name of the provider of this information.FreebaseCitationCitation contains the information needed to correctly attribute the source of data.String
statementA human readable statement of attribution.FreebaseCitationCitation contains the information needed to correctly attribute the source of data.String
uriUri link associated with this data.FreebaseCitationCitation contains the information needed to correctly attribute the source of data.String
id“id” may be a human readable ID (HRID) or a MID. Originally it was intended to always be a human readable ID, but that convention was not always followed so clients should be wary. Not every topic has an id.FreebaseIdAn Id contains the identifiers used to reference this topic (entity) in the Knowledge Graph. The Knowledge Graph supports several forms of identifiers: – “mids” (machine ids) that are assigned at creation time, and support a resolution mechanism that tracks topics after they are merged (for more about mids, see go/kg-mid), – “ids” are human-readable ids (HRIDs) that are derived from a namespace hierarchy stored in Knowledge Graph, and a set of rules, – “guids” are low-level ids historically used in Freebase (pre-Knowledge Graph, deprecated). Only the mid and id are supplied here. Note that mids can be converted to guids or uint64s (see //metaweb/util/mid/mid.h).String
midThe “mid” should be used whenever a globally unique, primary key into the Knowledge Graph is needed. These keys are always prefixed with the “/m” and “/g”, (and more rarely the “/x” and “/t”) namespaces, and are alphanumeric strings consisting of lowercase letters excluding vowels, numbers and the underscore character. (Applications should not assume a constant length for these strings as Livegraph reserves the right to extend the number of characters to accommodate more topics.)FreebaseIdAn Id contains the identifiers used to reference this topic (entity) in the Knowledge Graph. The Knowledge Graph supports several forms of identifiers: – “mids” (machine ids) that are assigned at creation time, and support a resolution mechanism that tracks topics after they are merged (for more about mids, see go/kg-mid), – “ids” are human-readable ids (HRIDs) that are derived from a namespace hierarchy stored in Knowledge Graph, and a set of rules, – “guids” are low-level ids historically used in Freebase (pre-Knowledge Graph, deprecated). Only the mid and id are supplied here. Note that mids can be converted to guids or uint64s (see //metaweb/util/mid/mid.h).String
latDegFreebaseLatLongRepresents a geopoint, which is one of the possible Value types.number
longDegFreebaseLatLongRepresents a geopoint, which is one of the possible Value types.number
magnitudeFreebaseMeasurementRepresents a measurements, which is one of the possible Value types. A measurement value like “5.2 meter^2 / second” would be represented as: magnitude: 5.2 unit { unit_mid: “/m/mid_for_meter” power: 2 } unit { unit_mid: “/m/mid_for_second” power: -1 }number
unitRepeated units are interpreted as a product. i.e. (meter ^ 1) * (second ^ -2)FreebaseMeasurementRepresents a measurements, which is one of the possible Value types. A measurement value like “5.2 meter^2 / second” would be represented as: magnitude: 5.2 unit { unit_mid: “/m/mid_for_meter” power: 2 } unit { unit_mid: “/m/mid_for_second” power: -1 }list(FreebaseMeasurementUnit)
powerFreebaseMeasurementUnitinteger
unitFreebaseMeasurementUnitFreebaseId
unitMidDeprecated fields.FreebaseMeasurementUnitString
propertyValueFreebaseNestedStructList of { predicate, { object } } to be processed as a Nested Struct. Nested Struct can be recursive. NestedStruct.property_value(i).value(j) may have nested_struct field.list(FreebasePropertyValue)
propertyThe id of the property.FreebasePropertyValueA PropertyValue associates properties with values in the context of a topic.FreebaseId
totalValueCountIndicates the total values that exist for this property, even if they aren’t all present in the value field, due to truncation.FreebasePropertyValueA PropertyValue associates properties with values in the context of a topic.String
valueThe value associated with the property for the containing topic.FreebasePropertyValueA PropertyValue associates properties with values in the context of a topic.list(FreebaseValue)
valueStatusIf ValueStatus is not set at all, the implication is that there are well-known value(s), specified in the “value” field. (It should be considered malformed data to have value_status set when len(values) > 0.)FreebasePropertyValueA PropertyValue associates properties with values in the context of a topic.String
idThe id (mid and human-readable id) of the topic. The id will always be present and will contain a mid value for topics in the topic sstable.FreebaseTopicA Topic represents a Knowledge Graph entity with its associated properties and their values.FreebaseId
propertyValueThe property-value bindings associated with the topic. Note that in the case where a property is relevant to a topic based on its type, but no values of that property are present for the topic, the PropertyValue will simply not appear, rather than being present with a null value, or empty repeated value list.FreebaseTopicA Topic represents a Knowledge Graph entity with its associated properties and their values.list(FreebasePropertyValue)
boolValuePresent when value is bool.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).boolean
citationCitation data for this value. See: http://go/kg-clapFreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).FreebaseCitation
compoundValueCompound values are those that contain either a number of simple valued facets (such as a latitude/longitude pair), or “mediator” topics representing multi-dimensional relationships between topics. In both cases we represent them here with an embedded topic, although the topic’s identity is somewhat secondary to the property/value pairs it contains. (The identity is still made available so that it can be used to perform updates to that mediator on the Knowledge Graph.)FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).FreebaseTopic
deletionProvenanceDeletion provenance for this value.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).list(StorageGraphBfgTripleProvenance)
displayLangThe lang of the display_value field.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
displayValueThe display value of this value. This is a i18n-aware formatted value if present.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
expectedProtoAn optional name for a proto field.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
floatValuePresent when value is float.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).float
idValuePresent when value is an id.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).FreebaseId
indexIndex of the value relative to the containing property (if any). Knowledge Graph supports a loose notion of indexing: some non-unique properties may have indices, while others may not. Furthermore, for a single property, some values may have indices (such as the top 5 actors in a film), while others may not (the film’s supporting cast). Un-indexed values will appear at the end of the repeated value list. This field contains the index value only when is present in the Knowledge Graph.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
intValuePresent when value is int.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
langWhenever the value is text with TYPE_TEXT, the lang field is populated with the III LanguageCode associated with the string_value field.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
latLongValueFreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).FreebaseLatLong
measurementValueFreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).FreebaseMeasurement
nestedStructPopulated if this value holds NestedStruct. ‘type’ field needs to be set to TYPE_NESTED_STRUCT.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).FreebaseNestedStruct
provenanceProvenance for this value.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).list(StorageGraphBfgTripleProvenance)
rawValueSimilar to string_value/etc but contains raw bytes.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
stringValuePresent when value is text, enum,FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
subgraphIdFreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).list(String)
timestampThe ISO-8601 timestamp corresponding to when this value was created (when it was written to the Knowledge Graph). Deprecated in favor of timestamp_usec.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
timestampUsecThe microsecond timestamp corresponding to when this value was created.FreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
typeFreebaseValueValues are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or “compound values” which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).String
ContentExpiryTimeunix secs from epochGDocumentBaseNext id: 127integer
DisplayUrlSometimes the URL displayed in search results should be different from what gets indexed (e.g. in enterprise, content management systems). If this value is not set, we default to the regular URL.GDocumentBaseNext id: 127String
DocId64-bit docid of the document (usually fingerprint of URL, but not always). WARNING: This does NOT uniquely identify a document ANYMORE. For a unique identifier across all documents in production please refer to the field ‘id().key()’ listed above.GDocumentBaseNext id: 127String
ExternalFeedMetadataGDocumentBaseNext id: 127String
ExternalHttpMetadataEnterprise-specific external metadata. See http://engdoc/eng/designdocs/enterprise/enterprise_indexing_metadata.htmlGDocumentBaseNext id: 127String
FilterForSafeSearchDeprecated, do not use, this field is not populated since 2012.GDocumentBaseNext id: 127integer
IPAddrIP addr in binary (allows for IPv6)GDocumentBaseNext id: 127String
NoArchiveReasonGDocumentBaseNext id: 127integer
NoFollowReasonGDocumentBaseNext id: 127integer
NoImageIndexReasonGDocumentBaseNext id: 127integer
NoImageframeOverlayReasonGDocumentBaseNext id: 127integer
NoIndexReasonWhen these reasons are set to a non zero value, the document should not be indexed, or show a snippet, or show a cache, etc. These reasons are bit maps of indexing.converter.RobotsInfo.RobotedReasons enum values reflecting the places where the restriction was found: //depot/google3/indexing/converter/proto/converter.protoGDocumentBaseNext id: 127integer
NoPreviewReasonGDocumentBaseNext id: 127integer
NoSnippetReasonGDocumentBaseNext id: 127integer
NoTranslateReasonGDocumentBaseNext id: 127integer
PagerankThis field is long-deprecated in favour of Pagerank_NS, it is no longer maintained and can break at any moment.GDocumentBaseNext id: 127integer
PagerankNSPagerank-NearestSeeds is a pagerank score for the doc, calculated using NearestSeeds method. This is the production PageRank value teams should use.GDocumentBaseNext id: 127integer
Repidis the webmirror representative id of the canonical url. Urls with the same repid are considered as dups in webmirror. WARNING: use this field with caution! The webmirror duprules change frequently, so this value only reflects the duprules at the time when the canonical’s docjoin is built.GDocumentBaseNext id: 127String
ScienceMetadataCitation data for science articles.GDocumentBaseNext id: 127ScienceCitation
URLWARNING: the URL does NOT uniquely identify a document ANYMORE. For a unique identifier across all documents in production please refer to the field ‘id().key()’ listed above. Reason: foo.bar:/http and foo.bar:/http:SMARTPHONE share the same URL, but the body of the two documents might differ because of different crawl-context (desktop vs. smartphone in this example).GDocumentBaseNext id: 127String
URLAfterRedirectsGDocumentBaseNext id: 127String
URLEncodingSee webutil/urlencodingGDocumentBaseNext id: 127integer
contentGDocumentBaseNext id: 127GDocumentBaseContent
directoryGDocumentBaseNext id: 127list(GDocumentBaseDirectory)
ecnFp96-bit fingerprint of the canonical url’s webmirror equivalence class name as of when this cdoc was exported.GDocumentBaseNext id: 127String
idThe primary identifier of a production document is the document key given in the ServingDocumentIdentifier, which is the same as the row-key in Alexandria, and represents a URL and its crawling context. In your production code, please always assume that the document key is the only way to uniquely identify a document. ## Recommended way of reading: const string& doc_key = cdoc.doc().id().key(); ## CHECK(!doc_key.empty()); More background information can be found in google3/indexing/crawler_id/servingdocumentidentifier.proto The ServingDocumentIdentifier uniquely identifies a document in serving and also distinguishes between experimental vs. production documents. The SDI is also used as an input for the union/muppet key generation in serving.GDocumentBaseNext id: 127IndexingCrawlerIdServingDocumentIdentifier
localsearchDocInfoLocalsearch-specific data.GDocumentBaseNext id: 127LocalsearchDocInfo
oceanDocInfoOcean-specific data.GDocumentBaseNext id: 127OceanDocInfo
originalcontentGDocumentBaseNext id: 127GDocumentBaseOriginalContent
userAgentNameThe user agent name used to crawl the URL. See //crawler/engine/webmirror_user_agents.h for the list of user-agents (e.g. crawler::WebmirrorUserAgents::kGoogleBot). NOTE: This field is copied from the first WEBMIRROR FetchReplyClientInfo in trawler_fetch_info column. We leave this field unpopulated if no WEBMIRROR FecthReplyClientInfo is found. As the submission of cl/51488336, Alexandria starts to populate this field. However, docjoins from freshdocs (or any other source), won’t have this field populated, because we believe no one needs to read this field from freshdocs docjoins.GDocumentBaseNext id: 127String
AuthMethodGDocumentBaseContentMain content sectioninteger
ContentLengthThe actual length of the content: If Representation is compressed, this equals to Content.UncompressedLength; otherwise it is the length of the representation string.GDocumentBaseContentMain content sectioninteger
ContentTypeSee enum ContentType in //depot/google3/webutil/http/content-type.proto.GDocumentBaseContentMain content sectioninteger
CrawlTimeSeconds since Unix epoch.GDocumentBaseContentMain content sectionString
EncodingSee //depot/google3/i18n/encodings/public/encodings.h Encoding of representationGDocumentBaseContentMain content sectioninteger
HasHttpHeaderSet to false if Representation does not contain HTTP headers.GDocumentBaseContentMain content sectionboolean
LanguageA Language enum value. See: go/language-enum Default is englishGDocumentBaseContentMain content sectioninteger
OriginalEncodingIf OriginalEncoding is present, the body part of the Representation was converted to UTF-8, Encoding was set to UTF8, and OriginalEncoding was set to the original encoding before conversion. However, the HTTP headers part of the content might not be valid UTF-8. -1=an invalid valueGDocumentBaseContentMain content sectioninteger
RepresentationPossibly compressed for old documents. It is not compressed for docjoins produced by Raffia after ~2012.GDocumentBaseContentMain content sectionString
UncompressedLengthHistorically present if Representation is compressed.GDocumentBaseContentMain content sectioninteger
VisualTypeWhether the content was visual right-to-left, and if so, what type of visual document it is. Must be one of the values in enum VisualType from google3/repository/rtl/visualtype.h Default is NOT_VISUAL_DOCUMENT. See http://wiki/Main/RtlLanguages for background.GDocumentBaseContentMain content sectioninteger
crawledFileSizeCrawled file size of the original document.GDocumentBaseContentMain content sectioninteger
encodedGeometryAnnotationsGeometryAnnotations, encoded with GeometryUtil::DeltaEncode() to reduce disk space usage. Use GeometryUtil::DeltaDecode() to decode this field.GDocumentBaseContentMain content sectionString
Categoryencoded in UTF8GDocumentBaseDirectoryThe Directory proto group holds snippet and title metadata which is made available to the snippet code. The proto group was originally created for metadata coming from the Google Web Directory (gwd) project. It has since come to be used to hold metadata from gwd and other sources.String
Descriptionencoded in UTF8GDocumentBaseDirectoryThe Directory proto group holds snippet and title metadata which is made available to the snippet code. The proto group was originally created for metadata coming from the Google Web Directory (gwd) project. It has since come to be used to hold metadata from gwd and other sources.String
DescriptionScoreGDocumentBaseDirectoryThe Directory proto group holds snippet and title metadata which is made available to the snippet code. The proto group was originally created for metadata coming from the Google Web Directory (gwd) project. It has since come to be used to hold metadata from gwd and other sources.number
Identifier“gwd”, etc.GDocumentBaseDirectoryThe Directory proto group holds snippet and title metadata which is made available to the snippet code. The proto group was originally created for metadata coming from the Google Web Directory (gwd) project. It has since come to be used to hold metadata from gwd and other sources.String
Languagego/language-enumGDocumentBaseDirectoryThe Directory proto group holds snippet and title metadata which is made available to the snippet code. The proto group was originally created for metadata coming from the Google Web Directory (gwd) project. It has since come to be used to hold metadata from gwd and other sources.integer
Titleencoded in UTF8GDocumentBaseDirectoryThe Directory proto group holds snippet and title metadata which is made available to the snippet code. The proto group was originally created for metadata coming from the Google Web Directory (gwd) project. It has since come to be used to hold metadata from gwd and other sources.String
TitleScoreDeprecated; do not use. There is no code populating these fields as of Oct 2017.GDocumentBaseDirectoryThe Directory proto group holds snippet and title metadata which is made available to the snippet code. The proto group was originally created for metadata coming from the Google Web Directory (gwd) project. It has since come to be used to hold metadata from gwd and other sources.number
URLGDocumentBaseDirectoryThe Directory proto group holds snippet and title metadata which is made available to the snippet code. The proto group was originally created for metadata coming from the Google Web Directory (gwd) project. It has since come to be used to hold metadata from gwd and other sources.String
RepresentationGDocumentBaseOriginalContentThe original, unconverted document, typically PDF or Word. Copied from OriginalDoc field of doclogs. Unlike “Content”, this does not contain any HTTP headers. The content may be compressed using the same method as “Content”. In practice it is only compressed in the Teragoogle index. It is never compressed in docjoins because those are compressed at the sstable level. In doclogs content will only be compressed if the Trawler fetchreply is also compressed–which is currently never and unlikely to change for performance reasons.String
UncompressedLengthpresent iff rep is compressedGDocumentBaseOriginalContentThe original, unconverted document, typically PDF or Word. Copied from OriginalDoc field of doclogs. Unlike “Content”, this does not contain any HTTP headers. The content may be compressed using the same method as “Content”. In practice it is only compressed in the Teragoogle index. It is never compressed in docjoins because those are compressed at the sstable level. In doclogs content will only be compressed if the Trawler fetchreply is also compressed–which is currently never and unlikely to change for performance reasons.integer
debugInfoPer-doc debug information.GenericSnippetResponseThe generic version of a snippet responselist(String)
infoServlet-specific response info.GenericSnippetResponseThe generic version of a snippet responseProto2BridgeMessageSet
rankingSnippetThe experimental ranking snippet field. This will be populated only when `fastwa_want_ranking_snippet` is set in the request.GenericSnippetResponseThe generic version of a snippet responseString
snippetLines of the snippet HTML. Typically gws concatenates these and lets the browser wrap. The values include trailing spaces, so inserting additional spaces is not necessary. However, for very old browsers, gws may insert break tags after each snippet line. This field is confusing and poorly named; “snippet_line” would be better. In particular, note that this does not return multiple snippets for a result. Nor are these fields the individual tidbits of the snippet.GenericSnippetResponseThe generic version of a snippet responselist(String)
titleThe title HTML. It may contain tags to denote query term matches. It may be already truncated and “…” is put instead (note that truncation does not always happen at the very end of the title text). However the existence of “…” does not guarantee that the snippet generation algorithm truncated it; e.g. webmasters themselves can write “…”.GenericSnippetResponseThe generic version of a snippet responseString
wwwSnippetResponseSnippet-specific members (tag ids 16+, must be optional!) Example: optional NewContentResponse new_response;GenericSnippetResponseThe generic version of a snippet responseWWWSnippetResponse
allowsGuestCheckoutWhether this local entity allows guest checkout for reservations.GeoOndemandAssistantSupportedActionsActions supported by Madden for a local entity.boolean
isAsynchronousRestaurantReservationWhether or not this local entity supports asynchronous restaurant reservations, through the above restaurant_reservation_url.GeoOndemandAssistantSupportedActionsActions supported by Madden for a local entity.boolean
restaurantReservationUrlURL for the Madden restaurant reservation flow, e.g. for display in a WebView. Not populated if restaurant reservations are not supported for the local entity.GeoOndemandAssistantSupportedActionsActions supported by Madden for a local entity.String
canEnterRESERVEDGeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsboolean
canExitRESERVEDGeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsboolean
featureIdThe ID of the feature that defines the access point. The bounding box of the feature is expanded to include the bounding box of the feature with the access point in accordance with the standard practice for bucketing map/reduce operations. See the wiki page at http://wiki/Main/OysterBucketingMapReduce for more information. For access points to TYPE_SEGMENT features, this may be re-derived if necessary by looking up the nearest segment to existing geometry.GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsGeostoreFeatureIdProto
featureTypeThe type of the feature. Required, to allow handling the access point differently based on feature type. For access points to non-TYPE_SEGMENT features, this cached type also makes things easier for clients that aren’t running a bucketing map-reduce. For access points to TYPE_SEGMENT features, this is used to find to find the nearest segment of the given type.GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsinteger
levelFeatureIdFor indoor access points, this should be set to the level that the access point is on. The feature_id should point to the indoor segment, but when it is missing or invalid, and we need to derive it from geometry, only segments on this level will be considered. For non-indoor access points, level should remain unset, and when we derive feature_id from geometry, only segments not on any level (non-indoor segments) will be considered. The bounding box of the level feature is expanded to include the bounding box of the feature with the access point in accordance with the standard practice for bucketing map/reduce operations. See the wiki page at http://wiki/Main/OysterBucketingMapReduce for more information. (Though in general the feature should reside on the level already anyway..)GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsGeostoreFeatureIdProto
metadataField-level metadata for this access point.GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsGeostoreFieldMetadataProto
pointFor access points to non-TYPE_SEGMENT features, the location of the access point. For access points to TYPE_SEGMENT features, this can be supplied as a fuzzy access point that is not guaranteed to be on the correct side of road. It should not be used by end clients in case of TYPE_SEGMENT access points.GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsGeostorePointProto
pointOffSegmentIf the access point is defined by a TYPE_SEGMENT feature, this is the location of the access point displaced slightly to the correct side of the segment. This offset is in a direction perpendicular to the direction of travel along the segment. The actual offset distance is unspecified. It would typically be relatively small (approximately 1 meter). You can subtract the “off segment” point from the “on segment” point to get a vector of unknown length pointing from “on segment” point to the “off segment” point. You can then scale that vector to whatever length you want. Note that extending this displacement vector a large distance (10s of meters) may result in a new point that is in the middle of some other feature (park, street, intersection). This is the preferred basic geometry field for incoming data from editing clients and importers, if side-of-road is well-established.GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsGeostorePointProto
pointOnSegmentIf the access point is defined by a TYPE_SEGMENT feature, this is the point on the centerline of the segment that is closest to the actual access point. May be re-derived if necessary to maintain precise placement on segment.GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsGeostorePointProto
priorityLINT.ThenChange(//depot/google3/geostore/cleanup/callbacks/\\ ID_DUPLICATE_ACCESS_POINT.cc)GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsString
segmentPositionIf the access point is defined by a TYPE_SEGMENT feature, this is the location of the access point expressed as a fractional distance along the segment. The value runs from 0 to 1 inclusive. May be re-derived if necessary to maintain precise placement on segment.GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionsnumber
unsuitableTravelModeThis list represents the travel modes for which this access-point should be avoided. If this list is empty, the access-point is suitable for any travel mode. If all access points are unsuitable for the current travel mode, client should revert to other heuristics (e.g. feature center). This is only used for access points to TYPE_SEGMENT features; access points to non-TYPE_SEGMENT features, e.g. TYPE_ESTABLISHMENT_POI features with gcid:transit_station GConcepts are just identified by feature_type and feature_id.GeostoreAccessPointProtoThis class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of “Main Street”. A feature at the corner of “Hollywood” and “Vine” streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: – feature_type – feature_id – point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: – feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) – point_off_segment (or point; see “fuzzy point” note below) – unsuitable_travel_mode (may be empty) – level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: – feature_id – point_on_segment – segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitionslist(String)
featureIdThe id of the corresponding Feature, if such a feature is defined. As discussed above for feature_type, components of TYPE_FEATURE or TYPE_LANDMARK may have a corresponding feature id.GeostoreAddressComponentProtoThis class represents a parsed field within an address. NOTE: if you add a field to this proto, please update the AreAddressComponentsEquivalent() function in google3/geostore/base/internal/addresscomponent.ccGeostoreFeatureIdProto
featureTypeFor components of TYPE_FEATURE or TYPE_LANDMARK, this is the feature type (TYPE_COUNTRY, TYPE_LOCALITY, TYPE_ESTABLISHMENT_POI etc.). Note that some features may not actually exist in the geostore (e.g. a village that we’ve never heard of), in which case the feature_id will be missing but the feature_type is still specified. Please refer to IsValidAddressComponentFeatureType() in google3/geostore/base/public/addresscomponent.h for the definitive list of feature types allowed for the type (either TYPE_FEATURE or TYPE_LANDMARK) of components.GeostoreAddressComponentProtoThis class represents a parsed field within an address. NOTE: if you add a field to this proto, please update the AreAddressComponentsEquivalent() function in google3/geostore/base/internal/addresscomponent.ccinteger
indexThe order of this address component relative to the ones that share the same feature_type in the AddressProto. For now, the primary use of this index field is to handle ordering issue of multiple occurrences of AddressComponentProto with feature_type of TYPE_ROUTE (and subtypes), or TYPE_POLITICAL, where the order of the address components matters as there are dependences. 0 is the smallest valid index value, representing the most specific address component. Index value of 1 represents a relatively less specific address component of the same feature_type on which the 0-indexed address component depends.GeostoreAddressComponentProtoThis class represents a parsed field within an address. NOTE: if you add a field to this proto, please update the AreAddressComponentsEquivalent() function in google3/geostore/base/internal/addresscomponent.ccinteger
parsedNameThe parsed_name field contains one or more names of an address component. Its actual contents depends on where in the Geo/Google stack you are reading a feature: 1. When an address is initially parsed via a feed or other raw input and structured as an AddressProto, parsed_name should contain the set of names that corresponds to the (possibly normalized) raw text from the raw input. 2. In MapFacts, the address component may be linked to an actual feature via feature_id. Any address formatting directly from MapFacts should follow links to retrieve names when possible. The parsed_name contents may be formatted directly if the address component is unlinked following the same rules as selecting and formatting the name of a feature. The cached parsed_name is regularly refreshed from the linked feature with the minimal set of names for address components (usually just a single, preferred name, in the local language, plus a Latin-script name: go/story-of-ac-names). 3. In serving systems, the names of linked features may be denormalized into the parsed_name field to facilitate quicker address formatting or for simple data filtering (e.g. finding all geocodes in California by name). If reading a feature from such a system, the parsed_name field could contain multiple names in multiple languages that reflect a cached copy of the names associated with the linked features. Formatting of such names should follow the same rules as selecting and formatting the name of a feature itself.GeostoreAddressComponentProtoThis class represents a parsed field within an address. NOTE: if you add a field to this proto, please update the AreAddressComponentsEquivalent() function in google3/geostore/base/internal/addresscomponent.cclist(GeostoreNameProto)
rangeAny numerical address component may optionally be specified as a range. For example if a component of TYPE_STREET_NUMBER has the optional “range” attribute, then it represents a range of addresses rather than a single address (see AddressRangeProto for details).GeostoreAddressComponentProtoThis class represents a parsed field within an address. NOTE: if you add a field to this proto, please update the AreAddressComponentsEquivalent() function in google3/geostore/base/internal/addresscomponent.ccGeostoreAddressRangeProto
temporaryDataA place for clients to attach arbitrary data to an address component. Never set in MapFacts.GeostoreAddressComponentProtoThis class represents a parsed field within an address. NOTE: if you add a field to this proto, please update the AreAddressComponentsEquivalent() function in google3/geostore/base/internal/addresscomponent.ccProto2BridgeMessageSet
textAffixAdditional text to append before and/or after the parsed_name, when the address is formatted. Multiple instance should represent translations. Currently, this is only permitted on TYPE_LANDMARK components, and only one instance is permitted.GeostoreAddressComponentProtoThis class represents a parsed field within an address. NOTE: if you add a field to this proto, please update the AreAddressComponentsEquivalent() function in google3/geostore/base/internal/addresscomponent.cclist(GeostoreTextAffixProto)
typeEvery address component has a type. Most address components correspond to one of the feature types defined in FeatureProto, so rather than defining a separate category system here, instead we mark them as TYPE_FEATURE and store the FeatureProto type in the feature_type() field. This is how we handle countries, cities, streets, etc. However, there are a few types of address components that do not have a corresponding feature type (e.g. PO boxes). These components have their type defined here. An address component of TYPE_STREET_NUMBER may correspond to a physical entity that defines a street number, such as a geocoded address or a land parcel. In this case, the address component may have a link to the corresponding feature. A good reference for what types of address components are possible is the xAL standard, which is a published XML schema: http://www.oasis-open.org/committees/ciq/download.shtml. This standard is the basis of the PostalAddress protocol message.GeostoreAddressComponentProtoThis class represents a parsed field within an address. NOTE: if you add a field to this proto, please update the AreAddressComponentsEquivalent() function in google3/geostore/base/internal/addresscomponent.ccString
languageThe external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. We place extra restrictions on languages in addition to what the III library requires. See http://go/geo-schema-reference/feature-properties/languages.mdGeostoreAddressLinesProtoRepresents the unparsed portion of an address with an associated language.String
lineThese lines are in display order.GeostoreAddressLinesProtoRepresents the unparsed portion of an address with an associated language.list(String)
addressLinesThe unparsed portion (lines) of the address. An address can have multiple unparsed portions. Multiple unparsed portions sharing the same language should be modeled as one address_lines instance having multiple lines. Historically, we also supported unparsed portions in different languages, but we no longer do. Consequently, only one value is allowed for this field despite the fact that it is repeated. See go/address-lines-multi-language for information about why we made this change. If any components are filled in, this is supplemental to (i.e. disjoint from) them. Furthermore, this must be the most specific portion of the address (except for the portion, if any, stored in the name field of feature.proto). Unparsed lines are always formatted together in a block. Other address components are never formatted between the address lines. This doesn’t imply that the address lines are always either the first or the last part of the formatted output.GeostoreAddressProtoThis class represents an address, partial address, or address range. It is intended to be attached to features to identify their address(es). Some important points about addresses: – The addresses in the Geo Schema do *not* include a component for the name of the feature, i.e. they are not self-referential. For example, the name of a feature might be “Zack’s Pizza” and its address would be “123 Main Street”. Similarly, streets, cities, and counties do not include themselves as part of their address. The address of “Seattle” is “King County, Washington, USA”. If want to construct an address that *does* include the feature name, you can simply prepend it to the other address components. – Lakes, mountains, and other natural features do not normally have addresses. Countries also do not have addresses because they are at the top of the political hierarchy. – Address components in the Geo Schema are listed in a particular order, independent of the conventions used by the country in which they occur. The basic order is “smallest to largest” starting with street numbers and routes, then political features, and ending with postal features. The exact rules are defined by the implementation of the AddressComponentOrdering::IsLessThan() function. – Some types of address components may occur more than once in an address. For example, a UK address with a “dependent thoroughfare” would have two components of TYPE_ROUTE (i.e. street names). These are listed in the order they are normally written.list(GeostoreAddressLinesProto)
componentA list of parsed address components, e.g. the street, city, etc. An address range is one type of component.GeostoreAddressProtoThis class represents an address, partial address, or address range. It is intended to be attached to features to identify their address(es). Some important points about addresses: – The addresses in the Geo Schema do *not* include a component for the name of the feature, i.e. they are not self-referential. For example, the name of a feature might be “Zack’s Pizza” and its address would be “123 Main Street”. Similarly, streets, cities, and counties do not include themselves as part of their address. The address of “Seattle” is “King County, Washington, USA”. If want to construct an address that *does* include the feature name, you can simply prepend it to the other address components. – Lakes, mountains, and other natural features do not normally have addresses. Countries also do not have addresses because they are at the top of the political hierarchy. – Address components in the Geo Schema are listed in a particular order, independent of the conventions used by the country in which they occur. The basic order is “smallest to largest” starting with street numbers and routes, then political features, and ending with postal features. The exact rules are defined by the implementation of the AddressComponentOrdering::IsLessThan() function. – Some types of address components may occur more than once in an address. For example, a UK address with a “dependent thoroughfare” would have two components of TYPE_ROUTE (i.e. street names). These are listed in the order they are normally written.list(GeostoreAddressComponentProto)
crossStreet** DEPRECATED ** This field is now deprecated (see b/33268032). If you want to store cross street information as part of an address, use the address_lines field.GeostoreAddressProtoThis class represents an address, partial address, or address range. It is intended to be attached to features to identify their address(es). Some important points about addresses: – The addresses in the Geo Schema do *not* include a component for the name of the feature, i.e. they are not self-referential. For example, the name of a feature might be “Zack’s Pizza” and its address would be “123 Main Street”. Similarly, streets, cities, and counties do not include themselves as part of their address. The address of “Seattle” is “King County, Washington, USA”. If want to construct an address that *does* include the feature name, you can simply prepend it to the other address components. – Lakes, mountains, and other natural features do not normally have addresses. Countries also do not have addresses because they are at the top of the political hierarchy. – Address components in the Geo Schema are listed in a particular order, independent of the conventions used by the country in which they occur. The basic order is “smallest to largest” starting with street numbers and routes, then political features, and ending with postal features. The exact rules are defined by the implementation of the AddressComponentOrdering::IsLessThan() function. – Some types of address components may occur more than once in an address. For example, a UK address with a “dependent thoroughfare” would have two components of TYPE_ROUTE (i.e. street names). These are listed in the order they are normally written.list(GeostoreAddressComponentProto)
metadataField-level metadata for this address.GeostoreAddressProtoThis class represents an address, partial address, or address range. It is intended to be attached to features to identify their address(es). Some important points about addresses: – The addresses in the Geo Schema do *not* include a component for the name of the feature, i.e. they are not self-referential. For example, the name of a feature might be “Zack’s Pizza” and its address would be “123 Main Street”. Similarly, streets, cities, and counties do not include themselves as part of their address. The address of “Seattle” is “King County, Washington, USA”. If want to construct an address that *does* include the feature name, you can simply prepend it to the other address components. – Lakes, mountains, and other natural features do not normally have addresses. Countries also do not have addresses because they are at the top of the political hierarchy. – Address components in the Geo Schema are listed in a particular order, independent of the conventions used by the country in which they occur. The basic order is “smallest to largest” starting with street numbers and routes, then political features, and ending with postal features. The exact rules are defined by the implementation of the AddressComponentOrdering::IsLessThan() function. – Some types of address components may occur more than once in an address. For example, a UK address with a “dependent thoroughfare” would have two components of TYPE_ROUTE (i.e. street names). These are listed in the order they are normally written.GeostoreFieldMetadataProto
partialDenormalizationreservedGeostoreAddressProtoThis class represents an address, partial address, or address range. It is intended to be attached to features to identify their address(es). Some important points about addresses: – The addresses in the Geo Schema do *not* include a component for the name of the feature, i.e. they are not self-referential. For example, the name of a feature might be “Zack’s Pizza” and its address would be “123 Main Street”. Similarly, streets, cities, and counties do not include themselves as part of their address. The address of “Seattle” is “King County, Washington, USA”. If want to construct an address that *does* include the feature name, you can simply prepend it to the other address components. – Lakes, mountains, and other natural features do not normally have addresses. Countries also do not have addresses because they are at the top of the political hierarchy. – Address components in the Geo Schema are listed in a particular order, independent of the conventions used by the country in which they occur. The basic order is “smallest to largest” starting with street numbers and routes, then political features, and ending with postal features. The exact rules are defined by the implementation of the AddressComponentOrdering::IsLessThan() function. – Some types of address components may occur more than once in an address. For example, a UK address with a “dependent thoroughfare” would have two components of TYPE_ROUTE (i.e. street names). These are listed in the order they are normally written.GeostoreAddressProto
templateIdThe opaque ID of the address template that contains rules for structuring this address. The id of the address template can be retrieved using google3/geostore/address_templates/public/address_templates.hGeostoreAddressProtoThis class represents an address, partial address, or address range. It is intended to be attached to features to identify their address(es). Some important points about addresses: – The addresses in the Geo Schema do *not* include a component for the name of the feature, i.e. they are not self-referential. For example, the name of a feature might be “Zack’s Pizza” and its address would be “123 Main Street”. Similarly, streets, cities, and counties do not include themselves as part of their address. The address of “Seattle” is “King County, Washington, USA”. If want to construct an address that *does* include the feature name, you can simply prepend it to the other address components. – Lakes, mountains, and other natural features do not normally have addresses. Countries also do not have addresses because they are at the top of the political hierarchy. – Address components in the Geo Schema are listed in a particular order, independent of the conventions used by the country in which they occur. The basic order is “smallest to largest” starting with street numbers and routes, then political features, and ending with postal features. The exact rules are defined by the implementation of the AddressComponentOrdering::IsLessThan() function. – Some types of address components may occur more than once in an address. For example, a UK address with a “dependent thoroughfare” would have two components of TYPE_ROUTE (i.e. street names). These are listed in the order they are normally written.String
temporaryDataA place for clients to attach arbitrary data to an address. Never set in MapFacts.GeostoreAddressProtoThis class represents an address, partial address, or address range. It is intended to be attached to features to identify their address(es). Some important points about addresses: – The addresses in the Geo Schema do *not* include a component for the name of the feature, i.e. they are not self-referential. For example, the name of a feature might be “Zack’s Pizza” and its address would be “123 Main Street”. Similarly, streets, cities, and counties do not include themselves as part of their address. The address of “Seattle” is “King County, Washington, USA”. If want to construct an address that *does* include the feature name, you can simply prepend it to the other address components. – Lakes, mountains, and other natural features do not normally have addresses. Countries also do not have addresses because they are at the top of the political hierarchy. – Address components in the Geo Schema are listed in a particular order, independent of the conventions used by the country in which they occur. The basic order is “smallest to largest” starting with street numbers and routes, then political features, and ending with postal features. The exact rules are defined by the implementation of the AddressComponentOrdering::IsLessThan() function. – Some types of address components may occur more than once in an address. For example, a UK address with a “dependent thoroughfare” would have two components of TYPE_ROUTE (i.e. street names). These are listed in the order they are normally written.Proto2BridgeMessageSet
numberTwo or more address numbers. Each number represents an address that was mentioned by the data provider.GeostoreAddressRangeProtoThis class represents a range of numbers in an address. It is an optional additional field in the ‘AddressComponentProto’ message. This structure can be used to model both single addresses and address ranges. There are two primary use-cases for address ranges: definitions and references. Ranges are being defined when they are present on the addresses of segment features. Ranges are being referenced when they are present on non-segment features. NOTE: If you add fields in this proto, consider updating the AreAddressRangesEquivalent() function in google3/geostore/base/internal/addressrange.cclist(integer)
parameterFor address range definitions: Two or more interpolation parameter values. The length of this array must match the length of the number array, and each parameter number specifies the position of the corresponding address number. Each value is an interpolation between 0.0 and 1.0 inclusive. The value is proportional to the distance traveled along the segment’s polyline starting at its origin. The parameters must be provided in increasing order and the values in the number array must be in strictly increasing or decreasing order. We make an exception for singleton addresses, which are represented as two copies of a (number, parameter) pair, for backwards compatibility. For address range references: This array must be empty.GeostoreAddressRangeProtoThis class represents a range of numbers in an address. It is an optional additional field in the ‘AddressComponentProto’ message. This structure can be used to model both single addresses and address ranges. There are two primary use-cases for address ranges: definitions and references. Ranges are being defined when they are present on the addresses of segment features. Ranges are being referenced when they are present on non-segment features. NOTE: If you add fields in this proto, consider updating the AreAddressRangesEquivalent() function in google3/geostore/base/internal/addressrange.cclist(number)
prefixIf specified, the prefix or suffix is applied to all numbers in the range. For example, this can be used to indicate that addresses B1 through B99 are on one side of the street, while A1 through A99 are on the other side of the street.GeostoreAddressRangeProtoThis class represents a range of numbers in an address. It is an optional additional field in the ‘AddressComponentProto’ message. This structure can be used to model both single addresses and address ranges. There are two primary use-cases for address ranges: definitions and references. Ranges are being defined when they are present on the addresses of segment features. Ranges are being referenced when they are present on non-segment features. NOTE: If you add fields in this proto, consider updating the AreAddressRangesEquivalent() function in google3/geostore/base/internal/addressrange.ccString
sameParityIf ‘same_parity’ is true, then all ‘number’ values must have the same parity (even or odd), and this address range only includes addresses whose parity is the same as the given ‘number’ values.GeostoreAddressRangeProtoThis class represents a range of numbers in an address. It is an optional additional field in the ‘AddressComponentProto’ message. This structure can be used to model both single addresses and address ranges. There are two primary use-cases for address ranges: definitions and references. Ranges are being defined when they are present on the addresses of segment features. Ranges are being referenced when they are present on non-segment features. NOTE: If you add fields in this proto, consider updating the AreAddressRangesEquivalent() function in google3/geostore/base/internal/addressrange.ccboolean
suffixGeostoreAddressRangeProtoThis class represents a range of numbers in an address. It is an optional additional field in the ‘AddressComponentProto’ message. This structure can be used to model both single addresses and address ranges. There are two primary use-cases for address ranges: definitions and references. Ranges are being defined when they are present on the addresses of segment features. Ranges are being referenced when they are present on non-segment features. NOTE: If you add fields in this proto, consider updating the AreAddressRangesEquivalent() function in google3/geostore/base/internal/addressrange.ccString
temporaryDataA place for clients to attach arbitrary data to an address range. Never set in MapFacts. Here are some examples: Example #1: Single non-numeric address (e.g., “Twelve”) At the moment this can only be represented as a street number (with the value in the parsed_name field of the AddressComponentProto). We have future plans to make other changes so we can handle this case. Example #2: Single semi-numeric address (e.g., “12bis”) The number array contains two copies of the single numeric value (12). The prefix is empty and the suffix contains “bis”. The parameter array has two identical values specifying the position of the single address. Example #3: Simple address range (e.g., “100 to 198, even numbers only”) The number array contains the two values “100” and “198”. The prefix and suffix strings are empty in this example. The parameter array has two values, one for each number. The same_parity flag is set in this example.GeostoreAddressRangeProtoThis class represents a range of numbers in an address. It is an optional additional field in the ‘AddressComponentProto’ message. This structure can be used to model both single addresses and address ranges. There are two primary use-cases for address ranges: definitions and references. Ranges are being defined when they are present on the addresses of segment features. Ranges are being referenced when they are present on non-segment features. NOTE: If you add fields in this proto, consider updating the AreAddressRangesEquivalent() function in google3/geostore/base/internal/addressrange.ccProto2BridgeMessageSet
geometryIdThe ID to be used to fetch the feature’s geometry from the 3D Geometry Store.GeostoreAnchoredGeometryProtoA feature’s geometry that is populated from the 3D Geometry Store. Please see go/a3d-and-mapfacts for design details.String
speedLimitThe actual speed limit value.GeostoreAppliedSpeedLimitProtoA container for speed limits that allows tagging with a correctness trust level.GeostoreSpeedLimitProto
trustLevelThe level of trust we have in this speed limit value.GeostoreAppliedSpeedLimitProtoA container for speed limits that allows tagging with a correctness trust level.String
attachmentIdattachment_id distinguishes messages of the same type_id associated with the same feature. It can not be set to 0x0.GeostoreAttachmentsAttachmentProtoAn AttachmentProto contains structured data of a client-specified type. An attachment is uniquely identified by the combination of its attachment_id and client_name_space fields.String
clientNameSpaceThis field specifies a namespace identifier that can be used to track the sources of attachments in a human friendly format. Name spaces must be at most 64 characters long and must be composed entirely of alphanumeric characters, hyphens, and underscores. No other characters are allowed.GeostoreAttachmentsAttachmentProtoAn AttachmentProto contains structured data of a client-specified type. An attachment is uniquely identified by the combination of its attachment_id and client_name_space fields.String
commentcomment is a human-readable string that is logged whenever this attachment is processed by the framework.GeostoreAttachmentsAttachmentProtoAn AttachmentProto contains structured data of a client-specified type. An attachment is uniquely identified by the combination of its attachment_id and client_name_space fields.String
messagesmessages contains the structured data for this attachment. It should contain a single message with a type ID matching the value of the type_id field below.GeostoreAttachmentsAttachmentProtoAn AttachmentProto contains structured data of a client-specified type. An attachment is uniquely identified by the combination of its attachment_id and client_name_space fields.Proto2BridgeMessageSet
typeIdtype_id determines the type of the actual attachment that should be set in the messages MessageSet. It can not be set to 0x0.GeostoreAttachmentsAttachmentProtoAn AttachmentProto contains structured data of a client-specified type. An attachment is uniquely identified by the combination of its attachment_id and client_name_space fields.String
idThe id of the attribute. Stored as a stripped format of the gcid (e.g. “foo” instead of “gcid:att_foo”).GeostoreAttributeIdProtoUsed to represent the unique id of an attribute.String
providerIdSet because it’s required, but not really meaningful in geostore (always set to “Geo”).GeostoreAttributeIdProtoUsed to represent the unique id of an attribute.String
typeGeostoreAttributeIdProtoUsed to represent the unique id of an attribute.String
applicationDataGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.Proto2BridgeMessageSet
attributeDisplayGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.list(GeostoreAttributeValueDisplayProto)
booleanValueGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.boolean
canonicalAttributeIdThe canonical attribute for this attribute instance.GeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.GeostoreAttributeIdProto
doubleValueGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.float
enumIdValueFor those attribute ids that expect their values to be taken from an enumeration-style set of values, that value’s gcid should be stored here, e.g. “gcid:attval_yes”.GeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.String
floatValueGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.number
int64ValueGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.String
integerValueGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.integer
itemClassIdGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.GeostoreAttributeIdProto
metadataField-level metadata for this attributeGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.GeostoreFieldMetadataProto
protoValueFully qualified package name because genprotohdf uses genproto for this proto2 syntax: https://wiki.corp.google.com/twiki/bin/view/Main/Proto2WithGenprotoGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.Proto2BridgeMessageSet
stringValueThe attribute value falls into one of these fields, based on value_type:GeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.String
uint32ValueGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.integer
valueDisplayUsed to store language-specific names of this attribute’s value (e.g. a translation into another language).GeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.list(GeostoreAttributeValueDisplayProto)
valueSpaceIdGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.GeostoreAttributeIdProto
valueTypeGeostoreAttributeProtoProtocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.String
languageGeostoreAttributeValueDisplayProtoUsed to help display language-specific names of attributes.String
synonymGeostoreAttributeValueDisplayProtoUsed to help display language-specific names of attributes.String
materialGeostoreBarrierLogicalMaterialProtolist(String)
localeThe ID of the best-match TYPE_LOCALE feature for this feature.GeostoreBestLocaleProtoA BestLocaleProto holds information about the best-match locale for a feature. Clients may use this information to determine the appropriate local name of a feature.GeostoreFeatureIdProto
localizationPolicyIdThe ID of the localization policy to apply when selecting a name for a feature. This field should always be set. If feature_id is also defined, this field should have the same localization policy ID as the referenced locale feature. Localization policy IDs are arbitrary identifiers (up to some number of bytes; see geostore/base/public/constants.h) that uniquely distinguish a set of language-selection rules.GeostoreBestLocaleProtoA BestLocaleProto holds information about the best-match locale for a feature. Clients may use this information to determine the appropriate local name of a feature.String
metadataField-level metadata for this best locale.GeostoreBestLocaleProtoA BestLocaleProto holds information about the best-match locale for a feature. Clients may use this information to determine the appropriate local name of a feature.GeostoreFieldMetadataProto
idListing id. Used in queries to BizBuilder backend for listing access.GeostoreBizBuilderReferenceProtoThe reference to a BizBuilder listing. For details on BizBuilder see http://g3doc/commerce/bizbuilder/backend/g3doc/index.mdString
featureIdLeftThe ids of the area features to the left and right of the border, relative to the start and end of this borders’ polyline geometry. These features should have the same type as the “type” attribute above. These ids are not required because the corresponding features may be nonexistent or difficult to obtain.GeostoreBorderProtoA border represents a line of division between two features of the same type (i.e. United States and Mexico, but not California and Mexico). Borders are only used for features that tile an area. For example, country features have borders with one another because they tile an area of land. Country features do not have borders with province features because those two types of features may intersect with each other. The geometry of a border will often be similar (or derived from) the geometry of the two features that it separates. However, it is useful to have borders represented by stand-alone features for map-styling purposes. Ideally, the geometry in a border feature would be exactly the same as the common edges of the polygonal geometry of the two features. This may not always be true in practice. At some point in the future we would like to build a network of borders for features that are supposed to tile with each other. The network would be composed of different border types meeting at endpoint intersections. In the process of building this network, we would perform small geometry corrections to ensure that the borders align properly at all zoom levels. Border features are intended primarily for map drawing, and they would rarely be useful for geocoding. One exception would be for famous borders like the “Mason Dixon Line” or the “Berlin Wall.” The standard feature properties have the following interpretations: name – Borders rarely have names unless they notable in their own right (e.g. “Mason Dixon Line”, “Berlin Wall”). point – A border should not have point geometry. polyline – A border should have a single polyline that represents the division between the two features. polygon – A border should not have polygon geometry.GeostoreFeatureIdProto
featureIdRightGeostoreBorderProtoA border represents a line of division between two features of the same type (i.e. United States and Mexico, but not California and Mexico). Borders are only used for features that tile an area. For example, country features have borders with one another because they tile an area of land. Country features do not have borders with province features because those two types of features may intersect with each other. The geometry of a border will often be similar (or derived from) the geometry of the two features that it separates. However, it is useful to have borders represented by stand-alone features for map-styling purposes. Ideally, the geometry in a border feature would be exactly the same as the common edges of the polygonal geometry of the two features. This may not always be true in practice. At some point in the future we would like to build a network of borders for features that are supposed to tile with each other. The network would be composed of different border types meeting at endpoint intersections. In the process of building this network, we would perform small geometry corrections to ensure that the borders align properly at all zoom levels. Border features are intended primarily for map drawing, and they would rarely be useful for geocoding. One exception would be for famous borders like the “Mason Dixon Line” or the “Berlin Wall.” The standard feature properties have the following interpretations: name – Borders rarely have names unless they notable in their own right (e.g. “Mason Dixon Line”, “Berlin Wall”). point – A border should not have point geometry. polyline – A border should have a single polyline that represents the division between the two features. polygon – A border should not have polygon geometry.GeostoreFeatureIdProto
logicalBorderThe logical borders which this border is a part of.GeostoreBorderProtoA border represents a line of division between two features of the same type (i.e. United States and Mexico, but not California and Mexico). Borders are only used for features that tile an area. For example, country features have borders with one another because they tile an area of land. Country features do not have borders with province features because those two types of features may intersect with each other. The geometry of a border will often be similar (or derived from) the geometry of the two features that it separates. However, it is useful to have borders represented by stand-alone features for map-styling purposes. Ideally, the geometry in a border feature would be exactly the same as the common edges of the polygonal geometry of the two features. This may not always be true in practice. At some point in the future we would like to build a network of borders for features that are supposed to tile with each other. The network would be composed of different border types meeting at endpoint intersections. In the process of building this network, we would perform small geometry corrections to ensure that the borders align properly at all zoom levels. Border features are intended primarily for map drawing, and they would rarely be useful for geocoding. One exception would be for famous borders like the “Mason Dixon Line” or the “Berlin Wall.” The standard feature properties have the following interpretations: name – Borders rarely have names unless they notable in their own right (e.g. “Mason Dixon Line”, “Berlin Wall”). point – A border should not have point geometry. polyline – A border should have a single polyline that represents the division between the two features. polygon – A border should not have polygon geometry.list(GeostoreFeatureIdProto)
overrideStatusList of border status overrides. Due to legal reasons, we may be required to display some borders differently on some domains for instance.GeostoreBorderProtoA border represents a line of division between two features of the same type (i.e. United States and Mexico, but not California and Mexico). Borders are only used for features that tile an area. For example, country features have borders with one another because they tile an area of land. Country features do not have borders with province features because those two types of features may intersect with each other. The geometry of a border will often be similar (or derived from) the geometry of the two features that it separates. However, it is useful to have borders represented by stand-alone features for map-styling purposes. Ideally, the geometry in a border feature would be exactly the same as the common edges of the polygonal geometry of the two features. This may not always be true in practice. At some point in the future we would like to build a network of borders for features that are supposed to tile with each other. The network would be composed of different border types meeting at endpoint intersections. In the process of building this network, we would perform small geometry corrections to ensure that the borders align properly at all zoom levels. Border features are intended primarily for map drawing, and they would rarely be useful for geocoding. One exception would be for famous borders like the “Mason Dixon Line” or the “Berlin Wall.” The standard feature properties have the following interpretations: name – Borders rarely have names unless they notable in their own right (e.g. “Mason Dixon Line”, “Berlin Wall”). point – A border should not have point geometry. polyline – A border should have a single polyline that represents the division between the two features. polygon – A border should not have polygon geometry.list(GeostoreOverrideBorderStatusProto)
statusThe border status identifies the legal status of the border line.GeostoreBorderProtoA border represents a line of division between two features of the same type (i.e. United States and Mexico, but not California and Mexico). Borders are only used for features that tile an area. For example, country features have borders with one another because they tile an area of land. Country features do not have borders with province features because those two types of features may intersect with each other. The geometry of a border will often be similar (or derived from) the geometry of the two features that it separates. However, it is useful to have borders represented by stand-alone features for map-styling purposes. Ideally, the geometry in a border feature would be exactly the same as the common edges of the polygonal geometry of the two features. This may not always be true in practice. At some point in the future we would like to build a network of borders for features that are supposed to tile with each other. The network would be composed of different border types meeting at endpoint intersections. In the process of building this network, we would perform small geometry corrections to ensure that the borders align properly at all zoom levels. Border features are intended primarily for map drawing, and they would rarely be useful for geocoding. One exception would be for famous borders like the “Mason Dixon Line” or the “Berlin Wall.” The standard feature properties have the following interpretations: name – Borders rarely have names unless they notable in their own right (e.g. “Mason Dixon Line”, “Berlin Wall”). point – A border should not have point geometry. polyline – A border should have a single polyline that represents the division between the two features. polygon – A border should not have polygon geometry.String
typeThe type of the features this border separates. Should always be a subtype of TYPE_POLITICAL. NOTE: as of December 2019, we currently require this to be equal to TYPE_COUNTRY or TYPE_ADMINISTRATIVE_AREA1. In the future, we may support TYPE_BORDER for lower types of political features.GeostoreBorderProtoA border represents a line of division between two features of the same type (i.e. United States and Mexico, but not California and Mexico). Borders are only used for features that tile an area. For example, country features have borders with one another because they tile an area of land. Country features do not have borders with province features because those two types of features may intersect with each other. The geometry of a border will often be similar (or derived from) the geometry of the two features that it separates. However, it is useful to have borders represented by stand-alone features for map-styling purposes. Ideally, the geometry in a border feature would be exactly the same as the common edges of the polygonal geometry of the two features. This may not always be true in practice. At some point in the future we would like to build a network of borders for features that are supposed to tile with each other. The network would be composed of different border types meeting at endpoint intersections. In the process of building this network, we would perform small geometry corrections to ensure that the borders align properly at all zoom levels. Border features are intended primarily for map drawing, and they would rarely be useful for geocoding. One exception would be for famous borders like the “Mason Dixon Line” or the “Berlin Wall.” The standard feature properties have the following interpretations: name – Borders rarely have names unless they notable in their own right (e.g. “Mason Dixon Line”, “Berlin Wall”). point – A border should not have point geometry. polyline – A border should have a single polyline that represents the division between the two features. polygon – A border should not have polygon geometry.integer
boundingMarkerReferences to any gcid:physical_lane_marker features that bound this lane or lane connection.GeostoreBoundingMarkerProtoNOTE: BoundingMarkerProto could be compared against one another by canonicalizing them via GetCanonicalBoundingMarker() in google3/geostore/base/internal/lane.cc. Any fields that don’t contribute to the definition of a bounding marker in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalBoundingMarker(). LINT.IfChangeGeostoreFeatureIdProto
boundingMarkerTokenA token that can be used to identify the version of the data about this bounding marker.GeostoreBoundingMarkerProtoNOTE: BoundingMarkerProto could be compared against one another by canonicalizing them via GetCanonicalBoundingMarker() in google3/geostore/base/internal/lane.cc. Any fields that don’t contribute to the definition of a bounding marker in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalBoundingMarker(). LINT.IfChangeString
flowlineAdjacencyBeginFractionWhich part of the flowline does this association refer to? These should be between 0 and 1. These are optionally set, but can be approximated geometrically if they aren’t set. NOTE: These refer to the geometry of this feature.GeostoreBoundingMarkerProtoNOTE: BoundingMarkerProto could be compared against one another by canonicalizing them via GetCanonicalBoundingMarker() in google3/geostore/base/internal/lane.cc. Any fields that don’t contribute to the definition of a bounding marker in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalBoundingMarker(). LINT.IfChangefloat
flowlineAdjacencyEndFractionGeostoreBoundingMarkerProtoNOTE: BoundingMarkerProto could be compared against one another by canonicalizing them via GetCanonicalBoundingMarker() in google3/geostore/base/internal/lane.cc. Any fields that don’t contribute to the definition of a bounding marker in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalBoundingMarker(). LINT.IfChangefloat
markerAdjacencyBeginFractionWhich part of the marker track does this association refer to? These should be between 0 and 1. These are optionally set, but can be approximated geometrically if they aren’t set. NOTE: These refer to the geometry of the marker feature.GeostoreBoundingMarkerProtoNOTE: BoundingMarkerProto could be compared against one another by canonicalizing them via GetCanonicalBoundingMarker() in google3/geostore/base/internal/lane.cc. Any fields that don’t contribute to the definition of a bounding marker in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalBoundingMarker(). LINT.IfChangefloat
markerAdjacencyEndFractionGeostoreBoundingMarkerProtoNOTE: BoundingMarkerProto could be compared against one another by canonicalizing them via GetCanonicalBoundingMarker() in google3/geostore/base/internal/lane.cc. Any fields that don’t contribute to the definition of a bounding marker in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalBoundingMarker(). LINT.IfChangefloat
sideWhich side of the flowline does the marker occur on.GeostoreBoundingMarkerProtoNOTE: BoundingMarkerProto could be compared against one another by canonicalizing them via GetCanonicalBoundingMarker() in google3/geostore/base/internal/lane.cc. Any fields that don’t contribute to the definition of a bounding marker in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalBoundingMarker(). LINT.IfChangeString
baseHeightMetersAglThe height of the base of this building, in meters above ground-level, if known.GeostoreBuildingProtoThis protocol buffer holds the building-specific attributes for features of type TYPE_COMPOUND_BUILDING.number
defaultDisplayLevelThe level in this building that should get displayed by default. If present, the default display level must be one of this building’s levels that are listed in the level[] field, and if a level is set as a default level of one building, all buildings sharing the level should have that same level as their default level. If not present, clients should not display any level by default for that building.GeostoreBuildingProtoThis protocol buffer holds the building-specific attributes for features of type TYPE_COMPOUND_BUILDING.GeostoreFeatureIdProto
floorsThe number of floors above the base of the building, if known. For example a regular 1-story building would set this to “1”. Use a value of GeostoreConstants::kDefaultHeightPerFloor when converting “floors” to “height_meters”.GeostoreBuildingProtoThis protocol buffer holds the building-specific attributes for features of type TYPE_COMPOUND_BUILDING.integer
floorsMetadataGeostoreBuildingProtoThis protocol buffer holds the building-specific attributes for features of type TYPE_COMPOUND_BUILDING.GeostoreFieldMetadataProto
heightMetersThe height of the building above its base, in meters, if known.GeostoreBuildingProtoThis protocol buffer holds the building-specific attributes for features of type TYPE_COMPOUND_BUILDING.number
heightMetersMetadataGeostoreBuildingProtoThis protocol buffer holds the building-specific attributes for features of type TYPE_COMPOUND_BUILDING.GeostoreFieldMetadataProto
levelThe levels in this building, in no particular order. These levels refer back to the building via another strong reference (the LevelProto.building field).GeostoreBuildingProtoThis protocol buffer holds the building-specific attributes for features of type TYPE_COMPOUND_BUILDING.list(GeostoreFeatureIdProto)
structure“Structure” denotes a physical architecture of the building that is readily visible. This attribute is useful in that rarer structures can make good landmarks.GeostoreBuildingProtoThis protocol buffer holds the building-specific attributes for features of type TYPE_COMPOUND_BUILDING.String
canonicalGconceptsCanonical GConcepts describe the ideal state of the GConcepts of this business chain’s members.GeostoreBusinessChainProtoThis holds data specific to business chain features.list(GeostoreCanonicalGConceptProto)
dataThe actual hours represented by this BusinessHoursProto.GeostoreBusinessHoursProtoA BusinessHoursProto stores a weekly schedule of opening hours for a business (represented as a BusinessHours message) together with other closely related information that is Geo-specific.BusinessHours
metadataField-level metadata for these hours.GeostoreBusinessHoursProtoA BusinessHoursProto stores a weekly schedule of opening hours for a business (represented as a BusinessHours message) together with other closely related information that is Geo-specific.GeostoreFieldMetadataProto
ctaTypeRequired.GeostoreCallToActionProtoMessage containing calls to action specified by the business owner.String
urlGeostoreCallToActionProtoMessage containing calls to action specified by the business owner.GeostoreUrlProto
gconceptGeostoreCanonicalGConceptProtoThis proto represents a canonical gconcept of a business chain’s members.GeostoreGConceptInstanceProto
isRequiredWhether the gconcept must be on a member. This must be true for a primary gconcept.GeostoreCanonicalGConceptProtoThis proto represents a canonical gconcept of a business chain’s members.boolean
cellIdArray of S2 cell ids that represent the covering. There is no preset limit on how many cells can be used.GeostoreCellCoveringProtoThis protocol buffer holds S2 cell covering for the feature. See util/geometry/s2cell_union.h for more information on S2 cells. See geostore/base/public/cellcovering.h for utility functions.list(String)
appearanceAdditional information that can be used to describe the appearance of CityObjects in this CityJsonProto.GeostoreCityJsonProtoCityJsonProto is a custom proto representation of the portion of the CityJSON spec (https://www.cityjson.org/) relevant to internal projects. See go/cityjsonproto-design for more information about the modeling and design decisions implemented here. LINT.IfChangeGeostoreCityJsonProtoAppearance
cityObjectsCity objects associated with this CityJsonProto.GeostoreCityJsonProtoCityJsonProto is a custom proto representation of the portion of the CityJSON spec (https://www.cityjson.org/) relevant to internal projects. See go/cityjsonproto-design for more information about the modeling and design decisions implemented here. LINT.IfChangelist(GeostoreCityJsonProtoCityObject)
flattenedVerticesVertices as local coordinates represented as a flattened list: [x1,y1,z1,x2,y2,z2,x3,y3,z3]. Vertices are relative to a local coordinate system and rounded to their nearest integer value. See `transform` for how vertices can be transformed from a local coordinate system into an Earth-centered, Earth-fixed coordinate system. Vertices are flattened for space efficiency, memory locality, and processing performance. To access the x,y,z coordinates of vertex N, read the values at indices 3N, 3N+1, and 3N+2.GeostoreCityJsonProtoCityJsonProto is a custom proto representation of the portion of the CityJSON spec (https://www.cityjson.org/) relevant to internal projects. See go/cityjsonproto-design for more information about the modeling and design decisions implemented here. LINT.IfChangelist(integer)
transformSpec for converting vertices from a local coordinate system in arbitrary units to ECEF coordinates in meters (https://en.wikipedia.org/wiki/Earth-centered,_Earth-fixed_coordinate_system).GeostoreCityJsonProtoCityJsonProto is a custom proto representation of the portion of the CityJSON spec (https://www.cityjson.org/) relevant to internal projects. See go/cityjsonproto-design for more information about the modeling and design decisions implemented here. LINT.IfChangeGeostoreCityJsonProtoTransform
materialsPredefined materials that may be referenced from geometric primitives.GeostoreCityJsonProtoAppearanceContains additional ways to describe the appearance of a CityObject, e.g. definitions of materials and textures that can apply to geometry surfaces.list(GeostoreCityJsonProtoAppearanceMaterial)
diffuseColorThe color that this material shows under pure white light when incoming light is reflected in all directions equally.GeostoreCityJsonProtoAppearanceMaterialRepresentation of a single material that can describe a geometry surface. See technical definitions of these fields via the description and link at https://www.cityjson.org/specs/2.0.0/#material-object.GeostoreCityJsonProtoAppearanceMaterialRgbColor
isNullis_null=true is used to represent ‘null’ material references. There may only be one is_null=true Material per CityJsonProto, and it must not have any other fields set.GeostoreCityJsonProtoAppearanceMaterialRepresentation of a single material that can describe a geometry surface. See technical definitions of these fields via the description and link at https://www.cityjson.org/specs/2.0.0/#material-object.boolean
isSmoothWhether this material has an even, regular surface or consistency.GeostoreCityJsonProtoAppearanceMaterialRepresentation of a single material that can describe a geometry surface. See technical definitions of these fields via the description and link at https://www.cityjson.org/specs/2.0.0/#material-object.boolean
nameThe name of this material.GeostoreCityJsonProtoAppearanceMaterialRepresentation of a single material that can describe a geometry surface. See technical definitions of these fields via the description and link at https://www.cityjson.org/specs/2.0.0/#material-object.String
shininessThe degree to which this material reflects light; value is [0,1].GeostoreCityJsonProtoAppearanceMaterialRepresentation of a single material that can describe a geometry surface. See technical definitions of these fields via the description and link at https://www.cityjson.org/specs/2.0.0/#material-object.number
transparencyThe degree to which this material allows light through; value is [0,1], with 1.0 being completely transparent.GeostoreCityJsonProtoAppearanceMaterialRepresentation of a single material that can describe a geometry surface. See technical definitions of these fields via the description and link at https://www.cityjson.org/specs/2.0.0/#material-object.number
blueGeostoreCityJsonProtoAppearanceMaterialRgbColorRGB 0-1, where the range of each value is [0,1] instead of [0,255]. Values may be linear RGB or sRGB; RGB values are frequently stored as sRGB (https://stackoverflow.com/a/12894053 explains the difference).number
greenGeostoreCityJsonProtoAppearanceMaterialRgbColorRGB 0-1, where the range of each value is [0,1] instead of [0,255]. Values may be linear RGB or sRGB; RGB values are frequently stored as sRGB (https://stackoverflow.com/a/12894053 explains the difference).number
redGeostoreCityJsonProtoAppearanceMaterialRgbColorRGB 0-1, where the range of each value is [0,1] instead of [0,255]. Values may be linear RGB or sRGB; RGB values are frequently stored as sRGB (https://stackoverflow.com/a/12894053 explains the difference).number
geometriesGeometries associated with this object.GeostoreCityJsonProtoCityObjectRepresentation of an object with geometry.list(GeostoreCityJsonProtoCityObjectGeometry)
idThe ID of this CityObject, which must be unique within this CityJsonProto. The ID does not have a meaning outside this CityJsonProto.GeostoreCityJsonProtoCityObjectRepresentation of an object with geometry.String
typeType of object represented, e.g. building.GeostoreCityJsonProtoCityObjectRepresentation of an object with geometry.String
lodLevel-of-detail (LoD) indicates how intricate the geometric representation is. May be a single digit per CityGML standards or X.Y per TU Delft (visual depiction at https://3d.bk.tudelft.nl/lod/). `CityObject`s may have multiple geometries with the same LoD.GeostoreCityJsonProtoCityObjectGeometryRepresentation of geometry including geometric primitives which are used as building blocks to construct geometries of varying complexity. Geometries vary both in type and in level-of-detail, enabling representation of any shape at any level of granularity. All geometries are ultimately composed of `MultiPoint`s, which reference the actual vertices. Only linear and planar shapes are allowed, no curves or parametric surfaces.String
multipointFor geometries consisting of a single point, line, or loop.GeostoreCityJsonProtoCityObjectGeometryRepresentation of geometry including geometric primitives which are used as building blocks to construct geometries of varying complexity. Geometries vary both in type and in level-of-detail, enabling representation of any shape at any level of granularity. All geometries are ultimately composed of `MultiPoint`s, which reference the actual vertices. Only linear and planar shapes are allowed, no curves or parametric surfaces.GeostoreCityJsonProtoCityObjectGeometryMultiPoint
multisurfaceFor geometries consisting of a collection of surfaces.GeostoreCityJsonProtoCityObjectGeometryRepresentation of geometry including geometric primitives which are used as building blocks to construct geometries of varying complexity. Geometries vary both in type and in level-of-detail, enabling representation of any shape at any level of granularity. All geometries are ultimately composed of `MultiPoint`s, which reference the actual vertices. Only linear and planar shapes are allowed, no curves or parametric surfaces.GeostoreCityJsonProtoCityObjectGeometryMultiSurface
semanticsPredefined semantics that may be referenced from geometric primitives.GeostoreCityJsonProtoCityObjectGeometryRepresentation of geometry including geometric primitives which are used as building blocks to construct geometries of varying complexity. Geometries vary both in type and in level-of-detail, enabling representation of any shape at any level of granularity. All geometries are ultimately composed of `MultiPoint`s, which reference the actual vertices. Only linear and planar shapes are allowed, no curves or parametric surfaces.list(GeostoreCityJsonProtoCityObjectGeometrySemantic)
solidFor geometries consisting of a watertight 3D shape.GeostoreCityJsonProtoCityObjectGeometryRepresentation of geometry including geometric primitives which are used as building blocks to construct geometries of varying complexity. Geometries vary both in type and in level-of-detail, enabling representation of any shape at any level of granularity. All geometries are ultimately composed of `MultiPoint`s, which reference the actual vertices. Only linear and planar shapes are allowed, no curves or parametric surfaces.GeostoreCityJsonProtoCityObjectGeometrySolid
materialsIndexIndex into CityJsonProto.appearance.materials.GeostoreCityJsonProtoCityObjectGeometryMaterialSpecUsed to reference a predefined material from a geometric primitive.integer
xIndicesA collection of references to vertices in `CityJsonProto.flattened_vertices`. `CityJsonProto.flattened_vertices` is a flattened list of vertex coordinates. A value in `x_indices` should be the index of the x-coordinate of the desired vertex V; the full coordinates of vertex V can then be found at indices [V,V+1,V+2]. For example, an `x_indices` containing 3, 0, and 12 references three vertices, whose complete x,y,z coordinates can respectively be found at `CityJsonProto.flattened_vertices` indices [3,4,5], [0,1,2], and [12,13,14].GeostoreCityJsonProtoCityObjectGeometryMultiPointA single line, loop, or set of points.list(integer)
surfacesAll surfaces are standalone entities with no relationship to each other.GeostoreCityJsonProtoCityObjectGeometryMultiSurfaceA collection of arbitrary surfaces that have no prescribed topological relationship.list(GeostoreCityJsonProtoCityObjectGeometrySurface)
typeThe type of semantic entity this geometric primitive is.GeostoreCityJsonProtoCityObjectGeometrySemanticRepresentation of semantic information that can be used for reasoning about geometric primitives.String
shellsThe first shell is exterior; any additional are interior.GeostoreCityJsonProtoCityObjectGeometrySolidA 3D shape, composed of a watertight exterior shell with optional interior watertight shells.list(GeostoreCityJsonProtoCityObjectGeometryMultiSurface)
loopsThe first loop is exterior; any additional are interior.GeostoreCityJsonProtoCityObjectGeometrySurfaceA polygonal surface, composed of a closed exterior loop with optional closed interior loops.list(GeostoreCityJsonProtoCityObjectGeometryMultiPoint)
materialSpecsThe materials this surface is made of. Either all or none of the Surface protos must have this field set (even for ‘null’ references). Otherwise, this field must not be set. IMPORTANT: This field must not contain more than one MaterialSpec unless CityJSON’s material “theme” is incorporated into CityJsonProto (see discussion in go/cityjson-for-hand-modeled-landmarks).GeostoreCityJsonProtoCityObjectGeometrySurfaceA polygonal surface, composed of a closed exterior loop with optional closed interior loops.list(GeostoreCityJsonProtoCityObjectGeometryMaterialSpec)
semanticsIndexThe semantics of this surface (e.g. what part of a building it is) represented as an index into the containing Geometry’s `semantics` field. Either all or none of the Surface protos must have this field set (even for ‘null’ references). Otherwise, this field must not be set.GeostoreCityJsonProtoCityObjectGeometrySurfaceA polygonal surface, composed of a closed exterior loop with optional closed interior loops.integer
scaleRelative scale of the vertices in the new coordinate system relative to the old coordinate system. Applies to all three x,y,z coordinates.GeostoreCityJsonProtoTransformInformation for transforming a point from an “old” to “new” coordinate frame. Applied as follows: vertex_new = scale * vertex_old + translatefloat
translateOffset of each vertex in the new coordinate system relative to the old coordinate system.GeostoreCityJsonProtoTransformInformation for transforming a point from an “old” to “new” coordinate frame. Applied as follows: vertex_new = scale * vertex_old + translateGeostoreCityJsonProtoTransformTranslate
xGeostoreCityJsonProtoTransformTranslateHow the object will be moved along the x, y, and z axes, respectively.float
yGeostoreCityJsonProtoTransformTranslateHow the object will be moved along the x, y, and z axes, respectively.float
zGeostoreCityJsonProtoTransformTranslateHow the object will be moved along the x, y, and z axes, respectively.float
callToActionCall to action for the individual product.GeostoreComposableItemProtoGeneric item proto. This is intended to have only certain aspects filled (e.g. photo only, name + price). Valid combinations of properties are enforced by linters.GeostoreCallToActionProto
jobMetadataGeostoreComposableItemProtoGeneric item proto. This is intended to have only certain aspects filled (e.g. photo only, name + price). Valid combinations of properties are enforced by linters.GeostoreJobMetadata
mediaAny photos describing this item.GeostoreComposableItemProtoGeneric item proto. This is intended to have only certain aspects filled (e.g. photo only, name + price). Valid combinations of properties are enforced by linters.list(GeostoreMediaItemProto)
nameInfoThe repeated name_info field is for price list sections listed in multiple languages. At least one name_info containing id must be specified. There should be at most one name_info for any given language. When representing a job item, there should be exactly one name_info specified.GeostoreComposableItemProtoGeneric item proto. This is intended to have only certain aspects filled (e.g. photo only, name + price). Valid combinations of properties are enforced by linters.list(GeostorePriceListNameInfoProto)
offeredRepresents if an item is offered at a business. For TYPE_JOB, this represents if this job is offered by the corresponding businessGeostoreComposableItemProtoGeneric item proto. This is intended to have only certain aspects filled (e.g. photo only, name + price). Valid combinations of properties are enforced by linters.String
pricePrice of the item. There should be at most one price for any given currency.GeostoreComposableItemProtoGeneric item proto. This is intended to have only certain aspects filled (e.g. photo only, name + price). Valid combinations of properties are enforced by linters.GeostorePriceRangeProto
priceFormatRepresents which price format is being used by this item, which determines the usage/meaning of the “price” field above. Optional – the default value is legal and safe (represents no price if the “price” field is unset).GeostoreComposableItemProtoGeneric item proto. This is intended to have only certain aspects filled (e.g. photo only, name + price). Valid combinations of properties are enforced by linters.String
rankingHintNumerical score which can be provided by data sources to indicate preferred item ordering. This is purely a hint – we are not required to followed it if we have a different order we think is better. Higher scores represent items that should be shown more prominently/earlier. Optional.GeostoreComposableItemProtoGeneric item proto. This is intended to have only certain aspects filled (e.g. photo only, name + price). Valid combinations of properties are enforced by linters.number
comparisonOperatorGeostoreCountComparisonProtoA count value tagged with a comparison operator. This can be used for axle count, trailer count, etc.String
countGeostoreCountComparisonProtoA count value tagged with a comparison operator. This can be used for axle count, trailer count, etc.integer
borderLineGeostoreCrossingStripePatternProtoPossible patterns of a crossing stripe (any element that denotes a point on a segment or lane at which the vehicle must stop or yield). These include crosswalks, stop, and yield lines.GeostorePhysicalLineProto
borderPatternGeostoreCrossingStripePatternProtoPossible patterns of a crossing stripe (any element that denotes a point on a segment or lane at which the vehicle must stop or yield). These include crosswalks, stop, and yield lines.String
colorColors found on this crossing.GeostoreCrossingStripePatternProtoPossible patterns of a crossing stripe (any element that denotes a point on a segment or lane at which the vehicle must stop or yield). These include crosswalks, stop, and yield lines.list(GeostorePaintedElementLogicalColorProto)
stripePatternGeostoreCrossingStripePatternProtoPossible patterns of a crossing stripe (any element that denotes a point on a segment or lane at which the vehicle must stop or yield). These include crosswalks, stop, and yield lines.String
pointCurvatureCurvature values at points along the flowline. A linear interpolation between two successive points will yield the curvature value at intermediate points.GeostoreCurvatureProtolist(GeostorePointCurvatureProto)
bezierParamsGeostoreCurveConnectionProtoProtocol buffer describing a curve that connects two externally specified endpoints.GeostoreCurveConnectionProtoBezierParams
circleParamsGeostoreCurveConnectionProtoProtocol buffer describing a curve that connects two externally specified endpoints.GeostoreCurveConnectionProtoCircleParams
typeGeostoreCurveConnectionProtoProtocol buffer describing a curve that connects two externally specified endpoints.String
controlPointInternal Bezier handles. One can be used for a quadratic curve, two for cubic Beziers.GeostoreCurveConnectionProtoBezierParamslist(GeostoreCurveConnectionProtoBezierParamsControlPoint)
angleDegreesWe use this parameterization to make curves change predictable when endpoints move. Each point P is defined in terms of the straight edge [S, E] between the start point of the curve S and its end point E. *P / / / S *————* E Counter-clockwise angle between vector SE and vector SP.GeostoreCurveConnectionProtoBezierParamsControlPointfloat
distanceMultiplierDistance(S, P) in units of Distance(S, E).GeostoreCurveConnectionProtoBezierParamsControlPointfloat
radiusArc radius. Must be greater than half-distance between two endpoints.GeostoreCurveConnectionProtoCircleParamsfloat
attributionUrlThis is the URL of a website representing this DataSource as a whole. If this DataSource feature is specific to a particular dataset or product, the page may contain information relevant to that dataset or product or may be the main page of the organization.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.list(GeostoreUrlProto)
copyrightOwnerA UTF8 string that will be inserted in copyright messages to refer to this copyright owner, e.g. “Tele Atlas”.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
copyrightYearThe copyright year of this data (which may be different than the year of the release date), e.g. 2005.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.integer
descriptionA free-form description of this data source. Ideally the description should include: – Where the data was obtained (URL, company name, individual, etc). – Where to find detailed documentation. – A brief summary of the licensing terms. – As much internal and external contact information as possible (e.g. who to ask about licensing questions, interpreting the data, updating the data, fixing bugs in the importer, etc).GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
importerBuildInfoThe build information of the importer binary used to generate this data source.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
importerBuildTargetThe build target of the importer binary used to generate this data source.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
importerClientInfoThe Perforce client information of the importer binary used to generate this data source.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
importerMpmVersionIf the importer was built as an MPM, the version number can be stored in this field. As with build_info, this can be useful when tracking down issues that may be due to the use of a particular binary.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
importerTimestampThe timestamp of the importer binary used to generate this data source.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
providerThe provider type of this data source.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
rawMetadataFor every key that is used in raw_data from this source, there must be a corresponding entry in raw_metadata that describes this key.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.list(GeostoreRawMetadataProto)
releaseA release string that doesn’t have to be a date. This is provided so that we can preserve provider release strings that aren’t based on dates. If you don’t set it, the release_date will get formatted into this field for debugging purposes.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
releaseDateThe release date of this data.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.GeostoreDateTimeProto
sourceDatasetA data provider defined string describing the source dataset from which the features of this data source were generated. For example, the MultiNet “fra” dataset produces features for both France and Monaco.GeostoreDataSourceProtoEvery data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound – The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name – The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address – should be empty. point, polyline, polygon – should be empty. source_info – should not be set. child – should be empty.String
precisionThis attribute describes the precision of the date and time. It would be unusual for a data provider to provide a precision along with their date. It is more likely that the precision of a date will be inferred from the date format. For example “19th century” is likely to be correct to the century, while “1800” is probably correct to the year. The precision should be semantically interpreted as a cast, so a DateTimeProto object with a seconds value corresponding to 2018-03-28 18:40:00 UTC and a precision of MONTH should be interpreted as “March 2018”. The enums above are only some of the possible precision levels for dates and times. Clients may wish to add more precision enums in the future. However, these enums must be ordered by decreasing duration. Clients should be able to write date formatting code that looks like this: if (datetime.precision() <= DateTimeProto::PRECISION_CENTURY) { date = FormatCenturyDate(proto.seconds()); } else if (proto.precision() <= case DateTimeProto::PRECISION_DECADE) { date = FormatDecadeDate(proto.seconds()); } else { ... } See geostore/base/public/datetime.h for date formatting utility functions.GeostoreDateTimeProtoWARNING: Outside of FeatureProto, please avoid in favor of a standard civil time type. Direct usage is error-prone due to the conflation of physical time and civil time (go/httat). In a protocol buffer, please use google.type.Date, with an additional google.type.TimeOfDay for precision finer-grained than a day. (For google.type.DateTime, go/prototime#types cites go/httat#zoned_datetime as a caveat). In a programming language, see go/time-devguide/languages. Additionally in C++, google3/geostore/base/public/datetime.h has conversion functions between DateTimeProto and Abseil’s civil time types.String
secondsNumber of seconds since (or before) the UNIX epoch (January 1, 1970). This is also the standard epoch for Java and Python time representations. If it is important for this time be displayed correctly for different time zones, convert the time to Coordinated Universal Time (UTC).GeostoreDateTimeProtoWARNING: Outside of FeatureProto, please avoid in favor of a standard civil time type. Direct usage is error-prone due to the conflation of physical time and civil time (go/httat). In a protocol buffer, please use google.type.Date, with an additional google.type.TimeOfDay for precision finer-grained than a day. (For google.type.DateTime, go/prototime#types cites go/httat#zoned_datetime as a caveat). In a programming language, see go/time-devguide/languages. Additionally in C++, google3/geostore/base/public/datetime.h has conversion functions between DateTimeProto and Abseil’s civil time types.float
comparisonOperatorGeostoreDimensionComparisonProtoA dimension value tagged with a comparison operator. This can be used for height, width, or length.String
dimensionWithUnitGeostoreDimensionComparisonProtoA dimension value tagged with a comparison operator. This can be used for height, width, or length.GeostoreDimensionProto
dimensionGeostoreDimensionProtoA dimension with a numerical value and unit. This can be a height, width, or length.number
unitGeostoreDimensionProtoA dimension with a numerical value and unit. This can be a height, width, or length.String
displayLocationThe location where this feature should be rendered.GeostoreDisplayDataProtoThis holds data specific to rendering a POI on a map. It’s derived from data already in MapFacts, e.g. containing features and the feature’s point field. If empty, this proto should be ignored for rendering. See go/maps-render-alignment for motivation and more details.GeostorePointProto
administeredByIf present this feature is administered by the power present in the field. In most cases this will be a two letter ISO-3166 region code, but may be a descriptive string if no region code is available.GeostoreDisputedAreaProtoThis protocol buffer is used to store information about disputed areas. E.g., the political power that administers a disputed area or the countries that claim it. It should only be used for features of TYPE_DISPUTED_AREA.String
claimantFeature IDs (usually a country feature ID) of all parties who claim this feature. No claimants means the claim by the country that contains it (based on country polygon) is not disputed.GeostoreDisputedAreaProtoThis protocol buffer is used to store information about disputed areas. E.g., the political power that administers a disputed area or the countries that claim it. It should only be used for features of TYPE_DISPUTED_AREA.list(GeostoreFeatureIdProto)
typeThe type of this feature — see comments above.GeostoreDoodleProtoThis protocol buffer holds the doodle-specific attributes for features of type TYPE_DOODLE.String
isFreeIf true, represents that the rate is free; i.e. the price is 0 in any currency. If this is true, price must be empty.GeostoreDurationBasedRateProtoA single cost which will apply based on the duration of utilization. The cost may apply once, or repeatedly on some interval, to account for the total utilization. If the duration expressed by range_start_seconds and range_end_seconds do not cover the entire duration of the utilization (i.e. from 0 to some time greater than the total utilization time), this must be combined with other DurationBasedRateProtos such that the entire duration of the utilization is accounted for. See go/rate-schema for more details.boolean
periodicitySecondsThe billable unit of the rate; i.e. after having utilized the service for exactly periodicity_seconds, the total cost should increase by ‘price’. For example, if the rate expresses a price per hour, then periodicity_seconds should be set to 3600. If this is unset, then the rate does not vary based on duration, and price represents a flat cost. May only be set if price is nonempty.GeostoreDurationBasedRateProtoA single cost which will apply based on the duration of utilization. The cost may apply once, or repeatedly on some interval, to account for the total utilization. If the duration expressed by range_start_seconds and range_end_seconds do not cover the entire duration of the utilization (i.e. from 0 to some time greater than the total utilization time), this must be combined with other DurationBasedRateProtos such that the entire duration of the utilization is accounted for. See go/rate-schema for more details.integer
priceThe total price, in each applicable currency, of utilizing the service for periodicity_seconds, or for the entire duration expressed by range_start_seconds and range_end_seconds if periodicity_seconds is 0. Each entry should have an ID of /measurement_unit/money_value and consist of two properties: one with an ID of /measurement_unit/money_value/amount and a float value with the amount, and another with the ID /measurement_unit/money_value/currency and an ID value with the MID of the proper currency. May only be set if is_free is false.GeostoreDurationBasedRateProtoA single cost which will apply based on the duration of utilization. The cost may apply once, or repeatedly on some interval, to account for the total utilization. If the duration expressed by range_start_seconds and range_end_seconds do not cover the entire duration of the utilization (i.e. from 0 to some time greater than the total utilization time), this must be combined with other DurationBasedRateProtos such that the entire duration of the utilization is accounted for. See go/rate-schema for more details.list(FreebaseTopic)
rangeEndSecondsUpper bound for durations to match, exclusive. Unset implies indefinite.GeostoreDurationBasedRateProtoA single cost which will apply based on the duration of utilization. The cost may apply once, or repeatedly on some interval, to account for the total utilization. If the duration expressed by range_start_seconds and range_end_seconds do not cover the entire duration of the utilization (i.e. from 0 to some time greater than the total utilization time), this must be combined with other DurationBasedRateProtos such that the entire duration of the utilization is accounted for. See go/rate-schema for more details.integer
rangeStartSecondsLower bound for durations to match, inclusive. Required; a value of 0 expresses that the price applies from the start of the utilization period.GeostoreDurationBasedRateProtoA single cost which will apply based on the duration of utilization. The cost may apply once, or repeatedly on some interval, to account for the total utilization. If the duration expressed by range_start_seconds and range_end_seconds do not cover the entire duration of the utilization (i.e. from 0 to some time greater than the total utilization time), this must be combined with other DurationBasedRateProtos such that the entire duration of the utilization is accounted for. See go/rate-schema for more details.integer
blendOrderDefines the relative order in which terrain data should be rendered. Features with higher blend_order should be blended on top of features with lower blend_order. NOTE: this is backwards from the way BlendRank works in Magrathean.GeostoreElevationModelProtoRepresents raster digital elevation model data.integer
dataLevelThe zoom level at which this data is defined. Level 0 is world level data, and each increase in zoom level corresponds to a factor of 2 increase in scale.GeostoreElevationModelProtoRepresents raster digital elevation model data.integer
dataMaxlevelThe maximum (finest) level at which this terrain data has sufficient resolution to be displayed.GeostoreElevationModelProtoRepresents raster digital elevation model data.integer
elevationDataA place to store an elevation data protocol buffer. Currently, this must be a keyhole::AssetTileCompressed (see google3/keyhole/common/proto/magrathean.protodevel).GeostoreElevationModelProtoRepresents raster digital elevation model data.Proto2BridgeMessageSet
fullChildDataAvailableIf true, all of the data contained in this feature is available at the next highest (more detailed) level. If this is true, partial_child_data_available should also be true.GeostoreElevationModelProtoRepresents raster digital elevation model data.boolean
partialChildDataAvailableIf true, at least part of the data contained in this feature is available at the next highest (more detailed) level.GeostoreElevationModelProtoRepresents raster digital elevation model data.boolean
averageElevationMetersThe average elevation of the feature in meters above the local mean sea level.GeostoreElevationProtoThis protocol buffer holds elevation and related data.float
peakAdditional details for TYPE_PEAK and TYPE_VOLCANO features.GeostoreElevationProtoThis protocol buffer holds elevation and related data.GeostorePeakProto
allowanceGeostoreEntranceProtoThis protocol buffer holds entrance-specific attributes for features of type TYPE_ENTRANCE.String
canEnterDEPRECATED. Please use enter_or_exit instead.GeostoreEntranceProtoThis protocol buffer holds entrance-specific attributes for features of type TYPE_ENTRANCE.boolean
canExitWhether the target can be entered through this entrance. Whether the target can be exited through this entrance.GeostoreEntranceProtoThis protocol buffer holds entrance-specific attributes for features of type TYPE_ENTRANCE.boolean
featureIdFeature ID of the related entrance. References should refer to TYPE_ENTRANCE or TYPE_COMPOUND features that are entrances or exits of the referencing feature.GeostoreEntranceReferenceProtoModels a relationship between a feature and its entrance or exit.GeostoreFeatureIdProto
bizbuilderReferenceReference to BizBuilder data for this establishment. The bizbuilder_reference field indicates that a feature is claimed in CBDB (with the canonical state in MapFacts). The bizbuilder_reference is different from the social_reference’s claimed_gaia_id because some BizBuilder clients will not have +Pages. All claimed businesses should have a bizbuilder_reference.GeostoreEstablishmentProtoThis protocol buffer holds establishment-specific attributes for features of type TYPE_ESTABLISHMENT.GeostoreBizBuilderReferenceProto
hoursRegular opening hours for the establishment (weekly schedule).GeostoreEstablishmentProtoThis protocol buffer holds establishment-specific attributes for features of type TYPE_ESTABLISHMENT.GeostoreTimeScheduleProto
openingHoursOpening hours for this establishment, including regular weekly hours and exceptional hours (e.g. on holidays). NOTE: in practice, only the exceptional hours are filled in this message. A schema migration for regular weekly hours was planned back in 2015 (see b/23105782) but was not completed and is (as of May 2018) not prioritized. Clients should continue getting regular opening hours from the `hours` field above. In openinghours.h there is a utility function `GetOpeningHoursFromFeature` that merges `EstablishmentProto.hours` into this proto.GeostoreEstablishmentProtoThis protocol buffer holds establishment-specific attributes for features of type TYPE_ESTABLISHMENT.GeostoreOpeningHoursProto
priceInfoPricing for products and services offered. Example: menus for restaurants.GeostoreEstablishmentProtoThis protocol buffer holds establishment-specific attributes for features of type TYPE_ESTABLISHMENT.GeostorePriceInfoProto
serviceAreaGeostoreEstablishmentProtoThis protocol buffer holds establishment-specific attributes for features of type TYPE_ESTABLISHMENT.GeostoreServiceAreaProto
telephoneTelephone number and related information.GeostoreEstablishmentProtoThis protocol buffer holds establishment-specific attributes for features of type TYPE_ESTABLISHMENT.list(GeostoreTelephoneProto)
type** DEPRECATED ** This is deprecated in favor of the top-level (in FeatureProto) set of GConcepts. The type of establishment — see comments above.GeostoreEstablishmentProtoThis protocol buffer holds establishment-specific attributes for features of type TYPE_ESTABLISHMENT.String
hoursThe weekly schedule to be applied for the dates that fall within the range. The schedule may contain hours only for days of the week that occur during the date range specified in the range field.GeostoreExceptionalHoursProtoAn ExceptionalHoursProto holds information about exceptional (non-regular) hours for a business, such as holiday hours.GeostoreBusinessHoursProto
metadataField-level metadata for this exception.GeostoreExceptionalHoursProtoAn ExceptionalHoursProto holds information about exceptional (non-regular) hours for a business, such as holiday hours.GeostoreFieldMetadataProto
rangeThe dates for which this exception applies, expressed as a half open interval. For example, an exception that applies for the entire month of December 2015 should have a range December 1, 2015 to January 1, 2016. Any regular hours that start on days in this range are ignored and replaced by the exceptional hours for that day. The TimeIntervalProto for the range must be a fully specified, non-empty, and non-inverted range of dates. Concretely, the requirements are: * the range must be a TYPE_RANGE interval * the interval may not be inverted * the endpoints of the interval must specify a year, month, and day * the day_type of each endpoint must be type DAY_OF_MONTH * the endpoints may not specify hour, minute, second, week, or week_type * the begin endpoint must predate the end endpointGeostoreExceptionalHoursProtoAn ExceptionalHoursProto holds information about exceptional (non-regular) hours for a business, such as holiday hours.GeostoreTimeIntervalProto
closeReasonStructured reason for the permanent closure (if any).GeostoreExistenceProtoString
closedIndicates whether the place is closed (permanently or temporarily), i.e., not operational in the present, but was in the past. WARNING: New code should prefer go/geo-schema-reference:operational-status.GeostoreExistenceProtoboolean
endAsOfDateThe earliest known date of this feature’s “end” (e.g. an establishment’s permanent closure), if the actual date is unknown; i.e. the best known upper bound of the day end_date would represent. end_as_of_date must be in local (civil) time and of PRECISION_DAY. WARNING: Not necessarily consistent yet with `closed` or the ClosureAttachmentProto. If you believe you need to use this field directly, please go/contact-geo-schema.GeostoreExistenceProtoGeostoreDateTimeProto
endDateGeostoreExistenceProtoGeostoreDateTimeProto
featureBirthTimestampSeconds** DEPRECATED ** This field is now deprecated (see b/22878252). Please use the Geo Schema GetFeatureBirthTimestamp() API to extract the birth timestamp of a feature. The timestamp in seconds since the UNIX epoch (January 1, 1970) when this feature becomes live in the Geo repository. This was the birth date of the place’s representation in Google whereas start_date is the birth date of the place’s operations in the physical world.GeostoreExistenceProtoString
removedIndicates whether the feature is marked as removed in the Geo repository. Removed features are still present in the Geo repository but are considered to be in an inactive state (not valid for lint purposes, not retrievable except explicitly by feature ID, etc.). NOTE: If you have access to a complete FeatureProto, do NOT read this bit directly to find out whether a feature is removed. Instead, rely on the IsFeatureRemoved() API, available in C++ (geostore/base/public/feature.h) and Java (geostore/base/Feature.java).GeostoreExistenceProtoboolean
removedReasonStructured reason why the feature is marked as removed. Relevant only when removed == true.GeostoreExistenceProtoString
startDate(Initial) start and (permanent) end dates of operations, such that start_date is the first day operational and end_date is the first day when operations have permanently ended. The only allowed precisions are PRECISION_DAY, PRECISION_MONTH, PRECISION_YEAR. DateTimeProto.seconds should have the lowest legal value for the desired date/time and precision. E.g. for PRECISION_MONTH, 2019-02-15 21:10:30 is not valid, it should be 2019-02-01 00:00:00 instead. NOTE: The start_date and end_date are stored in UTC but should be interpreted as being in the local timezone. So clients should convert the DateTimeProto to local (civil) time using UTC+0, and then treat the result as local to the feature.GeostoreExistenceProtoGeostoreDateTimeProto
fieldProvenanceGeostoreFeatureFieldMetadataProtoProvenance information for sub-fields of this feature – go/subfield-provenance.list(GeostoreFeatureFieldMetadataProtoFieldProvenance)
fieldPathRepresents all fields for which this SourceInfo is valid. NOTE: Field paths are rooted at FeatureProto level.GeostoreFeatureFieldMetadataProtoFieldProvenancelist(GeostoreStableFieldPathProto)
provenanceGeostoreFeatureFieldMetadataProtoFieldProvenanceGeostoreProvenanceProto
featureBirthTimestampUsThe timestamp (in microseconds since the UNIX epoch) when this feature first went live in the Geo repository. Note that this has no relation to the birth data of that geographical entity in the real world.GeostoreFeatureHistoryMetadataProtoMetadata related to the history of a given feature in the Geo repository.String
lastModificationTimestampUsThe timestamp (in microseconds since the UNIX epoch) of the last modification to the feature. Note this includes attachment modifications. The feature’s initial creation is also considered as a modification. This is useful for those that consume features via both listening to notifications and reading from repository snapshots. This timestamp can be used to decide whether a feature in the snapshot was already seen in a more recent state through the notifications.GeostoreFeatureHistoryMetadataProtoMetadata related to the history of a given feature in the Geo repository.String
removalTimestampUsThe timestamp (in microseconds since the UNIX epoch) of the deletion time of the feature. If the feature is currently removed, this field gets populated with the timestamp the feature first became removed after being live (or being removed from beginning). This field won’t be set if the feature is live.GeostoreFeatureHistoryMetadataProtoMetadata related to the history of a given feature in the Geo repository.String
duplicateOfIf the feature has been marked as a DUPLICATE of another feature, this is the feature ID of that other feature. Note that the other feature may itself be removed. This field is always set.GeostoreFeatureIdForwardingsProtoFeature ID forwardings. There are many different types of ID forwardings, some of which are attached to live features, others to removed features. This information is available in multiple forms (with different completeness guarantees): (1) in RPC responses to read requests to the live Geo repository; (2) on disk, as part of the metadata section of features found in the (inactive) features snapshots; (3) on disk, as part of a separate feature_id_forwardings side table.GeostoreFeatureIdProto
forwardedIdThe feature ID of the forwarded feature. This field is only set in case (3).GeostoreFeatureIdForwardingsProtoFeature ID forwardings. There are many different types of ID forwardings, some of which are attached to live features, others to removed features. This information is available in multiple forms (with different completeness guarantees): (1) in RPC responses to read requests to the live Geo repository; (2) on disk, as part of the metadata section of features found in the (inactive) features snapshots; (3) on disk, as part of a separate feature_id_forwardings side table.GeostoreFeatureIdProto
inactiveDuplicateIf other features have been marked as DUPLICATE of this feature, this is the set of all such feature IDs. All feature IDs in this set should be for removed (aka inactive) features. Note that in the context of historical read requests against MapFacts (when ReadRequest.version_selection.timestamp is set), this field won’t be set.GeostoreFeatureIdForwardingsProtoFeature ID forwardings. There are many different types of ID forwardings, some of which are attached to live features, others to removed features. This information is available in multiple forms (with different completeness guarantees): (1) in RPC responses to read requests to the live Geo repository; (2) on disk, as part of the metadata section of features found in the (inactive) features snapshots; (3) on disk, as part of a separate feature_id_forwardings side table.list(GeostoreFeatureIdProto)
replacedByDEPRECATED – Use feature.metadata.feature_replacement_info instead. This field was never populated.GeostoreFeatureIdForwardingsProtoFeature ID forwardings. There are many different types of ID forwardings, some of which are attached to live features, others to removed features. This information is available in multiple forms (with different completeness guarantees): (1) in RPC responses to read requests to the live Geo repository; (2) on disk, as part of the metadata section of features found in the (inactive) features snapshots; (3) on disk, as part of a separate feature_id_forwardings side table.GeostoreFeatureIdListProto
transitivelyDuplicateOfIf the feature has been transitively marked as a DUPLICATE of another feature (via a chain of size >= 1), this is the feature ID of that other feature which is the end of the chain. The field is always set even if the chain is of size 1. Note that the other feature may itself be removed. This field is only set in case (3).GeostoreFeatureIdForwardingsProtoFeature ID forwardings. There are many different types of ID forwardings, some of which are attached to live features, others to removed features. This information is available in multiple forms (with different completeness guarantees): (1) in RPC responses to read requests to the live Geo repository; (2) on disk, as part of the metadata section of features found in the (inactive) features snapshots; (3) on disk, as part of a separate feature_id_forwardings side table.GeostoreFeatureIdProto
idThe list of feature IDs. While the exact semantics of these IDs are usage-dependent, the list should never be empty or contain duplicates.GeostoreFeatureIdListProtoA simple list of feature IDs.list(GeostoreFeatureIdProto)
cellIdThe S2CellId corresponding to the approximate location of this feature as of when it was first created. This can be of variable accuracy, ranging from the exact centroid of the feature at creation, a very large S2 Cell, or even being completely randomized for locationless features. Cell ids have the nice property that they follow a space-filling curve over the surface of the earth. (See s2cellid.h for details.) WARNING: Clients should only use cell IDs to perform spatial locality optimizations. There is no strict guarantee that the cell ID of a feature is related to the current geometry of the feature in any way.GeostoreFeatureIdProtoA globally unique identifier associated with each feature. We use 128-bit identifiers so that we have lots of bits available to distinguish between features. The feature id currently consists of a 64-bit “cell id” that **sometimes** corresponds to the approximate centroid of the feature, plus a 64-bit fingerprint of other identifying information. See more on each respective field in its comments. Feature ids are first assigned when the data is created in MapFacts. After initial creation of the feature, they are immutable. This means that the only properties that you should rely on are that they are unique, and that cell_ids often – but not always – preserve spatial locality. The degree of locality varies as the feature undergoes geometry changes, and should not in general be considered a firm guarantee of the location of any particular feature. In fact, some locationless features have randomized cell IDs! Consumers of FeatureProtos from Mapfacts are guaranteed that fprints in the id field of features will be globally unique. Using the fprint allows consumers who don’t need the spatial benefit of cell ids to uniquely identify features in a 64-bit address space. This property is not guaranteed for other sources of FeatureProtos.String
fprintA 64-bit fingerprint used to identify features. Most clients should rely on MapFacts or OneRing to choose fingerprints. If creating new fprints, the strategy should be chosen so that the chance of collision is remote or non-existent, and the distribution should be reasonably uniform. For example, if the source data assigns unique ids to features, then a fingerprint of the provider name, version, and source id is sufficient.GeostoreFeatureIdProtoA globally unique identifier associated with each feature. We use 128-bit identifiers so that we have lots of bits available to distinguish between features. The feature id currently consists of a 64-bit “cell id” that **sometimes** corresponds to the approximate centroid of the feature, plus a 64-bit fingerprint of other identifying information. See more on each respective field in its comments. Feature ids are first assigned when the data is created in MapFacts. After initial creation of the feature, they are immutable. This means that the only properties that you should rely on are that they are unique, and that cell_ids often – but not always – preserve spatial locality. The degree of locality varies as the feature undergoes geometry changes, and should not in general be considered a firm guarantee of the location of any particular feature. In fact, some locationless features have randomized cell IDs! Consumers of FeatureProtos from Mapfacts are guaranteed that fprints in the id field of features will be globally unique. Using the fprint allows consumers who don’t need the spatial benefit of cell ids to uniquely identify features in a 64-bit address space. This property is not guaranteed for other sources of FeatureProtos.String
temporaryDataA place for clients to attach arbitrary data to a feature ID. Never set in MapFacts.GeostoreFeatureIdProtoA globally unique identifier associated with each feature. We use 128-bit identifiers so that we have lots of bits available to distinguish between features. The feature id currently consists of a 64-bit “cell id” that **sometimes** corresponds to the approximate centroid of the feature, plus a 64-bit fingerprint of other identifying information. See more on each respective field in its comments. Feature ids are first assigned when the data is created in MapFacts. After initial creation of the feature, they are immutable. This means that the only properties that you should rely on are that they are unique, and that cell_ids often – but not always – preserve spatial locality. The degree of locality varies as the feature undergoes geometry changes, and should not in general be considered a firm guarantee of the location of any particular feature. In fact, some locationless features have randomized cell IDs! Consumers of FeatureProtos from Mapfacts are guaranteed that fprints in the id field of features will be globally unique. Using the fprint allows consumers who don’t need the spatial benefit of cell ids to uniquely identify features in a 64-bit address space. This property is not guaranteed for other sources of FeatureProtos.Proto2BridgeMessageSet
bulkUpdatableThis field indicates whether the feature is subject to bulk updates. Caution must be exercised while editing such features since the changes made by the edits will be overwritten by the bulk update (if the feature is bulk updated). See go/mapfacts-abu for more information.GeostoreFeatureMetadataProtoGeneral metadata related to a given feature in the Geo repository.String
coreVersionTokencore_version_token is an opaque token representing the version of the core fields of the feature. This field is not updated when attachments are changed.GeostoreFeatureMetadataProtoGeneral metadata related to a given feature in the Geo repository.String
featureReplacementInfoMetadata for tracking when a feature is derived from or replaced by another feature or set of features.GeostoreFeatureMetadataProtoGeneral metadata related to a given feature in the Geo repository.GeostoreFeatureReplacementInfoProto
fieldMetadataMetadata about certain repeated fields and their subfields, for which field type is not granular enough.GeostoreFeatureMetadataProtoGeneral metadata related to a given feature in the Geo repository.GeostoreFeatureFieldMetadataProto
forwardingsFeature ID forwardings, if applicable.GeostoreFeatureMetadataProtoGeneral metadata related to a given feature in the Geo repository.GeostoreFeatureIdForwardingsProto
historyMetadata related to the history.GeostoreFeatureMetadataProtoGeneral metadata related to a given feature in the Geo repository.GeostoreFeatureHistoryMetadataProto
versionTokenversion_token is an opaque token representing the version of this feature. It can be used as a concurrency token when sending edits.GeostoreFeatureMetadataProtoGeneral metadata related to a given feature in the Geo repository.String
attachmentTypeIdRequired when field_type == ATTACHMENT.GeostoreFeaturePropertyIdProtoMessage to represent a “feature property” as an abstract construct. Most feature properties are mapped one to one with the EditProto field types. However in some cases the EditProto field type granularity is too coarse to support use-cases that rely on feature properties (such as per-value rights tracking). When that is the case, the feature property is augmented with a secondary field.String
attributeIdRequired when field_type == FEATURE_ATTRIBUTE.GeostoreFeaturePropertyIdProtoMessage to represent a “feature property” as an abstract construct. Most feature properties are mapped one to one with the EditProto field types. However in some cases the EditProto field type granularity is too coarse to support use-cases that rely on feature properties (such as per-value rights tracking). When that is the case, the feature property is augmented with a secondary field.String
fieldTypeGeostoreFeaturePropertyIdProtoMessage to represent a “feature property” as an abstract construct. Most feature properties are mapped one to one with the EditProto field types. However in some cases the EditProto field type granularity is too coarse to support use-cases that rely on feature properties (such as per-value rights tracking). When that is the case, the feature property is augmented with a secondary field.String
kgPropertyIdRequired when field_type == KNOWLEDGE_GRAPH_PROPERTY.GeostoreFeaturePropertyIdProtoMessage to represent a “feature property” as an abstract construct. Most feature properties are mapped one to one with the EditProto field types. However in some cases the EditProto field type granularity is too coarse to support use-cases that rely on feature properties (such as per-value rights tracking). When that is the case, the feature property is augmented with a secondary field.String
nameLanguageRESERVEDGeostoreFeaturePropertyIdProtoMessage to represent a “feature property” as an abstract construct. Most feature properties are mapped one to one with the EditProto field types. However in some cases the EditProto field type granularity is too coarse to support use-cases that rely on feature properties (such as per-value rights tracking). When that is the case, the feature property is augmented with a secondary field.String
geopoliticalGeometryGeopolitical (unsimplified) polygons for a feature for different geopolitical use cases.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreGeopoliticalGeometryProto
doodle** DEPRECATED **GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreDoodleProto
nameThe name(s) of this feature. A feature may have different names in different languages, colloquial or “vanity” names, etc.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreNameProto)
relatedTimezoneContains time zones known to be associated with a feature. Most features are associated with the single time zone that contains them. However, some larger features (countries, continents, etc.) are associated with all of the time zones they contain. Most features can have any number of related time zones, but TYPE_SEGMENT and TYPE_ESTABLISHMENT_POI features can have at most 1.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreTimezoneProto)
storefrontGeometryModelGeometry Store ID and materialized geometry for a POI feature’s storefront(s). IMPORTANT: Clients may not write to this field directly; see go/geometry-store-reading-and-writing#writing-to-geometry-store.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreGeometryStoreReferenceProto
centerThe conceptual center of the feature, used for routing. For cities, this would be the center of the downtown, or maybe the location of city hall. For states and countries it might be the capital city. Most feature types will not have a conceptual center – by default, routing will use the centroid of the feature’s geometry. If you need a feature center point consider using GetFeatureGeometryCenter() function from geostore/base/public/feature.h rather than reading from this field directly.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostorePointProto
displayDataData used to render this feature on a map.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreDisplayDataProto
detailed3dModelGeometry Store ID and materialized geometry representing the feature’s physical presence in the world. Like geometry_3d above, but with additional semantic or renderable details, e.g. labeled surfaces (“door”, “window”), material specifications, etc. IMPORTANT: Clients may not write to this field directly; see go/geometry-store-reading-and-writing#writing-to-geometry-store.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreGeometryStoreReferenceProto
buildingGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreBuildingProto
skiTrailGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreSkiTrailProto
elevationModelCaptures elevation data used on TYPE_DIGITAL_ELEVATION_MODEL features.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreElevationModelProto
syntheticGeometryWe prefer features that have geometry over those that do not. In some cases we synthesize geometry (e.g., polygons for postal codes). This flag is set to indicate features that have such synthetic geometry.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.boolean
polygonForDisplayProvide version of the geometry suitable for display. This has been subject to water removal and (possibly) moderate simplification.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostorePolygonProto
logicalBorderGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreLogicalBorderProto
polylineGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostorePolyLineProto)
laneMarkerGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreLaneMarkerProto
entranceGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreEntranceProto
geometryPrecisionMetersIf set, the feature’s actual location can be assumed to be somewhere within a circle of this radius, centered on the feature’s location. More information on this field at go/gpm-definition-update. NOTE: Only applicable to features with ‘point’ geometry. Please contact geo-schema-team@ if you have non-point use cases for which this field would be useful.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.float
accessPointOptional access point information. Access points hold detailed information about routing endpoints. For example, the main Google office is at “1600 Amphitheatre Parkway”. The feature representing that office has a polygon, a center, and an address with components for the street number, route, locality, etc. The access point information, on the other hand, identifies the specific segment, the latitude/longitude of the driveway, and so forth.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreAccessPointProto)
rankDetailsThe rank field is computed as a weighted sum of several signals. This field contains a protocol buffer whose fields give those signals and their weights. Clients should try very hard not to depend on these individual signals and use the single rank field instead. At some point in the future, this field will not be exposed anymore.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreRankDetailsProto
metadataMetadata about this particular feature. Metadata is managed internally by the Geo Data Infrastructure and in general should not be set by clients. Features that don’t ultimately come from the Geo repository (MapFacts) won’t have any metadata set.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreFeatureMetadataProto
kgPropertyProperties that apply to this feature whose schema is defined in the Knowledge Graph schema (see https://hume.google.com/graph/schema). Not all properties that exist in the KG schema can be asserted via this mechanism. The set of properties that are allowed to be set on a feature depends on the feature’s GConcepts (and feature type). For instance, only gcid:country features may have the /geo/type/country/president property (made up example, since that property doesn’t actually exist in the KG schema). GConcept hierarchy is taken into account for deciding the set of allowed properties. Additionally, the specific properties allowed are further constrained by the list specified at go/kg-property-allowlist. NOTE: not all types of properties are allowed to appear in the Geo Schema. For now, we limit ourselves to properties whose value type is TYPE_BOOL, TYPE_COMPOUND, TYPE_DATETIME, TYPE_FLOAT, TYPE_ID, TYPE_INT, TYPE_NESTED_STRUCT, TYPE_TEXT, or TYPE_URI. NOTE(b/35039936): We are in the process of changing how a KG property with multiple values is stored in this field. Currently, such a KG property is stored in a single instance of the kg_property field. However, we will be changing this so that each value will be stored in its own instance of kg_property. Any client that wants to read from this field should be prepared to read data represented in either format. See b/35039936 or the announcement at http://g/geo-schema-announce/7IXR3Fex8to/7yFyT5UoAwAJ for an example and more details. The mechanism to assert that a KG property has no value is via the property_value_status field below. freebase.PropertyValue.value_status is not allowed be set here for consistency reason.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(FreebasePropertyValue)
relatedFeatureGeographic or logical relationships to other features. Importers don’t need to fill a geographic relationship in – it is handled by related feature processing by a standalone pipeline. Adding “contained by” country relations is however encouraged (and required for TYPE_ROUTE features). WARNING: Updates to this field handled by standalone pipelines are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreRelationProto)
visualizationAreaGeometry Store ID and materialized geometry representing a bounding box of the feature’s geometry (or the building/grounds a POI occupies) for stylized rendering, UX experiences, etc. IMPORTANT: Clients may not write to this field directly; see go/geometry-store-reading-and-writing#writing-to-geometry-store.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreGeometryStoreReferenceProto
inferredGeometryGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreInferredGeometryProto
attachmentThe collection of attachments for this feature. Documentation: http://go/geo-attachmentsGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreAttachmentsAttachmentProto)
associatedEvChargingStationGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreFeatureIdProto)
localeGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreLocaleProto
skiLiftGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreSkiLiftProto
intersectionGroupGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreIntersectionGroupProto
polygonGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostorePolygonProto)
signGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreRoadSignProto
skiBoundaryGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreSkiBoundaryProto
relatedTerminalPointTerminal points associated with this feature. For instance, an airport terminal may have specifically designated pickup and drop-off points.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreFeatureIdProto)
sourceInfoA list of the data sources that were used to construct this feature, together with optional “raw data” in the provider’s format. Raw data should not be used by production clients but may be useful for exploring data that is not currently converted to a canonical form.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreSourceInfoProto)
restrictionGroupGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreRestrictionGroupProto
futureGeometryForSpecifies the feature that this feature’s geometry will replace. If this field is populated, the referenced feature must have a future_geometry reference back to this feature. This field is only allowed (and required) for TYPE_FUTURE_GEOMETRY features.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreFeatureIdProto
transitLineGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreTransitLineProto
segmentGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreSegmentProto
trackDefines the geometry of a feature as a sequence of 6D poses, including lat, lng, altitude, roll, pitch, and yaw. Only lat and lng are typically required. Each track has an index so that they can be viewed in a stable order.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreTrackProto)
businessChainData specific to business chain features, e.g., Canonical GConcepts.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreBusinessChainProto
geopoliticalGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreGeopoliticalProto
geometry3dGeometry Store ID and materialized geometry representing the feature’s physical shape in the world. IMPORTANT: Clients may not write to this field directly; see go/geometry-store-reading-and-writing#writing-to-geometry-store.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreGeometryStoreReferenceProto
pointDefines the geometry of the feature. The geometry may be specified as an arbitrary union of points, poses, polylines, tracks, and polygons. Points, poses, polylines, and tracks are assumed to represent regions of unspecified size or width rather than regions of zero area. Most features should have some sort of geometry. Geometry may be synthesized if none is available (e.g., polygons for postal codes). The synthetic_geometry flag should be set in that case. Point is currently enforced as a non-repeating field for all feature types, though it is defined as repeating in case future modeling requires multiple points. The number of allowed polylines, tracks, or polygons vary based on feature type. A feature can have at most one pose (it is an optional field).GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostorePointProto)
transitLineVariantRESERVEDGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreTransitLineVariantProto
interiorCoveringS2 interior covering that consists of cells completely enclosed within the feature’s geometry (for features with polygonal geometry).GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreCellCoveringProto
roadMonitorGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreRoadMonitorProto
bestLocaleDescribes the best-match locale for this feature.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreBestLocaleProto
childFeatures can define themselves as a collection of other features. For example, a route is a collection of road segments, and a feature for the “Great Lakes” could be defined as lakes Superior, Michigan, Huron, Erie, and Ontario. It is not recommended to design a multi level tree using the child field to build up a feature because it requires fetching many features to see the details of the feature. In practice this is used to model archipelago, route, transit (agencies, lines, trips, departures), and river features. The geometry of a feature is implicitly defined by its children, so if a feature has children then it should not have any points, polylines, or polygons. In general, this field should not be used to represent political or postal hierarchies. For example, a county would not list its cities as children, because the county is not defined in terms of its cities (it also contains unincorporated areas, etc.).GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreFeatureIdProto)
establishmentAlso allowed on TYPE_BUSINESS_CHAIN and TYPE_TRANSIT_AGENCY features, to model the feature’s phone number(s). Other fields within EstablishmentProto are not permitted on non-TYPE_ESTABLISHMENT features.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreEstablishmentProto
storefrontGeometryRepresents information about the store front geometry. Only TYPE_ESTABLISHMENT_POI should have this field set.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreAnchoredGeometryProto)
websiteThe official website of this feature. Stored as a repeated field to allow for multilingual official websites (see comments in url.proto).GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreUrlProto)
propertyValueStatusThe value status of properties on this feature. For example, this specifies whether the feature is known to have no name (this is the value status of the ‘FEATURE_NAME’ property). Only property IDs which have no specific value are allowed to have a value status. Note: not all field types will be supported, please contact geo schema team if you want to enable this field for a field type that is not currently supported.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostorePropertyValueStatusProto)
socialReferenceAll establishments must have a social reference. WARNING: Aside from creating new establishments, please do NOT introduce new uses; treat social references as if they were deprecated. For alternatives and more, see g3doc/company/teams/gdeng/geo-schema-reference/home/feature-types/establishments/social-reference.md.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreSocialReferenceProto
tollPathRepresents information about /geo/type/toll_path features.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreTollPathProto
routeAdditional details on the feature types below can be found in the individual protocol buffer definitions. These extensions capture data that is specific to a set of feature types and which makes no sense for other feature types.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreRouteProto
parkingDescribes parking details for the feature.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreParkingProto
knowledgeGraphReferenceRESERVEDGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreKnowledgeGraphReferenceProto
borderGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreBorderProto
tollClusterRepresents information about TYPE_TOLL_CLUSTER features.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreTollClusterProto
politicalGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostorePoliticalProto
transitStationGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreTransitStationProto
rawGconceptInstanceContainerGeo Ontology GConcept Instances – Design doc linked off http://go/geo-ontology – In order to shield clients from changes in GConcept representation we provide an accessor library: geostore/base/public/gconcept_instance.hGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreOntologyRawGConceptInstanceContainerProto
internalData for this feature that is less about the feature and more about other data in the feature. For example, it might be data about the rights we have to other data in this FeatureProto, or MapFacts-internal shape IDs for this feature’s polygons.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreInternalFeatureProto
threeDimModelCaptures full model representing the feature’s 3D geometry. Should only be found on TYPE_COMPOUND_BUILDING features for now, but not part of the BuildingProto extension for possible future extensions.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreThreeDimensionalModelProto
temporaryDataA place for clients to attach arbitrary data to a feature. Never set in MapFacts.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.Proto2BridgeMessageSet
originalIdThis field is used internally by the pipeline for id stability. It should not be set by individual importers, nor should it be read by consumer clients. In particular, this field will not be present in features read or snapshotted from the Mapfacts Repository.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreFeatureIdProto
relatedBorderFor TYPE_COUNTRY or TYPE_ADMINISTRATIVE_AREA1 features, this field defines the associated TYPE_BORDERs which reference this feature. The linked TYPE_BORDERs must have the feature.border set, pointing to this feature. TYPE_COUNTRY or TYPE_ADMINISTRATIVE_AREA1 features must have this field set for each TYPE_BORDER referencing them.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreFeatureIdProto)
preferredViewportThe preferred viewport for this feature. If present, this latitude-longitude rectangle holds the preferred viewport for the feature. For example, it might hold the bounds of the “central” portion of a large city. There are no aspect ratio requirements. This is an optional field: if no viewport is supplied, interested clients can use heuristics to determine a viewport. Calling the standard GetFeatureGeometryBound() function would be a good way to start but note that it can return an empty bounding box (e.g., if the feature has no geometry). The preferred viewport is not necessarily fully contained by the above bounding box.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreRectProto
futureGeometrySpecifies the TYPE_FUTURE_GEOMETRY whose geometry will replace this feature’s geometry. If this field is populated, the referenced future geometry must have a future_geometry_for referencing this feature.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreFeatureIdProto
intersectionGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreIntersectionProto
segmentPathGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreSegmentPathProto
exemptRegulatedAreaA list of feature ids of polygon based restrictions that do not apply to this feature. This may only include features of TYPE_REGULATED_AREA that also have a feature.regulated_area.restriction field defined. Setting this field opts the feature out of all restrictions set on that regulated area.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreFeatureIdProto)
disputedAreaRepresents information about disputed areas. Only TYPE_DISPUTED_AREA features should have the field set.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreDisputedAreaProto
levelRepresents information about TYPE_LEVEL features.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreLevelProto
operationsInformation about this feature’s operations, e.g. when this feature is temporarily closed. NOTE: for legacy reasons, some closure-specifc information (e.g. permanent closure reason) lives in ExistenceProto instead. In the future, such information should move here in OperationsProto.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreOperationsProto
waterRemovedPolygonA version of the geometry which has water removed but is not simplified (thus having equal or more vertices than polygon_for_display).GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostorePolygonProto
dataSourceGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreDataSourceProto
typeThe type of this feature — see comments above.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.String
poseDefines the geometry of a feature as a 6D pose, including lat, lng, altitude, roll, pitch, and yaw along the WGS-84 ellipsoid. Only the lat and lng are strictly required.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostorePoseProto
attribute** DEPRECATED ** A list of attributes that describe defined aspects of this feature. An attribute must be a concrete, high quality, and editable piece of information about a feature, and must be used on some general consumer facing Google property. The data types used for attributes must be primitive types or reusable in a generic manner.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreAttributeProto)
coveringS2 cell coverings for this feature. See util/geometry/s2cell_union.h for more information about S2 cells. Coverings are useful for quick containment or intersection tests. S2 covering that consists of cells that intersect with the feature.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreCellCoveringProto
schoolDistrictGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreSchoolDistrictProto
statusAll features can have “existence” information associated with them.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreExistenceProto
parentGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreFeatureIdProto)
addressAddress for this feature. A Geo Schema address is designed to model a mailing address, so only features that have mailing addresses in the real world may have addresses. Each feature should have only one address. If you want to describe the geographic location of a feature which does not have a mailing address with respect to other well-known features, some other schema constructs should be used. Note that the field is defined as repeated though features that use this field with its intended semantics are constrained to have a single address even if they may have multiple mailing addresses in the real world. The “single address” rule is enforced by lint. Current exceptions to the single address rule and mailing address rule are described in the g3doc. Bear note that the schema team is actively working on eliminating these exceptions. http://go/geo-addresses Note the following conventions: – Addresses follow the postal hierarchy, not the political hierarchy. Addresses may have components that refer to political entities when those entities also appear in the postal hierarchy. – As stated previously, but it bears repeating, addresses on features are mailing addresses. In many cases the physical address and the mailing address are the same but the address stored on a feature represents the mailing address of the feature. An example of a non-physical mailing address would be a PO Box. – These addresses are commonly defined and verifiable by a governmental authority (e.g. the United States Postal Service in the United States, Royal Mail in the United Kingdom, Correios in Brazil, etc.) and should follow conventions and rules defined by those authorities.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreAddressProto)
rankWARNING: Please do NOT introduce new uses of this field; treat it as if it were deprecated. For appropriate ranking contacts, see g3doc/company/teams/gdeng/geo-schema-reference/home/feature-properties/rank.md. A floating-point number between 0.0 and 1.0 indicating how “important” we think this feature is. This can be used to decide which features to render on maps, and how to rank results when the user does a search. The rank can depend on any number of factors such as the number of references to this feature in web pages, geographic size, population, number of referring geographic entities, “priority” information encoded in the source data, etc.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.number
idThe globally unique id for this feature.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreFeatureIdProto
anchoredGeometryRepresents information about the feature’s anchored geometry.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreAnchoredGeometryProto
htmlText** DEPRECATED ** Features can have zero or more HTML texts associated with them. These might be HTML balloons used by Google Earth, for example.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreHtmlTextProto)
regulatedAreaGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreRegulatedAreaProto
relatedEntranceLogical relationship to other features that are entrances or exits to this feature.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.list(GeostoreEntranceReferenceProto)
boundA latitude-longitude rectangle used by bucketing MapReduces. See the documentation on bucketing MapReduce for details. This field can be a source of confusion. Because it is called “bound”, it is often assumed that it is a tight bound on the geometry but it can be (and often is) much larger. If a tight bound is needed then use the standard GetFeatureGeometryBound() function instead. To be more explicit, if you are using this field for *anything* else than a bucketing MapReduce, you are doing the wrong thing. Not all features are required to have bounding boxes. See geostore::IsBoundRequiredForFeatureType() for the list of feature types required to have a bounding box. This bound field will be updated when a feature changes in MapFacts to include its geometry. Also, a GeoSchema pipeline, go/geo-schema-pipelines-docs#expand-bounds runs periodically to update the field for strong references from other features. Therefore, most editors don’t need to edit this field explicitly. See go/geo-changes:no-edit-for-feature-bound for the details.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreRectProto
elevationGeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreElevationProto
verticalOrderingRepresents vertical ordering for this feature relative to other geometrically-overlaping features. See go/aboutgrades for more information about distinction among different levels.GeostoreFeatureProtoEvery entry in the GeoStore database is called a “feature”. A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the “type” field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.GeostoreVerticalOrderingProto
derivedFromThis feature was created to replace other features that are referenced by this field.GeostoreFeatureReplacementInfoProtoMetadata to track feature derivations and replacements. This is used to track feature provenance (particularly for road segments).list(GeostoreFeatureIdProto)
replacedByThis feature was replaced by other features that are referenced by this this field.GeostoreFeatureReplacementInfoProtoMetadata to track feature derivations and replacements. This is used to track feature provenance (particularly for road segments).list(GeostoreFeatureIdProto)
internalGeostoreFieldMetadataProtoInternal field metadata. This part is not exposed to downstream consumers of the repository (read-only clients) but is available to upstream providers to the repository (read-write clients).GeostoreInternalFieldMetadataProto
attributeId**DEPRECATED** Never set.GeostoreFieldWithRightsProtoProto used to represent rights for a feature property id. See go/geo-rights for more details. NOTE: Use google3/geostore/provenance/public/rights.h or google3/java/com/google/geostore/provenance/rights/Rights.java instead of accessing this proto directly.String
featurePropertyIdThe feature property id for which this entry tracks rights.GeostoreFieldWithRightsProtoProto used to represent rights for a feature property id. See go/geo-rights for more details. NOTE: Use google3/geostore/provenance/public/rights.h or google3/java/com/google/geostore/provenance/rights/Rights.java instead of accessing this proto directly.GeostoreFeaturePropertyIdProto
fieldType**DEPRECATED** The field type for which this entry tracks rights. There may be multiple entries for the same field type – prefer feature_property_id to uniquely identify a particular entry.GeostoreFieldWithRightsProtoProto used to represent rights for a feature property id. See go/geo-rights for more details. NOTE: Use google3/geostore/provenance/public/rights.h or google3/java/com/google/geostore/provenance/rights/Rights.java instead of accessing this proto directly.integer
minRightsLevelThe minimum rights level among all current values for this feature property id.GeostoreFieldWithRightsProtoProto used to represent rights for a feature property id. See go/geo-rights for more details. NOTE: Use google3/geostore/provenance/public/rights.h or google3/java/com/google/geostore/provenance/rights/Rights.java instead of accessing this proto directly.String
curvatureRESERVEDGeostoreFlowLineProtoWrapper to hold data related to a lane’s track, extendable for future data.GeostoreCurvatureProto
trackGeostoreFlowLineProtoWrapper to hold data related to a lane’s track, extendable for future data.GeostoreTrackProto
allergenAbsentGeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.list(String)
allergenPresentGeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.list(String)
caloriesGeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.integer
ingredientsIngredients of the food dish option.GeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.list(GeostoreFoodMenuItemOptionProtoIngredient)
mediaPhotos of the food dish option.GeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.list(GeostoreMediaItemProto)
nameInfoThe repeated name_info field here is for item options with names or descriptions listed in multiple languages. When an item option has no names or descriptions, the size of the repeated field name_info may be 0. For example, when a food menu item does not have multiple options, the item option proto is used only to specify price and nutritional information, so it will not have a name_info field. There should be at most one name_info for any given language.GeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.list(GeostorePriceListNameInfoProto)
nutritionFactsNutrition facts of the food dish option. Note that it also includes calories information with a finer defined unit information.GeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.GeostorePriceInfoFoodNutritionFacts
portionSizeSize of the order, represented in units of items. (e.g. 4 “skewers”, 6 “pieces”)GeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.GeostoreFoodMenuItemOptionProtoPortionSize
preparationMethodsMethods on how the food dish option is prepared.GeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.list(String)
priceWe use PriceRangeProto here but we expect the lower_price and upper_price to be both set to equal numbers because an option should have a single price. This field is not required because food item prices may be variable depending on season.GeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.GeostorePriceRangeProto
restrictionGeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.list(String)
servesNumPeopleNumber of people can be served by this food dish option.GeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.integer
spicinessGeostoreFoodMenuItemOptionProtoExample: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.String
nameInfoThe repeated name_info field is for the ingredient in multiple languages.GeostoreFoodMenuItemOptionProtoIngredientThis message denotes an ingredient information of a food dish.list(GeostorePriceListNameInfoProto)
quantityRequired.GeostoreFoodMenuItemOptionProtoPortionSizeThis message denotes the serving portion size of a food dish.integer
unitRequired. The repeated name_info field is for the unit in multiple languages.GeostoreFoodMenuItemOptionProtoPortionSizeThis message denotes the serving portion size of a food dish.list(GeostorePriceListNameInfoProto)
itemOptionGeostoreFoodMenuItemProtoA food menu item must have a name although it can have multiple names in different languages. Example: Thai Basil. Price for this item is specified in the item_option field. Since the price of an item may be unknown, e.g. seasonal price, there is nothing that requires an item_option to be present in the FoodMenuItemProto.list(GeostoreFoodMenuItemOptionProto)
nameInfoThe repeated name_info field is for items listed in multiple languages.GeostoreFoodMenuItemProtoA food menu item must have a name although it can have multiple names in different languages. Example: Thai Basil. Price for this item is specified in the item_option field. Since the price of an item may be unknown, e.g. seasonal price, there is nothing that requires an item_option to be present in the FoodMenuItemProto.list(GeostorePriceListNameInfoProto)
gconceptIdThe unique identifier of a GConcept (e.g. “gcid:railway”).GeostoreGConceptInstanceProtoA GConceptInstanceProto contains a GConceptID (which is the unique identifier of a GConcept, a category in the Geo Ontology).String
metadataField-level metadata for this GConcept.GeostoreGConceptInstanceProtoA GConceptInstanceProto contains a GConceptID (which is the unique identifier of a GConcept, a category in the Geo Ontology).GeostoreFieldMetadataProto
prominenceThe relative prominence of this category to this feature according to the data provider, as one of the values from the enum above. Prominence is a measure of how well the given GConcept describes the feature. An example is a gas station with convenience store and ATM. All three GConcepts are very relevant, but the gas_station GConcept is the most prominent. If the prominence of this GConcept is unknown, this field should not be set.GeostoreGConceptInstanceProtoA GConceptInstanceProto contains a GConceptID (which is the unique identifier of a GConcept, a category in the Geo Ontology).String
excludesGeometryOfFeatures whose geometry to exclude while composing the geometry of this feature.GeostoreGeometryCompositionEncapsulates all the features which, together, define the geometry of a feature. This happens by: 1. taking the union of all polygons of features referenced in includes_geometry_of 2. subtracting the polygons of all the features referenced in excludes_geometry_oflist(GeostoreFeatureIdProto)
includesGeometryOfFeatures whose geometry to include while composing the geometry of this feature.GeostoreGeometryCompositionEncapsulates all the features which, together, define the geometry of a feature. This happens by: 1. taking the union of all polygons of features referenced in includes_geometry_of 2. subtracting the polygons of all the features referenced in excludes_geometry_oflist(GeostoreFeatureIdProto)
footprintGeometry (in STGeography format) materialized from the footprint field of the Geometry Store record associated with the geometry_id referenced above.GeostoreGeometryStoreReferenceProtoA Geometry Store ID and, in some contexts, geometry materialized from the record associated with that ID.String
geometryGeometry materialized from the full_fidelity_proto field of the Geometry Store record associated with the geometry_id referenced above.GeostoreGeometryStoreReferenceProtoA Geometry Store ID and, in some contexts, geometry materialized from the record associated with that ID.GeostoreCityJsonProto
geometryIdThe ID of a record in the Geometry Store.GeostoreGeometryStoreReferenceProtoA Geometry Store ID and, in some contexts, geometry materialized from the record associated with that ID.String
restOfWorldPolygonThe unsimplified, water-subtracted polygon representing the feature’s geometry as viewed by the rest of the world, which may differ from its default polygon, for example by excluding certain regions.GeostoreGeopoliticalGeometryProtoGeopolitical (unsimplified) polygons for a feature for different geopolitical use cases. See go/unsimplified-poly.GeostorePolygonProto
selfPolygonThe unsimplified, water-subtracted polygon representing the feature’s geometry as viewed by the country that administers it, which may differ from its default polygon, for example by including disputed areas.GeostoreGeopoliticalGeometryProtoGeopolitical (unsimplified) polygons for a feature for different geopolitical use cases. See go/unsimplified-poly.GeostorePolygonProto
conveysAttributionToIf present, some aspect of this feature (usually name or geometry) can signify ownership of the area by the region specified. The string, if present, will be a region code. E.g., suppose a TYPE_POSTAL_CODE feature has a Russian format in Crimea (which is disputed by Ukraine), then this field would be set to “RU”.GeostoreGeopoliticalProtoThis protocol buffer is used to store geopolitical information about the feature that override the base state of the feature. For example, the name of the feature from different regions’ POV. This protocol buffer can be used on any feature involved in a geopolitical situation and is not limited to TYPE_POLITICAL features.String
regionSpecificNameAny specific handling of this feature’s name from different regions’ POVs. This field can only contain up to one name per region/language combination (each of which would be a separate RegionSpecificNameProto).GeostoreGeopoliticalProtoThis protocol buffer is used to store geopolitical information about the feature that override the base state of the feature. For example, the name of the feature from different regions’ POV. This protocol buffer can be used on any feature involved in a geopolitical situation and is not limited to TYPE_POLITICAL features.list(GeostoreRegionSpecificNameProto)
regionalPolygonAdjustmentAdjustments to the base polygon of this feature to construct a region-specific view. In general, this field is edited only by go/mf-triggers based on the data written to regional_polygon_composing_claims. This field should only be directly edited if there are region-specific adjustments that cannot be represented using the geometry of this feature’s claims, but note that anything written to this field will be overwritten by go/mf-triggers if regional_polygon_composing_claims is ever edited. See go/geopolitical-geometry-schema for more information.GeostoreGeopoliticalProtoThis protocol buffer is used to store geopolitical information about the feature that override the base state of the feature. For example, the name of the feature from different regions’ POV. This protocol buffer can be used on any feature involved in a geopolitical situation and is not limited to TYPE_POLITICAL features.list(GeostoreGeopoliticalProtoRegionalPolygonAdjustmentProto)
regionalPolygonComposingClaimsFeature’s claim(s) which compose the region-specific polygon. This composition will be used by go/mf-triggers to compose the specified region’s view of this feature’s geometry. The difference between that polygon and this feature’s base polygon will be stored in regional_polygon_adjustment below. Edits to this field will overwrite anything already stored in regional_polygon_adjustment. See go/geopolitical-geometry-schema for more information.GeostoreGeopoliticalProtoThis protocol buffer is used to store geopolitical information about the feature that override the base state of the feature. For example, the name of the feature from different regions’ POV. This protocol buffer can be used on any feature involved in a geopolitical situation and is not limited to TYPE_POLITICAL features.list(GeostoreGeopoliticalProtoRegionalPolygonComposingClaimsProto)
polygonToAddPolygon to add to the feature’s base polygon to get the view for the given region. Applied after polygon_to_subtract, such that any region contained in both polygons WILL be part of the final result.GeostoreGeopoliticalProtoRegionalPolygonAdjustmentProtoRaw polygon adjustments to apply to this feature’s base polygon to construct a specific region’s view of this feature’s polygon.GeostorePolygonProto
polygonToSubtractPolygon to subtract from the feature’s base polygon to get the view for the given region.GeostoreGeopoliticalProtoRegionalPolygonAdjustmentProtoRaw polygon adjustments to apply to this feature’s base polygon to construct a specific region’s view of this feature’s polygon.GeostorePolygonProto
regionCodeRegion code (or other identifier) for the region.GeostoreGeopoliticalProtoRegionalPolygonAdjustmentProtoRaw polygon adjustments to apply to this feature’s base polygon to construct a specific region’s view of this feature’s polygon.String
regionCodeRegion code (or other identifier) for the region.GeostoreGeopoliticalProtoRegionalPolygonComposingClaimsProtoThe polygon composition recipe for a specific region’s view of this feature’s geometry, based on disputed area claims asserted by this country. Note that the included / excluded claims listed for a given region’s view of this feature may not match up exactly with which claims the region recognizes / does not recognize for this feature. Claims may only be included or excluded for regions that themselves are a party to the dispute, i.e. a region’s view of itself will include its own claims, and a region’s view of another feature will exclude its own claims. See current Geopolitical policy at go/geopolitical-policy-primer.String
regionExcludedClaimsTYPE_DISPUTED_AREAs claimed by this feature excluded from this region’s view of the feature’s geometry. (The TDAs must have polygonal geometry and be referenced in this feature’s political.claim field.) The polygons of these claims will be subtracted to this feature’s base polygon when this feature is viewed from the specified region.GeostoreGeopoliticalProtoRegionalPolygonComposingClaimsProtoThe polygon composition recipe for a specific region’s view of this feature’s geometry, based on disputed area claims asserted by this country. Note that the included / excluded claims listed for a given region’s view of this feature may not match up exactly with which claims the region recognizes / does not recognize for this feature. Claims may only be included or excluded for regions that themselves are a party to the dispute, i.e. a region’s view of itself will include its own claims, and a region’s view of another feature will exclude its own claims. See current Geopolitical policy at go/geopolitical-policy-primer.list(GeostoreFeatureIdProto)
regionIncludedClaimsTYPE_DISPUTED_AREAs claimed by this feature and included in this region’s view of the feature’s geometry. (The TDAs must have polygonal geometry and be referenced in this feature’s political.claim field.) The polygons of these claims will be added to this feature’s base polygon when this feature is viewed from the specified region.GeostoreGeopoliticalProtoRegionalPolygonComposingClaimsProtoThe polygon composition recipe for a specific region’s view of this feature’s geometry, based on disputed area claims asserted by this country. Note that the included / excluded claims listed for a given region’s view of this feature may not match up exactly with which claims the region recognizes / does not recognize for this feature. Claims may only be included or excluded for regions that themselves are a party to the dispute, i.e. a region’s view of itself will include its own claims, and a region’s view of another feature will exclude its own claims. See current Geopolitical policy at go/geopolitical-policy-primer.list(GeostoreFeatureIdProto)
indexThe index of the point along the segment, where 0 is the starting point. This means that the index of a point along a segment and its sibling will be different.GeostoreGradeLevelProtoThe grade level of a segment represents the relative altitude of the segment at a particular point along the segment. This level is in relation to other segments at the same point. For example, you might have a freeway at level = 0 and an overpass at level = 2. Vertical segments are represented by a polyline containing only 1 vertex and exactly two grade_level in segment.proto whose indices are 0. grade_level(0) represents the relative height at the start point of the segments, and grade_level(1) represents the one at the end point.integer
levelThe grade level of the indexed point. The grade level can be thought of as a relative vertical ordering with respect to other segments at the same point, where larger/more positive numbers are “higher”. Negative grade level values are allowed and are typically used for points below grade level (0 is a common choice to represent the level of points at the ground level). For vertical segments, the height, i.e. the vertical length, is represented by difference of levels in millimeters. For example, feature.segment().grade_level(0).level() == 0 and feature.segment().grade_level(1).level() == 5000, then the length of the vertical segment feature is 5000 millimeters (5 meters).GeostoreGradeLevelProtoThe grade level of a segment represents the relative altitude of the segment at a particular point along the segment. This level is in relation to other segments at the same point. For example, you might have a freeway at level = 0 and an overpass at level = 2. Vertical segments are represented by a polyline containing only 1 vertex and exactly two grade_level in segment.proto whose indices are 0. grade_level(0) represents the relative height at the start point of the segments, and grade_level(1) represents the one at the end point.integer
textZero or more texts of the specified type, in various languages. If this is a HTML_DESCRIPTION blob then these texts would hold the description in English, German, and so forth. The text is an HTML fragment, not a full page. The fragment should be suitable for including in a DIV. It must have balanced HTML tags. It may use HTML’s “class” attributes to assign classes to HTML elements. This allows the HTML to be formatted by an (external) style sheet. The HTML should not have embedded style sheet definitions, nor should it have embedded JavaScript.GeostoreHtmlTextProtoRepresents HTML text associated with a feature.list(GeostoreLanguageTaggedTextProto)
typeGeostoreHtmlTextProtoRepresents HTML text associated with a feature.String
definesGeometryForFeatures whose geometry depends on this feature’s geometry.GeostoreInferredGeometryProtoInferred geometry defines the geometry of a feature as the union or exclusion of the geometry of other features. For instance, the geometry of a timezone can be specified as the union of all the countries it applies to. In this scenario, the timezone will can be considered a “composite feature”, while the countries are its “composing features”. A composite feature must have a bidirectional reference between itself and all its composing features. A composite feature refers to its composing features via `geometry_composition`, while the composing features must refer back to the composing feature via `defines_geometry_for`. See: go/inferred-geometry and go/geo-schema:composite-geometry-editor for more details.list(GeostoreFeatureIdProto)
geometryCompositionFeatures whose geometry defines the geometry of this feature (i.e. “composing features”).GeostoreInferredGeometryProtoInferred geometry defines the geometry of a feature as the union or exclusion of the geometry of other features. For instance, the geometry of a timezone can be specified as the union of all the countries it applies to. In this scenario, the timezone will can be considered a “composite feature”, while the countries are its “composing features”. A composite feature must have a bidirectional reference between itself and all its composing features. A composite feature refers to its composing features via `geometry_composition`, while the composing features must refer back to the composing feature via `defines_geometry_for`. See: go/inferred-geometry and go/geo-schema:composite-geometry-editor for more details.GeostoreGeometryComposition
polygonShapeIdA unique identifier for this feature’s polygon data which is being held externally in Shapestore (see go/shapestore).GeostoreInternalFeatureProtoInternalFeatureProto represents fields for data that are more about other data within the FeatureProto than about the feature itself. This could be data that’s set by editors directly(ish) (e.g. trust or rights data), or data set internally by MapFacts based on other data (e.g. polygon shape IDs).String
restOfWorldPolygonShapeIdA unique identifier for this feature’s rest-of-world view polygon data which is being held externally in Shapestore (see go/shapestore). This is part of the feature’s geopolitical geometry.GeostoreInternalFeatureProtoInternalFeatureProto represents fields for data that are more about other data within the FeatureProto than about the feature itself. This could be data that’s set by editors directly(ish) (e.g. trust or rights data), or data set internally by MapFacts based on other data (e.g. polygon shape IDs).String
rightsStatusPer-field rights for this feature. See http://g3doc/geostore/g3doc/developers-guide/inputs/rights-tracking for more information.GeostoreInternalFeatureProtoInternalFeatureProto represents fields for data that are more about other data within the FeatureProto than about the feature itself. This could be data that’s set by editors directly(ish) (e.g. trust or rights data), or data set internally by MapFacts based on other data (e.g. polygon shape IDs).GeostoreRightsStatusProto
selfPolygonShapeIdA unique identifier for this feature’s self view polygon data which is being held externally in Shapestore (see go/shapestore). This is part of the feature’s geopolitical geometry.GeostoreInternalFeatureProtoInternalFeatureProto represents fields for data that are more about other data within the FeatureProto than about the feature itself. This could be data that’s set by editors directly(ish) (e.g. trust or rights data), or data set internally by MapFacts based on other data (e.g. polygon shape IDs).String
trustTrust signals/annotations for the feature. In an input feature, these signals are computed at the beginning of the pipeline and are immutable during the processing. In output features, this proto may define the rules/criteria that a newer edit should meet, in order to be applied.GeostoreInternalFeatureProtoInternalFeatureProto represents fields for data that are more about other data within the FeatureProto than about the feature itself. This could be data that’s set by editors directly(ish) (e.g. trust or rights data), or data set internally by MapFacts based on other data (e.g. polygon shape IDs).GeostoreTrustSignalsProto
waterRemovedPolygonShapeIdA unique identifier for this feature’s water-removed polygon data which is being held externally in Shapestore (see go/shapestore).GeostoreInternalFeatureProtoInternalFeatureProto represents fields for data that are more about other data within the FeatureProto than about the feature itself. This could be data that’s set by editors directly(ish) (e.g. trust or rights data), or data set internally by MapFacts based on other data (e.g. polygon shape IDs).String
isAutoWhether or not the piece of data has been generated automatically (i.e., by a bot/automated process based on heuristics/algorithms rather than coming as a fact set by some human user or data provider based on their knowledge). Note that this does NOT imply that the value was set as a result of a bot operation on the repository, since it is conceivable to use a bot/automated process simply as a way of convenience to ingest large amount of canonical/ground truth data.GeostoreInternalFieldMetadataProtoboolean
sourceSummaryInformation about the source providing the piece of data this metadata is attached to.GeostoreInternalFieldMetadataProtoGeostoreInternalSourceSummaryProto
disallowedConnectionsA list of lane connections that are explicitly not allowed to be added. NOTE: This should never reference existing lane connections on this segment.GeostoreInternalSegmentProtoInternal-only proto used to express additional information about segments. This is intended for communicating extra information between editing clients and the repository, and should not be used by or visible to clients. WARNING – if you add new fields to InternalSegmentProto, make sure that geostore/tools/internal/mr-mergesegments_test.cc is aware of them.list(GeostoreInternalSegmentProtoLaneConnectionReference)
disallowedPrimaryConnectionA list of lane connections which cannot have the primary_connection bit set.GeostoreInternalSegmentProtoInternal-only proto used to express additional information about segments. This is intended for communicating extra information between editing clients and the repository, and should not be used by or visible to clients. WARNING – if you add new fields to InternalSegmentProto, make sure that geostore/tools/internal/mr-mergesegments_test.cc is aware of them.list(GeostoreInternalSegmentProtoLaneConnectionReference)
travelAllowanceThe set of restrictions that apply to this segment; these are actually *POSITIVE* restrictions, i.e. they are known to be allowed.GeostoreInternalSegmentProtoInternal-only proto used to express additional information about segments. This is intended for communicating extra information between editing clients and the repository, and should not be used by or visible to clients. WARNING – if you add new fields to InternalSegmentProto, make sure that geostore/tools/internal/mr-mergesegments_test.cc is aware of them.list(GeostoreRestrictionProto)
fromLaneNumberThe lane number on this segment.GeostoreInternalSegmentProtoLaneConnectionReferenceSpecifies a single outgoing lane connection.integer
segmentThis reference to the other segment is weak, since strong would blow up bounds of all segments.GeostoreInternalSegmentProtoLaneConnectionReferenceSpecifies a single outgoing lane connection.GeostoreFeatureIdProto
toLaneNumberThis is the lane number on the target segment.GeostoreInternalSegmentProtoLaneConnectionReferenceSpecifies a single outgoing lane connection.integer
datasetWithin the above provider, the dataset from which this piece of data was generated. For fields that are auto-generated the “dataset” is likely to be some algorithm’s or program’s name. Similar to SourceInfoProto.dataset but with the difference that it is required to always be set. Providers that don’t have a concept of dataset may use “default”.GeostoreInternalSourceSummaryProtoString
providerThe data provider from which this piece of data was generated. Equivalent to SourceInfoProto.provider in the public schema.GeostoreInternalSourceSummaryProtoString
childGroupAll artifact intersection groups that are in this logical group.GeostoreIntersectionGroupProtoOur TYPE_INTERSECTION features model the point where one or more segments terminate. This is topological definition: it may not match what a typical user would think of as an “intersection”. Consider the intersections where Hayes, Market, Larkin, and 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people would probably consider this a single feature, even though we model it as four separate TYPE_INTERSECTION features. The TYPE_INTERSECTION_GROUP is used to model the user’s concept of a real-world intersection, which also includes turn lanes or a whole roundabout (a logical intersection). For the purposes of modeling turn restrictions and lane connections, a smaller grouping is needed to model the “core” part of the intersection where there are no lane markings. This is called a core or artifact group. An intersection group must contain at least two intersections or add some information (e.g. a name or a polygon) compared to the intersection itself, or else must not exist. The standard feature properties are interpreted as follows: name – Can be used to specify any “special” names associated with this intersection (e.g. Reads Corner intersection, PEI, Canada). Intersections that are named according to their cross streets do not need to specify this field, since this can be determined by looking at the routes associated with each segment. address – This should always be empty. point – Specifies the center of the intersection. This is basically the point where the intersection name should be rendered. Can be omitted in favor of a polygon. polyline – This should always be empty. polygon – Specifies the two-dimensional extent of the intersection. This may substitute to the point field, though having a center set is desirable in this case. child – This should always be empty.list(GeostoreFeatureIdProto)
groupTypeGeostoreIntersectionGroupProtoOur TYPE_INTERSECTION features model the point where one or more segments terminate. This is topological definition: it may not match what a typical user would think of as an “intersection”. Consider the intersections where Hayes, Market, Larkin, and 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people would probably consider this a single feature, even though we model it as four separate TYPE_INTERSECTION features. The TYPE_INTERSECTION_GROUP is used to model the user’s concept of a real-world intersection, which also includes turn lanes or a whole roundabout (a logical intersection). For the purposes of modeling turn restrictions and lane connections, a smaller grouping is needed to model the “core” part of the intersection where there are no lane markings. This is called a core or artifact group. An intersection group must contain at least two intersections or add some information (e.g. a name or a polygon) compared to the intersection itself, or else must not exist. The standard feature properties are interpreted as follows: name – Can be used to specify any “special” names associated with this intersection (e.g. Reads Corner intersection, PEI, Canada). Intersections that are named according to their cross streets do not need to specify this field, since this can be determined by looking at the routes associated with each segment. address – This should always be empty. point – Specifies the center of the intersection. This is basically the point where the intersection name should be rendered. Can be omitted in favor of a polygon. polyline – This should always be empty. polygon – Specifies the two-dimensional extent of the intersection. This may substitute to the point field, though having a center set is desirable in this case. child – This should always be empty.String
intersectionThe list of TYPE_INTERSECTION features that form this intersection group, but are NOT in any of this group’s child groups. This could be an empty list, though that is sub-optimal. Even an empty list would allow the paint team to draw a label for a named intersection, but a non-empty list would, for example, enable PathFinder to generate better directions. Each of the TYPE_INTERSECTION feature referred here must refer back to this feature in its IntersectionProto.GeostoreIntersectionGroupProtoOur TYPE_INTERSECTION features model the point where one or more segments terminate. This is topological definition: it may not match what a typical user would think of as an “intersection”. Consider the intersections where Hayes, Market, Larkin, and 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people would probably consider this a single feature, even though we model it as four separate TYPE_INTERSECTION features. The TYPE_INTERSECTION_GROUP is used to model the user’s concept of a real-world intersection, which also includes turn lanes or a whole roundabout (a logical intersection). For the purposes of modeling turn restrictions and lane connections, a smaller grouping is needed to model the “core” part of the intersection where there are no lane markings. This is called a core or artifact group. An intersection group must contain at least two intersections or add some information (e.g. a name or a polygon) compared to the intersection itself, or else must not exist. The standard feature properties are interpreted as follows: name – Can be used to specify any “special” names associated with this intersection (e.g. Reads Corner intersection, PEI, Canada). Intersections that are named according to their cross streets do not need to specify this field, since this can be determined by looking at the routes associated with each segment. address – This should always be empty. point – Specifies the center of the intersection. This is basically the point where the intersection name should be rendered. Can be omitted in favor of a polygon. polyline – This should always be empty. polygon – Specifies the two-dimensional extent of the intersection. This may substitute to the point field, though having a center set is desirable in this case. child – This should always be empty.list(GeostoreFeatureIdProto)
parentGroupParent logical intersection group. An artifact group that does not have an associated parent logical group is assumed to be both an artifact and logical group.GeostoreIntersectionGroupProtoOur TYPE_INTERSECTION features model the point where one or more segments terminate. This is topological definition: it may not match what a typical user would think of as an “intersection”. Consider the intersections where Hayes, Market, Larkin, and 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people would probably consider this a single feature, even though we model it as four separate TYPE_INTERSECTION features. The TYPE_INTERSECTION_GROUP is used to model the user’s concept of a real-world intersection, which also includes turn lanes or a whole roundabout (a logical intersection). For the purposes of modeling turn restrictions and lane connections, a smaller grouping is needed to model the “core” part of the intersection where there are no lane markings. This is called a core or artifact group. An intersection group must contain at least two intersections or add some information (e.g. a name or a polygon) compared to the intersection itself, or else must not exist. The standard feature properties are interpreted as follows: name – Can be used to specify any “special” names associated with this intersection (e.g. Reads Corner intersection, PEI, Canada). Intersections that are named according to their cross streets do not need to specify this field, since this can be determined by looking at the routes associated with each segment. address – This should always be empty. point – Specifies the center of the intersection. This is basically the point where the intersection name should be rendered. Can be omitted in favor of a polygon. polyline – This should always be empty. polygon – Specifies the two-dimensional extent of the intersection. This may substitute to the point field, though having a center set is desirable in this case. child – This should always be empty.GeostoreFeatureIdProto
intersectionGroupThe artifact or logical intersection group to which this intersection belongs. If present, the intersection group must also refer back to the intersection. If an intersection is within both the artifact and logical group, then this reference should be to the artifact group.GeostoreIntersectionProtoA TYPE_INTERSECTION feature represents a common endpoint of one or more segments in a transportation network at which the segments are connected. An intersection in the real world may be more complicated than that (e.g., comprise multiple segment endpoints or have extra attributes), which can be modeled with an additional TYPE_INTERSECTION_GROUP feature, if needed (see intersectiongroup.proto). The standard feature properties are interpreted as follows: name – This should always be empty. Intersections that have a “special” name (e.g. Reads Corner intersection, PEI, Canada) should point to a separate TYPE_INTERSECTION_GROUP feature that captures it. Intersections which are named according to their cross streets do not need this requirement, since their name can be determined by looking at the routes associated with each segment. address – This should always be empty. point – Specifies the center of the intersection. This should be the last vertex of all the segments which terminate at this intersection. polyline – This should always be empty. polygon – This should always be empty. child – This should always be empty.GeostoreFeatureIdProto
outSegmentRESERVEDGeostoreIntersectionProtoA TYPE_INTERSECTION feature represents a common endpoint of one or more segments in a transportation network at which the segments are connected. An intersection in the real world may be more complicated than that (e.g., comprise multiple segment endpoints or have extra attributes), which can be modeled with an additional TYPE_INTERSECTION_GROUP feature, if needed (see intersectiongroup.proto). The standard feature properties are interpreted as follows: name – This should always be empty. Intersections that have a “special” name (e.g. Reads Corner intersection, PEI, Canada) should point to a separate TYPE_INTERSECTION_GROUP feature that captures it. Intersections which are named according to their cross streets do not need this requirement, since their name can be determined by looking at the routes associated with each segment. address – This should always be empty. point – Specifies the center of the intersection. This should be the last vertex of all the segments which terminate at this intersection. polyline – This should always be empty. polygon – This should always be empty. child – This should always be empty.list(GeostoreFeatureIdProto)
segmentThe list of segments that terminate at this intersection, in any order. Note that all segments are directed towards the intersection, i.e. their endpoints indicate what sort of intersection this is. This should not be empty because an intersection with no associated segment is meaningless.GeostoreIntersectionProtoA TYPE_INTERSECTION feature represents a common endpoint of one or more segments in a transportation network at which the segments are connected. An intersection in the real world may be more complicated than that (e.g., comprise multiple segment endpoints or have extra attributes), which can be modeled with an additional TYPE_INTERSECTION_GROUP feature, if needed (see intersectiongroup.proto). The standard feature properties are interpreted as follows: name – This should always be empty. Intersections that have a “special” name (e.g. Reads Corner intersection, PEI, Canada) should point to a separate TYPE_INTERSECTION_GROUP feature that captures it. Intersections which are named according to their cross streets do not need this requirement, since their name can be determined by looking at the routes associated with each segment. address – This should always be empty. point – Specifies the center of the intersection. This should be the last vertex of all the segments which terminate at this intersection. polyline – This should always be empty. polygon – This should always be empty. child – This should always be empty.list(GeostoreFeatureIdProto)
tollClusterThe toll cluster to which this intersection belongs. If present, the toll cluster must also refer back to the intersection. To set this field, the intersection must be a gcid:toll_intersection feature.GeostoreIntersectionProtoA TYPE_INTERSECTION feature represents a common endpoint of one or more segments in a transportation network at which the segments are connected. An intersection in the real world may be more complicated than that (e.g., comprise multiple segment endpoints or have extra attributes), which can be modeled with an additional TYPE_INTERSECTION_GROUP feature, if needed (see intersectiongroup.proto). The standard feature properties are interpreted as follows: name – This should always be empty. Intersections that have a “special” name (e.g. Reads Corner intersection, PEI, Canada) should point to a separate TYPE_INTERSECTION_GROUP feature that captures it. Intersections which are named according to their cross streets do not need this requirement, since their name can be determined by looking at the routes associated with each segment. address – This should always be empty. point – Specifies the center of the intersection. This should be the last vertex of all the segments which terminate at this intersection. polyline – This should always be empty. polygon – This should always be empty. child – This should always be empty.GeostoreFeatureIdProto
durationDescribes how much time the service is going to take, e.g. how long it takes to do a haircut. Value of seconds must be from +60 (1 min) to +31,536,000 (365 days) inclusive. Value of nanos must be zero.GeostoreJobMetadataString
jobRelatedCategoriesRepresents the name of a potential grouping of items. For TYPE_JOB, this is the category names of the categories that a user picked this job type from at the time of input.GeostoreJobMetadatalist(GeostoreJobRelatedCategory)
jobTypeIdUnique identifier for a job. This is required for standard jobs and blank for free-form jobs. Job type ids are prefixed with “job_type_id:”. Notice this is a unique string representation of a job across languages. E.g., “job_type_id:air_duct_repair”. The existence of a job_type_id means the job type is a standard one, and has a corresponding entry in the Standard Jobs Taxonomy.GeostoreJobMetadataString
jobTypeMidRepresents the MID corresponding to the job_category entity in the Knowledge Graph. For example, job_type_id=”job_type_id:install_faucet”, job_type_mid=”/g/11hzzxjv3f”.GeostoreJobMetadataString
gcidGeostoreJobRelatedCategoryThis is the category that a user picked this job type from at the time of input. The field serves two purposes: 1) The name is used in consumer surface similar to the heading name today (i.e., grouping jobs under the category. 2) The gcid is needed mainly for free-formed entries, for which GMB needs to map them to corresponding categories in the frontend, if applicable. Notice that the name and the id are both not expected to be in sync with gcid deprecation or location category change per product decision. In other words, they are not guaranteed to stay in sync, only guaranteed true at time of creation.String
languageGeostoreJobRelatedCategoryThis is the category that a user picked this job type from at the time of input. The field serves two purposes: 1) The name is used in consumer surface similar to the heading name today (i.e., grouping jobs under the category. 2) The gcid is needed mainly for free-formed entries, for which GMB needs to map them to corresponding categories in the frontend, if applicable. Notice that the name and the id are both not expected to be in sync with gcid deprecation or location category change per product decision. In other words, they are not guaranteed to stay in sync, only guaranteed true at time of creation.String
nameCategory name in the primary language of the feature. Generally intended to be used as a fallback when we are unable to fetch the name in the user’s language.GeostoreJobRelatedCategoryThis is the category that a user picked this job type from at the time of input. The field serves two purposes: 1) The name is used in consumer surface similar to the heading name today (i.e., grouping jobs under the category. 2) The gcid is needed mainly for free-formed entries, for which GMB needs to map them to corresponding categories in the frontend, if applicable. Notice that the name and the id are both not expected to be in sync with gcid deprecation or location category change per product decision. In other words, they are not guaranteed to stay in sync, only guaranteed true at time of creation.String
idKG Identifier (MID). For details, see http://go/ke-bg-knowledge-graph#mids.GeostoreKnowledgeGraphReferenceProtoThe reference to an entity in the KnowledgeGraph. For details on the KnowledgeGraph see http://goto/kg.String
featureTypeThe type of the landmark feature. Allowed types: – TYPE_CARTOGRAPHIC e.g. a putting green or water hazard – TYPE_COMPOUND e.g. – the Empire state building (TYPE_COMPOUND_BUILDING) – a park (TYPE_COMPOUND_GROUNDS) – a section of a retail store (TYPE_COMPOUND_SECTION) – TYPE_ESTABLISHMENT e.g. – the Eiffel Tower (TYPE_ESTABLISHMENT_BUILDING) – a sports field (TYPE_ESTABLISHMENT_GROUNDS) – Starbucks (TYPE_ESTABLISHMENT_POI) – TYPE_INTERSECTION_GROUP e.g. a major intersection – TYPE_NATURAL_FEATURE e.g. a river – TYPE_SEGMENT e.g. a bike trail or train tracksGeostoreLandmarkReferenceProtoThis protocol buffer represents the association between a segment and a landmark feature. Notes: – References to TYPE_SEGMENT features should always point to the even sibling. – Self-references are allowed but the referencing segment’s sibling is required to have a self-reference as well (the above requirement to always reference the even sibling still applies).integer
landmarkThe feature ID of the landmark feature.GeostoreLandmarkReferenceProtoThis protocol buffer represents the association between a segment and a landmark feature. Notes: – References to TYPE_SEGMENT features should always point to the even sibling. – Self-references are allowed but the referencing segment’s sibling is required to have a self-reference as well (the above requirement to always reference the even sibling still applies).GeostoreFeatureIdProto
travelModeThe mode(s) of travel for which this landmark is useful.GeostoreLandmarkReferenceProtoThis protocol buffer represents the association between a segment and a landmark feature. Notes: – References to TYPE_SEGMENT features should always point to the even sibling. – Self-references are allowed but the referencing segment’s sibling is required to have a self-reference as well (the above requirement to always reference the even sibling still applies).list(String)
barrierMaterialsIf this is a physical barrier marker, represent materials found on the marker.GeostoreLaneMarkerProtoThis proto contains attributes relevant to physical lane markers.GeostoreBarrierLogicalMaterialProto
crossingPatternPattern border and color for crossing markers. These include crosswalks, stop, and yield lines.GeostoreLaneMarkerProtoThis proto contains attributes relevant to physical lane markers.GeostoreCrossingStripePatternProto
linearPatternStripe pattern, spacing, and color for longitudinal markers.GeostoreLaneMarkerProtoThis proto contains attributes relevant to physical lane markers.GeostoreLinearStripePatternProto
boundingMarkerReferences to any gcid:physical_lane_marker features that bound this lane.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.list(GeostoreBoundingMarkerProto)
conjoinedCategoryIf the current lane is part of a merge/split area, indicates the type (split or merge) and whether the current lane is on the left or right or in the middle of the merge/split area, as seen in the direction of traffic. See go/lane-split-merge-schemaGeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.String
distanceToNextLaneGap between this lane and the next in meters. This is relevant when the divider is physical, or a wide painted area. For regular painted single or double lines, there is no gap. This distance is duplicated between the innermost lanes for each side. Note that this is not used to describe smallish islands – this is only for long-running gaps. In particular, this models the median width, the gap between HOV lanes/regular lanes on freeways, and the road verge between a curb and sidewalk. Note on split roads: We can model any split road with a median as a single sibling pair with this distance set to the width of the median, or as two one-way sibling pairs.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.number
flowThe most logical path for the center of an object to travel along within the lane. Typically, this is the lane’s center line, but doesn’t have to be.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.GeostoreFlowLineProto
laneConnectionConnections to lanes of other segments at the end of this segment. These connections model the connectivity where you don’t have to do a lane change maneuver. If any lane connection is present, assume that all others are forbidden. Also note that segment level restrictions do apply if present, and can disallow some turn even if the lanes are connected. For instance, this can happen with timed or vehicle type based restrictions on the segment. If lane connectivity implies a segment-level restriction (can’t transition to some target segment), that restriction will also exist as a segment level restriction. In effect – PathFinder does not have to look at lane connectivity to figure out segment connectivity. Example: Typically, lanes are just connected to one other lane. Example: A splitting lane is connected to the two resulting lanes. Example: At an intersection, a lane is connected to crossing lanes according to how lanes are painted across the intersection. In the common case, the target segment will be connected to the same intersection as this segment. That will however NOT be true for complex intersections where there is an intersection group. The connections will be across the whole group, connecting to one of the outgoing segments from the group. This is analogous to how we do turn restrictions around intersection groups.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.list(GeostoreLaneProtoLaneConnection)
laneDividerCrossingclang-format on Whether the divider to the inside of this lane can be crossed. Note that we assume this is symmetric, and that this also describes whether someone in the next inside lane can cross to this one. The “inside” lane is the one with a lower lane_number. Note on lane markers: We do not model the painting, but only the resulting legality. There are many painted marker styles and colors that lead to the same legality. We expect Paint or Driveabout to render lanes stylized, with solid meaning “can’t cross”, and dashed meaning “can cross”. Note on varying legality along segment: ALLOWED takes precedence – even if some small portion has a restriction (such as right before an intersection) , the lane change will be ALLOWED.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.String
laneFollowsSegmentBeginFractionThese indicate for what portion of the segment the lane’s flowline exactly follows the segment, and the lane is of constant width. This will be set to not include the whole segment where there is a split/turn/merge at either end of the lane. The painting of the lane should completely synthesize the lane geometry outside of this portion, connecting it to neighboring lanes to make graphical nice.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.number
laneFollowsSegmentEndFractionGeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.number
laneNumberLanes are numbered from inside of the road outward, i.e. the lane next to the center line is lane 0. The lanes then stack outwards, towards the side that one drives on this segment (right or left). NOTE: do NOT use the lane_number as index for lookup. Lane_number is not guaranteed to match the segment.lane repeated field index.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.integer
laneTokenA token that can be used to identify the version of the data about this lane.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.String
metadataField-level metadata for this lane.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.GeostoreFieldMetadataProto
restrictionRestrictions that apply to this lane only. Examples include HOV lanes. If a lane restriction implies a segment-level restriction (can’t route on the segment at all), that restriction will also exist as a segment level restriction. In effect – PathFinder does not have to look at lane restrictions to figure out segment restrictions.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.list(GeostoreRestrictionProto)
sharedTrue if this lane is usable in both directions (left-turn lane, reversing lane, one-lane road, etc). To get the total number of lanes for a road, add up the lanes in each direction counting 0.5 for each shared lane.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.boolean
stopLineReferences to any gcid:physical_lane_marker features that intersect this lane, with the implication that a moving vehicle should stop there.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.list(GeostoreFeatureIdProto)
surfaceclang-format on LINT.ThenChange(//depot/google3/geostore/base/proto/segment.proto) Unlike the surface in SegmentProto, this field does not have a default value. This is because the lane-level surface overrides the segment-level surface. The lane’s surface should be unset unless explicitly overriding the segment’s surface.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.String
typeclang-format onGeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.String
widthWidth of this lane in meters. In many cases, we will collect this data by dividing the total road width by the number of lanes. On accuracy: This is a rough average width along this segment. If and when we wanted to be more accurate, we’d extend this schema to have full polygons for segments/lanes rather than just this average width.GeostoreLaneProtoDescribes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.number
boundingMarkerReferences to any gcid:physical_lane_marker features that bound this lane connection.GeostoreLaneProtoLaneConnectionlist(GeostoreBoundingMarkerProto)
connectionTokenA token that can be used to identify the version of the data about this lane connection.GeostoreLaneProtoLaneConnectionString
curveSpecifies how the flowline should be synthesized in this connection region. If unspecified, heuristics may be used to pick a sweep shape based on retraction values or neighboring curves.GeostoreLaneProtoLaneConnectionGeostoreCurveConnectionProto
flowThe most logical path for the center of an object to travel along within the lane connection. Typically, this is the lane connection’s center line, but doesn’t have to be.GeostoreLaneProtoLaneConnectionGeostoreFlowLineProto
laneNumberThis is the lane number on the target segment. This field is not set if the target segment doesn’t have lanes, or we don’t know the exact connectivity.GeostoreLaneProtoLaneConnectioninteger
primaryConnectionTrue if this connects to the unique, natural continuation of the current lane. At most one LaneConnection per lane can have this field set true. This attribute is of interest to ADAS providers as a hint to which lane a vehicle is likely to follow, in the absence of other information about the vehicle’s planned path.GeostoreLaneProtoLaneConnectionboolean
segmentThis reference to the other segment is weak, since strong would blow up bounds of all segments.GeostoreLaneProtoLaneConnectionGeostoreFeatureIdProto
yieldToOtherConnectionsThe inverse of the primary connection bit that provides a hint that this connection is part of a merge and a vehicle following this connection should yield to vehicles following other incoming connections.GeostoreLaneProtoLaneConnectionboolean
languageThe external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. We place extra restrictions on languages in addition to what the III library requires. See http://go/geo-schema-reference/feature-properties/languages.mdGeostoreLanguageTaggedTextProtoRepresents a piece of text with an associated language.String
textThe text (UTF-8 encoding).GeostoreLanguageTaggedTextProtoRepresents a piece of text with an associated language.String
buildingThe building(s) to which this level belongs. A level will typically belong to a single building, but it is valid for a single level to be shared by multiple buildings (for example, a large underground parking lot). These buildings refer back to the level via another strong reference (the BuildingProto.level field).GeostoreLevelProtoA feature used to represent a logical level, e.g. floor. A feature belonging to a given level should point to the level feature using relation RELATION_ON_LEVEL. The standard feature properties are interpreted as follows: name – Levels should have names according to the following: * Short, elevator-style names, such as “L” for “Lobby” and “2” for “Second floor”, must be included and must be tagged with FLAG_ABBREVIATED. There must be an unambiguous “best” abbreviated name. * Longer names such as “Ticketing” or “Upper Level” may be present when the level has a specific name. * Non-abbreviated names should only be added if they are known to meaningfully expand upon the abbreviated name. For example, the long name “Observation Deck 2” for the abbreviated name “OD2” is a good additional name. In contrast, the name “Level 2” for the abbreviated name “2” is not desired. address – This should always be empty. point, polyline, polygon, center – These should never be set (since we are representing a logical entity). preferred_viewport – This should be the approximate extent of the level. child – This should always be empty.list(GeostoreFeatureIdProto)
numberThe elevation of this level relative to the ground level, in levels. 0 = ground floor (even in locales that call the ground floor “1st floor”); 0.5 = between ground and first floor, eg mezzanine; 1 = first floor (one level above ground floor); -3 = three levels below ground floor.GeostoreLevelProtoA feature used to represent a logical level, e.g. floor. A feature belonging to a given level should point to the level feature using relation RELATION_ON_LEVEL. The standard feature properties are interpreted as follows: name – Levels should have names according to the following: * Short, elevator-style names, such as “L” for “Lobby” and “2” for “Second floor”, must be included and must be tagged with FLAG_ABBREVIATED. There must be an unambiguous “best” abbreviated name. * Longer names such as “Ticketing” or “Upper Level” may be present when the level has a specific name. * Non-abbreviated names should only be added if they are known to meaningfully expand upon the abbreviated name. For example, the long name “Observation Deck 2” for the abbreviated name “OD2” is a good additional name. In contrast, the name “Level 2” for the abbreviated name “2” is not desired. address – This should always be empty. point, polyline, polygon, center – These should never be set (since we are representing a logical entity). preferred_viewport – This should be the approximate extent of the level. child – This should always be empty.number
lineA linear marker may consist of one or more parallel physical lines. These are ordered left to right along the direction of the marker core polyline.GeostoreLinearStripePatternProtolist(GeostorePhysicalLineProto)
languageThe language associated with this preference. The external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. We place extra restrictions on languages in addition to what the III library requires. See http://go/geo-schema-reference/feature-properties/languages.mdGeostoreLocaleLanguageProtoThis message describes the details of a single language within a locale.String
officialFlag to indicate if the associated language is “official” within a locale.GeostoreLocaleLanguageProtoThis message describes the details of a single language within a locale.boolean
preferenceThis value represents the preference of the associated language within a locale. It must be between 0.0 and 1.0.GeostoreLocaleLanguageProtoThis message describes the details of a single language within a locale.number
speakingPercentPercentage of population that can speak the associated language within a locale. It must be between 0 and 100.GeostoreLocaleLanguageProtoThis message describes the details of a single language within a locale.number
writingPercentPercentage of population that can write the associated language within a locale. It must be between 0 and 100.GeostoreLocaleLanguageProtoThis message describes the details of a single language within a locale.number
languageThis holds the list of languages spoken within a locale.GeostoreLocaleProtoA locale is a meta-feature that describes the geographic extent of localization preferences such as the local language, and formatting conventions for numbers, dates and monetary values. Multilingual areas may be contained by multiple locales. We try to model locales fine-grained enough for deciding which languages are typically used within a city. For example, while French is an official language for all of Switzerland, we would prefer to have Zurich contained by a separate (more fine-grained) Swiss-German locale indicating that German, not French, is the predominantly spoken language in this city. Note that language borders are frequently considered a political question and often don’t have clearly defined extents. For example, California has a significant Spanish-speaking population, but Spanish is not an official language of California.list(GeostoreLocaleLanguageProto)
localizationPolicyIdThe ID of the localization policy (from googledata/geostore/localization/localization_policies.textpb) to apply to features that have this locale as their best match locale. Localization policy IDs are arbitrary identifiers that uniquely distinguish a set of language-selection rules.GeostoreLocaleProtoA locale is a meta-feature that describes the geographic extent of localization preferences such as the local language, and formatting conventions for numbers, dates and monetary values. Multilingual areas may be contained by multiple locales. We try to model locales fine-grained enough for deciding which languages are typically used within a city. For example, while French is an official language for all of Switzerland, we would prefer to have Zurich contained by a separate (more fine-grained) Swiss-German locale indicating that German, not French, is the predominantly spoken language in this city. Note that language borders are frequently considered a political question and often don’t have clearly defined extents. For example, California has a significant Spanish-speaking population, but Spanish is not an official language of California.String
borderSegmentAll the border segments which make up this logical border. Border segments must be TYPE_BORDER features which have the same left/right features. This is a many-to-many bidirectional relationship, so any border segment within this list might be part of another logical border.GeostoreLogicalBorderProtoA logical border is a grouping of border features, which together model a divide between two regions. The borders within this grouping share common attributes, such as the regions they divide, and may represent a conceptual group of borders, of which may be wholly disputed, wholly undisputed, or a mixture of disputed and undisputed. Note that any borders within this group may be part of multiple logical borders. A logical border is required to have a name describing what the grouping represents (e.g. “US – Mexico Border”, “Kosovo – Serbia Border (Disputed)”).list(GeostoreFeatureIdProto)
statusThe logical border status identifies its legal status. This is similar to the BorderStatus present within border segments, but applies to the group as a whole.GeostoreLogicalBorderProtoA logical border is a grouping of border features, which together model a divide between two regions. The borders within this grouping share common attributes, such as the regions they divide, and may represent a conceptual group of borders, of which may be wholly disputed, wholly undisputed, or a mixture of disputed and undisputed. Note that any borders within this group may be part of multiple logical borders. A logical border is required to have a name describing what the grouping represents (e.g. “US – Mexico Border”, “Kosovo – Serbia Border (Disputed)”).String
googleUrlThe FIFE url associated with the media. NOTE: This FIFE URL must be PII-free, see go/product-catalogue-photo-storageGeostoreMediaItemProtoMedia item attached to an element of price list.String
mediaFormatGeostoreMediaItemProtoMedia item attached to an element of price list.String
mediaKeyThe mediaKey associated with the media. NOTE: This media key must be PII-free, see go/product-catalogue-photo-storageGeostoreMediaItemProtoMedia item attached to an element of price list.String
mediaSizeGeostoreMediaItemProtoMedia item attached to an element of price list.GeostoreMediaItemProtoMediaSize
originalHeightPxGeostoreMediaItemProtoMediaSizeWidth and height of the original photo in pixels.integer
originalWidthPxGeostoreMediaItemProtoMediaSizeWidth and height of the original photo in pixels.integer
flagclang-format on The set of flags that apply to this name.GeostoreNameProtoA name for a Feature (street name, point of interest, city, building, etc). We currently use NameProto for two essentially disjoint purposes: 1. Common names, which can be language-specific, or have other kinds of variations. 2. Opaque IDs, such as postal codes, which only have the `text` field set, and potentially some flags. This includes internal-only features like template ids. Each NameProto representing a common name corresponds to an assertion that a fluent speaker or writer of a language would recognize NameProto.text to name the given feature in that language. As such, NameProtos are stored in a repeated field, often having: 1. multiple names with the same text and varying languages, and 2. multiple names with the same language and varying texts.list(String)
languageThe external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. These strings should be treated as opaque blobs. You can use LanguageCodeConverter::FromOther to convert the string to a LanguageCode reference. You can then call methods on the LanguageCode class to extract language/script/region subtags (if any). See also http://g3doc/i18n/identifiers/g3doc/using-iii. We place extra restrictions on languages in addition to what the III library requires. See go/geo-schema-reference/feature-properties/languages. This field may be missing if the name does not have a concept of language but should be set if the language is unknown.GeostoreNameProtoA name for a Feature (street name, point of interest, city, building, etc). We currently use NameProto for two essentially disjoint purposes: 1. Common names, which can be language-specific, or have other kinds of variations. 2. Opaque IDs, such as postal codes, which only have the `text` field set, and potentially some flags. This includes internal-only features like template ids. Each NameProto representing a common name corresponds to an assertion that a fluent speaker or writer of a language would recognize NameProto.text to name the given feature in that language. As such, NameProtos are stored in a repeated field, often having: 1. multiple names with the same text and varying languages, and 2. multiple names with the same language and varying texts.String
metadataField-level metadata for this name. NOTE: there are multiple NameProto fields in the Geo Schema. Metadata here is only expected to be present on FeatureProto.name[].GeostoreNameProtoA name for a Feature (street name, point of interest, city, building, etc). We currently use NameProto for two essentially disjoint purposes: 1. Common names, which can be language-specific, or have other kinds of variations. 2. Opaque IDs, such as postal codes, which only have the `text` field set, and potentially some flags. This includes internal-only features like template ids. Each NameProto representing a common name corresponds to an assertion that a fluent speaker or writer of a language would recognize NameProto.text to name the given feature in that language. As such, NameProtos are stored in a repeated field, often having: 1. multiple names with the same text and varying languages, and 2. multiple names with the same language and varying texts.GeostoreFieldMetadataProto
rawText** DEPRECATED ** The name text provided in the original source data (UTF-8 encoding). This is the text provided in the source data unmodified with the exception of being converted to UTF-8 and stripping extra leading, trailing and duplicate whitespaces (if necessary).GeostoreNameProtoA name for a Feature (street name, point of interest, city, building, etc). We currently use NameProto for two essentially disjoint purposes: 1. Common names, which can be language-specific, or have other kinds of variations. 2. Opaque IDs, such as postal codes, which only have the `text` field set, and potentially some flags. This includes internal-only features like template ids. Each NameProto representing a common name corresponds to an assertion that a fluent speaker or writer of a language would recognize NameProto.text to name the given feature in that language. As such, NameProtos are stored in a repeated field, often having: 1. multiple names with the same text and varying languages, and 2. multiple names with the same language and varying texts.String
shortTextThe short name text (UTF-8 encoding). Acronyms/abbreviations should be consistently used, for example “NE 57th St” rather than “Northeast 57th Street”, “N.E 57th St.” or some other variant. This field should be populated with the chosen canonical version of the shortened name, based on per-term transformations. For feature specific abbreviations (such as ‘CA’ for ‘California’), one should define a separate name with FLAG_ABBREVIATED set. For other variants of the shortened name that are not the canonical one, devise client based logic (ex: query rewriting rules).GeostoreNameProtoA name for a Feature (street name, point of interest, city, building, etc). We currently use NameProto for two essentially disjoint purposes: 1. Common names, which can be language-specific, or have other kinds of variations. 2. Opaque IDs, such as postal codes, which only have the `text` field set, and potentially some flags. This includes internal-only features like template ids. Each NameProto representing a common name corresponds to an assertion that a fluent speaker or writer of a language would recognize NameProto.text to name the given feature in that language. As such, NameProtos are stored in a repeated field, often having: 1. multiple names with the same text and varying languages, and 2. multiple names with the same language and varying texts.String
temporaryDataA place for clients to attach arbitrary data to a name. Never set in MapFacts.GeostoreNameProtoA name for a Feature (street name, point of interest, city, building, etc). We currently use NameProto for two essentially disjoint purposes: 1. Common names, which can be language-specific, or have other kinds of variations. 2. Opaque IDs, such as postal codes, which only have the `text` field set, and potentially some flags. This includes internal-only features like template ids. Each NameProto representing a common name corresponds to an assertion that a fluent speaker or writer of a language would recognize NameProto.text to name the given feature in that language. As such, NameProtos are stored in a repeated field, often having: 1. multiple names with the same text and varying languages, and 2. multiple names with the same language and varying texts.Proto2BridgeMessageSet
textThe name text (UTF-8 encoding). Acronyms/abbreviations should be fully expanded, for example “Northeast 57th Street” rather than “NE 57th St”. They can be shortened at display or geocode time. This decision prevents ambiguity over such issues as whether “St” represents “Street” or “Saint”. However, it pushes language-specific knowledge into code. We will have libraries and data files to contract acronyms/abbreviations at run-time.GeostoreNameProtoA name for a Feature (street name, point of interest, city, building, etc). We currently use NameProto for two essentially disjoint purposes: 1. Common names, which can be language-specific, or have other kinds of variations. 2. Opaque IDs, such as postal codes, which only have the `text` field set, and potentially some flags. This includes internal-only features like template ids. Each NameProto representing a common name corresponds to an assertion that a fluent speaker or writer of a language would recognize NameProto.text to name the given feature in that language. As such, NameProtos are stored in a repeated field, often having: 1. multiple names with the same text and varying languages, and 2. multiple names with the same language and varying texts.String
instanceGeostoreOntologyRawGConceptInstanceContainerProtoThe container for all GConceptInstances associated with a feature.list(GeostoreOntologyRawGConceptInstanceProto)
instanceThis is the ‘public’ section of the GConceptInstance.GeostoreOntologyRawGConceptInstanceProtoA RawGConceptInstanceProto contains all data required by both internal and external clients. We store the ‘public’ data in a GConceptInstanceProto and the ‘private’ data inside of RawGConceptInstanceProto. NOTE: this doesn’t really match the design we want anymore. Please talk to the Geo Schema team if you are planning to make use of the “private” fields below.GeostoreGConceptInstanceProto
isAddedByEdit** DEPRECATED ** Was this GConcept explicitly added by an edit? Examples of gconcepts not added by edits include those inferred through geo ontology and those mapped from legacy category forms by the feature updater. Note that it is possible for both is_added_by_edit and is_inferred to be true – it means this gconcept is added by an edit and there is also another more fine-grained gconcept added by an edit.GeostoreOntologyRawGConceptInstanceProtoA RawGConceptInstanceProto contains all data required by both internal and external clients. We store the ‘public’ data in a GConceptInstanceProto and the ‘private’ data inside of RawGConceptInstanceProto. NOTE: this doesn’t really match the design we want anymore. Please talk to the Geo Schema team if you are planning to make use of the “private” fields below.boolean
isInferredRESERVEDGeostoreOntologyRawGConceptInstanceProtoA RawGConceptInstanceProto contains all data required by both internal and external clients. We store the ‘public’ data in a GConceptInstanceProto and the ‘private’ data inside of RawGConceptInstanceProto. NOTE: this doesn’t really match the design we want anymore. Please talk to the Geo Schema team if you are planning to make use of the “private” fields below.boolean
provider** DEPRECATED ** These two fields combined describe the source of a GConceptInstance. They are based on geostore/base/proto/datasourceprovider.proto. Their use has been deprecated. Use the FieldMetadataProto inside instance instead.GeostoreOntologyRawGConceptInstanceProtoA RawGConceptInstanceProto contains all data required by both internal and external clients. We store the ‘public’ data in a GConceptInstanceProto and the ‘private’ data inside of RawGConceptInstanceProto. NOTE: this doesn’t really match the design we want anymore. Please talk to the Geo Schema team if you are planning to make use of the “private” fields below.String
sourceDatasetGeostoreOntologyRawGConceptInstanceProtoA RawGConceptInstanceProto contains all data required by both internal and external clients. We store the ‘public’ data in a GConceptInstanceProto and the ‘private’ data inside of RawGConceptInstanceProto. NOTE: this doesn’t really match the design we want anymore. Please talk to the Geo Schema team if you are planning to make use of the “private” fields below.String
exceptionDate delimited exceptions to the typical recurring opening hours. May only be present if regular weekly hours are also specified.GeostoreOpeningHoursProtoMessage to represent opening hours including regular weekly hours and a set of exceptions.list(GeostoreExceptionalHoursProto)
regularHoursTypical recurring opening hours, expressed as a weekly schedule. NOTE: this field was introduced to have a more client-friendly format for representing weekly hours but, as of November 2018, it’s not used for the main opening hours of TYPE_ESTABLISHMENT features (instead, the data is stored in the `EstablishmentProto.hours` field, see b/23105782 tracking the possible schema migration). It is however used in other contexts where `OpeningHoursProto` appears in the Geo Schema. In openinghours.h there is a utility function `GetOpeningHoursFromFeature` that merges `EstablishmentProto.hours` into this proto.GeostoreOpeningHoursProtoMessage to represent opening hours including regular weekly hours and a set of exceptions.GeostoreBusinessHoursProto
temporaryClosureRecords temporary status changes of the feature, such as remodel, vacation, etc.: the feature is temporarily (but not permanently) unavailable. See go/geo-schema-reference:operational-lifecycle#temporary-closure for guidance on interpreting this data and constraints on writing it. NOTE: Order of the TemporaryClosureProtos is *not* guaranteed to be chronological.GeostoreOperationsProtoInformation about a feature’s operations, e.g. when the feature is temporarily closed.list(GeostoreTemporaryClosureProto)
countryCodeThe two-letter ISO 3166-1 country code corresponding to the domain this status override applies to, when rendering the border polyline.GeostoreOverrideBorderStatusProtoThis message captures a border status override. For instance, if the TYPE_BORDER feature between China and Hong Kong must be hidden on ditu.google.cn (the Chinese domain for Google Maps) but may be displayed on other domains, we will have a country override border status for “CN” set to STATUS_NEVER_DISPLAY. At least one override restriction must be defined. Currently the only supported restriction is by country code.String
statusThe override status, from the BorderStatus enumeration. The value here must be different from the main status (otherwise there’s no point in providing the override).GeostoreOverrideBorderStatusProtoThis message captures a border status override. For instance, if the TYPE_BORDER feature between China and Hong Kong must be hidden on ditu.google.cn (the Chinese domain for Google Maps) but may be displayed on other domains, we will have a country override border status for “CN” set to STATUS_NEVER_DISPLAY. At least one override restriction must be defined. Currently the only supported restriction is by country code.String
colorGeostorePaintedElementLogicalColorProtoPainted element logical color. Most legal definitions only specify a color category (like “yellow”) and don’t specify an exact hue, rather stating that the colors must be distinguishable from each other. We refer to this as the “logical” color.String
allowanceTypeThe type of parking for this allowance. Allowance details only apply to the type of parking specified.GeostoreParkingAllowanceProtoDescribes the parking allowances for a feature, or the situations and requirements under which one may be permitted to park, such as certain vehicle types, valet parking, and permit parking. Also describes the cost of parking, which may vary based on the time and duration parked. Includes vehicle type, any other conditions for eligibility, and the cost of parking, which may vary based on the time and duration parked. If is_discount is set to true on a given allowance, that allowance represents a discount that can be applied to lower the cost of non-discount allowances specified on feature via parking_provider_feature. In this way, allowances can be ‘layered,’ i.e. appended, onto each other when denormalizing references via parking_provider_feature.String
isDiscountIf true, this allowance represents a discount rather than an individual rate; any rate values specified in this allowance describe a discount to be applied to the non-discount allowances in the ParkingProto.GeostoreParkingAllowanceProtoDescribes the parking allowances for a feature, or the situations and requirements under which one may be permitted to park, such as certain vehicle types, valet parking, and permit parking. Also describes the cost of parking, which may vary based on the time and duration parked. Includes vehicle type, any other conditions for eligibility, and the cost of parking, which may vary based on the time and duration parked. If is_discount is set to true on a given allowance, that allowance represents a discount that can be applied to lower the cost of non-discount allowances specified on feature via parking_provider_feature. In this way, allowances can be ‘layered,’ i.e. appended, onto each other when denormalizing references via parking_provider_feature.boolean
minPurchaseForValidationIf this rate requires validation, this expresses the minimum purchase required for validation in each applicable currency. Should have an ID of /measurement_unit/money_value and consist of two properties: one with an ID of /measurement_unit/money_value/amount and a float value with the amount, and another with the ID /measurement_unit/money_value/currency and an ID value with the MID of the proper currency (from the /finance/currency type). A value of 0 suggests that no purchase is required. If empty, this suggests that no validation is required for this rate.GeostoreParkingAllowanceProtoDescribes the parking allowances for a feature, or the situations and requirements under which one may be permitted to park, such as certain vehicle types, valet parking, and permit parking. Also describes the cost of parking, which may vary based on the time and duration parked. Includes vehicle type, any other conditions for eligibility, and the cost of parking, which may vary based on the time and duration parked. If is_discount is set to true on a given allowance, that allowance represents a discount that can be applied to lower the cost of non-discount allowances specified on feature via parking_provider_feature. In this way, allowances can be ‘layered,’ i.e. appended, onto each other when denormalizing references via parking_provider_feature.list(FreebaseTopic)
permitTypeAny additional details about the permit type; e.g. “Zone A”. In any local languages. Should only be set if allowance_type is PERMIT.GeostoreParkingAllowanceProtoDescribes the parking allowances for a feature, or the situations and requirements under which one may be permitted to park, such as certain vehicle types, valet parking, and permit parking. Also describes the cost of parking, which may vary based on the time and duration parked. Includes vehicle type, any other conditions for eligibility, and the cost of parking, which may vary based on the time and duration parked. If is_discount is set to true on a given allowance, that allowance represents a discount that can be applied to lower the cost of non-discount allowances specified on feature via parking_provider_feature. In this way, allowances can be ‘layered,’ i.e. appended, onto each other when denormalizing references via parking_provider_feature.list(GeostoreLanguageTaggedTextProto)
serviceTypeThe types of services that this parking allowance applies to. For instance, some cities have streets that only allow traditional taxis to pick up passengers.GeostoreParkingAllowanceProtoDescribes the parking allowances for a feature, or the situations and requirements under which one may be permitted to park, such as certain vehicle types, valet parking, and permit parking. Also describes the cost of parking, which may vary based on the time and duration parked. Includes vehicle type, any other conditions for eligibility, and the cost of parking, which may vary based on the time and duration parked. If is_discount is set to true on a given allowance, that allowance represents a discount that can be applied to lower the cost of non-discount allowances specified on feature via parking_provider_feature. In this way, allowances can be ‘layered,’ i.e. appended, onto each other when denormalizing references via parking_provider_feature.list(String)
timeBasedRateDescribes the rate structures. Each TimeBasedRateProto defines a rate which may apply based on a particular arrival, departure or utilization time; for example, one rate might apply if arriving before 9am, and another might apply regardless of arrival or departure time.GeostoreParkingAllowanceProtoDescribes the parking allowances for a feature, or the situations and requirements under which one may be permitted to park, such as certain vehicle types, valet parking, and permit parking. Also describes the cost of parking, which may vary based on the time and duration parked. Includes vehicle type, any other conditions for eligibility, and the cost of parking, which may vary based on the time and duration parked. If is_discount is set to true on a given allowance, that allowance represents a discount that can be applied to lower the cost of non-discount allowances specified on feature via parking_provider_feature. In this way, allowances can be ‘layered,’ i.e. appended, onto each other when denormalizing references via parking_provider_feature.list(GeostoreTimeBasedRateProto)
vehicleTypeRestrictions on which vehicle type(s) the allowance applies to. By default, the allowance applies to any vehicle types.GeostoreParkingAllowanceProtoDescribes the parking allowances for a feature, or the situations and requirements under which one may be permitted to park, such as certain vehicle types, valet parking, and permit parking. Also describes the cost of parking, which may vary based on the time and duration parked. Includes vehicle type, any other conditions for eligibility, and the cost of parking, which may vary based on the time and duration parked. If is_discount is set to true on a given allowance, that allowance represents a discount that can be applied to lower the cost of non-discount allowances specified on feature via parking_provider_feature. In this way, allowances can be ‘layered,’ i.e. appended, onto each other when denormalizing references via parking_provider_feature.String
allowanceDescribes the parking allowances for the feature, which are the situations and requirements under which one is permitted to park at the feature’s parking facilities, or discounts that a user may be eligible for.GeostoreParkingProtoUsed to describe the parking facilities provided by or available to a feature. Features of TYPE_ROAD or TYPE_COMPOUND can have a ParkingProto (with parking_provider_feature unset) that describes the parking facilities provided by that feature. Features of TYPE_COMPOUND or TYPE_ESTABLISHMENT_POI can have a ParkingProto (with parking_provider_feature set) to indicate that the feature has dedicated parking and provide details about it, and defer some details of the parking facilities to the referent feature(s). ParkingProto is maintained by the Harbor Pilot team (go/harbor-pilot). Detailed modeling information is described at go/parking-schema.list(GeostoreParkingAllowanceProto)
openingHoursHours in which the parking facility is open; that is, permits both arrivals and departures of the facility. Should only be set on compounds (i.e. parking lots or garages); roads are considered to always be “open,” though parking at certain times may be prohibited via restrictions. If unset on a compound, this suggests we don’t know the opening hours, or they are the same as the hours of the entity for which this feature offers parking facilities.GeostoreParkingProtoUsed to describe the parking facilities provided by or available to a feature. Features of TYPE_ROAD or TYPE_COMPOUND can have a ParkingProto (with parking_provider_feature unset) that describes the parking facilities provided by that feature. Features of TYPE_COMPOUND or TYPE_ESTABLISHMENT_POI can have a ParkingProto (with parking_provider_feature set) to indicate that the feature has dedicated parking and provide details about it, and defer some details of the parking facilities to the referent feature(s). ParkingProto is maintained by the Harbor Pilot team (go/harbor-pilot). Detailed modeling information is described at go/parking-schema.GeostoreOpeningHoursProto
parkingAvailableIndicates whether long-term parking is available at the feature; if true, long-term parking is available at the feature and parking allowances may be present on this feature, or parking_provider_feature may indicate deferred parking feature(s). If false, this is an explicit statement that there is no long-term parking associated with this feature. If unset, we don’t know whether there is long-term parking associated with this feature. If false or unset, only additional restrictions or short-term allowances will be populated.GeostoreParkingProtoUsed to describe the parking facilities provided by or available to a feature. Features of TYPE_ROAD or TYPE_COMPOUND can have a ParkingProto (with parking_provider_feature unset) that describes the parking facilities provided by that feature. Features of TYPE_COMPOUND or TYPE_ESTABLISHMENT_POI can have a ParkingProto (with parking_provider_feature set) to indicate that the feature has dedicated parking and provide details about it, and defer some details of the parking facilities to the referent feature(s). ParkingProto is maintained by the Harbor Pilot team (go/harbor-pilot). Detailed modeling information is described at go/parking-schema.boolean
parkingProviderFeatureIf empty, indicates that the feature containing this ParkingProto provides parking facilities, which are described by this proto. If nonempty, indicates that the feature with this ParkingProto does not contain parking facilities itself, but visitors of this feature may use the parking available to the referent feature(s). The referent feature(s) may themselves contain parking facilities or defer to other features. A ParkingProto may defer parking details to another feature, but still include its own data. This suggests that a visitor of the referrer feature is eligible for different rates or discounts. The data in these fields applies transitively, and any fields in a referrer may be applied to the referent (for a visitor of the referrer).GeostoreParkingProtoUsed to describe the parking facilities provided by or available to a feature. Features of TYPE_ROAD or TYPE_COMPOUND can have a ParkingProto (with parking_provider_feature unset) that describes the parking facilities provided by that feature. Features of TYPE_COMPOUND or TYPE_ESTABLISHMENT_POI can have a ParkingProto (with parking_provider_feature set) to indicate that the feature has dedicated parking and provide details about it, and defer some details of the parking facilities to the referent feature(s). ParkingProto is maintained by the Harbor Pilot team (go/harbor-pilot). Detailed modeling information is described at go/parking-schema.list(GeostoreFeatureIdProto)
restrictionDescribes any parking restrictions that apply to this feature. Should only be set on road segments for which parking is explicitly prohibited for some or all times; for roads which do not prohibit parking and for all other facilities, the ability to park should be expressed using allowances. In the instance that both a restriction and an allowance applies at a given time, restrictions always have precedence over the same parking allowances. However, explicit short-term allowances (PICKUP_GOODS, PICKUP_PASSENGERS) take precedence over general NO_PARKING, NO_STANDING, or NO_STOPPING restrictions.GeostoreParkingProtoUsed to describe the parking facilities provided by or available to a feature. Features of TYPE_ROAD or TYPE_COMPOUND can have a ParkingProto (with parking_provider_feature unset) that describes the parking facilities provided by that feature. Features of TYPE_COMPOUND or TYPE_ESTABLISHMENT_POI can have a ParkingProto (with parking_provider_feature set) to indicate that the feature has dedicated parking and provide details about it, and defer some details of the parking facilities to the referent feature(s). ParkingProto is maintained by the Harbor Pilot team (go/harbor-pilot). Detailed modeling information is described at go/parking-schema.list(GeostoreParkingRestrictionProto)
restrictedHoursTimes at which parking is prohibited.GeostoreParkingRestrictionProtoExpresses a parking restriction on a road; i.e. times at which parking on the road is prohibited.GeostoreTimeScheduleProto
restrictionTypeclang-format on The type of restriction that applies at this time.GeostoreParkingRestrictionProtoExpresses a parking restriction on a road; i.e. times at which parking on the road is prohibited.String
serviceTypeThe types of services that this parking restriction applies to. We expect most parking restrictions to apply to all services, but some airports have specific rideshare parking or taxi parking zones.GeostoreParkingRestrictionProtoExpresses a parking restriction on a road; i.e. times at which parking on the road is prohibited.list(String)
vehicleTypeThe types of vehicles that this parking restriction applies to. For instance, some streets may allow motorcycles to park but not automobiles or trucks.GeostoreParkingRestrictionProtoExpresses a parking restriction on a road; i.e. times at which parking on the road is prohibited.list(String)
prominenceMetersTopographic prominence in meters: the height of the peak’s summit above the lowest contour line encircling it and no higher summit.GeostorePeakProtoThis protocol buffer holds related data for features of type TYPE_PEAK and TYPE_VOLCANO.float
angleDegreesThis value specifies the angle of the crosswalk. Zero degrees represents a crosswalk perpendicular to the direction of travel, towards the right side of the segment. The crosswalk angle, winds clockwise. Range [-90, 90]. The following crosswalk would have a 15 degree angle: / / <--/-------------------------------- / /GeostorePedestrianCrossingProtoA crossing describes a path from the end point of a segment to the start point of its sibling. Each individual crossing should uniquely represent a physically distinct crossing in the real world. Pedestrian crossings are bidirectional. This proto represents “simple” crossings. More complicated crossings (such as the diagonal crosswalk at Shibuya Station in Tokyo) will be represented using a separate pedestrian network. Example 1: Standard four way crossing. Assume each road (A/B/C) has a crosswalk (denoted by a ‘-‘) right before intersection X. Assume crossing at D is prohibited (denoted by a ‘%’). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ B//B’ \\\\ // \\\\ // – – X – % // \\\\ // \\\\ C’//C D’\\\\D * A CROSSABLE PedestrianCrossing should be added to A, B and C. * An UNCROSSABLE PedestrianCrossing should be added to D. Example 2: Simple intersection with one crossing. Assume intersection X was added to accommodate the crosswalk (through X, denoted by ‘-‘). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ \\\\ \\\\ -X- \\\\ \\\\ B’\\\\B * A CROSSABLE PedestrianCrossing must be added to either A or B, but not both because each real-world crossing should be represented exactly once. Duplicative crossings may be arbitrarily removed.float
crossAnywhereThis value enables crossing anywhere (not just at the segment’s endpoint), typically used on long, low-traffic residential streets. This attribute is only respected for trivial segment -> sibling routes. All other routes can cross at a MapFacts intersection.GeostorePedestrianCrossingProtoA crossing describes a path from the end point of a segment to the start point of its sibling. Each individual crossing should uniquely represent a physically distinct crossing in the real world. Pedestrian crossings are bidirectional. This proto represents “simple” crossings. More complicated crossings (such as the diagonal crosswalk at Shibuya Station in Tokyo) will be represented using a separate pedestrian network. Example 1: Standard four way crossing. Assume each road (A/B/C) has a crosswalk (denoted by a ‘-‘) right before intersection X. Assume crossing at D is prohibited (denoted by a ‘%’). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ B//B’ \\\\ // \\\\ // – – X – % // \\\\ // \\\\ C’//C D’\\\\D * A CROSSABLE PedestrianCrossing should be added to A, B and C. * An UNCROSSABLE PedestrianCrossing should be added to D. Example 2: Simple intersection with one crossing. Assume intersection X was added to accommodate the crosswalk (through X, denoted by ‘-‘). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ \\\\ \\\\ -X- \\\\ \\\\ B’\\\\B * A CROSSABLE PedestrianCrossing must be added to either A or B, but not both because each real-world crossing should be represented exactly once. Duplicative crossings may be arbitrarily removed.boolean
crossingTypeCrossing type is used as a restriction and can also be used for rendering.GeostorePedestrianCrossingProtoA crossing describes a path from the end point of a segment to the start point of its sibling. Each individual crossing should uniquely represent a physically distinct crossing in the real world. Pedestrian crossings are bidirectional. This proto represents “simple” crossings. More complicated crossings (such as the diagonal crosswalk at Shibuya Station in Tokyo) will be represented using a separate pedestrian network. Example 1: Standard four way crossing. Assume each road (A/B/C) has a crosswalk (denoted by a ‘-‘) right before intersection X. Assume crossing at D is prohibited (denoted by a ‘%’). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ B//B’ \\\\ // \\\\ // – – X – % // \\\\ // \\\\ C’//C D’\\\\D * A CROSSABLE PedestrianCrossing should be added to A, B and C. * An UNCROSSABLE PedestrianCrossing should be added to D. Example 2: Simple intersection with one crossing. Assume intersection X was added to accommodate the crosswalk (through X, denoted by ‘-‘). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ \\\\ \\\\ -X- \\\\ \\\\ B’\\\\B * A CROSSABLE PedestrianCrossing must be added to either A or B, but not both because each real-world crossing should be represented exactly once. Duplicative crossings may be arbitrarily removed.String
offsetThe crossing offset defines a fraction between the distance from the segment endpoint to the centerline of the crosswalk and the length of the segment. For example, the segment length is 20 meters and the distance from segment end to center of crosswalk is 2 meters, the value of offset will be 0.1.GeostorePedestrianCrossingProtoA crossing describes a path from the end point of a segment to the start point of its sibling. Each individual crossing should uniquely represent a physically distinct crossing in the real world. Pedestrian crossings are bidirectional. This proto represents “simple” crossings. More complicated crossings (such as the diagonal crosswalk at Shibuya Station in Tokyo) will be represented using a separate pedestrian network. Example 1: Standard four way crossing. Assume each road (A/B/C) has a crosswalk (denoted by a ‘-‘) right before intersection X. Assume crossing at D is prohibited (denoted by a ‘%’). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ B//B’ \\\\ // \\\\ // – – X – % // \\\\ // \\\\ C’//C D’\\\\D * A CROSSABLE PedestrianCrossing should be added to A, B and C. * An UNCROSSABLE PedestrianCrossing should be added to D. Example 2: Simple intersection with one crossing. Assume intersection X was added to accommodate the crosswalk (through X, denoted by ‘-‘). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ \\\\ \\\\ -X- \\\\ \\\\ B’\\\\B * A CROSSABLE PedestrianCrossing must be added to either A or B, but not both because each real-world crossing should be represented exactly once. Duplicative crossings may be arbitrarily removed.number
restrictionRestrictions for this crossing (such as constructions on the crosswalk). They must not have subpath or travel_mode.GeostorePedestrianCrossingProtoA crossing describes a path from the end point of a segment to the start point of its sibling. Each individual crossing should uniquely represent a physically distinct crossing in the real world. Pedestrian crossings are bidirectional. This proto represents “simple” crossings. More complicated crossings (such as the diagonal crosswalk at Shibuya Station in Tokyo) will be represented using a separate pedestrian network. Example 1: Standard four way crossing. Assume each road (A/B/C) has a crosswalk (denoted by a ‘-‘) right before intersection X. Assume crossing at D is prohibited (denoted by a ‘%’). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ B//B’ \\\\ // \\\\ // – – X – % // \\\\ // \\\\ C’//C D’\\\\D * A CROSSABLE PedestrianCrossing should be added to A, B and C. * An UNCROSSABLE PedestrianCrossing should be added to D. Example 2: Simple intersection with one crossing. Assume intersection X was added to accommodate the crosswalk (through X, denoted by ‘-‘). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ \\\\ \\\\ -X- \\\\ \\\\ B’\\\\B * A CROSSABLE PedestrianCrossing must be added to either A or B, but not both because each real-world crossing should be represented exactly once. Duplicative crossings may be arbitrarily removed.list(GeostoreRestrictionProto)
widthThis value defines the full width of the crossing in the direction perpendicular to the direction which pedestrians walk on the crossing (in meters). The crossing is allowed to “spill” into the next segment (0.5 * width can be greater than the offset). Cannot be a negative value.GeostorePedestrianCrossingProtoA crossing describes a path from the end point of a segment to the start point of its sibling. Each individual crossing should uniquely represent a physically distinct crossing in the real world. Pedestrian crossings are bidirectional. This proto represents “simple” crossings. More complicated crossings (such as the diagonal crosswalk at Shibuya Station in Tokyo) will be represented using a separate pedestrian network. Example 1: Standard four way crossing. Assume each road (A/B/C) has a crosswalk (denoted by a ‘-‘) right before intersection X. Assume crossing at D is prohibited (denoted by a ‘%’). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ B//B’ \\\\ // \\\\ // – – X – % // \\\\ // \\\\ C’//C D’\\\\D * A CROSSABLE PedestrianCrossing should be added to A, B and C. * An UNCROSSABLE PedestrianCrossing should be added to D. Example 2: Simple intersection with one crossing. Assume intersection X was added to accommodate the crosswalk (through X, denoted by ‘-‘). Assume “prime” roads (A’,B’,…) are OUT segments relative to X. A\\\\A’ \\\\ \\\\ -X- \\\\ \\\\ B’\\\\B * A CROSSABLE PedestrianCrossing must be added to either A or B, but not both because each real-world crossing should be represented exactly once. Duplicative crossings may be arbitrarily removed.number
dashLengthMetersApplicable for DASHED and DOTTED_DASHED lines.GeostorePhysicalLineProtoDescribes a single physical marker line. NOTE: PhysicalLineProto could be compared against one another by canonicalizing them via GetCanonicalPhysicalLine() in google3/geostore/base/internal/lane_marker.cc. Any fields that don’t contribute to the definition of a physical line in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalPhysicalLine(). LINT.IfChangenumber
gapColorThis should be rarely needed, but can represent patterns of alternating colors.GeostorePhysicalLineProtoDescribes a single physical marker line. NOTE: PhysicalLineProto could be compared against one another by canonicalizing them via GetCanonicalPhysicalLine() in google3/geostore/base/internal/lane_marker.cc. Any fields that don’t contribute to the definition of a physical line in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalPhysicalLine(). LINT.IfChangeGeostorePaintedElementLogicalColorProto
gapLengthMetersApplicable for DASHED, DOTTED, and DOTTED_DASHED lines.GeostorePhysicalLineProtoDescribes a single physical marker line. NOTE: PhysicalLineProto could be compared against one another by canonicalizing them via GetCanonicalPhysicalLine() in google3/geostore/base/internal/lane_marker.cc. Any fields that don’t contribute to the definition of a physical line in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalPhysicalLine(). LINT.IfChangenumber
materialGeostorePhysicalLineProtoDescribes a single physical marker line. NOTE: PhysicalLineProto could be compared against one another by canonicalizing them via GetCanonicalPhysicalLine() in google3/geostore/base/internal/lane_marker.cc. Any fields that don’t contribute to the definition of a physical line in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalPhysicalLine(). LINT.IfChangelist(String)
paintColorColor for the painted elements. Applicable to all types.GeostorePhysicalLineProtoDescribes a single physical marker line. NOTE: PhysicalLineProto could be compared against one another by canonicalizing them via GetCanonicalPhysicalLine() in google3/geostore/base/internal/lane_marker.cc. Any fields that don’t contribute to the definition of a physical line in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalPhysicalLine(). LINT.IfChangeGeostorePaintedElementLogicalColorProto
patternGeostorePhysicalLineProtoDescribes a single physical marker line. NOTE: PhysicalLineProto could be compared against one another by canonicalizing them via GetCanonicalPhysicalLine() in google3/geostore/base/internal/lane_marker.cc. Any fields that don’t contribute to the definition of a physical line in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalPhysicalLine(). LINT.IfChangeString
physicalLineTokenA token that can be used to identify the version of the data about this marker line.GeostorePhysicalLineProtoDescribes a single physical marker line. NOTE: PhysicalLineProto could be compared against one another by canonicalizing them via GetCanonicalPhysicalLine() in google3/geostore/base/internal/lane_marker.cc. Any fields that don’t contribute to the definition of a physical line in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalPhysicalLine(). LINT.IfChangeString
curvatureStatusGeostorePointCurvatureProtoString
radiansPerMeterCurvature in radians per meter. Negative is a curve to the left and positive is a curve to the right.GeostorePointCurvatureProtonumber
startPointFractionHow far along the line this curvature value starts to apply, in the format of decimal between 0 and 1.GeostorePointCurvatureProtonumber
latE7GeostorePointProtointeger
lngE7GeostorePointProtointeger
metadataNOTE: If removing metadata, remove ‘option objc_class_prefix = “GS”;’ together. See cl/189921100. Field-level metadata for this point. NOTE: there are multiple PointProto fields in the Geo Schema. Metadata here is only expected to be present on FeatureProto.point[] and FeatureProto.center.GeostorePointProtoGeostoreFieldMetadataProto
temporaryDataA place for clients to attach arbitrary data to a point. Never set in MapFacts.GeostorePointProtoProto2BridgeMessageSet
altitudeMetersAltitude of this point is assumed to be relative to the ground level.GeostorePointWithHeightProtoPointWithHeightProto encodes lat/lng through PointProto and contains altitude information.number
pointGeostorePointWithHeightProtoPointWithHeightProto encodes lat/lng through PointProto and contains altitude information.GeostorePointProto
capitalMany political regions have a conceptual center (capitals of a country or a top-level division are examples). If set, the target feature must be a TYPE_LOCALITY feature.GeostorePoliticalProtoThis protocol buffer is included from feature.proto as an optional message. Political features represent the different ways that people are divided into geographical regions. This protocol buffer is applicable only to TYPE_POLITICAL features and is used to store political information from the feature’s point of view.GeostoreFeatureIdProto
claimFeature IDs of the features claimed by this feature’s government that are not necessarily included in the feature’s geometry.GeostorePoliticalProtoThis protocol buffer is included from feature.proto as an optional message. Political features represent the different ways that people are divided into geographical regions. This protocol buffer is applicable only to TYPE_POLITICAL features and is used to store political information from the feature’s point of view.list(GeostoreFeatureIdProto)
grossDomesticProductUsdMillionsThe Gross Domestic Product of the political region measured in millions of current United States dollars. It must not be negative.GeostorePoliticalProtoThis protocol buffer is included from feature.proto as an optional message. Political features represent the different ways that people are divided into geographical regions. This protocol buffer is applicable only to TYPE_POLITICAL features and is used to store political information from the feature’s point of view.float
literacyPercentPercentage of population that are literate within a political region. It must be between 0 and 100.GeostorePoliticalProtoThis protocol buffer is included from feature.proto as an optional message. Political features represent the different ways that people are divided into geographical regions. This protocol buffer is applicable only to TYPE_POLITICAL features and is used to store political information from the feature’s point of view.number
populationThe number of people in this political region. This field is intended to store accurate population, not an estimation such as representative value for population range. It must not be negative.GeostorePoliticalProtoThis protocol buffer is included from feature.proto as an optional message. Political features represent the different ways that people are divided into geographical regions. This protocol buffer is applicable only to TYPE_POLITICAL features and is used to store political information from the feature’s point of view.String
baseMetersThe polygon loops above are basically flat: each point has a latitude and a longitude but no altitude. We don’t want to build real 3D models here, but we do want to be able to generate 2.5D models. A 2.5D model is built by translating the flat polygon upward some distance (base) then extruding it upward some additional distance (height). The elevation of the bottom of the extruded polygon (above ground level).GeostorePolygonProtoA general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn’t be expected to work with public functions in //geostore/base/public/polygon.h.number
cellId** DEPRECATED ** This is part of a splitting strategy for large polygons, which was never fully launched and we decided not to pursue. For features with very complex polygonal geometry, we break up the polygon into pieces that align with S2 cells at various levels. We do this for performance reasons as some geometry operations have quadratic complexity with regards to the total number of vertices. In these cases, we store the S2 cell ID corresponding to the piece of the overall polygon that is described by this specific PolygonProto message. Each polygon piece is expected to be fully contained by the S2 cell corresponding to this cell ID. However, note that the S2 cell ID is not required to correspond to the smallest S2 cell that fully contains the polygon (and often won’t be). In addition, polygon pieces are required to not have any overlap (which translates to having entirely disjoint S2 cell IDs, i.e. one can not be parent (or grand parent, etc.) of another).GeostorePolygonProtoA general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn’t be expected to work with public functions in //geostore/base/public/polygon.h.String
encodedEncoding of the polygon using S2Polygon::Encode()’s compressed representation.GeostorePolygonProtoA general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn’t be expected to work with public functions in //geostore/base/public/polygon.h.String
heightMetersThe distance from the bottom of the extruded polygon to the top.GeostorePolygonProtoA general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn’t be expected to work with public functions in //geostore/base/public/polygon.h.number
loop** DEPRECATED ** We have switched to using exclusively the encoded form in the wire format to and from MapFacts, so this field should never be populated there. See go/encoded-polygons for more info. “Classic” polygon representation, defined by one or more loops. The last vertex of each polyline is implicitly connected to the first vertex. All loops should be specified in CCW order.GeostorePolygonProtoA general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn’t be expected to work with public functions in //geostore/base/public/polygon.h.list(GeostorePolyLineProto)
metadataField-level metadata for this polygon.GeostorePolygonProtoA general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn’t be expected to work with public functions in //geostore/base/public/polygon.h.GeostoreFieldMetadataProto
temporaryDataA place for clients to attach arbitrary data to a polygon. Never set in MapFacts.GeostorePolygonProtoA general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn’t be expected to work with public functions in //geostore/base/public/polygon.h.Proto2BridgeMessageSet
unsuitableForDisplaySome polygons are known to be rough proxies for a feature’s “real” polygonal representation. Such polygons are generally unsuitable for display. Rendering clients should not show these in most cases. Polygons unsuitable for display do have other uses, such as user location or containment analysis, or as an input to learning algorithms. This is an orthogonal concept to FeatureProto.synthetic_geometry, which only pertains to the method by which a polygon was created, rather than its fidelity to ground truth. For features that have multiple polygons, this bit should be consistently set to the same value on all polygons.GeostorePolygonProtoA general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn’t be expected to work with public functions in //geostore/base/public/polygon.h.boolean
metadataField-level metadata for this polyline. NOTE: there are multiple PolyLineProto fields in the Geo Schema. Metadata here is only expected to be present on FeatureProto.polyline[].GeostorePolyLineProtoGeostoreFieldMetadataProto
temporaryDataA place for clients to attach arbitrary data to a polyline. Never set in MapFacts.GeostorePolyLineProtoProto2BridgeMessageSet
vertexA sequence of vertices connected by geodesics (the equivalent of straight lines on the sphere). Adjacent vertices are connected by the shorter of the two geodesics that connect them, i.e. all edges are 180 degrees or less. Note that the edge definition becomes numerically unstable as the arc length approaches 180 degrees. Polylines are generally expected to be non-self-intersecting, but any such restriction is imposed by the user of the polyline rather than the polyline itself.GeostorePolyLineProtolist(GeostorePointProto)
altitudeThe height of the pose. A positive height is above the WGS-84 ellipsoid in meters; negative is below.GeostorePoseProtoA pose is an object’s position in space, as well as its orientation. All fields except lat and lng are optional. All fields are in the WGS-84 ellipsoid, and rotations are right-hand rule (i.e. if the right hand thumb points along a vector, curled fingers indicate positive rotation direction). An un-rotated pose would be pointing due North, along the surface of the ellipsoid. Rotations are applied in the order: yaw, pitch, roll. Note that the rotation axes are rotated along with the model for each rotation step. WARNING: This proto is not meant to be used directly. Please use the provided libraries: //geostore/base/public/pose.h //java/com/google/geostore/base/Pose.javafloat
indexThe index of the PoseProto in a list of PoseProtos.GeostorePoseProtoA pose is an object’s position in space, as well as its orientation. All fields except lat and lng are optional. All fields are in the WGS-84 ellipsoid, and rotations are right-hand rule (i.e. if the right hand thumb points along a vector, curled fingers indicate positive rotation direction). An un-rotated pose would be pointing due North, along the surface of the ellipsoid. Rotations are applied in the order: yaw, pitch, roll. Note that the rotation axes are rotated along with the model for each rotation step. WARNING: This proto is not meant to be used directly. Please use the provided libraries: //geostore/base/public/pose.h //java/com/google/geostore/base/Pose.javainteger
latThe latitude of the pose in degrees [-90, 90].GeostorePoseProtoA pose is an object’s position in space, as well as its orientation. All fields except lat and lng are optional. All fields are in the WGS-84 ellipsoid, and rotations are right-hand rule (i.e. if the right hand thumb points along a vector, curled fingers indicate positive rotation direction). An un-rotated pose would be pointing due North, along the surface of the ellipsoid. Rotations are applied in the order: yaw, pitch, roll. Note that the rotation axes are rotated along with the model for each rotation step. WARNING: This proto is not meant to be used directly. Please use the provided libraries: //geostore/base/public/pose.h //java/com/google/geostore/base/Pose.javafloat
lngThe longitude of the pose in degrees (-180,180].GeostorePoseProtoA pose is an object’s position in space, as well as its orientation. All fields except lat and lng are optional. All fields are in the WGS-84 ellipsoid, and rotations are right-hand rule (i.e. if the right hand thumb points along a vector, curled fingers indicate positive rotation direction). An un-rotated pose would be pointing due North, along the surface of the ellipsoid. Rotations are applied in the order: yaw, pitch, roll. Note that the rotation axes are rotated along with the model for each rotation step. WARNING: This proto is not meant to be used directly. Please use the provided libraries: //geostore/base/public/pose.h //java/com/google/geostore/base/Pose.javafloat
pitchThe rotation around the longitude line East tangent in degrees [-90, 90].GeostorePoseProtoA pose is an object’s position in space, as well as its orientation. All fields except lat and lng are optional. All fields are in the WGS-84 ellipsoid, and rotations are right-hand rule (i.e. if the right hand thumb points along a vector, curled fingers indicate positive rotation direction). An un-rotated pose would be pointing due North, along the surface of the ellipsoid. Rotations are applied in the order: yaw, pitch, roll. Note that the rotation axes are rotated along with the model for each rotation step. WARNING: This proto is not meant to be used directly. Please use the provided libraries: //geostore/base/public/pose.h //java/com/google/geostore/base/Pose.javafloat
rollThe rotation around the latitude line North tangent in degrees (-180, 180].GeostorePoseProtoA pose is an object’s position in space, as well as its orientation. All fields except lat and lng are optional. All fields are in the WGS-84 ellipsoid, and rotations are right-hand rule (i.e. if the right hand thumb points along a vector, curled fingers indicate positive rotation direction). An un-rotated pose would be pointing due North, along the surface of the ellipsoid. Rotations are applied in the order: yaw, pitch, roll. Note that the rotation axes are rotated along with the model for each rotation step. WARNING: This proto is not meant to be used directly. Please use the provided libraries: //geostore/base/public/pose.h //java/com/google/geostore/base/Pose.javafloat
yawThe rotation around the Up vector, from North, in degrees (-180, 180].GeostorePoseProtoA pose is an object’s position in space, as well as its orientation. All fields except lat and lng are optional. All fields are in the WGS-84 ellipsoid, and rotations are right-hand rule (i.e. if the right hand thumb points along a vector, curled fingers indicate positive rotation direction). An un-rotated pose would be pointing due North, along the surface of the ellipsoid. Rotations are applied in the order: yaw, pitch, roll. Note that the rotation axes are rotated along with the model for each rotation step. WARNING: This proto is not meant to be used directly. Please use the provided libraries: //geostore/base/public/pose.h //java/com/google/geostore/base/Pose.javafloat
caloriesGeostorePriceInfoFoodNutritionFactsThis message represents nutrition facts for a food dish.GeostorePriceInfoFoodNutritionFactsCaloriesFact
cholesterolCholesterol information for a given food dish.GeostorePriceInfoFoodNutritionFactsThis message represents nutrition facts for a food dish.GeostorePriceInfoFoodNutritionFactsNutritionFact
proteinProtein information for a given food dish.GeostorePriceInfoFoodNutritionFactsThis message represents nutrition facts for a food dish.GeostorePriceInfoFoodNutritionFactsNutritionFact
sodiumSodium information for a given food dish.GeostorePriceInfoFoodNutritionFactsThis message represents nutrition facts for a food dish.GeostorePriceInfoFoodNutritionFactsNutritionFact
totalCarbohydrateCarbohydrate information for a given food dish.GeostorePriceInfoFoodNutritionFactsThis message represents nutrition facts for a food dish.GeostorePriceInfoFoodNutritionFactsNutritionFact
totalFatFat information for a given food dish.GeostorePriceInfoFoodNutritionFactsThis message represents nutrition facts for a food dish.GeostorePriceInfoFoodNutritionFactsNutritionFact
lowerAmountGeostorePriceInfoFoodNutritionFactsCaloriesFactThis message denotes calories information with an upper bound and lower bound range.integer
unitUnit of the given calories information.GeostorePriceInfoFoodNutritionFactsCaloriesFactThis message denotes calories information with an upper bound and lower bound range.String
upperAmountGeostorePriceInfoFoodNutritionFactsCaloriesFactThis message denotes calories information with an upper bound and lower bound range.integer
lowerAmountGeostorePriceInfoFoodNutritionFactsNutritionFactThis message denotes nutrition information with an upper bound and lower bound range and can be represented by mass unit.float
unitUnit of the given nutrition information.GeostorePriceInfoFoodNutritionFactsNutritionFactThis message denotes nutrition information with an upper bound and lower bound range and can be represented by mass unit.String
upperAmountGeostorePriceInfoFoodNutritionFactsNutritionFactThis message denotes nutrition information with an upper bound and lower bound range and can be represented by mass unit.float
priceListThe actual food menus. This is a repeated field because a restaurant may offer multiple menus, e.g. for different language or for different available time, such as holidays vs non-holidays.GeostorePriceInfoProtolist(GeostorePriceListProto)
priceListUrlAll URLs that give price list information for this establishment. For food menus, this would represent menu_urls. Note that this field is a repeated list of UrlListProtos. Each UrlListProto instance in the list is intended to hold lists of URLs that are translations of the same URL.GeostorePriceInfoProtolist(GeostoreUrlListProto)
statusMessage containing metadata about the verified status of the PriceInfo. Only verified listings should be displayed.GeostorePriceInfoProtoGeostorePriceInfoStatus
isVerifiedGeostorePriceInfoStatusProviders of PriceInfo (e.g. SinglePlatform, YEXT) send verified and unverified listings. PriceInfoStatus is used to encapsulate this information.boolean
descriptionGeostorePriceListNameInfoProtoA PriceListNameInfoProto is used by PriceListProto and fields and messages contained in it for storing names, descriptions, languages, and IDs. The name field and the description field must be in the same language, as specified by the language field. None of the fields in this proto is required, although it is not expected to have the language field set unless there is a name or description. When the language field is not set, it is understood to be the preferred language of the locale where the establishment is located. An empty string for any of the fields is not allowed (as enforced by lints).String
idIDs are intended to be unique identifiers of PriceInfoLists, Sections, and Menu items. This is enforced by the ID_DUPLICATE_PRICE_LIST_ID lint.GeostorePriceListNameInfoProtoA PriceListNameInfoProto is used by PriceListProto and fields and messages contained in it for storing names, descriptions, languages, and IDs. The name field and the description field must be in the same language, as specified by the language field. None of the fields in this proto is required, although it is not expected to have the language field set unless there is a name or description. When the language field is not set, it is understood to be the preferred language of the locale where the establishment is located. An empty string for any of the fields is not allowed (as enforced by lints).String
languageThe external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. We place extra restrictions on languages in addition to what the III library requires. See go/geo-schema-reference/feature-properties/languages.GeostorePriceListNameInfoProtoA PriceListNameInfoProto is used by PriceListProto and fields and messages contained in it for storing names, descriptions, languages, and IDs. The name field and the description field must be in the same language, as specified by the language field. None of the fields in this proto is required, although it is not expected to have the language field set unless there is a name or description. When the language field is not set, it is understood to be the preferred language of the locale where the establishment is located. An empty string for any of the fields is not allowed (as enforced by lints).String
nameGeostorePriceListNameInfoProtoA PriceListNameInfoProto is used by PriceListProto and fields and messages contained in it for storing names, descriptions, languages, and IDs. The name field and the description field must be in the same language, as specified by the language field. None of the fields in this proto is required, although it is not expected to have the language field set unless there is a name or description. When the language field is not set, it is understood to be the preferred language of the locale where the establishment is located. An empty string for any of the fields is not allowed (as enforced by lints).String
aggregatorIdFor third party lists, represents the ID of the aggregator which provided this data. Optional.GeostorePriceListProtoA PriceListProto can be used to represent any type of price lists, one of which is a menu of food and drinks. It contains names and descriptions, together with its source URL list if it is extracted or attributed to that URL. The names and descriptions are represented using repeated PriceListNameInfo fields to allow versions in different languages. A PriceListProto may contain multiple sections; in the context of a food menu, this would be multiple menu sections, e.g. for breakfast, lunch, dinner, prix fixe, or dinner for two, etc. At least one menu section must be present. Each section contains a number of items; for food menus, it may be FoodMenuItems defined below. At least one item must be present in each section.String
availableTimeThe time period when this price list is available. Establishments are not required to give available_time for any given price list, however, when this field is not set, the price list is understood as available any time the establishment is open.GeostorePriceListProtoA PriceListProto can be used to represent any type of price lists, one of which is a menu of food and drinks. It contains names and descriptions, together with its source URL list if it is extracted or attributed to that URL. The names and descriptions are represented using repeated PriceListNameInfo fields to allow versions in different languages. A PriceListProto may contain multiple sections; in the context of a food menu, this would be multiple menu sections, e.g. for breakfast, lunch, dinner, prix fixe, or dinner for two, etc. At least one menu section must be present. Each section contains a number of items; for food menus, it may be FoodMenuItems defined below. At least one item must be present in each section.GeostoreTimeScheduleProto
cuisinesCuisine information if the location the price lists attached to is an eligible feature for a food menu price list. Cuisine information should also only show up in a food price list.GeostorePriceListProtoA PriceListProto can be used to represent any type of price lists, one of which is a menu of food and drinks. It contains names and descriptions, together with its source URL list if it is extracted or attributed to that URL. The names and descriptions are represented using repeated PriceListNameInfo fields to allow versions in different languages. A PriceListProto may contain multiple sections; in the context of a food menu, this would be multiple menu sections, e.g. for breakfast, lunch, dinner, prix fixe, or dinner for two, etc. At least one menu section must be present. Each section contains a number of items; for food menus, it may be FoodMenuItems defined below. At least one item must be present in each section.list(String)
nameInfoThe repeated name_info field is for price lists listed in multiple languages. When a price list has no names or descriptions, the size of the repeated field name_info may be 0. There should be at most one name_info for any given language.GeostorePriceListProtoA PriceListProto can be used to represent any type of price lists, one of which is a menu of food and drinks. It contains names and descriptions, together with its source URL list if it is extracted or attributed to that URL. The names and descriptions are represented using repeated PriceListNameInfo fields to allow versions in different languages. A PriceListProto may contain multiple sections; in the context of a food menu, this would be multiple menu sections, e.g. for breakfast, lunch, dinner, prix fixe, or dinner for two, etc. At least one menu section must be present. Each section contains a number of items; for food menus, it may be FoodMenuItems defined below. At least one item must be present in each section.list(GeostorePriceListNameInfoProto)
sectionEach price list may have multiple sections. Note that these sections within the same price list should most times contain only the same type of items for sale, e.g. all sections should usually contain only food items if the enclosing price list is representing food menu. However, sometimes such a requirement may be wrong, for example, McDonald’s may sell burgers as well as toys, and the toys may be in its own section. Thus we don’t enforce any requirement that all sections contain only the same type of items.GeostorePriceListProtoA PriceListProto can be used to represent any type of price lists, one of which is a menu of food and drinks. It contains names and descriptions, together with its source URL list if it is extracted or attributed to that URL. The names and descriptions are represented using repeated PriceListNameInfo fields to allow versions in different languages. A PriceListProto may contain multiple sections; in the context of a food menu, this would be multiple menu sections, e.g. for breakfast, lunch, dinner, prix fixe, or dinner for two, etc. At least one menu section must be present. Each section contains a number of items; for food menus, it may be FoodMenuItems defined below. At least one item must be present in each section.list(GeostorePriceListSectionProto)
sourceUrlWhere this price list comes from. If set, this must also be a member of the price_list_url field, and represents translations of a single URL.GeostorePriceListProtoA PriceListProto can be used to represent any type of price lists, one of which is a menu of food and drinks. It contains names and descriptions, together with its source URL list if it is extracted or attributed to that URL. The names and descriptions are represented using repeated PriceListNameInfo fields to allow versions in different languages. A PriceListProto may contain multiple sections; in the context of a food menu, this would be multiple menu sections, e.g. for breakfast, lunch, dinner, prix fixe, or dinner for two, etc. At least one menu section must be present. Each section contains a number of items; for food menus, it may be FoodMenuItems defined below. At least one item must be present in each section.GeostoreUrlListProto
callToActionCall to action for the section.GeostorePriceListSectionProtoA PriceListSectionProto is used to store a section of a PriceListProto. For example, for a PriceListProto representing a food menu, a PriceListSectionProto represents a menu section. Each PriceListSectionProto contains a repeated list of items for sale; these items can be products or services. Right now every section should contain items of one type.GeostoreCallToActionProto
foodItemTo store food and drink items when the containing PriceListSectionProto is a food menu section.GeostorePriceListSectionProtoA PriceListSectionProto is used to store a section of a PriceListProto. For example, for a PriceListProto representing a food menu, a PriceListSectionProto represents a menu section. Each PriceListSectionProto contains a repeated list of items for sale; these items can be products or services. Right now every section should contain items of one type.list(GeostoreFoodMenuItemProto)
itemTo store any items when the containing PriceListSectionProto is not food / legacy services.GeostorePriceListSectionProtoA PriceListSectionProto is used to store a section of a PriceListProto. For example, for a PriceListProto representing a food menu, a PriceListSectionProto represents a menu section. Each PriceListSectionProto contains a repeated list of items for sale; these items can be products or services. Right now every section should contain items of one type.list(GeostoreComposableItemProto)
itemTypeThis has to have at most one value.GeostorePriceListSectionProtoA PriceListSectionProto is used to store a section of a PriceListProto. For example, for a PriceListProto representing a food menu, a PriceListSectionProto represents a menu section. Each PriceListSectionProto contains a repeated list of items for sale; these items can be products or services. Right now every section should contain items of one type.list(String)
languageThe external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. We place extra restrictions on languages in addition to what the III library requires. See go/geo-schema-reference/feature-properties/languages. When set, represents the language of the section and its items. Any section and item level name infos must match this language. Optional.GeostorePriceListSectionProtoA PriceListSectionProto is used to store a section of a PriceListProto. For example, for a PriceListProto representing a food menu, a PriceListSectionProto represents a menu section. Each PriceListSectionProto contains a repeated list of items for sale; these items can be products or services. Right now every section should contain items of one type.String
mediaOne or more media items (photos, videos, etc.) describing this section / category.GeostorePriceListSectionProtoA PriceListSectionProto is used to store a section of a PriceListProto. For example, for a PriceListProto representing a food menu, a PriceListSectionProto represents a menu section. Each PriceListSectionProto contains a repeated list of items for sale; these items can be products or services. Right now every section should contain items of one type.list(GeostoreMediaItemProto)
nameInfoThe repeated name_info field is for price list sections listed in multiple languages. When a price list section has no names or descriptions, the size of the repeated field name_info may be 0. There should be at most one name_info for any given language.GeostorePriceListSectionProtoA PriceListSectionProto is used to store a section of a PriceListProto. For example, for a PriceListProto representing a food menu, a PriceListSectionProto represents a menu section. Each PriceListSectionProto contains a repeated list of items for sale; these items can be products or services. Right now every section should contain items of one type.list(GeostorePriceListNameInfoProto)
currencyCurrency code for the price range: a valid currency code from i18n/identifiers/currencycode.h. Lower and upper price are both assumed to use the same currency.GeostorePriceRangeProtoThis message represents a price range of an attribute. The meaning of the price bounds is domain specific. But mainly they are soft bounds for a normal usage. E.g. “restaurant prices” are subject to an higher level of “soft” bounds than “museum admission price”String
lowerPriceThis message allows unbounded price ranges. e.g. Lower_price is undefined. At least one of the two prices must be set for the price range to be meaningful.GeostorePriceRangeProtoThis message represents a price range of an attribute. The meaning of the price bounds is domain specific. But mainly they are soft bounds for a normal usage. E.g. “restaurant prices” are subject to an higher level of “soft” bounds than “museum admission price”float
unitsclang-format onGeostorePriceRangeProtoThis message represents a price range of an attribute. The meaning of the price bounds is domain specific. But mainly they are soft bounds for a normal usage. E.g. “restaurant prices” are subject to an higher level of “soft” bounds than “museum admission price”String
upperPriceGeostorePriceRangeProtoThis message represents a price range of an attribute. The meaning of the price bounds is domain specific. But mainly they are soft bounds for a normal usage. E.g. “restaurant prices” are subject to an higher level of “soft” bounds than “museum admission price”float
propertyIdThe property ID whose value status is defined by this proto.GeostorePropertyValueStatusProtoPropertyValueStatusProto specifies what we know about a field corresponding to FeaturePropertyId’s value in the absence of any specific value. For now, it just indicates when we know that there is no value. Eventually it might also indicate that we know it has value, just not what it is, etc.GeostoreFeaturePropertyIdProto
valueStatus`value_status` specifies whether the feature has a value for the property. This should always be set to something other than the default value (`PROPERTY_VALUE_STATUS_UNSPECIFIED`).GeostorePropertyValueStatusProtoPropertyValueStatusProto specifies what we know about a field corresponding to FeaturePropertyId’s value in the absence of any specific value. For now, it just indicates when we know that there is no value. Eventually it might also indicate that we know it has value, just not what it is, etc.String
datasetThe dataset from which this the referenced data was created. The content of this string will be determined by the data provider, and may encode extra information, such as data confidence.GeostoreProvenanceProtoThis is a minimal version of SourceInfoProto.String
providerThe data provider from which the referenced data was generated.GeostoreProvenanceProtoThis is a minimal version of SourceInfoProto.String
signalA list of signals. Each one is extracted separately by a SignalExtractor.GeostoreRankDetailsProtoThis message is embedded within a FeatureProto. It has rank calculation details such as available rank signals and rank signal mixer used to compute final rank. For more details, see the Oyster Rank wiki page: http://wiki.corp.google.com/twiki/bin/view/Main/OysterRanklist(GeostoreRankSignalProto)
signalMixerTypeThe signal mixer that was used to calculate the rank.GeostoreRankDetailsProtoThis message is embedded within a FeatureProto. It has rank calculation details such as available rank signals and rank signal mixer used to compute final rank. For more details, see the Oyster Rank wiki page: http://wiki.corp.google.com/twiki/bin/view/Main/OysterRankString
metadataField-level metadata for this signal.GeostoreRankSignalProtoThis message is embedded in the RankDetailsProto (below). It represents one rank signal, which is a floating point value estimating the Oyster Rank of the feature.GeostoreFieldMetadataProto
rankA value in the range [0, 1] estimating Oyster Rank according to this signal. Non-provider specific signals (e.g. SIGNAL_POPULATION) are interpreted by some common code in the ranking pipeline. Because of that, data providers should leave this field empty when setting such signals (so that the rank assignment can be uniform across all features regardless of contributing data providers). On the other hand, provider-specific signals (e.g. SIGNAL_ZENRIN_CITY_CATEGORY) are required to specify the rank field (it is not optional for them). That is because no code other than that of the provider itself will be able to fill in a meaningful value later on. We don’t want clients to be reading from the raw_scalar / raw_string fields to interpret the data.GeostoreRankSignalProtoThis message is embedded in the RankDetailsProto (below). It represents one rank signal, which is a floating point value estimating the Oyster Rank of the feature.number
rawScalarThe raw scalar value that was used to compute ‘rank’ above. The meaning of this attribute changes depending on the signal type.GeostoreRankSignalProtoThis message is embedded in the RankDetailsProto (below). It represents one rank signal, which is a floating point value estimating the Oyster Rank of the feature.number
rawStringThe raw string value that was used to compute ‘rank’ above. The meaning of this attribute changes depending on the signal type.GeostoreRankSignalProtoThis message is embedded in the RankDetailsProto (below). It represents one rank signal, which is a floating point value estimating the Oyster Rank of the feature.String
typeGeostoreRankSignalProtoThis message is embedded in the RankDetailsProto (below). It represents one rank signal, which is a floating point value estimating the Oyster Rank of the feature.String
keyThe key associated with this data item. For source data in shape file format, this will typically be a column name. Keys need to be unique with respect to a particular data source (see DataSourceProto), but they do not need to be globally unique. You can look up the documentation for a key (e.g. a longer label and description) by following the source_id link of the parent SourceInfoProto, which takes you to a TYPE_DATA_SOURCE feature, and then looking up the corresponding RawMetadataProto object for this key in that feature’s optional data_source field.GeostoreRawDataProtoA RawDataProto is a key-value pair that represents arbitrary source data from a particular provider. Raw data can be attached to features using their source_info field.String
valueStringAll data items are represented as strings, the logic being that it is easy to convert other data types to strings, and there is no need to access this data efficiently.GeostoreRawDataProtoA RawDataProto is a key-value pair that represents arbitrary source data from a particular provider. Raw data can be attached to features using their source_info field.String
conflationMethodMethod to use when conflating together RawDataProto values at the same key NB: If you add a new ConflationMethod, then you must add the corresponding logic to MergeRawData to conflate the RawDataProto values using this method.GeostoreRawMetadataProtoString
descriptionSelf-contained documentation about what this field represents and how its values are encoded.GeostoreRawMetadataProtoString
keyThe key being described.GeostoreRawMetadataProtoString
labelA longer, human-readable name associated with this key. The label might be used in a data explorer tool, for example.GeostoreRawMetadataProtoString
hiGeostoreRectProtoA latitude-longitude rectangle, represented as two diagonally opposite points “lo” and “hi”. The rectangle is considered to be a closed region, i.e. it includes its boundary. The latitude bounds must be in the range -90 to 90 degrees inclusive, and the longitude bounds must be in the range -180 to 180 degrees inclusive. Various cases include: – If lo == hi, the rectangle consists of a single point. – If lo.longitude > hi.longitude, the longitude range is “inverted” (the rectangle crosses the 180 degree longitude line). – If lo.longitude == -180 degrees and hi.longitude = 180 degrees, the rectangle includes all longitudes. – If lo.longitude = 180 degrees and hi.longitude = -180 degrees, the longitude range is empty. – If lo.latitude > hi.latitude, the latitude range is empty.GeostorePointProto
loGeostoreRectProtoA latitude-longitude rectangle, represented as two diagonally opposite points “lo” and “hi”. The rectangle is considered to be a closed region, i.e. it includes its boundary. The latitude bounds must be in the range -90 to 90 degrees inclusive, and the longitude bounds must be in the range -180 to 180 degrees inclusive. Various cases include: – If lo == hi, the rectangle consists of a single point. – If lo.longitude > hi.longitude, the longitude range is “inverted” (the rectangle crosses the 180 degree longitude line). – If lo.longitude == -180 degrees and hi.longitude = 180 degrees, the rectangle includes all longitudes. – If lo.longitude = 180 degrees and hi.longitude = -180 degrees, the longitude range is empty. – If lo.latitude > hi.latitude, the latitude range is empty.GeostorePointProto
displayableAsAlternativeNameIf true, this region specific name should be appended, in parentheses, to the appropriate name from FeatureProto.name, for the default rest of world behavior.GeostoreRegionSpecificNameProtoThis protocol buffer supports a name per region per language, allowing it to represent the name of a given feature in different regions and languages. For example, the Persian Gulf has different English names in UAE versus Lebanon; each would need to be represented as distinct RegionSpecificNameProtos.boolean
nameName to be used for this feature in a specific region and language.GeostoreRegionSpecificNameProtoThis protocol buffer supports a name per region per language, allowing it to represent the name of a given feature in different regions and languages. For example, the Persian Gulf has different English names in UAE versus Lebanon; each would need to be represented as distinct RegionSpecificNameProtos.GeostoreNameProto
regionCodeRegion code (or other identifier) for the region.GeostoreRegionSpecificNameProtoThis protocol buffer supports a name per region per language, allowing it to represent the name of a given feature in different regions and languages. For example, the Persian Gulf has different English names in UAE versus Lebanon; each would need to be represented as distinct RegionSpecificNameProtos.String
restrictionThe set of restrictions that apply to a zone. These restrictions may limit the routability of every segment contained within the defined feature.polygon. Repeated restrictions are treated collectively as an OR meaning that segments in the zone are only routable if none of the restrictions apply. If any segments within the defined polygon should not have these restrictions applied, they must list this regulated area’s feature id in their feature.exempt_regulated_area field.GeostoreRegulatedAreaProtoA collection of information that applies to a polygonal area.list(GeostoreRestrictionProto)
metadataField-level metadata for this relation.GeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.GeostoreFieldMetadataProto
otherFeatureCountryCodeIf and only if the other feature is of TYPE_COUNTRY, the 2-letter country code. This is the FLAG_COUNTRY_CODE_2 name of the country component.GeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.String
otherFeatureIdThe feature ID of the feature to which we’re relating. WARNING: the related feature does not necessarily have a bound that encloses this feature, so in a bucketing MapReduce, you may not be able to follow all relationships. Relations that use strong references are annotated above but you can also refer to IsRelationStrong() in geostore/base/public/relation.h.GeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.GeostoreFeatureIdProto
otherFeatureNameRESERVEDGeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.list(GeostoreNameProto)
otherFeatureTerritorialAdministratorIf and only if the other feature is of TYPE_DISPUTED_AREA, the territorial administrator found in its GeopoliticalAttachmentProto.administered_by field, if any. Since this string is copied exactly, it may be a 2-letter country code or another type of descriptive string.GeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.String
otherFeatureTypeThe type of the feature to which we’re relating.GeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.integer
overlapFraction** DEPRECATED ** If relation is exactly RELATION_OVERLAPS but not any of its subcategories, overlap_fraction contains an estimate of the fraction of the geometry of this feature that intersects with the other feature, ranging from 0.0 to 1.0. Note that this is a rough estimate based on cell coverings, and may not be very accurate. In particular, values of 0.0 and 1.0 are possible, even though in principle they should not be.GeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.number
relationThe relationship of the feature that contains this RelationProto to the feature other_feature_id. Note the relation_is_reversed field below. Some relations imply weak references, other strong ones. Strong references are annotated above but you can also refer to IsRelationStrong() in geostore/base/public/relation.h.GeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.String
relationIsReversedRESERVEDGeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.boolean
temporaryDataA place for clients to attach arbitrary data to a relation. Never set in MapFacts.GeostoreRelationProtoThis message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto’s related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.Proto2BridgeMessageSet
metadataField-level metadata for this restriction group.GeostoreRestrictionGroupProtoA restriction group represents common properties of a set of restrictions on segments that are associated with the same underlying cause across a geographic region. Every segment referenced by this restriction group should have at least one restriction that refers backs to this restriction group. The standard feature properties have the following interpretations: name – A name that represents the name for this restriction group. kg_property – A reference back to a KG event in case this restriction group belongs to an event in KG. /geo/type/restriction_group/associated_event contains a mid to the associated event.GeostoreFieldMetadataProto
segmentFeatureId of all segments that have a RestrictionProto referring back to this RestrictionGroup.GeostoreRestrictionGroupProtoA restriction group represents common properties of a set of restrictions on segments that are associated with the same underlying cause across a geographic region. Every segment referenced by this restriction group should have at least one restriction that refers backs to this restriction group. The standard feature properties have the following interpretations: name – A name that represents the name for this restriction group. kg_property – A reference back to a KG event in case this restriction group belongs to an event in KG. /geo/type/restriction_group/associated_event contains a mid to the associated event.list(GeostoreFeatureIdProto)
autonomousDrivingProductsThe restriction only applies in these specific autonomous driving product scenarios. NOTE: This should only be set on restrictions with TRAVEL_AUTONOMOUS_VEHICLE travel mode.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangelist(String)
intersectionGroupActually *required* if style=STYLE_IN_OUT, otherwise forbidden. Typically the intersection group type is artifact, but either artifact or logical groups can be used for STYLE_IN_OUT restrictions.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeGeostoreFeatureIdProto
metadataField-level metadata for this restriction.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeGeostoreFieldMetadataProto
restrictionGroupRestriction group this restriction belongs to.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeGeostoreFeatureIdProto
restrictionTokenA token that can be used to identify the version of the data about this restriction.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeString
scheduleWhen specified, restriction applies only at particular times (operating hours or times of the year: reversing lanes, seasonal roads, no left turns from 3-5pm Mon-Fri except holidays). Otherwise, restriction is in effect at all times.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeGeostoreTimeScheduleProto
scopeThe scope that the restriction applies to. – SCOPE_DIRECTION means the segment/sibling pair is restricted in the direction of the segment that contains this RestrictionProto. For segment/sibling pairs with pedestrian facilities (and thus side-of-road routing) the RestrictionProto restricts both facilities in the direction of the segment (assuming that the restriction applies to travel mode TRAVEL_PEDESTRIAN). – SCOPE_SIDE means the RestrictionProto applies only to the side of road that the containing segment represents. That sibling’s pedestrian facility is restricted in both directions. Schema constraints: – SCOPE_SIDE must be set if and only if travel_mode == [TRAVEL_PEDESTRIAN] and the segment containing the restriction has the pedestrian_facility field set and is not set to PEDESTRIAN_FACILITY_UNKNOWN. Such restrictions must have no subpath. – All other restrictions must have this field set to SCOPE_DIRECTION (whether explicitly or implicitly). This distinction is necessary for cases such as pedestrian facility on one-way segment/sibling roads. NOTE: This field only makes sense in the context of segment restrictions, not lane restrictions.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeString
styleRestriction Style defines the semantics of the subpath field, as defined above in the documentation of subpath.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeString
subpath“subpath” specifies the GeoStore segments that this restriction applies to, according to the restriction_style field below. Segments that are referenced by this subpath field also refer to this feature back via the same subpath field. For all styles of restriction, all segments in the subpath must have identical copies of the restriction. In other words, restrictions are duplicated along every segment in the subpath. Note that subpaths of length 1 do not have any purpose and are disallowed. Note that it is possible to represent restrictions either using STYLE_CONTIGUOUS, or depending on the length of the subpath, one of the more specific STYLE_SINGLE, STYLE_TURN, or STYLE_IN_OUT. New code should use the more specific alternatives if possible, as they support instant updates. For restriction_style == STYLE_CONTIGUOUS (the default): “subpath” can either be empty, for a single-segment restriction, or it specifies exactly the sequence of segments which this restriction applies to. The subpath may be used to specify a turn restriction (a subpath of length 2) or to prohibit more complex maneuvers. For example, when merging onto a road from the right-hand side it may not be possible to make an immediate left turn due to insufficient time to cross the intervening lanes or the presence of a physical barrier. This would be indicated by a subpath restriction of length 3 or more. For restriction_style == STYLE_SINGLE: The subpath field of the Restriction must be empty. The restriction applies only to the segment it is attached to. There must not be an intersection group specified. For restriction_style == STYLE_TURN: The subpath field of the Restriction must contain exactly two segments. The first is called the “in_segment”, the second is the “out_segment”. They must be contiguous, i.e. the end intersection of the in_segment is the start intersection of the out_segment. The restriction applies only to a direct maneuver from the in_segment to the out_segment. Other paths from the in_segment to the out_segment are not restricted. There must not be an intersection group specified. For restriction_style == STYLE_IN_OUT: The subpath field of the Restriction must contain exactly two segments. The first is called the “in_segment”, the second is the “out_segment”. Note that the two segments define paths, but may not actually be one. The end intersection of the in_segment must be in an intersection group which also contains the start intersection of the out_segment. The in- and out-segments are not required to be adjacent, but may be. Either way, the restriction applies to any path from the in_segment to the out_segment through the intersection group, not just direct turns. The intersection_group must be specified. Note that clients which read restrictions and need to know which paths are restricted by a given IN_OUT restriction must expand the IN_OUT restriction by finding all paths through the intersection group from the in_segment to the out_segment.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangelist(GeostoreFeatureIdProto)
temporaryDataA place for clients to attach arbitrary data to a restriction. Never set in MapFacts.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeProto2BridgeMessageSet
travelModeRestriction applies only to the given travel modes. This field should always be set, but may be missing in old data. WARNING: Restrictions with no travel modes are DEPRECATED. Historically, no travel modes has meant “all travel modes”, except they didn’t really even mean that, because Pathfinder would use a complex set of heuristics to interpret the “correct” travel modes. Pathfinder currently (last updated August 2013) has heuristics to cope with incomplete data that reduce or extend application of the specified restrictions to pedestrians or bicycles. We are actively working to remove these heuristics and replace them with explicit, correct travel modes in the data. See b/8746491.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangelist(String)
typeLINT.ThenChange(//depot/google3/google/geo/entities/v1/fields/segment.proto) clang-format on The type of restriction. This is not a condition, but rather tells you what kind of restriction it is. This field should always be set.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeString
vehicleAttributeFilterThe restriction only applies to vehicles that meet all of the attributes defined here. If this is empty, it does not affect the scope of the restriction.GeostoreRestrictionProtoA restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction “no turns 3-5pm except buses” would have two conditions: “time is 3-5pm” and “vehicle is not a bus”. If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a “repeated” element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don’t contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChangeGeostoreVehicleAttributeFilterProto
fieldWithRightsGeostoreRightsStatusProtoProto used to represent rights for FeatureProto. See go/geo-rights for more details. NOTE: Use google3/geostore/provenance/public/rights.h or google3/java/com/google/geostore/provenance/rights/Rights.java instead of accessing this proto directly.list(GeostoreFieldWithRightsProto)
timeScheduleSpecifies what times the information is applicable. This can be specific times (3-5 PM) or days of the week (Mon – Fri), as well as more general times like school hours, dusk to dawn, etc. If no value is set, the restriction is applicable at all times.GeostoreRoadConditionalProtoA RoadConditionalProto defines conditions that affect when the road traversal information is applicable.GeostoreTimeScheduleProto
vehicleAttributeAdditional attributes that apply to the applied vehicle types.GeostoreRoadConditionalProtoA RoadConditionalProto defines conditions that affect when the road traversal information is applicable.GeostoreVehicleAttributeFilterProto
vehicleTypeRestrictions applying to specific types of vehicles.GeostoreRoadConditionalProtoA RoadConditionalProto defines conditions that affect when the road traversal information is applicable.list(String)
monitoredRoadThe TYPE_ROAD segment features that this road monitor may observe.GeostoreRoadMonitorProtoA road monitor is a device that observes traffic for road violations like speeding or running a red light. These are modeled within MapFacts so that navigation services can warn users when they drive along road segments that are monitored.list(GeostoreFeatureIdProto)
featureIdThe id of the feature referred to by this component, typically the route or locality feature this sign points towards. In the ASCII art example above, this field would contain the id for the routes A11 and E50 and the localities Chartres and Paris in the corresponding component.GeostoreRoadSignComponentProtoBelow is some horrible ASCII art and a description of the components of a road sign. +——————-+ | A11 E50 Paris | | Chartres | +——————-+ This sign would be composed of four components (all of them text components, the only option we support for now). The three in the first row would all have a “major_position” of zero. Their “minor_position” values would be zero for “A11”, one for “E50”, and two for “Paris”. The component in the second row would have “major_position” value of one. This message provides the details of a single component of a road sign. A component defines its position within a sign, its type, and its content.GeostoreFeatureIdProto
featureTypeThe type of the feature referred to by this component. If feature_id is specified type of that feature should be the same as this field.GeostoreRoadSignComponentProtoBelow is some horrible ASCII art and a description of the components of a road sign. +——————-+ | A11 E50 Paris | | Chartres | +——————-+ This sign would be composed of four components (all of them text components, the only option we support for now). The three in the first row would all have a “major_position” of zero. Their “minor_position” values would be zero for “A11”, one for “E50”, and two for “Paris”. The component in the second row would have “major_position” value of one. This message provides the details of a single component of a road sign. A component defines its position within a sign, its type, and its content.integer
majorPositionThis is the “major” position of this component within the set of components that make up a sign. This number can be thought of as the “row” of the sign on which the component appears, but no guarantees are made that there is a one-to-one mapping between “major_position” and the rows of information on the actual sign being modeled. A “major_position” value of zero would indicate that the component is near the top of the sign.GeostoreRoadSignComponentProtoBelow is some horrible ASCII art and a description of the components of a road sign. +——————-+ | A11 E50 Paris | | Chartres | +——————-+ This sign would be composed of four components (all of them text components, the only option we support for now). The three in the first row would all have a “major_position” of zero. Their “minor_position” values would be zero for “A11”, one for “E50”, and two for “Paris”. The component in the second row would have “major_position” value of one. This message provides the details of a single component of a road sign. A component defines its position within a sign, its type, and its content.integer
minorPositionThis is the position of a component within the components of a sign that share a common “major_position”. It can be though of as the “column” of the component, but like “major_position”, no guarantees are made regarding its mapping to reality. For data sources that don’t provide enough information to determine a component’s major and minor positions, major position should be populated and minor position should not be present. A “minor_position” value of zero would indicate that the component is near the “beginning” of the sign. In countries where signs are read from left to right, “minor_position” zero would be near the left side of the sign.GeostoreRoadSignComponentProtoBelow is some horrible ASCII art and a description of the components of a road sign. +——————-+ | A11 E50 Paris | | Chartres | +——————-+ This sign would be composed of four components (all of them text components, the only option we support for now). The three in the first row would all have a “major_position” of zero. Their “minor_position” values would be zero for “A11”, one for “E50”, and two for “Paris”. The component in the second row would have “major_position” value of one. This message provides the details of a single component of a road sign. A component defines its position within a sign, its type, and its content.integer
routeDirectionThe direction of traffic for the referenced TYPE_ROUTE feature.GeostoreRoadSignComponentProtoBelow is some horrible ASCII art and a description of the components of a road sign. +——————-+ | A11 E50 Paris | | Chartres | +——————-+ This sign would be composed of four components (all of them text components, the only option we support for now). The three in the first row would all have a “major_position” of zero. Their “minor_position” values would be zero for “A11”, one for “E50”, and two for “Paris”. The component in the second row would have “major_position” value of one. This message provides the details of a single component of a road sign. A component defines its position within a sign, its type, and its content.String
semanticTypeThe semantic type of sign.GeostoreRoadSignComponentProtoBelow is some horrible ASCII art and a description of the components of a road sign. +——————-+ | A11 E50 Paris | | Chartres | +——————-+ This sign would be composed of four components (all of them text components, the only option we support for now). The three in the first row would all have a “major_position” of zero. Their “minor_position” values would be zero for “A11”, one for “E50”, and two for “Paris”. The component in the second row would have “major_position” value of one. This message provides the details of a single component of a road sign. A component defines its position within a sign, its type, and its content.String
textIf this sign component is of type “TYPE_TEXT”, this field contains the text of the component. A NameProto is used to allow language and flags to be associated with the text.GeostoreRoadSignComponentProtoBelow is some horrible ASCII art and a description of the components of a road sign. +——————-+ | A11 E50 Paris | | Chartres | +——————-+ This sign would be composed of four components (all of them text components, the only option we support for now). The three in the first row would all have a “major_position” of zero. Their “minor_position” values would be zero for “A11”, one for “E50”, and two for “Paris”. The component in the second row would have “major_position” value of one. This message provides the details of a single component of a road sign. A component defines its position within a sign, its type, and its content.GeostoreNameProto
componentThe list of components for a single road sign. A sign may be composed of multiple components, each with its own position and content.GeostoreRoadSignProtoA RoadSignProto holds the details of a road sign. Currently this is simply a list of the items that appear on the sign and their relative position.list(GeostoreRoadSignComponentProto)
displayPreferenceclang-format onGeostoreRouteAssociationProtoThis protocol buffer holds metadata about the association between a segment and a route.String
metadataField-level metadata for the route association.GeostoreRouteAssociationProtoThis protocol buffer holds metadata about the association between a segment and a route.GeostoreFieldMetadataProto
routeIdentifies the route feature to which this metadata applies. This is one of the routes the segment refers to via the SegmentProto.route field.GeostoreRouteAssociationProtoThis protocol buffer holds metadata about the association between a segment and a route.GeostoreFeatureIdProto
routeDirectionThe direction of the TYPE_ROUTE feature in this route association. A small number of countries (mostly just the United States, Mexico, and Canada) use directional routes. For example, in the United States highway US-1 is referred to as US-1 North or US-1 South on the sides where flow of traffic moves in those directions.GeostoreRouteAssociationProtoThis protocol buffer holds metadata about the association between a segment and a route.String
childTypeThe feature type of the route children. Should be set if and only if all children are of the same feature type.GeostoreRouteProtoA route is a collection of segments that forms a logical group – usually a named road or highway. Segments can belong to more than one route, and the segments of one route may be a subset of the segments of another route (e.g. I-5 N is a subset of I-5). Segments in the collection that define the route do not need to constitute a single uninterrupted line, there can be disconnects. The standard feature properties are interpreted as follows: name – Routes should have one or more names. (While unnamed roads certainly exist in the real world, we choose not to create route features for such roads. Instead, the unnamed segments are merely not part of any route.) address – This should always be empty. type – Specifies a particular route subtype, see feature.proto. point – This should always be empty. polyline – This should always be empty. polygon – This should always be empty. child – The pairs of segments that belong to this route (a given route should always reference segments in both travel directions).integer
typeGeostoreSchoolDistrictProtoThis protocol buffer holds school district specific attributes for features of TYPE_SCHOOL_DISTRICT.String
subpathSpecifies a sequence of feature ids of GeoStore segments. The feature ids are ordered. The path “AB” is not the same as the path “BA”. The segments along the path are assumed to be connected via the appropriate intersections. The segment features that are referenced by this subpath refer to this feature back via the road_sign field in segment proto extension.GeostoreSegmentPathProtoA segment path describes a path through a short set of segments. The segment path can be used for any purpose. At the moment, only TYPE_ROAD_SIGN features can have associated segment paths: The segment path lists the segments that refer to the sign. These are the segments for which the sign is applicable. The sign’s physical location is independent of the segments in the path.list(GeostoreFeatureIdProto)
surfaceclang-format on LINT.ThenChange(//depot/google3/geostore/base/proto/lane.proto) Specific lanes may override this segment-level surface type.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
visibleLandmarkA collection of landmarks that are visible when traveling along this segment and useful for wayfinding to users following routes using this segment. The landmark need not be on the segment. Each segment in a pair of siblings specifies its landmarks independently. A landmark applicable to both appears in both.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreLandmarkReferenceProto)
advisoryMaximumSpeedGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreAppliedSpeedLimitProto)
constructionStatusGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
bicycleFacilityclang-format onGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
barrierclang-format onGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
coveredWhether the segment is covered by a roof etc. If this field is missing, the status is unknown.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————boolean
endpointMetadataField-level metadata for the endpoint.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
distanceToEdgeMetadataField-level metadata for distance_to_edge.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
pedestrianFacilityclang-format onGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
constructionBeginDateIf known, the date that construction is scheduled to begin.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreDateTimeProto
constructionStatusMetadataField-level metadata for the construction status.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
bicycleSafetyGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
usageclang-format on LINT.ThenChange(//depot/google3/maps/pathfinder/pgraph/pgraph-segment-categories.cc)GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
avgSpeedKphMetadataField-level metadata for the average speed.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
barrierMetadataField-level metadata for the barrier.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
roadMonitorThe road monitors that monitor this segment for traffic violations.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreFeatureIdProto)
altitudeRESERVEDGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(number)
sweepThe geometric sweeps between this segment and nearby segments, used for real road width rendering. A sweep describes the surface that connects to segments.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreSweepProto)
maxPermittedSpeedKphLINT.IfChange(speed_limits) The maximum speed that is permitted on this segment, in kilometers per hour. This should be the segment’s legal speed limit; however, note that it may contain estimated values based on country-wide defaults and other heuristics (see ‘is_max_permitted_speed_derived’ below). Before exposing this field to users as the legal speed limit please consult with Google lawyers.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————number
pedestrianGradeGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
distanceToEdgeAverage distance between the segment’s polyline and edge of the road on this side in meters. It need not be equal to the sum of width of all lanes in this direction. This width includes on-street bicycle lanes but excludes off-street lanes such as sidewalks. The edge of the road is the rightmost edge for segments in right side driving countries and leftmost edge for left side driving countries. Width of the road is sum of this and sibling’s distance_to_edge.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————number
pedestrianCrossingDefines the pedestrian crossing(s) between the end point of this segment and the start point of this segment’s sibling.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostorePedestrianCrossingProto
tollRoadIf this segment is part of a toll road. It would be nice to have data about the toll cost, locations of toll booths, and so forth. Sadly, we don’t have this data at this time.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————boolean
constructionEndDateIf known, the date that construction is scheduled to end.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreDateTimeProto
conditionMetadataField-level metadata for the condition.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
routeThe route(s) to which this segment belongs.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreFeatureIdProto)
roadSignThe road sign(s) which this segment refers to. These are features of TYPE_ROAD_SIGN that are applicable to this segment. For example, a sign that says “TO KIRKLAND” might apply to several segments on a freeway off-ramp (until the end of the ramp). Note that this field makes it easy to find the signs for a given road segment. The feature for the sign lists the segments that refer to it.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreFeatureIdProto)
onRightSpecifies whether this segment carries right-hand traffic (cars keep to the right side of the road) instead of left-hand traffic (cars keep to the left side). This is true for US roads and false for UK roads, for example. See go/wikip/Left-_and_right-hand_traffic.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————boolean
rampMay only be set when the segment’s usage is `USAGE_RAMP`.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreSegmentProtoRampProto
surfaceMetadataField-level metadata for the surface.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
conditionGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
edgeFollowsSegmentEndFractionGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————number
routeAssociationHolds metadata about the associations between this segment and the route features listed in the route field. This metadata need not be present; the only consistency requirement is that every feature ID that appears inside ‘route_association’ must also appear in the repeated ‘route’ field. If a route does not appear in route_association, consumers should assume that it has a default initialized RouteAssociationProto.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreRouteAssociationProto)
internalInternal-only data.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreInternalSegmentProto
endpointclang-format onGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
elevationMetadataField-level metadata for the elevation.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
gradeLevelDetailed information about grade levels along the segment. If a GradeLevelProto is not present for any point (index) along the segment, the default grade level is zero. In between two points (indexes), the grade level of the segment is taken to be the max of the grade levels on either side of it. See gradelevel.proto for semantics of repeated indexes.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreGradeLevelProto)
priorityLINT.ThenChange(//depot/google3/maps/pathfinder/pgraph/pgraph-segment-categories.cc)GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
interpolationOffsetMetersIf specified, the perpendicular offset in meters from a road segment to an interpolated address along that road segment. See go/synthetic-address-positions.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————number
slopeEach slope instance is tied to a point along the segment polyline (unrelated to the vertices in the segment’s polyline) and represents the slope of the segment between that point and the point tied to the next slope istance, or the end of the segment if it’s the last slope instance. A segment should have at least one slope.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreSlopeProto)
legalMinimumSpeedLINT.ThenChange(//depot/google3/geostore/base/internal/segment.cc:has_speed_limit)GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreAppliedSpeedLimitProto)
intersectionThe intersection feature corresponding to the destination of this segment. Intersections are used to represent the connectivity between segments. Each intersection stores the segment ids of all the incoming and outgoing segments that meet at that intersection. Turns can be made from this segment to any of the outgoing segments of its intersection, unless there is a restriction that explicitly disallows the turn (see below). Every segment has an intersection object, even if there are no other segments to connect to (i.e., a cul-de-sac or dead end).GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFeatureIdProto
siblingThe other segment of this segment pair (see above). The segment that is referenced by the sibling field refers to this feature back via the same sibling field. Both segment and sibling should have the same properties such as geometry, country code, elevation, level relation, priority etc. Since routes are required to have segment and sibling at the same time, the set of routes on a segment is same to that of the sibling.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFeatureIdProto
isMaxPermittedSpeedDerivedSpecifies whether the max_permitted_speed_kph was derived from a heuristic as opposed to coming from an authoritative source.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————boolean
laneDetailed information about each lane in this direction, if available. Lanes are numbered from inside of the road outward, i.e. the lane next to the center line has lane_number 0. Note that lanes that are valid for travel in both directions appear in both segments of a segment pair (left turn lanes, one-lane roads, some passing lanes, reversing lanes). Some lanes may not be usable by cars, such as bike lanes. Also, some lanes may not exist along the entire segment, e.g. left- or right-turn lanes that appear just before the intersection.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreLaneProto)
maxPermittedSpeedKphMetadataField-level metadata for the maximum permitted speed.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
avgSpeedKphThe average speed that should be expected along this route under normal conditions, in kilometers per hour. (Hopefully we’ll replace this with something a lot more sophisticated.)GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————number
separatedRoadwaysIndicates whether the segment’s opposing lanes of traffic are separated from this segment, and hence have been represented in a separate feature. This means that there are two pairs of siblings instead of one.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————boolean
edgeFollowsSegmentBeginFractionThese indicate for what portion of the segment does the outer curb of the segment follow the segment polyline – i.e., where do the sweep curves connect along the outer curb. If unspecified, may be assumed to be equal to lane retraction, preferring outermost lane.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————number
priorityMetadataField-level metadata for the priority.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————GeostoreFieldMetadataProto
legalMaximumSpeedThe legal maximum, legal minimum, and advisory (recommended but non-legally binding) maximum speed limits that are permitted on this segment. These should be the segment’s legal limits; however, note that it may contain estimated values based on country-wide defaults and other heuristics (see ‘AppliedSpeedLimitProto.trust_level’). Before exposing these fields to users as the legal speed limit please consult with Google lawyers.GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreAppliedSpeedLimitProto)
restrictionThe set of restrictions that apply to this segment. Restrictions may make a single segment, turn, or more complex maneuver along a set of segments unroutable for the specified travel modes, or may only add penalties or warnings, depending on the restriction type. Turn restrictions are one example of a restriction. By default, turns are allowed onto all outgoing segments from this segment’s intersection (including the sibling of this segment, i.e. U-turns are allowed by default). If any of these turns are disallowed they will be listed as “subpath restrictions”. A subpath restriction disallows travel on given sequence of segments. In the case of a disallowed turn, the subpath simply consists of the source and destination feature ids. There may also be restrictions that apply to all travel on this segment (e.g. chains required, or closed in winter), or restrictions that just apply to certain lanes (e.g. high occupancy vehicle lanes).GeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————list(GeostoreRestrictionProto)
elevationclang-format onGeostoreSegmentProto————————————————————————— WARNING – if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: – ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. – consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. – update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. —————————————————————————String
maxConnectedPriorityThe highest priority of any TYPE_ROAD endpoint segment which is transitively connected to this ramp via other ramp segments. For instance, if we have two roads connected through a series of ramps (omitting intersections): Road(P=96)-> Ramp 1 -> Ramp 2 -> Ramp 3 -> Road(P=122) -> Road(P=144) The `max_connected_priority` of all three intermediary ramps is 122. It’s not 144, since Road(P=144) is connected through another road, not a ramp. This differs from the usual `SegmentProto.priority` field, which contains the lowest priority across any connected road segment.GeostoreSegmentProtoRampProtoEncapsulates ramp-specific properties.String
servedFeatureThe features that make up the service area for this establishment. These features are subject to the following constraints applied by editing middleware (notably, not strictly enforced by lints in storage): 1. The following feature types (and their subtypes) may be used: + TYPE_ISLAND + TYPE_POLITICAL, except the following prohibited subtypes: – TYPE_CONSTITUENCY – TYPE_LAND_PARCEL + TYPE_POSTAL 2. There is a maximum limit (currently 20) to the number of areas which may be provided. This is due to serving efficiency limitations. 3. There are no additional geometry requirements for these features beyond the requirements based on the feature types above. In practice this means that these features will either have polygonal or point-based geometries. 4. These referenced features are generally required to have names, though this is not strictly enforced.GeostoreServiceAreaProtoThis proto represents the geographic area served by an establishment. WARNING: This proto is not meant to be used directly. Please use the provided libraries. http://google3/geostore/base/public/service_area.h http://google3/java/com/google/geostore/base/ServiceArea.javalist(GeostoreFeatureIdProto)
idReference to a Transit POI feature (gcid:transit_station) or platform compound section (gcid:railway_platform) serviced by the line variant.GeostoreServicedStopProtoDefines an ordered reference to a line variant’s stop.GeostoreFeatureIdProto
indexAn index representing the order in which the above station is serviced by the line variant.GeostoreServicedStopProtoDefines an ordered reference to a line variant’s stop.integer
typeGeostoreSkiBoundaryProtoThis protocol buffer holds attributes for features of TYPE_SKI_BOUNDARY.String
typeclang-format onGeostoreSkiLiftProtoThis protocol buffer holds attributes for features of TYPE_SKI_LIFT.String
difficultyGeostoreSkiTrailProtoThis protocol buffer holds attributes for features of TYPE_SKI_TRAIL.String
typeGeostoreSkiTrailProtoThis protocol buffer holds attributes for features of TYPE_SKI_TRAIL.String
slopeValueSlope value as elevation change divided by horizontal distance, in the format of decimal, e.g., ‘0.1234’ means a 12.34% slope. If a slope_value is unset, it indicates we don’t have enough information to compute slope at this location.GeostoreSlopeProtonumber
startPointFractionIndicates how far along the segment this slope value starts to apply, in the format of decimal between 0 and 1.GeostoreSlopeProtonumber
baseGaiaIdWARNING: Please do NOT introduce new uses; treat this field as if it were deprecated.GeostoreSocialReferenceProtoMapFacts GAIA ID assigned to this feature. These values are virtual GAIA IDs from MapFacts, and as such are not stored in Focus.String
claimedGaiaIdGAIA ID used when a business has been claimed. This value is a robot GAIA ID. Robots are a special type of GAIA account used to denote identity for a user or a group of users, but are not logged-in directly by a user.GeostoreSocialReferenceProtoMapFacts GAIA ID assigned to this feature. These values are virtual GAIA IDs from MapFacts, and as such are not stored in Focus.String
gaiaIdForDisplayWARNING: Please do NOT introduce new uses; treat this field as if it were deprecated.GeostoreSocialReferenceProtoMapFacts GAIA ID assigned to this feature. These values are virtual GAIA IDs from MapFacts, and as such are not stored in Focus.String
attributionUrlThis is the URL of a page representing all the data from this source in this feature. It may have be the ultimate source of the data (in case of scraping) or merely the same data styled according the provider’s taste. There is a similar field in DataSourceProto which is NOT cached in this field, since it has a different meaning.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.list(GeostoreUrlProto)
collectionDateThe time that this particular piece of data was collected. If different attributes were collected on different dates, this is the date of the most recent edit.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.GeostoreDateTimeProto
cookieA source info may have a magic cookie whose content and semantics are defined by the specific import process or third-party feed. For feeds that are processed by Distillery, the cookie, when set, should contain the unique identifier for the feature as provided by the feed.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.String
datasetThe dataset from which this SourceInfoProto was created. The content of this string will be determined by the data provider (e.g. for MultiNet data, “fra” would indicate the dataset for France). This field is unnecessary for providers that deliver a single dataset per release (e.g. Basarsoft).GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.String
gaiaIdThe Gaia ID of the user who provided us with this data. This field should never be set on source infos present on features, but may be set on source infos present on edits. DEPRECATED: Most clients should use the “user” field instead where Gaia IDs are encrypted.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.String
impersonationUserInformation about an internal user or system that is operating on behalf of `user` by way of impersonation.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.GeostoreUserProto
layerThe name of the layer from which this SourceInfoProto was created.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.String
ogrFidThe OGR feature identifier from which this SourceInfoProto was created. This is an internal OGR record identifier and has nothing to do with any of the feature’s fields or the FeatureIdProto for the FeatureProto containing this SourceInfoProto. This field is present only for debugging purposes and possible use in the match pattern of a FeatureChangeProto designed to fix bad source data very early in the importing process.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.String
providerThe data provider from which this source info was generated. The value must be equal to the one on the TYPE_DATA_SOURCE feature referenced by this source info via the source_id reference (see above).GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.integer
rawDataA source info may optionally have a set of key-value pairs that provide “raw data” specific to that source. The types of raw data available will vary from one provider to another and should not be used in production code. Instead, new fields and/or protocol buffers should be defined to represent this information in a canonical form, and the relevant importers should be modified to populate these new fields.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.list(GeostoreRawDataProto)
releaseThe data release from which this SourceInfoProto was created. The format for this string is provider-dependent (e.g. a MultiNet release would look like “2008.01”).GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.String
sourceIdA source info may have a corresponding TYPE_DATA_SOURCE feature that describes it (provider, copyright information, date of release, etc). In the context of edits and issues, this field should not be set.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.GeostoreFeatureIdProto
temporaryDataA place for clients to attach arbitrary data to a source info. Never set in MapFacts.GeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.Proto2BridgeMessageSet
userRESERVEDGeostoreSourceInfoProtoSource infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional “raw data” that is taken directly from the provider’s format and has not been converted to a canonical form.GeostoreUserProto
levelThe level of trust for the source of the observation.GeostoreSourceTrustProtoTrust related information about the input source (feed or user) to help feature summarization. Typically, the values in this proto are either based on source’s previous observations (e.g., a blocked LBC user or a trusted feed) or their status (Google hired operator or admin user). The proto can later contain a more granular trust score or correctness probabilities. A higher enum value indicates a more trusted source. Leaving room in the value space for adding more granular enums, if they become necessary later.String
categoryThe type of speed limit.GeostoreSpeedLimitProtoA speed limit, containing both the limit and the conditions in which it applies.String
conditionThe conditions under which this speed limit is applicable. If multiple conditions are set, at least one of them must be true.GeostoreSpeedLimitProtoA speed limit, containing both the limit and the conditions in which it applies.list(GeostoreRoadConditionalProto)
sourceTypeThe source of the speed limit.GeostoreSpeedLimitProtoA speed limit, containing both the limit and the conditions in which it applies.String
speedWithUnitA constant speed limit.GeostoreSpeedLimitProtoA speed limit, containing both the limit and the conditions in which it applies.GeostoreSpeedProto
unlimitedSpeedA speed limit with no limit value. When there is no speed limit in place.GeostoreSpeedLimitProtoA speed limit, containing both the limit and the conditions in which it applies.GeostoreUnlimitedSpeedProto
variableSpeedA dynamic speed limit that can vary within a range of values based on road conditions.GeostoreSpeedLimitProtoA speed limit, containing both the limit and the conditions in which it applies.GeostoreVariableSpeedProto
speedAll speed values are stored in kilometers per hour.GeostoreSpeedProtoA speed value and unit.number
unitMapfacts only allows unit to be KILOMETERS_PER_HOUR.GeostoreSpeedProtoA speed value and unit.String
fieldPathA sequence of field selectors to be traversed starting from the root message.GeostoreStableFieldPathProtoRepresents a way to traverse nested fields by referencing their token fields. Everything starts relative to a known root message, specified externally. E.g., suppose we have a feature proto that has a lane with token 0x123 which in turn has a lane connection with token 0x456 for which we want to assert something about flowline altitudes. The field path in that case will look like: field_path: { field_num: 31 # segment } field_path: { field_num: 6 # lane version_token: “0x123” } field_path: { field_num: 8 # lane_connection version_token: “0x456” } field_path: { field_num: 3 # flow } field_path: { field_num: 1 # track } field_path: { # Note: pose is repeated. By not specifying a token we refer to all poses # in a track. field_num: 2 # pose } field_path: { field_num: 4 # altitude } This path could also be represented succinctly in a more human-friendly form as something like: segment.lane[@0x123].lane_connection[@0x456].flow.track.pose[*].altitudelist(GeostoreStableFieldPathProtoStableFieldSelector)
fieldNumField number to select.GeostoreStableFieldPathProtoStableFieldSelectorinteger
versionTokenSelect repeated field entry by its version token. If this is used, then the message referenced by field_num must have a token field annotated with the (version_token) field option. Must be omitted for leaf non-repeated fields. If unset for a repeated field, we consider this selector to apply equally to all descendants.GeostoreStableFieldPathProtoStableFieldSelectorString
otherSegmentFeatureIdThe segment feature connected to this segment via the sweep geometry.GeostoreSweepProtoThis protocol buffer represents the 2D polygon connecting two segments at an intersection. Collectively, sweep polygons represent intersections for real road width rendering. Notes: – Sweeps represent geometry between the *end* of one segment and the *end* of the other segment (modulo retraction values). – Sweeps are strongly referenced, meaning geometry is stored on both segments involved in the sweep. For example, in the diagram below, the sweep between A and B would be stored on both segment A and segment B. | B | v –A–> – Sweeps are not strictly stored on adjacent segments. Disconnected segments (e.g., segments separated by an intersection group) may also contain sweeps.GeostoreFeatureIdProto
polygonPolygonal geometry representing the area between this segment and the other segment.GeostoreSweepProtoThis protocol buffer represents the 2D polygon connecting two segments at an intersection. Collectively, sweep polygons represent intersections for real road width rendering. Notes: – Sweeps represent geometry between the *end* of one segment and the *end* of the other segment (modulo retraction values). – Sweeps are strongly referenced, meaning geometry is stored on both segments involved in the sweep. For example, in the diagram below, the sweep between A and B would be stored on both segment A and segment B. | B | v –A–> – Sweeps are not strictly stored on adjacent segments. Disconnected segments (e.g., segments separated by an intersection group) may also contain sweeps.GeostorePolygonProto
sweepCurveDescribes parameters for generating the edge of this sweep that starts at edge_follows_segment_end_fraction. The other side of the sweep should be described on the sweep present on the sibling pair.GeostoreSweepProtoThis protocol buffer represents the 2D polygon connecting two segments at an intersection. Collectively, sweep polygons represent intersections for real road width rendering. Notes: – Sweeps represent geometry between the *end* of one segment and the *end* of the other segment (modulo retraction values). – Sweeps are strongly referenced, meaning geometry is stored on both segments involved in the sweep. For example, in the diagram below, the sweep between A and B would be stored on both segment A and segment B. | B | v –A–> – Sweeps are not strictly stored on adjacent segments. Disconnected segments (e.g., segments separated by an intersection group) may also contain sweeps.GeostoreCurveConnectionProto
sweepTokenA token that can be used to identify the version of the data about this sweep.GeostoreSweepProtoThis protocol buffer represents the 2D polygon connecting two segments at an intersection. Collectively, sweep polygons represent intersections for real road width rendering. Notes: – Sweeps represent geometry between the *end* of one segment and the *end* of the other segment (modulo retraction values). – Sweeps are strongly referenced, meaning geometry is stored on both segments involved in the sweep. For example, in the diagram below, the sweep between A and B would be stored on both segment A and segment B. | B | v –A–> – Sweeps are not strictly stored on adjacent segments. Disconnected segments (e.g., segments separated by an intersection group) may also contain sweeps.String
callRateRESERVEDGeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.list(GeostorePriceRangeProto)
contactCategoryDisambiguates between the types of information or service a caller might seek when contacting this phone number.GeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.String
flagGeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.list(String)
isSharedNumberTrue if this phone number is not unique to this establishment and might be shared with other features. In case an establishment shares a phone number with a business chain of which it is a member, and the number canonically belongs to that chain, it should be marked as shared for the establishment but not shared for the chain.GeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.boolean
labelRESERVEDGeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.list(GeostoreNameProto)
languageRESERVEDGeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.list(String)
metadataField-level metadata for this telephone number.GeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.GeostoreFieldMetadataProto
number** DEPRECATED ** This is deprecated in favor of phone_number below. An internationalized representation of a phone number. See //location/country/telephonenumber.protoGeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.TelephoneNumber
phoneNumberAn internationalized representation of a phone number. See //java/com/google/i18n/phonenumbers/phonenumber.protoGeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.I18nPhonenumbersPhoneNumber
serviceLocationFeatureThe features from which this phone number can be called from. For instance, if a phone number can only be called from Europe, this field will contain a reference to the TYPE_CONTINENT feature of Europe. This field is analogous to http://kg/schema/common/phone_number/service_location. The only valid destination feature types are TYPE_CONTINENT and TYPE_POLITICAL. If empty, this phone number can be called from anywhere in Earth (this is the case for the majority of phones).GeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.list(GeostoreFeatureIdProto)
typeGeostoreTelephoneProtoThis protocol buffer is used to represent telephone numbers and related information.String
endAsOfDateThe latest when this closure may end, if the exact date is unknown. If set, the feature is operational again no later than this date.GeostoreTemporaryClosureProtoThis protocol buffer stores information related to temporary closure of a feature. The only allowed precisions for a date is PRECISION_DAY. DateTimeProto.seconds should have the lowest legal value for the desired date/time and precision. E.g. for PRECISION_MONTH, 2019-02-15 21:10:30 is not valid, it should be 2019-02-01 00:00:00 instead. NOTE: Each date is stored in UTC but should be interpreted as being in the local timezone. So clients should convert the DateTimeProto to local (civil) time using UTC+0, and then treat the result as local to the feature.GeostoreDateTimeProto
endDateRESERVEDGeostoreTemporaryClosureProtoThis protocol buffer stores information related to temporary closure of a feature. The only allowed precisions for a date is PRECISION_DAY. DateTimeProto.seconds should have the lowest legal value for the desired date/time and precision. E.g. for PRECISION_MONTH, 2019-02-15 21:10:30 is not valid, it should be 2019-02-01 00:00:00 instead. NOTE: Each date is stored in UTC but should be interpreted as being in the local timezone. So clients should convert the DateTimeProto to local (civil) time using UTC+0, and then treat the result as local to the feature.GeostoreDateTimeProto
startAsOfDateThe latest when this closure may start, if the exact date is unknown. If set, the feature is temporarily closed starting no later than this date.GeostoreTemporaryClosureProtoThis protocol buffer stores information related to temporary closure of a feature. The only allowed precisions for a date is PRECISION_DAY. DateTimeProto.seconds should have the lowest legal value for the desired date/time and precision. E.g. for PRECISION_MONTH, 2019-02-15 21:10:30 is not valid, it should be 2019-02-01 00:00:00 instead. NOTE: Each date is stored in UTC but should be interpreted as being in the local timezone. So clients should convert the DateTimeProto to local (civil) time using UTC+0, and then treat the result as local to the feature.GeostoreDateTimeProto
startDateRESERVEDGeostoreTemporaryClosureProtoThis protocol buffer stores information related to temporary closure of a feature. The only allowed precisions for a date is PRECISION_DAY. DateTimeProto.seconds should have the lowest legal value for the desired date/time and precision. E.g. for PRECISION_MONTH, 2019-02-15 21:10:30 is not valid, it should be 2019-02-01 00:00:00 instead. NOTE: Each date is stored in UTC but should be interpreted as being in the local timezone. So clients should convert the DateTimeProto to local (civil) time using UTC+0, and then treat the result as local to the feature.GeostoreDateTimeProto
languageThe external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. These strings should be treated as opaque blobs. You can use LanguageCodeConverter::FromOther to convert the string to a LanguageCode reference. You can then call methods on the LanguageCode class to extract language/script/region subtags (if any). See also http://g3doc/i18n/identifiers/g3doc/using-iii. We place extra restrictions on languages in addition to what the III library requires. See http://go/geo-schema-reference/feature-properties/languages.mdGeostoreTextAffixProtoRepresents text (with an associated language) that is affixed to the beginning and/or end of a primary text.String
prefixText to prepend to the primary text, including any necessary trailing whitespace. At least one of prefix or suffix is required.GeostoreTextAffixProtoRepresents text (with an associated language) that is affixed to the beginning and/or end of a primary text.String
suffixText to append to the end of the primary text, including any necessary leading whitespace. At least one of prefix or suffix is required.GeostoreTextAffixProtoRepresents text (with an associated language) that is affixed to the beginning and/or end of a primary text.String
pointIndicesTriangle vertex indices, each triple defines a triangle.GeostoreThreeDimensionalModelProtolist(integer)
pointsWe store a triangular mesh in indexed format. Points array.GeostoreThreeDimensionalModelProtolist(GeostorePointWithHeightProto)
durationBasedRateThe rates for this rule. Each duration_based_rate defines the costs associated with a particular duration of a stay. There must be at least one rate with range_start_seconds set to 0 and there cannot be gaps between durations (i.e. there should be no interval uncovered between 0 and the largest range_end_seconds of any duration-based rate).GeostoreTimeBasedRateProtoA rate which applies based on the precise times of utilization. Defines a rate, as well as restrictions on the start and end times which must be satisfied in order to be eligible for the rate. See go/rate-schema for more details.list(GeostoreDurationBasedRateProto)
taxIncludedIf true, tax is included in the prices in this rate. If false, additional taxes may apply.GeostoreTimeBasedRateProtoA rate which applies based on the precise times of utilization. Defines a rate, as well as restrictions on the start and end times which must be satisfied in order to be eligible for the rate. See go/rate-schema for more details.boolean
validEndWithinGeostoreTimeBasedRateProtoA rate which applies based on the precise times of utilization. Defines a rate, as well as restrictions on the start and end times which must be satisfied in order to be eligible for the rate. See go/rate-schema for more details.GeostoreTimeScheduleProto
validStartWithinTime period during which utilization of this rate must start in order to be eligible for the rate. If not set, there is no restriction on the time when the utilization starts.GeostoreTimeBasedRateProtoA rate which applies based on the precise times of utilization. Defines a rate, as well as restrictions on the start and end times which must be satisfied in order to be eligible for the rate. See go/rate-schema for more details.GeostoreTimeScheduleProto
componentTypeGeostoreTimeComponentProtoString
intervalThe time component is the intersection of these intervalsGeostoreTimeComponentProtolist(GeostoreTimeIntervalProto)
dayValid ranges are 0-7, 1-31, and 1-366 (see day_type below)GeostoreTimeEndpointProtoNot all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (“day of year” and “day of week”, for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are “smaller” than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, “smaller” units repeat within the “larger” unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. —————————————————————————– WARNING – if you add new fields to TimeEndpointProto you need to: – ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) —————————————————————————–integer
dayTypeGeostoreTimeEndpointProtoNot all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (“day of year” and “day of week”, for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are “smaller” than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, “smaller” units repeat within the “larger” unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. —————————————————————————– WARNING – if you add new fields to TimeEndpointProto you need to: – ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) —————————————————————————–String
hourValid range is 0-24. Because it could be unclear what wrapping hours mean in relation to days, 24 is used to denote midnight at the end of a day.GeostoreTimeEndpointProtoNot all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (“day of year” and “day of week”, for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are “smaller” than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, “smaller” units repeat within the “larger” unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. —————————————————————————– WARNING – if you add new fields to TimeEndpointProto you need to: – ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) —————————————————————————–integer
minuteValid range is 0-59, except when a repetitive minute interval ends at the end of an hour, in which case 60 is a legal end value.GeostoreTimeEndpointProtoNot all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (“day of year” and “day of week”, for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are “smaller” than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, “smaller” units repeat within the “larger” unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. —————————————————————————– WARNING – if you add new fields to TimeEndpointProto you need to: – ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) —————————————————————————–integer
monthGeostoreTimeEndpointProtoNot all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (“day of year” and “day of week”, for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are “smaller” than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, “smaller” units repeat within the “larger” unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. —————————————————————————– WARNING – if you add new fields to TimeEndpointProto you need to: – ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) —————————————————————————–String
secondValid range is 0-59, except when a repetitive second interval ends at the end of a minute, in which case 60 is a legal end value.GeostoreTimeEndpointProtoNot all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (“day of year” and “day of week”, for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are “smaller” than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, “smaller” units repeat within the “larger” unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. —————————————————————————– WARNING – if you add new fields to TimeEndpointProto you need to: – ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) —————————————————————————–integer
weekValid ranges are 0-5 and 1-53 (depending on the value of week_type, see below).GeostoreTimeEndpointProtoNot all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (“day of year” and “day of week”, for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are “smaller” than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, “smaller” units repeat within the “larger” unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. —————————————————————————– WARNING – if you add new fields to TimeEndpointProto you need to: – ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) —————————————————————————–integer
weekTypeGeostoreTimeEndpointProtoNot all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (“day of year” and “day of week”, for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are “smaller” than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, “smaller” units repeat within the “larger” unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. —————————————————————————– WARNING – if you add new fields to TimeEndpointProto you need to: – ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) —————————————————————————–String
yearGeostoreTimeEndpointProtoNot all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (“day of year” and “day of week”, for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are “smaller” than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, “smaller” units repeat within the “larger” unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. —————————————————————————– WARNING – if you add new fields to TimeEndpointProto you need to: – ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) —————————————————————————–integer
beginBegin and end are used to specify a range of times: [begin, end). If one is present, the other must be present as well. Additionally, both must have matching time granularities – all fields specified in the begin TimeEndpointProto must be present in the end TimeEndpointProto and vice-versa. Hours are not allowed to wrap (begin.hour() <= end.hour()).GeostoreTimeIntervalProtoGeostoreTimeEndpointProto
endGeostoreTimeIntervalProtoGeostoreTimeEndpointProto
invertedIf true, then this interval actually encodes the complement of the specified occasion or range. For example, the following TimeIntervalProto encodes all times other than the month of May. TimeIntervalProto[ type = TYPE_RANGE inverted = true begin = TimeEndpointProto[ month = MAY ] end = TimeEndpointProto[ month = JUNE ] ]GeostoreTimeIntervalProtoboolean
occasionclang-format onGeostoreTimeIntervalProtoString
typeGeostoreTimeIntervalProtoString
componentThe schedule is the union of these components.GeostoreTimeScheduleProtolist(GeostoreTimeComponentProto)
idi18n recognized time zone identifier. For the full list of identifiers, see google3/i18n/identifiers/data/timezones.txt.GeostoreTimezoneProtoA TimezoneProto holds information about a feature’s related time zone.String
metadataField-level metadata for this relation.GeostoreTimezoneProtoA TimezoneProto holds information about a feature’s related time zone.GeostoreFieldMetadataProto
intersectionThe list of gcid:toll_intersection features that this toll cluster. A toll cluster can consist of either a single or a group of intersection points called toll intersections at the end of various road segments in MapFacts that represent one or more lanes passing through a toll fixture that all go to the same routing destination. This relationship is reciprocal, as a toll intersection also stores a reference to the toll cluster it belongs to. A toll cluster must have a reference to one or more toll interections (i.e. toll_cluster.intersection should always be populated).GeostoreTollClusterProtoA collection of information that applies to a toll cluster.list(GeostoreFeatureIdProto)
tollClusterSequenceDetails the /geo/type/toll_cluster features which constitute this toll path.GeostoreTollPathProtoA TollPathProto describes the sequential travel across one or more /geo/type/toll_cluster features. Traveling across a toll path may entail paying a fee, buying a toll pass, etc (although we don’t model this in FeatureProto). To travel across a toll path, one must travel between toll clusters in the exact order specified. See go/geo-schema:toll-paths for more information.GeostoreTollPathProtoTollClusterSequence
clusterThe /geo/type/toll_cluster feature at this position.GeostoreTollPathProtoIndexedTollClusterA /geo/type/toll_cluster and its position along a toll path.GeostoreFeatureIdProto
indexThe position along the path where this cluster appears.GeostoreTollPathProtoIndexedTollClusterA /geo/type/toll_cluster and its position along a toll path.integer
indexedTollClustersThere must be at least one toll cluster in a toll path, and there may not be duplicates. For ordering, one should rely on `IndexedTollClusterProto.index`, rather than the repeated field ordering (elements may be shuffled). This is a unidirectional reference – toll clusters do not reference the toll paths they’re a part of. The toll clusters themselves may be part of multiple toll paths.GeostoreTollPathProtoTollClusterSequenceThe set of toll clusters in a toll path, along with their position in the path.list(GeostoreTollPathProtoIndexedTollCluster)
indexThe index of this TrackProto in a list of TrackProtos.GeostoreTrackProtointeger
poseThe instantaneous pose of points along this track. The fields set inside each pose must be set consistently along the track.GeostoreTrackProtolist(GeostorePoseProto)
agencyThe transit agencies responsible for operating this line. All lines should have at least one agency, and most will have exactly one. The following cases are reasons for multiple agencies: – Code share: Two or more agencies share trips – Alternations: Each trip is run by one of multiple agencies – Additional: All trips run by one agency, but a second one sells tickets In all cases the order has no meaning. Clarification comes from the trips.GeostoreTransitLineProtoA transit line is a named set of transit trips that are advertised to passengers under a common name, and a number of attributes that are true for all those trips. There is no requirement for each trip to travel through the same list of stops or use the same legs, so a line can contain trips in opposite directions or with variations in the sequence of stops. See go/oysterpedia for an overview of the transit feature types. The standard feature properties are interpreted as follows: name – The names of this line, including both long and short names, if available. Short names like “10” or “Blue” should carry the FLAG_ABBREVIATED, long names like “Dublin/Pleasanton line” should not. The preferred name (one per language) for displaying the line on its own (e.g., as a search result for the line) should carry the FLAG_PREFERRED. website – The official web page describing this line. Repeated if multilingual. Line features have no geometry (neither points nor polylines nor polygons). Within Transit Oyster, geometry can be found in legs. Additional data only in Transit Oyster: child – The legs of this line, in no particular order. source_info – Specifies the GTFS routes that match this feature. Each is given as a PROVIDER_GOOGLE_TRANSIT source_info where dataset is the feed name and cookie is the route_id.list(GeostoreFeatureIdProto)
labelBackgroundColorThe background color of labels for that transit line. The encoding is like in HTML or CSS, eg. 0x11ff00 means a bit of red, full green, no blue, in sRGB color space. The most significant byte must be zero, i.e. no transparency.GeostoreTransitLineProtoA transit line is a named set of transit trips that are advertised to passengers under a common name, and a number of attributes that are true for all those trips. There is no requirement for each trip to travel through the same list of stops or use the same legs, so a line can contain trips in opposite directions or with variations in the sequence of stops. See go/oysterpedia for an overview of the transit feature types. The standard feature properties are interpreted as follows: name – The names of this line, including both long and short names, if available. Short names like “10” or “Blue” should carry the FLAG_ABBREVIATED, long names like “Dublin/Pleasanton line” should not. The preferred name (one per language) for displaying the line on its own (e.g., as a search result for the line) should carry the FLAG_PREFERRED. website – The official web page describing this line. Repeated if multilingual. Line features have no geometry (neither points nor polylines nor polygons). Within Transit Oyster, geometry can be found in legs. Additional data only in Transit Oyster: child – The legs of this line, in no particular order. source_info – Specifies the GTFS routes that match this feature. Each is given as a PROVIDER_GOOGLE_TRANSIT source_info where dataset is the feed name and cookie is the route_id.integer
labelTextColorThe text color of labels for that transit line. Encoding like label_background_color.GeostoreTransitLineProtoA transit line is a named set of transit trips that are advertised to passengers under a common name, and a number of attributes that are true for all those trips. There is no requirement for each trip to travel through the same list of stops or use the same legs, so a line can contain trips in opposite directions or with variations in the sequence of stops. See go/oysterpedia for an overview of the transit feature types. The standard feature properties are interpreted as follows: name – The names of this line, including both long and short names, if available. Short names like “10” or “Blue” should carry the FLAG_ABBREVIATED, long names like “Dublin/Pleasanton line” should not. The preferred name (one per language) for displaying the line on its own (e.g., as a search result for the line) should carry the FLAG_PREFERRED. website – The official web page describing this line. Repeated if multilingual. Line features have no geometry (neither points nor polylines nor polygons). Within Transit Oyster, geometry can be found in legs. Additional data only in Transit Oyster: child – The legs of this line, in no particular order. source_info – Specifies the GTFS routes that match this feature. Each is given as a PROVIDER_GOOGLE_TRANSIT source_info where dataset is the feed name and cookie is the route_id.integer
stationsThe transit stations (establishment POIs with gcid:transit_station) which this transit line can go through, in no particular order. Usage note: The source of truth are the transit leg features in Transit Oyster. In MapFacts, that information is cached in two locations: in this field, and in transit station attachments on POIs. Do not assume these locations are always up to date and/or synchronized with each other.GeostoreTransitLineProtoA transit line is a named set of transit trips that are advertised to passengers under a common name, and a number of attributes that are true for all those trips. There is no requirement for each trip to travel through the same list of stops or use the same legs, so a line can contain trips in opposite directions or with variations in the sequence of stops. See go/oysterpedia for an overview of the transit feature types. The standard feature properties are interpreted as follows: name – The names of this line, including both long and short names, if available. Short names like “10” or “Blue” should carry the FLAG_ABBREVIATED, long names like “Dublin/Pleasanton line” should not. The preferred name (one per language) for displaying the line on its own (e.g., as a search result for the line) should carry the FLAG_PREFERRED. website – The official web page describing this line. Repeated if multilingual. Line features have no geometry (neither points nor polylines nor polygons). Within Transit Oyster, geometry can be found in legs. Additional data only in Transit Oyster: child – The legs of this line, in no particular order. source_info – Specifies the GTFS routes that match this feature. Each is given as a PROVIDER_GOOGLE_TRANSIT source_info where dataset is the feed name and cookie is the route_id.list(GeostoreFeatureIdProto)
vehicleTypeThe type of vehicle that applies to all trips that use this line.GeostoreTransitLineProtoA transit line is a named set of transit trips that are advertised to passengers under a common name, and a number of attributes that are true for all those trips. There is no requirement for each trip to travel through the same list of stops or use the same legs, so a line can contain trips in opposite directions or with variations in the sequence of stops. See go/oysterpedia for an overview of the transit feature types. The standard feature properties are interpreted as follows: name – The names of this line, including both long and short names, if available. Short names like “10” or “Blue” should carry the FLAG_ABBREVIATED, long names like “Dublin/Pleasanton line” should not. The preferred name (one per language) for displaying the line on its own (e.g., as a search result for the line) should carry the FLAG_PREFERRED. website – The official web page describing this line. Repeated if multilingual. Line features have no geometry (neither points nor polylines nor polygons). Within Transit Oyster, geometry can be found in legs. Additional data only in Transit Oyster: child – The legs of this line, in no particular order. source_info – Specifies the GTFS routes that match this feature. Each is given as a PROVIDER_GOOGLE_TRANSIT source_info where dataset is the feed name and cookie is the route_id.String
lineConceptReference to the line variant’s line concept.GeostoreTransitLineVariantProtoA line variant is a specific instantiation of a line concept, denoted by the ordered set of stops and collection of segments that it traverses. Line variants are modeled as TYPE_ROUTE features with gcid:transit_line_variant. This proto stores line-variant-specific information that is not generally applicable to all routes. Schema Design Doc: go/transit-line-concepts-and-variantsGeostoreFeatureIdProto
stopsOrdered list of stations or platforms serviced by this line variant. The order is captured by the ServicedStopProto.index field.GeostoreTransitLineVariantProtoA line variant is a specific instantiation of a line concept, denoted by the ordered set of stops and collection of segments that it traverses. Line variants are modeled as TYPE_ROUTE features with gcid:transit_line_variant. This proto stores line-variant-specific information that is not generally applicable to all routes. Schema Design Doc: go/transit-line-concepts-and-variantslist(GeostoreServicedStopProto)
agencyAssociationsAll the transit agencies which service this station. A station can be serviced by multiple stations. There may only be one agency association per transit agency. See go/transit-agency-relation-migration for more details.GeostoreTransitStationProtoEncapsulates information related to an individual transit station.list(GeostoreTransitStationProtoTransitAgencyAssociationProto)
agencyThe transit agency which services this station.GeostoreTransitStationProtoTransitAgencyAssociationProtoThe association between this station and the agency which services this station.GeostoreFeatureIdProto
stationCodeA station code uniquely identifies a transit station within the transit agency’s network.GeostoreTransitStationProtoTransitAgencyAssociationProtoThe association between this station and the agency which services this station.String
sourceTrustTrust signals for the source of a given observation, typically based on historical evidences or status (like internal Google operator).GeostoreTrustSignalsProtoGeostoreSourceTrustProto
urlGeostoreUrlListProtoHold a list of URLs, usually to contain translations of a single URL.list(GeostoreUrlProto)
languageThe external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. We place extra restrictions on languages in addition to what the III library requires. See http://go/geo-schema-reference/feature-properties/languages.md This field represents the language of the content of the web site. It may be missing if the web site is language-independent or if the language is unknown.GeostoreUrlProtoA web location for a Feature. URLs should always be stored in repeated fields because some objects (eg. transit schedules in Brussels) have different URLs for different languages.String
metadataField-level metadata for this URL. NOTE: there are multiple UrlProto fields in the Geo Schema. Metadata here is only expected to be present on FeatureProto.website[].GeostoreUrlProtoA web location for a Feature. URLs should always be stored in repeated fields because some objects (eg. transit schedules in Brussels) have different URLs for different languages.GeostoreFieldMetadataProto
pagerank** DEPRECATED ** The pagerank of this URL. Valid values [0, 65535] See http://wiki/Main/NearestSeeds for more information.GeostoreUrlProtoA web location for a Feature. URLs should always be stored in repeated fields because some objects (eg. transit schedules in Brussels) have different URLs for different languages.integer
urlThe URL.GeostoreUrlProtoA web location for a Feature. URLs should always be stored in repeated fields because some objects (eg. transit schedules in Brussels) have different URLs for different languages.String
encryptedGaiaIdThe user Gaia ID in encrypted form. Wipeout ids take value of “” in bytes.GeostoreUserProtoUserProto identifies a (human) user of Geo Data. Its primary use is in describing the source of pieces of data (e.g. edits). It could be a simple identifier, but isn’t so that we can store it in the clear while still preventing correlation between a user’s contribution.String
encryptionKeyNameRequired. The name of the key used to encrypt the Gaia ID.GeostoreUserProtoUserProto identifies a (human) user of Geo Data. Its primary use is in describing the source of pieces of data (e.g. edits). It could be a simple identifier, but isn’t so that we can store it in the clear while still preventing correlation between a user’s contribution.String
keystoreConfigIdRequired (valid default provided). The config ID of the owner of the above encryption_key_name. This field must be set if the encryption key name is *not* “mapfacts_gaia_id_encryption_key”.GeostoreUserProtoUserProto identifies a (human) user of Geo Data. Its primary use is in describing the source of pieces of data (e.g. edits). It could be a simple identifier, but isn’t so that we can store it in the clear while still preventing correlation between a user’s contribution.integer
usernameIf possible, writers should set this to a full user email, including the domain. Readers should not assume that this is a well-formed email address. This field may only be set by Atlas, Pushpin and OneRing because they are internal tools which have a PWG exception to store textual usernames in the clear.GeostoreUserProtoUserProto identifies a (human) user of Geo Data. Its primary use is in describing the source of pieces of data (e.g. edits). It could be a simple identifier, but isn’t so that we can store it in the clear while still preventing correlation between a user’s contribution.String
axleCountA repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: “count < 4" AND "count >= 2″ means “2 <= count < 4").GeostoreVehicleAttributeFilterProtoA set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.list(GeostoreCountComparisonProto)
hasTrailerWhether the applied vehicle types have a trailer attached to them.GeostoreVehicleAttributeFilterProtoA set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.boolean
hazardousGoodsList of prohibited hazardous goods for a vehicle to carry. A repeated value here is treated as an OR operation, meaning that they may not carry ANY of the goods listed.GeostoreVehicleAttributeFilterProtoA set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.list(String)
numTrailersA repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: “count <= 4" AND "count > 2″ means “2 < count <= 4").GeostoreVehicleAttributeFilterProtoA set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.list(GeostoreCountComparisonProto)
trailerLengthA repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: “length <= 53ft" AND "length > 48ft” means “48ft < length <= 53ft").GeostoreVehicleAttributeFilterProtoA set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.list(GeostoreDimensionComparisonProto)
vehicleHeightA repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: “height > 3m” AND “height <= 5m" means "3m < height <= 5m").GeostoreVehicleAttributeFilterProtoA set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.list(GeostoreDimensionComparisonProto)
vehicleLengthA repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: “length <= 40m" AND "length > 35m” means “35m < length <= 40m").GeostoreVehicleAttributeFilterProtoA set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.list(GeostoreDimensionComparisonProto)
vehicleWeightA repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: “weight < 8T" AND "weight >= 3T” means “3T <= weight < 8T").GeostoreVehicleAttributeFilterProtoA set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.list(GeostoreWeightComparisonProto)
vehicleWidthA repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: “width < 4m" AND "width >= 2m” means “2m <= width < 4m").GeostoreVehicleAttributeFilterProtoA set of vehicle attribute conditionals (ex: weight >= 20T && num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.list(GeostoreDimensionComparisonProto)
levelThe level represents the relative vertical ordering of a feature among all overlapping features. For example, we may have features along freeway surface have level = 0, and features on an overpass have level = 1. NOTE: It’s assumed that all features have level 0 by default, so that it’s not necessary for all overlapping features to have this set.GeostoreVerticalOrderingProtoA proto representing a vertical ordering of a feature. NOTE: This shouldn’t be used if a more specific field can be used instead. E.g., for TYPE_SEGMENT features grade_level field should be preferred. For indoor features RELATION_ON_LEVEL should be preferred. See go/aboutgrades for comparison of various types of levels available.number
comparisonGeostoreWeightComparisonProtoA weight value tagged with a comparison operator.String
comparisonOperatorGeostoreWeightComparisonProtoA weight value tagged with a comparison operator.String
weightWithUnitGeostoreWeightComparisonProtoA weight value tagged with a comparison operator.GeostoreWeightProto
unitGeostoreWeightProtoA weight with a numerical value and unit.String
weightGeostoreWeightProtoA weight with a numerical value and unit.number
AnchorThere is a generic method for composing such strings. Please take a look at GoodocUtils::GenerateUniqueAnchorName(…) in ocr/goodoc/goodoc-utils.h.GoodocAnchorLabelAn anchor label can be attached to any element to give it a reference address. LogicalEntity links (see goodoc-semantics.proto) may use anchor labels to point to goodoc elements (they may also use indices to locate the element, but the indices could become invalid if the goodocs are allowed to mutate). Multiple elements may have the same anchor.String
anchorScopeGoodocAnchorLabelAn anchor label can be attached to any element to give it a reference address. LogicalEntity links (see goodoc-semantics.proto) may use anchor labels to point to goodoc elements (they may also use indices to locate the element, but the indices could become invalid if the goodocs are allowed to mutate). Multiple elements may have the same anchor.integer
HeightGoodocBoundingBoxBounding box for page structural elements: pictures, paragraphs, characters, etc.integer
LabelOptional magic label, so objects can be sorted on bounding box dimensions easilyGoodocBoundingBoxBounding box for page structural elements: pictures, paragraphs, characters, etc.integer
LeftBoundingBox coordinates and sizes are expressed in pixelsGoodocBoundingBoxBounding box for page structural elements: pictures, paragraphs, characters, etc.integer
TopGoodocBoundingBoxBounding box for page structural elements: pictures, paragraphs, characters, etc.integer
WidthGoodocBoundingBoxBounding box for page structural elements: pictures, paragraphs, characters, etc.integer
directionGoodocBoxPartitionsA way to specify a simple partitioning of a BoundingBox into a sequence of sub-boxes. +—————————————————-+ | | | | | | | span(0) | (1) | (2) | (3) | (4) | | | | | | | +—————————————————-+ This representation can, for example, be used to store coarse Symbol boundaries within a Word (see Word.CompactSymbolBoxes below) instead of per-Symbol BoundingBoxes, for saving space.integer
span“span” is width or height, determined by “direction”. If there are k partitions, then there are k – 1 “span” values, one for each except the last symbol (which is redundant).GoodocBoxPartitionsA way to specify a simple partitioning of a BoundingBox into a sequence of sub-boxes. +—————————————————-+ | | | | | | | span(0) | (1) | (2) | (3) | (4) | | | | | | | +—————————————————-+ This representation can, for example, be used to store coarse Symbol boundaries within a Word (see Word.CompactSymbolBoxes below) instead of per-Symbol BoundingBoxes, for saving space.list(integer)
BreakLabelTypeGoodocBreakLabelBreak labelinteger
isPrefixTrue if break prepends the elementGoodocBreakLabelBreak labelboolean
BaseLineThe shift of a character from the base line of the string in pixelsGoodocCharLabelFont labelinteger
CharacterHeightHeight of small characters in pixels on the source imageGoodocCharLabelFont labelinteger
ColorThe foreground color of the symbol; the default color is 0 (black)GoodocCharLabelFont labelinteger
ConfidenceSymbol recognition confidence from OCR. Range depends upon OCR Engine.GoodocCharLabelFont labelinteger
FontIdThe font ID refers to the fonts table in the document headerGoodocCharLabelFont labelinteger
FontSizeSize in points (JFYI: point is 1/72″). This is rounded to the nearest whole number.GoodocCharLabelFont labelinteger
FontSizeFloatSize in points represented as float.GoodocCharLabelFont labelnumber
FontTypeGoodocCharLabelFont labelinteger
HasUncertainHeightIf CharacterHeight is defined uncertainlyGoodocCharLabelFont labelboolean
HorizontalScaleThe horizontal scaling for a character, in percents. The default value for this property is 100, which corresponds to no scaling.GoodocCharLabelFont labelinteger
IsBoldGoodocCharLabelFont labelboolean
IsItalicGoodocCharLabelFont labelboolean
IsSmallCapsGoodocCharLabelFont labelboolean
IsStrikeoutGoodocCharLabelFont labelboolean
IsSubscriptGoodocCharLabelFont labelboolean
IsSuperscriptGoodocCharLabelFont labelboolean
IsSuspiciousIf OCR Engine marked the character as “suspicious” (this character is likely to be recognized incorrectly).GoodocCharLabelFont labelboolean
IsUnderlinedGoodocCharLabelFont labelboolean
NotOcrablePerQATrue if a QA operator has marked this as not OCRable. This is used for complex equations, scripts that the operator can’t type, or handwriting.GoodocCharLabelFont labelboolean
PenaltySymbol-level penalty from the garbage text detector. Lower is better; range = [0,100].GoodocCharLabelFont labelinteger
SerifProbabilityThe probability that a character is written with a Serif fontGoodocCharLabelFont labelinteger
EditingHistoryDebug info, recording the history of any editing done through the interface in goodoc-editing.h. The strings look like “MoveParagraph(page_index = 0, source_block_index = 3, …);GoodocDocumentTop-level representation of OCRed documentlist(String)
LogicalEntityLogical entities are stored as blobs. Depending on the kind of thing this is a goodoc of, a separate .proto file is expected to define the logical entity structure. Hence we can still parse this as a goodoc for people who dont care about this, and people who care about this can parse it specifically. ocr/goodoc/logical-entity-utils.h has methods to read and write these. See Goodoc++ docGoodocDocumentTop-level representation of OCRed documentlist(String)
LogicalEntityMessageNameThe names of the proto messages serialized in LogicalEntity, one for each LogicalEntity. The repetitions should number 0 to leave this unspecified, or they should equal the number of LogicalEntity strings.GoodocDocumentTop-level representation of OCRed documentlist(String)
SubDocumentsFor multi-goodoc documentsGoodocDocumentTop-level representation of OCRed documentlist(GoodocDocument)
headerGoodocDocumentTop-level representation of OCRed documentGoodocDocumentHeader
pageGoodocDocumentTop-level representation of OCRed documentlist(GoodocDocumentPage)
OcrEngineIdGoodocDocumentHeaderString
OcrEngineVersionGoodocDocumentHeaderString
fontGoodocDocumentHeaderlist(GoodocDocumentHeaderFont)
FontIdGoodocDocumentHeaderFontinteger
FontNameGoodocDocumentHeaderFontString
GarbageDetectorChangeListIf the garbage text detector was run, the changelist that the binary was sync’ed to (or -1 if unknown), and whether the settings had their production values (or false if unknown).GoodocDocumentPageinteger
GarbageDetectorWasProductionGoodocDocumentPageboolean
HeightHeight in pixelsGoodocDocumentPageinteger
HorizontalDpiHorizontal resolution in DPI.GoodocDocumentPageinteger
LabelGoodocDocumentPageGoodocLabel
PornScoreScore of porn classifier from analyzing images on page. Note: This should be named porn_score, but we use PornScore as the name in order to be consistent with the rest of this proto.GoodocDocumentPagefloat
TextConfidencePage text recognition confidence. Range depends on the algorithm but should be consistent in a given volume. 0 is bad, 100 is good.GoodocDocumentPageinteger
VerticalDpiVertical resolution in DPI.GoodocDocumentPageinteger
WidthWidth in pixelsGoodocDocumentPageinteger
blockGoodocDocumentPagelist(GoodocDocumentPageBlock)
mergedpageinfoGoodocDocumentPagelist(GoodocDocumentPageMergedPageInfo)
postOcrConfidenceWhether page-level text confidences and other summary data were computed by PostOcrUtils instead of the now-obsolete GarbageTextDetectorGoodocDocumentPageboolean
statsPage level stats (font size, line spacing, etc.)GoodocDocumentPageGoodocSummaryStats
BlockTypeGoodocDocumentPageBlockinteger
BoxGoodocDocumentPageBlockGoodocBoundingBox
LabelGoodocDocumentPageBlockGoodocLabel
OrientationLabelWhich way is upright for this block, and what is the reading order (applicable if there is text here).GoodocDocumentPageBlockGoodocOrientationLabel
ParagraphGoodocDocumentPageBlocklist(GoodocParagraph)
RotatedBoxIf RotatedBox is set, Box must be set as well. See RotatedBoundingBox.GoodocDocumentPageBlockGoodocRotatedBoundingBox
TextConfidenceBlock text recognition confidence. Range depends on the algorithm but should be consistent in a given volume. 0 is bad, 100 is good.GoodocDocumentPageBlockinteger
OcrEngineIdGoodocDocumentPageMergedPageInfoIf we have merged text from another goodoc into this one (for example, from a PDF text layer goodoc into an OCR’d goodoc), we record some source goodoc info here.String
OcrEngineVersionGoodocDocumentPageMergedPageInfoIf we have merged text from another goodoc into this one (for example, from a PDF text layer goodoc into an OCR’d goodoc), we record some source goodoc info here.String
fontIdCharLabel.FontId and FontSizeGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
fontSizeGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
medianHeightThe measurements are in pixelsGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
medianLineHeighttop to bottomGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
medianLineSpacebottom to next top in paraGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
medianLineSpantop to next top in paraGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
medianWidthGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
numLineSpacesLines (out of num_lines) that have a successor line within their paraGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
numLinesLine stats for this font. “top” corresponds to the highest ascender and “bottom” to the lowest descender. num_lines = # lines with > 50% symbols having this fontGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
numSymbolsGoodocFontSizeStatsStatistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbolsinteger
AnchorLabelAnchorLabel identifies a link target.GoodocLabelLabel aggregates all kinds of optional characteristics of page elements.list(GoodocAnchorLabel)
BreakLabelGoodocLabelLabel aggregates all kinds of optional characteristics of page elements.GoodocBreakLabel
CharLabelCharLabel is specifically intended for symbolsGoodocLabelLabel aggregates all kinds of optional characteristics of page elements.GoodocCharLabel
LanguageLabelLanguages used in the element (page, block, paragraph or word). Ordered by dominant-language first. Note: content scanjobs processed by the garbage_text_detector before CL 9223538 (Dec. 2008) have LanguageLabels in arbitrary order (within Page and Block elements) — the confidence value should be inspected to find the dominant language guess for these, rather than just taking the first.GoodocLabelLabel aggregates all kinds of optional characteristics of page elements.list(GoodocLanguageLabel)
SemanticLabelSemanticLabel is defined in goodoc-semantics.proto, it allows rich annotation of content, identifying the nature of page elements.GoodocLabelLabel aggregates all kinds of optional characteristics of page elements.GoodocSemanticLabel
bcp47TagBcp47 language code. Note, this is not the same as OceanCode used by goodoc::Document.GoodocLanguageCombinationLanguageWeighted languageString
weightWeight of language. This specifies how likely it is to see the language in the input text. The values don’t have to add up to 1.GoodocLanguageCombinationLanguageWeighted languagenumber
ClosestLanguageIdClosest id from i18n/languages/proto/languages.proto; caveat: may not accurately capture the language. GoodocLanguageCodeToLanguage() declared in ocr/goodoc/goodoc-utils.h may be used to convert a Language enum (i18n/languages/proto/languages.proto) to a string suitable for this field.GoodocLanguageLabelLanguage labelinteger
ConfidenceConfidence level on that language, between 0 and 100GoodocLanguageLabelLanguage labelinteger
LanguageCodeOld (Ocean) Language Code Usage: The language code is inferred during the running of the Garbage Text Detector and gets set at the paragraph, block and page level. Language code is a string of 3 or more characters. The first 3 letters specify the language, according to ISO 639. Optionally, the 3-letter code can be extended with an underscore and a language variant specifier. Specifiers exist for regional variants or for different forms of language spelling. The regional variants are specified as 2-letter country code, according to ISO 3166. Some examples: Standard “por” – Portuguese, standard “rus” – Russian, standard Regional variants: “por_br” – Portuguese, Brazilian “eng_us” – English, United States Variants of spelling: “rus_old” – Russian, old spelling “chi_tra” – Chinese, traditional “ger_new” – German, new spelling LanguageToGoodocLanguageCode() declared in ocr/goodoc/goodoc-utils.h may be used to convert a Language enum (i18n/languages/proto/languages.proto) to a string suitable for this field. New Language Code Usage: Most of the usages described above were standardized in BCP 47, and these codes are the new stanadard to be used in this field. To load either new or old language codes to form LanguageCode objects, use the function FromOceanCode() in ocr/quality/lang_util.h Note that the function ocr::FromOceanCode is capable of transforming either version of the LanguageCode to a C++ i18n_identifiers::LanguageCode.GoodocLanguageLabelLanguage labelString
MetadataGoodocLogicalEntityA logical entity in the abstract is just a group of links to the goodoc. Depending on the kind of item, a separate proto file should extend this to define the logical structure for that kind. For example. newspapers.proto defines the logical entity for newspapers. LogicalEntity is also used within some SemanticLabels, for example, for a table-of-contents link.String
linkGoodocLogicalEntityA logical entity in the abstract is just a group of links to the goodoc. Depending on the kind of item, a separate proto file should extend this to define the logical structure for that kind. For example. newspapers.proto defines the logical entity for newspapers. LogicalEntity is also used within some SemanticLabels, for example, for a table-of-contents link.list(GoodocLogicalEntityLink)
AnchorThe preferred way to link to an element is to create an AnchorLabel in the target element and name it here. Multiple elements may contain the same Anchor string.GoodocLogicalEntityLinkNOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): “The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.”String
BlockIdGoodocLogicalEntityLinkNOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): “The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.”integer
DocIdLinks may also specifically locate the target element with the following indices. Note that during the course of layout analysis, goodoc elements may move around, so such hard links should be created only very late (or not at all — Anchors would be more reliable target addresses).GoodocLogicalEntityLinkNOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): “The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.”integer
PageIdGoodocLogicalEntityLinkNOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): “The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.”integer
ParagraphIdGoodocLogicalEntityLinkNOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): “The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.”integer
RouteIdGoodocLogicalEntityLinkNOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): “The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.”integer
SymbolIdGoodocLogicalEntityLinkNOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): “The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.”integer
UrlIf not defined, link points to the current docGoodocLogicalEntityLinkNOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): “The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.”String
WordIdGoodocLogicalEntityLinkNOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): “The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.”integer
implicitGoodocOrdinalAn Ordinal message represents a single ordinal component of a page number. It encodes the printed or inferred numbering style (Roman, ASCII, etc.) and the ordinal value of the component. An optional set of variable is defined in order to express a sectioned ordinal. A sectioned ordinal may appear in certain page numbering styles, for example “12-1” where “12” identifies a chapter and “1” identifies the page within it. This case will be encoded with value 1 and section_value 12 both of type ASCII.String
sectionStringValueGoodocOrdinalAn Ordinal message represents a single ordinal component of a page number. It encodes the printed or inferred numbering style (Roman, ASCII, etc.) and the ordinal value of the component. An optional set of variable is defined in order to express a sectioned ordinal. A sectioned ordinal may appear in certain page numbering styles, for example “12-1” where “12” identifies a chapter and “1” identifies the page within it. This case will be encoded with value 1 and section_value 12 both of type ASCII.String
sectionValueGoodocOrdinalAn Ordinal message represents a single ordinal component of a page number. It encodes the printed or inferred numbering style (Roman, ASCII, etc.) and the ordinal value of the component. An optional set of variable is defined in order to express a sectioned ordinal. A sectioned ordinal may appear in certain page numbering styles, for example “12-1” where “12” identifies a chapter and “1” identifies the page within it. This case will be encoded with value 1 and section_value 12 both of type ASCII.integer
sectionValueTypeThe following vars describe the section component of an ordinal (if exists). They are used to express situation where a page number has a section component, usually denoating the chapter number. For example pages 5-14, 5-15 will both have the common section 5. (If exists). The semantcis of the section variables correspond to that of the primary part of the ordinal. (Described above).GoodocOrdinalAn Ordinal message represents a single ordinal component of a page number. It encodes the printed or inferred numbering style (Roman, ASCII, etc.) and the ordinal value of the component. An optional set of variable is defined in order to express a sectioned ordinal. A sectioned ordinal may appear in certain page numbering styles, for example “12-1” where “12” identifies a chapter and “1” identifies the page within it. This case will be encoded with value 1 and section_value 12 both of type ASCII.String
stringValueThe string page value.GoodocOrdinalAn Ordinal message represents a single ordinal component of a page number. It encodes the printed or inferred numbering style (Roman, ASCII, etc.) and the ordinal value of the component. An optional set of variable is defined in order to express a sectioned ordinal. A sectioned ordinal may appear in certain page numbering styles, for example “12-1” where “12” identifies a chapter and “1” identifies the page within it. This case will be encoded with value 1 and section_value 12 both of type ASCII.String
valueThe numeric page value.GoodocOrdinalAn Ordinal message represents a single ordinal component of a page number. It encodes the printed or inferred numbering style (Roman, ASCII, etc.) and the ordinal value of the component. An optional set of variable is defined in order to express a sectioned ordinal. A sectioned ordinal may appear in certain page numbering styles, for example “12-1” where “12” identifies a chapter and “1” identifies the page within it. This case will be encoded with value 1 and section_value 12 both of type ASCII.integer
valueDeltaThe delta in which the value increases between pages.GoodocOrdinalAn Ordinal message represents a single ordinal component of a page number. It encodes the printed or inferred numbering style (Roman, ASCII, etc.) and the ordinal value of the component. An optional set of variable is defined in order to express a sectioned ordinal. A sectioned ordinal may appear in certain page numbering styles, for example “12-1” where “12” identifies a chapter and “1” identifies the page within it. This case will be encoded with value 1 and section_value 12 both of type ASCII.String
valueTypeA value type from the Type enum above.GoodocOrdinalAn Ordinal message represents a single ordinal component of a page number. It encodes the printed or inferred numbering style (Roman, ASCII, etc.) and the ordinal value of the component. An optional set of variable is defined in order to express a sectioned ordinal. A sectioned ordinal may appear in certain page numbering styles, for example “12-1” where “12” identifies a chapter and “1” identifies the page within it. This case will be encoded with value 1 and section_value 12 both of type ASCII.String
deskewAngleAfter rotating so that the text orientation is upright, how many radians does one have to rotate the block anti-clockwise for it to be level? We guarantee: -Pi/4 <= deskew_angle <= Pi/4GoodocOrientationLabelOrientationLabel groups the details about orientation and reading order.number
mirroredWhether a text line is mirrored (e.g. reflected in a shiny surface or seen through the opposite side of a storefront window). The intent is that this is a quality of the text line image. It needs to be reflected according to a vertical axis along the direction of upright characters to make it readable. This does not affect the shape of the bounding box. A mirrored line with top to bottom writing remains top to bottom. A mirrored horizontal line will flip left to right. However any child entities (symbols) will remain in the same order, and the writing direction imposed by the language (ltr or rtl) will remain the same.GoodocOrientationLabelOrientationLabel groups the details about orientation and reading order.boolean
orientationGoodocOrientationLabelOrientationLabel groups the details about orientation and reading order.String
textlineOrderGoodocOrientationLabelOrientationLabel groups the details about orientation and reading order.String
writingDirectionGoodocOrientationLabelOrientationLabel groups the details about orientation and reading order.String
blockImaginationFor text blocks only: do not allow this block to be turned into an image when rendering, even if your algorithms want to do so:GoodocOverridesThis message specifies structure “overrides” to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.String
doNotExpandGraphicBoxFor graphic blocks, we often expand the block a bit for rendering, to compensate for bad image segmentation. do_not_expand_graphic_box forces this behavior to be turned off.GoodocOverridesThis message specifies structure “overrides” to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.boolean
fullPageAsImageFor Pages only: explicitly specify whether or not this page should be rendered fully as an imageGoodocOverridesThis message specifies structure “overrides” to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.String
fullPageLineatedFor Pages only: explicitly specify whether or not all text on this page should be treated as “LINEATED”GoodocOverridesThis message specifies structure “overrides” to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.String
fullPageSkippedFor Pages only: explicitly specify whether or not this page should be skipped.GoodocOverridesThis message specifies structure “overrides” to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.String
needNotSuppressPhotoThis GRAPHIC block’s image can be shown even when GoodocToHTMLOptions.suppress_photos_with_this is specified.GoodocOverridesThis message specifies structure “overrides” to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.boolean
pageBreakBeforeFor blocks: explicitly specify whether or not this block should get a page-break before it.GoodocOverridesThis message specifies structure “overrides” to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.String
styleGoodocOverridesThis message specifies structure “overrides” to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.list(GoodocOverridesStyle)
wordHtmlFor Words only: replace the rendered HTML by this:GoodocOverridesThis message specifies structure “overrides” to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.String
namecss attribute name: “margin-left”, for eg.GoodocOverridesStyleExtra css styles to applyString
valuecss attribute vale: “1em”, for eg.GoodocOverridesStyleExtra css styles to applyString
BoxGoodocParagraphRepresents a paragraph of text in OCRed content.GoodocBoundingBox
FirstLineIndentGoodocParagraphRepresents a paragraph of text in OCRed content.integer
LabelGoodocParagraphRepresents a paragraph of text in OCRed content.GoodocLabel
LeftIndentGoodocParagraphRepresents a paragraph of text in OCRed content.integer
LineSpacingGoodocParagraphRepresents a paragraph of text in OCRed content.integer
OrientationLabelWhich way is upright for this paragraph and what is the dominant reading order?GoodocParagraphRepresents a paragraph of text in OCRed content.GoodocOrientationLabel
RightIndentGoodocParagraphRepresents a paragraph of text in OCRed content.integer
RotatedBoxIf RotatedBox is set, Box must be set as well. See RotatedBoundingBox.GoodocParagraphRepresents a paragraph of text in OCRed content.GoodocRotatedBoundingBox
SpaceAfterGoodocParagraphRepresents a paragraph of text in OCRed content.integer
SpaceBeforeGoodocParagraphRepresents a paragraph of text in OCRed content.integer
SubsumedParagraphPropertiesIf we merge any paragraphs into this one (through the MergeParagraphWithNext() interface in goodoc-editing.h), then we append the properties of the merged paragraph here, for debugging and to avoid losing any info. Note that the SubsumedParagraphProperties Paragraphs do not contain Routes.GoodocParagraphRepresents a paragraph of text in OCRed content.list(GoodocParagraph)
TextConfidenceParagraph text recognition confidence. Range depends on the algorithm but should be consistent in a given volume. 0 is bad, 100 is good.GoodocParagraphRepresents a paragraph of text in OCRed content.integer
WidthGoodocParagraphRepresents a paragraph of text in OCRed content.integer
alignmentGoodocParagraphRepresents a paragraph of text in OCRed content.integer
droppedcapGoodocParagraphRepresents a paragraph of text in OCRed content.GoodocParagraphDroppedCap
routeGoodocParagraphRepresents a paragraph of text in OCRed content.list(GoodocParagraphRoute)
BoxGoodocParagraphDroppedCapInformation about the paragraph’s dropped capital letterGoodocBoundingBox
LettersCountGoodocParagraphDroppedCapInformation about the paragraph’s dropped capital letterinteger
EndPointRoute end pointGoodocParagraphRouteGoodocRoutePoint
StartPointRoute start pointGoodocParagraphRouteGoodocRoutePoint
WeightRoute weight, i.e. routeGoodocParagraphRouteinteger
WordThe array of words on this routeGoodocParagraphRoutelist(GoodocWord)
AngleAngle of rotation of the original non-rotated box around the top left corner of the original non-rotated box, in clockwise degrees from the horizontal.GoodocRotatedBoundingBoxSimilar to goodoc.BoundingBox, but containing an angle of rotation, thus able to represent non-axis-aligned boxes. RotatedBoundingBox can be used in combination with BoundingBox to better represent non-axis-aligned page structural elements. In such case, two bounding boxes can be used per element. A RotatedBoundingBox that is rotated to tightly encompass the element; embedded (as tightly as possible) inside an axis-aligned BoundingBox. Note that there is some amount of ambiguity regarding what angle and vertex to use. Consider a square with axis-aligned diagonals: B / \\ A C \\ / D This can either be represented as a -45 degree rotation around A, a 45 degree rotation around B, a 135 degree rotation around C, or a -135 degree rotation around D. Which one you use depends on your use case, but one recommendation is to use the vertex that would be top left if the reader was reading it in the ‘natural’ orientation.number
HeightGoodocRotatedBoundingBoxSimilar to goodoc.BoundingBox, but containing an angle of rotation, thus able to represent non-axis-aligned boxes. RotatedBoundingBox can be used in combination with BoundingBox to better represent non-axis-aligned page structural elements. In such case, two bounding boxes can be used per element. A RotatedBoundingBox that is rotated to tightly encompass the element; embedded (as tightly as possible) inside an axis-aligned BoundingBox. Note that there is some amount of ambiguity regarding what angle and vertex to use. Consider a square with axis-aligned diagonals: B / \\ A C \\ / D This can either be represented as a -45 degree rotation around A, a 45 degree rotation around B, a 135 degree rotation around C, or a -135 degree rotation around D. Which one you use depends on your use case, but one recommendation is to use the vertex that would be top left if the reader was reading it in the ‘natural’ orientation.integer
LeftCoordinates and sizes are expressed in pixels, where the top-left pixel is (0, 0). The coordinates refer to the corner of the top-left vertex of the unrotated version of the box.GoodocRotatedBoundingBoxSimilar to goodoc.BoundingBox, but containing an angle of rotation, thus able to represent non-axis-aligned boxes. RotatedBoundingBox can be used in combination with BoundingBox to better represent non-axis-aligned page structural elements. In such case, two bounding boxes can be used per element. A RotatedBoundingBox that is rotated to tightly encompass the element; embedded (as tightly as possible) inside an axis-aligned BoundingBox. Note that there is some amount of ambiguity regarding what angle and vertex to use. Consider a square with axis-aligned diagonals: B / \\ A C \\ / D This can either be represented as a -45 degree rotation around A, a 45 degree rotation around B, a 135 degree rotation around C, or a -135 degree rotation around D. Which one you use depends on your use case, but one recommendation is to use the vertex that would be top left if the reader was reading it in the ‘natural’ orientation.integer
TopGoodocRotatedBoundingBoxSimilar to goodoc.BoundingBox, but containing an angle of rotation, thus able to represent non-axis-aligned boxes. RotatedBoundingBox can be used in combination with BoundingBox to better represent non-axis-aligned page structural elements. In such case, two bounding boxes can be used per element. A RotatedBoundingBox that is rotated to tightly encompass the element; embedded (as tightly as possible) inside an axis-aligned BoundingBox. Note that there is some amount of ambiguity regarding what angle and vertex to use. Consider a square with axis-aligned diagonals: B / \\ A C \\ / D This can either be represented as a -45 degree rotation around A, a 45 degree rotation around B, a 135 degree rotation around C, or a -135 degree rotation around D. Which one you use depends on your use case, but one recommendation is to use the vertex that would be top left if the reader was reading it in the ‘natural’ orientation.integer
WidthGoodocRotatedBoundingBoxSimilar to goodoc.BoundingBox, but containing an angle of rotation, thus able to represent non-axis-aligned boxes. RotatedBoundingBox can be used in combination with BoundingBox to better represent non-axis-aligned page structural elements. In such case, two bounding boxes can be used per element. A RotatedBoundingBox that is rotated to tightly encompass the element; embedded (as tightly as possible) inside an axis-aligned BoundingBox. Note that there is some amount of ambiguity regarding what angle and vertex to use. Consider a square with axis-aligned diagonals: B / \\ A C \\ / D This can either be represented as a -45 degree rotation around A, a 45 degree rotation around B, a 135 degree rotation around C, or a -135 degree rotation around D. Which one you use depends on your use case, but one recommendation is to use the vertex that would be top left if the reader was reading it in the ‘natural’ orientation.integer
RouteIndexThe sequential route number, starts at 0GoodocRoutePointinteger
WordIndexThe sequential word number, starts at 0GoodocRoutePointinteger
AlternateTextAlternate text for a sequence of the Goodoc, just for the element containing this label, or for a sequence starting from this element to the EndOfSpanningLabel. Typically this is inserted by automatic or manual OCR correction. We use text instead of editing the Goodoc directly since we dont usually have accurate symbol level bboxes for the alternate text. Also the original values from OCR are preserved. It is upto the application to do anything more intelligent like mapping words and finding potential symbol/word bboxes.GoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).String
AttributePage elements can be given Attributes refining meaning/role. We keep this flexible by using strings instead of pre-determined enum values. But it is useful to list all such Attributes in use in ocr/goodoc/goodoc-semantics-attributes.hGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).list(String)
ChapterStartBlocks that are at the beginning of chapters have this set:GoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).boolean
CleanupAnnotationGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).list(integer)
ContinuesFromPreviousPageGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).boolean
ContinuesFromPreviousPageHyphenatedWhen ContinuesFromPreviousPage=true, this bit can be set to note that the word fragment on the previous page ends in a hyphen.GoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).boolean
ContinuesOnNextPageParagraphs that span across pages can be identified with the following flags. Note that flows just connect Blocks across pages. These continuation flags imply something more specific — the case of a single logical paragraph split over pages. Only the last Paragraph in the last Block within a given FlowThread() on a page can have ContinuesOnNextPage set. Similarly, only the first Paragraph in the first Block with a given FlowThread() on a page may have ContinuesFromPreviousPage set.GoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).boolean
EndOfSpanningLabelNormally, a SemanticLabel applies exactly to the goodoc element that it is contained in (usually Block or Paragraph, sometimes Word). Occasionally, we need a SemanticLabel to span across the boundary or end before the boundary. For example, a URL may just be a few words within a Paragraph. In such cases, the SemanticLabel is added to the first element of the span and contains this LogicalEntity pointing to the last element of the span:GoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).GoodocLogicalEntity
ExperimentalDataMessage set for experimental algorithm data. Use case: We keep a set of features that was computed for the unsupervised caption extraction and store it here. Agora question producer will consume this message set to be embedded in a question. The experimental feature set can then be used later to pair up with ground truth labels for designing a supervised algorithm. Currently holding: o ocean/analysis/content/caption_data.proto’s TextualElementGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).Proto2BridgeMessageSet
FlowFlow identifies a single sequential unit of text (or other content). It is only set on Blocks — a flow identifies a sequence of Blocks. The default, main flow is just the empty string. The “FlowThread” of a block is the flow (if non-empty), suffixed with the block appearance. This is computed by GoodocUtils::FlowThread(). Paragraphs may be split over blocks in the same FlowThread, across pages. The following table shows how FlowThread gets computed: ## Flow Appearance FlowThread (empty) UNSPECIFIED “UNSPECIFIED” foo BODY “foo:BODY” Please use lower-case strings for flows (such as article-33-box). One useful way to think of flows is this: A logical unit of interest in a a Document (for example, an article) would be identified by a starting block, an ending block, and a list of flows of interest within the [start, end) span. message Article { (page#, block#): article_start; (page#, block#): article_end; repeated string flows; } The reading order of blocks, paragraphs/etc within this article would be the same order as present in the goodoc itself. Some applications (such as rendering) may want to process the article by running over all the flows together, others (such as indexing) may want to deal with the FlowThreads one after the other.GoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).String
ModificationRecordThis field can be used to record the steps by which AlternateText for a sequence of the Goodoc is generated.GoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).String
PageNumberOrdinalIf Appearence is PAGE_NUMBER:GoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).GoodocOrdinal
appearanceGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).integer
columndetailsGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).GoodocSemanticLabelColumnDetails
contentlinkGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).GoodocSemanticLabelContentLink
editcorrectioncandidateGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).list(GoodocSemanticLabelEditCorrectionCandidate)
overridesStructure overrides: typically manual corrections to goodoc renderings.GoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).GoodocOverrides
snippetfilterGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).list(GoodocSemanticLabelSnippetFilter)
tablecelldetailsGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).GoodocSemanticLabelTableCellDetails
tabledetailsGoodocSemanticLabelLabel identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).GoodocSemanticLabelTableDetails
ColumnGoodocSemanticLabelColumnDetailsIf Appearance is COLUMN:integer
ColumnsGoodocSemanticLabelColumnDetailsIf Appearance is COLUMN:integer
UrlTargetFor URL labels, we note the url here directly (it’s also available by grabbing all text symbols within the labeled span). SCHOLARLY_CITATION labels or even CAPTION labels may occasionally contain URLs.GoodocSemanticLabelContentLinkIf the label is for something that links to another piece of content (in this volume, outside, a url, a citation, etc.).String
citationtargetGoodocSemanticLabelContentLinkIf the label is for something that links to another piece of content (in this volume, outside, a url, a citation, etc.).GoodocSemanticLabelContentLinkCitationTarget
involumetargetGoodocSemanticLabelContentLinkIf the label is for something that links to another piece of content (in this volume, outside, a url, a citation, etc.).GoodocSemanticLabelContentLinkInVolumeTarget
Authorsseparated by semicolonsGoodocSemanticLabelContentLinkCitationTargetFor SCHOLARLY_CITATION labels:String
BibKeyGoodocSemanticLabelContentLinkCitationTargetFor SCHOLARLY_CITATION labels:String
ConfidenceGoodocSemanticLabelContentLinkCitationTargetFor SCHOLARLY_CITATION labels:float
TitleGoodocSemanticLabelContentLinkCitationTargetFor SCHOLARLY_CITATION labels:String
YearGoodocSemanticLabelContentLinkCitationTargetFor SCHOLARLY_CITATION labels:integer
ConfidenceGoodocSemanticLabelContentLinkInVolumeTargetFor CAPTION or FOOTNOTE_POINTER or TOC_ENTRY or INDEX_ENTRY or CONTINUATION labels:float
LogicalEntityThe CAPTION label typically targets the previous or the next Block. The FOOTNOTE_POINTER label typically targets a paragraph in a FOOTNOTE Block. TOC_ENTRY and INDEX_ENTRY labels are links that point to a different page within the volume. CONTINUATION labels also are links that point to a different page within the volume, or maybe even a particular block or paragraph.GoodocSemanticLabelContentLinkInVolumeTargetFor CAPTION or FOOTNOTE_POINTER or TOC_ENTRY or INDEX_ENTRY or CONTINUATION labels:GoodocLogicalEntity
EditedWordGoodocSemanticLabelEditCorrectionCandidateIf there is more than one edit correction candidate, store all the candidates here. This helps a manual correction utility fire the right kind of question with the relevant options.String
ProbabilityGoodocSemanticLabelEditCorrectionCandidateIf there is more than one edit correction candidate, store all the candidates here. This helps a manual correction utility fire the right kind of question with the relevant options.float
badwordFractionGoodocSemanticLabelSnippetFilterRecording the output of the snippet filter. We run through a series of snippet filters and store all the conditions that this article passed. A condition is denoted by the “badword_fraction_allowed” in a running window of size – “window_size”. If ARTICLE_SNIPPET_NOT_CLEAN annotation is set, this group has 0 items. It can be a part of article logicalentity, but keeping it here for consistency and coherence as SemanticLabel holds all other article metadata.float
windowSizeGoodocSemanticLabelSnippetFilterRecording the output of the snippet filter. We run through a series of snippet filters and store all the conditions that this article passed. A condition is denoted by the “badword_fraction_allowed” in a running window of size – “window_size”. If ARTICLE_SNIPPET_NOT_CLEAN annotation is set, this group has 0 items. It can be a part of article logicalentity, but keeping it here for consistency and coherence as SemanticLabel holds all other article metadata.integer
ColumnGoodocSemanticLabelTableCellDetailsIf Appearance is TABLE_CELL:integer
ColumnSpanGoodocSemanticLabelTableCellDetailsIf Appearance is TABLE_CELL:integer
RowRow and Column are 0-basedGoodocSemanticLabelTableCellDetailsIf Appearance is TABLE_CELL:integer
RowSpanGoodocSemanticLabelTableCellDetailsIf Appearance is TABLE_CELL:integer
ColumnsGoodocSemanticLabelTableDetailsIf Appearance is TABLE:integer
RowsGoodocSemanticLabelTableDetailsIf Appearance is TABLE:integer
numParagraphs—— Paragraph stats Median symbols and words omit junk, header and footer blocks; they are intended to be a measure of the typical “content” paragraph. There can still be substantial differences between means and medians, particularly if a table is present (every cell is a paragraph).GoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianSymbolsPerParagraphGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
estimatedFontSizesThis flag is set if the histogram above has been derived by estimating font sizes from CharLabel.CharacterHeight; that happens if the FontSize field is constant, as has happened with Abbyy 9.GoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).boolean
numLineSpacesLines (out of num_lines) that have a successor line within their paraGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianSymbolsPerBlockGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
numWords#NAME?GoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianSymbolsPerWordGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
meanSymbolsPerWordGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
numNonGraphicBlocksGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianFullOddPrintedBoxGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).GoodocBoundingBox
medianWordsPerLineGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianLineSpantop to next top in paraGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianWidthGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianWordsPerParagraphGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
meanWordsPerBlockGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianParagraphIndentleading space on first lineGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianOddPrintedBox1,3,5..GoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).GoodocBoundingBox
medianSymbolsPerLineGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
meanSymbolsPerLineGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
numLines—— Line stats “top” corresponds to the highest ascender and “bottom” to the lowest descender.GoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianParagraphSpacebottom to next top in blockGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
numParagraphSpacesparas that have a successor para within their blockGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianPrintedBoxEach median*_printed_box excludes page header/footer and all graphic blocksGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).GoodocBoundingBox
numPages#NAME?GoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianHorizontalDpiGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
meanSymbolsPerParagraphGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianVerticalDpiGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianFullPrintedBoxEach median_full*_printed_box includes page header/footer but still excludes all graphic blocksGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).GoodocBoundingBox
fontSizeHistogramSymbol counts (and other attributes) for each distinct CharLabel.FontId and FontSize; histogram is in decreasing order of symbol countGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).list(GoodocFontSizeStats)
medianBlockSpacebottom to next top in flow on pageGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianLineHeighttop to bottomGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianHeightGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianFullEvenPrintedBoxGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).GoodocBoundingBox
meanWordsPerParagraphGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
meanWordsPerLineGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianEvenPrintedBox0,2,4..GoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).GoodocBoundingBox
medianLineSpacebottom to next top in paraGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
numSymbols#NAME?GoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
numBlocks—— Block stats Median symbols and words omit junk, header and footer blocks; they are intended to be a measure of the typical “content” block. There can still be substantial differences between means and medians; however, block values will generally exceed paragraph values (not the case when headers and footers are included).GoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
medianWordsPerBlockGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
numBlockSpacesblocks that have a successor block within their flow on their pageGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
meanSymbolsPerBlockGoodocSummaryStatsGoodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean’s CA_VolumeResult.goodoc_stats).integer
BoxGoodocSymbolA single symbol representationGoodocBoundingBox
CodeThe unicode character code in UTF-32GoodocSymbolA single symbol representationinteger
LabelGoodocSymbolA single symbol representationGoodocLabel
RotatedBoxIf RotatedBox is set, Box must be set as well. See RotatedBoundingBox.GoodocSymbolA single symbol representationGoodocRotatedBoundingBox
symbolvariantGoodocSymbolA single symbol representationlist(GoodocSymbolSymbolVariant)
CodeGoodocSymbolSymbolVariantinteger
ConfidenceGoodocSymbolSymbolVariantinteger
BaselineThe baseline’s y-axis offset from the bottom of the word’s bounding box, given in pixels. (A value of 2, for instance, indicates the baseline is 2px above the bottom of the box.)GoodocWordA word representationinteger
BoxGoodocWordA word representationGoodocBoundingBox
CaplineThe capline is the y-axis offset from the top of the word bounding box. A positive value n indicates that capline is n-pixels above the top of this word.GoodocWordA word representationinteger
CompactSymbolBoxesFor space efficiency, we sometimes skip the detailed per-symbol bounding boxes in Symbol.Box, and use this coarser representation instead, where we just store Symbol boundaries within the Word box. Most client code should not have to worry directly about this, it should be handled in the deepest layers of writing/reading goodocs (for example, see Compress() and Uncompress() in ocean/goodoc/goovols-bigtable-volume.h). Note(viresh): I experimented with this compression, and here are some numbers for reference. If the zlib-compressed page goodoc string size was 100 to start with, then this compaction makes it 65. As a possible future relaxation to consider: if we add in, for each symbol, a “top” and “bottom” box offset then the size would be 75 (that’s with “repeated int32 top/bottom_offset” fields inside BoxPartitions, instead of inside each symbol).GoodocWordA word representationGoodocBoxPartitions
ConfidenceWord recognition confidence. Range depends upon OCR Engine.GoodocWordA word representationinteger
IsFromDictionaryword. The meaning and range depends on the OCR engine or subsequent processing. Specifies whether the word was foundGoodocWordA word representationboolean
IsIdentifiera number True if word representsGoodocWordA word representationboolean
IsLastInSentenceTrue if the word is the last word in any sub-paragraph unit that functions at the same level of granularity as a sentence. Examples: “She hit the ball.” (regular sentence) “Dewey defeats Truman” (heading) “The more, the merrier.” (no verb) Note: not currently used. Code to set this was introduced in CL 7038338 and removed in OCL=10678722.GoodocWordA word representationboolean
IsNumericin the dictionary True if the word representsGoodocWordA word representationboolean
LabelGoodocWordA word representationGoodocLabel
PenaltyPenalty for discordance of characters in aGoodocWordA word representationinteger
RotatedBoxIf RotatedBox is set, Box must be set as well. See RotatedBoundingBox.GoodocWordA word representationGoodocRotatedBoundingBox
SymbolWord characters, the text mayGoodocWordA word representationlist(GoodocSymbol)
alternatesGoodocWordA word representationGoodocWordAlternates
textAs a shortcut, the content API provides the text of words instead of individual symbols (NOTE: this is experimental). This is UTF8. And the main font for the word is stored in Label.CharLabel.GoodocWordA word representationString
writingDirectionWriting direction for this word.GoodocWordA word representationString
ErrorProbabilityThe probability that the main OCR engine (Abbyy) string is incorrect; range is 0 (definitely correct) to 100 (definitely incorrect).GoodocWordAlternatesAlternate OCR words for Ptolemy OCR Correction. This is the output of the Ptolemy error estimator. See http://go/Ptolemy.integer
alternateGoodocWordAlternatesAlternate OCR words for Ptolemy OCR Correction. This is the output of the Ptolemy error estimator. See http://go/Ptolemy.list(GoodocWordAlternatesAlternate)
OcrEngineIdSee Document.HeaderGoodocWordAlternatesAlternateAn alternate word provided by another OCR engine, used for OCR Correction. This iteration only supports simple substitution errors (exhanging one word for another), but with minor modifications (e.g. adding a word count for each alternate), it could support repairing word segmentation and text detection errors.String
OcrEngineVersionSee Document.HeaderGoodocWordAlternatesAlternateAn alternate word provided by another OCR engine, used for OCR Correction. This iteration only supports simple substitution errors (exhanging one word for another), but with minor modifications (e.g. adding a word count for each alternate), it could support repairing word segmentation and text detection errors.String
WordIn order to compile, this recursive message needs to be optional, even though it’s within an optional group.GoodocWordAlternatesAlternateAn alternate word provided by another OCR engine, used for OCR Correction. This iteration only supports simple substitution errors (exhanging one word for another), but with minor modifications (e.g. adding a word count for each alternate), it could support repairing word segmentation and text detection errors.GoodocWord
billingAccountName of the billing account. For example `billingAccounts/012345-567890-ABCDEF`.GoogleApiServiceconsumermanagementV1BillingConfigDescribes the billing configuration for a new tenant project.String
membersUses the same format as in IAM policy. `member` must include both a prefix and ID. For example, `user:{emailId}`, `serviceAccount:{emailId}`, `group:{emailId}`.GoogleApiServiceconsumermanagementV1PolicyBindingTranslates to IAM Policy bindings (without auditing at this level)list(String)
roleRole. (https://cloud.google.com/iam/docs/understanding-roles) For example, `roles/viewer`, `roles/editor`, or `roles/owner`.GoogleApiServiceconsumermanagementV1PolicyBindingTranslates to IAM Policy bindings (without auditing at this level)String
audioModeCurrent audio mode on the device while issuing the query.GoogleAssistantAccessoryV1AudioOutConfigSpecifies the desired format for the server to use when it returns `audio_out` messages.String
audioRoutingModeCurrent audio routing on the device while issuing the query.GoogleAssistantAccessoryV1AudioOutConfigSpecifies the desired format for the server to use when it returns `audio_out` messages.String
encoding*Required* The encoding of audio data to be returned in all `audio_out` messages.GoogleAssistantAccessoryV1AudioOutConfigSpecifies the desired format for the server to use when it returns `audio_out` messages.String
preferredBitrateBps*Optional* Specifies preferred encoding bitrate (bits-per-second). Currently this is only implemented for OGG_OPUS for bitrates of 12000, 16000, 24000, 32000. If not specified, OGG_OPUS defaults to 32000.GoogleAssistantAccessoryV1AudioOutConfigSpecifies the desired format for the server to use when it returns `audio_out` messages.integer
deviceModelCapabilitiesOverrideDevice model capabilities from client to override capabilities in the primary device model.GoogleAssistantAccessoryV1DeviceConfig*Required* Fields that identify the device to the Assistant. See also: * [Register a Device – REST API](https: //developers.google.com/assistant/sdk/re // ference/device-registration/register-device-manual) * [Device Model and Instance Schemas](https: //developers.google.com/assistant/sdk/re // ference/device-registration/model-and-instance-schemas) * [Device Proto](https: //developers.google.com/assistant/sdk/re // ference/rpc/google.assistant.devices.v1#device)GoogleAssistantEmbeddedV1DeviceModelCapabilitiesOverride
heterodyneToken*Optional* An encrypted heterodyne_experiment_token containing the list of experiment_ids (go/ph-server-tokens).GoogleAssistantAccessoryV1DeviceConfig*Required* Fields that identify the device to the Assistant. See also: * [Register a Device – REST API](https: //developers.google.com/assistant/sdk/re // ference/device-registration/register-device-manual) * [Device Model and Instance Schemas](https: //developers.google.com/assistant/sdk/re // ference/device-registration/model-and-instance-schemas) * [Device Proto](https: //developers.google.com/assistant/sdk/re // ference/rpc/google.assistant.devices.v1#device)String
surfaceIdentity*Required* Identifier for the device which sent the request.GoogleAssistantAccessoryV1DeviceConfig*Required* Fields that identify the device to the Assistant. See also: * [Register a Device – REST API](https: //developers.google.com/assistant/sdk/re // ference/device-registration/register-device-manual) * [Device Model and Instance Schemas](https: //developers.google.com/assistant/sdk/re // ference/device-registration/model-and-instance-schemas) * [Device Proto](https: //developers.google.com/assistant/sdk/re // ference/rpc/google.assistant.devices.v1#device)GoogleAssistantEmbeddedV1SurfaceIdentity
alarmState*Optional* Information about on-device alarms. For devices that support alarms, all on-device alarms must be sent up with the DeviceState in order for Assistant Server to be able to perform operations on them.GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13GoogleAssistantEmbeddedV1Alarms
contextParamsOther context params to be sent to Assistant. This is a assistant.embedded.v1.ContextParams message in serialized binary proto format.GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13String
deviceTimeA timestamp of the current device time when the request was made. This field is required if your device supports alarms or timers. This ensures that requests are fulfilled relative to the current device time and regardless of any clock skew between the client and the server.GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13DateTime
deviceTimeZoneThe time zone where the device is currently located. This helps the Assistant answer time-related queries relative to the device’s time zone. Generally speaking, mobile devices that support alarms or timers should supply device_time_zone. This field is required if your device supports alarms or timers and the device’s location cannot reliably be determined. (See the comment above google.assistant.embedded.v1.DeviceLocation for a description of how the device’s location is determined.) If the time zone cannot be determined, some queries for creating or modifying timers or alarms may fail with a generic error such as, “Sorry, I don’t know how to help with that.”GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13GoogleTypeTimeZone
doNotDisturbIndicate whether do not disturb mode is turned on.GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13boolean
fitnessActivitiesStateInformation about on-device fitness activities. For devices that support fitness activities, all on-device fitness activities must be sent up with the DeviceState in order for Assistant Server to be able to perform operations on them.GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13GoogleAssistantEmbeddedV1FitnessActivities
installedAppsInformation about apps currently installed on device.GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13GoogleAssistantAccessoryV1DeviceStateInstalledAppsState
installedAppsZlibThis contains a zlib-compressed binary-encoded `InstalledAppsState` proto message.GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13String
timerState*Optional* Information about on-device timers. For devices that support timers, all on-device timers must be sent up with the DeviceState in order for Assistant Server to be able to perform operations on them.GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13GoogleAssistantEmbeddedV1Timers
unavailableSettingsThis indicates which specific settings are currently unavailable for modification, despite being listed as a supported setting. Assistant can use this field to trigger unavailability messages, rather than claiming that a setting is entirely unsupported on device.GoogleAssistantAccessoryV1DeviceStateInformation about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13list(String)
appsList of apps currently installed on the device.GoogleAssistantAccessoryV1DeviceStateInstalledAppsStateState of the apps currently installed on the device.list(AssistantApiCoreTypesProvider)
audioOutConfigSpecifies the current audio mode on the device.GoogleAssistantAccessoryV1ResponseConfigConfiguration for the response. Next Id: 11GoogleAssistantAccessoryV1AudioOutConfig
deviceConfigConfiguration related to a specific device.GoogleAssistantAccessoryV1ResponseConfigConfiguration for the response. Next Id: 11GoogleAssistantAccessoryV1DeviceConfig
deviceInteractionThe client interaction to be sent to Assistant. This is a assistant.embedded.v1.DeviceInteraction message in serialized binary proto format.GoogleAssistantAccessoryV1ResponseConfigConfiguration for the response. Next Id: 11String
deviceStateDevice state to pass to the Assistant server to use in calculating the response.GoogleAssistantAccessoryV1ResponseConfigConfiguration for the response. Next Id: 11GoogleAssistantAccessoryV1DeviceState
initialAudioBytesSpecifies the initial bytes of TTS audio to send.GoogleAssistantAccessoryV1ResponseConfigConfiguration for the response. Next Id: 11integer
isNewConversationIf true, the server will treat the request as a new conversation and not use state from the prior request. Set this field to true when the conversation should be restarted, such as after a device reboot, or after a significant lapse of time since the prior query.GoogleAssistantAccessoryV1ResponseConfigConfiguration for the response. Next Id: 11boolean
outputSampleRateHzSpecifies the desired audio sample rate of the output TTS stream in Hz.GoogleAssistantAccessoryV1ResponseConfigConfiguration for the response. Next Id: 11integer
responseTypeSpecifies the requested response type.GoogleAssistantAccessoryV1ResponseConfigConfiguration for the response. Next Id: 11String
screenOutConfigSpecifies the desired format to use when server returns a visual screen response.GoogleAssistantAccessoryV1ResponseConfigConfiguration for the response. Next Id: 11GoogleAssistantAccessoryV1ScreenOutConfig
dimensionsDevice dimensions.GoogleAssistantAccessoryV1ScreenOutConfigSpecifies the desired format for the server to use when it returns `screen_out` response.GoogleAssistantAccessoryV1ScreenOutConfigDimensions
fontScaleFactorThe scale factor used to convert Scalable Pixel (SP) units to Density-independent Pixel (DP) units (DP = SP * scale factor). Fonts are measured in units of SP, and on some platforms such as Android the SP to DP scale factor can be affected by the font size a user selects in accessibility settings.GoogleAssistantAccessoryV1ScreenOutConfigSpecifies the desired format for the server to use when it returns `screen_out` response.number
screenDpiDots (pixels) per inch of the screen.GoogleAssistantAccessoryV1ScreenOutConfigDimensionsThis contains physical and logical characteristics about the device (e.g. screen size and DPI, etc).number
screenHeightPxHeight of the device’s screen in pixels. If 0 or not specified, it’s assumed to be the same as screen_width_px. For a square or round screen, it’s recommended to leave this field empty as a bandwidth optimization.GoogleAssistantAccessoryV1ScreenOutConfigDimensionsThis contains physical and logical characteristics about the device (e.g. screen size and DPI, etc).integer
screenShapeThe shape of the device’s screenGoogleAssistantAccessoryV1ScreenOutConfigDimensionsThis contains physical and logical characteristics about the device (e.g. screen size and DPI, etc).String
screenWidthPxWidth of the device’s screen in pixels.GoogleAssistantAccessoryV1ScreenOutConfigDimensionsThis contains physical and logical characteristics about the device (e.g. screen size and DPI, etc).integer
alarmIdA string key used as an identifier to this alarm. This key needs to be unique amongst all alarms on the device. The client can choose a mechanism of its choice to ensure this. If the server suggests an alarm_id, the client can either use the suggestion or create a new unique alarm_id of its choosing.GoogleAssistantEmbeddedV1AlarmAlarms are clocks that ring at a specified time on one or more days. The client schedules a time to ring based on the date/time pattern. When it rings, it may be rescheduled off the original time by snoozing or it may be replaced by the next occurrence.String
alarmSourceThe entity that created this alarm. Note this may be different from the device that reported this alarm. In particular, this field is meant for remote alarms which have been synced to the current device by the Clock app. Synced alarms exist in each device’s Clock app and can be managed by either device; this field indicates their origin.GoogleAssistantEmbeddedV1AlarmAlarms are clocks that ring at a specified time on one or more days. The client schedules a time to ring based on the date/time pattern. When it rings, it may be rescheduled off the original time by snoozing or it may be replaced by the next occurrence.String
datePatternFor single alarms: the one date the alarm should next be scheduled for.GoogleAssistantEmbeddedV1AlarmAlarms are clocks that ring at a specified time on one or more days. The client schedules a time to ring based on the date/time pattern. When it rings, it may be rescheduled off the original time by snoozing or it may be replaced by the next occurrence.GoogleTypeDate
labelA user-provided name for this alarm.GoogleAssistantEmbeddedV1AlarmAlarms are clocks that ring at a specified time on one or more days. The client schedules a time to ring based on the date/time pattern. When it rings, it may be rescheduled off the original time by snoozing or it may be replaced by the next occurrence.String
recurrencePatternFor recurring alarms: a description of the dates when the alarm should recur.GoogleAssistantEmbeddedV1AlarmAlarms are clocks that ring at a specified time on one or more days. The client schedules a time to ring based on the date/time pattern. When it rings, it may be rescheduled off the original time by snoozing or it may be replaced by the next occurrence.GoogleAssistantEmbeddedV1AlarmRecurrence
scheduledTimeWhen SCHEDULED or SNOOZED, the absolute time the alarm will fire next. When SNOOZED, this time includes the additional time added by snoozing the alarm. When FIRING, the absolute time the alarm had been scheduled to fire. When DISABLED, this field is undefined and should be ignored.GoogleAssistantEmbeddedV1AlarmAlarms are clocks that ring at a specified time on one or more days. The client schedules a time to ring based on the date/time pattern. When it rings, it may be rescheduled off the original time by snoozing or it may be replaced by the next occurrence.DateTime
statusDescribes the part of the lifecycle that an alarm is in.GoogleAssistantEmbeddedV1AlarmAlarms are clocks that ring at a specified time on one or more days. The client schedules a time to ring based on the date/time pattern. When it rings, it may be rescheduled off the original time by snoozing or it may be replaced by the next occurrence.String
timePatternThe time of day the alarm should be scheduled for. This value does not change when an alarm enters the SNOOZED state; instead the scheduled_time field should be adjusted to the new alarm time.GoogleAssistantEmbeddedV1AlarmAlarms are clocks that ring at a specified time on one or more days. The client schedules a time to ring based on the date/time pattern. When it rings, it may be rescheduled off the original time by snoozing or it may be replaced by the next occurrence.GoogleTypeTimeOfDay
dayOfWeekSpecifies a weekly or daily recurrence. Constraint: The date falls on one of these days of the week, in 0…6 (Sunday…Saturday). Should not be empty.GoogleAssistantEmbeddedV1AlarmRecurrenceA description of the dates when an alarm should recur.list(String)
alarmsInformation about all on-device alarms.GoogleAssistantEmbeddedV1AlarmsContains information about on-device alarms for devices that support alarms.list(GoogleAssistantEmbeddedV1Alarm)
snoozeDurationThe amount of time for which alarms should be snoozed. If not specified, the productivity vertical applies a default snooze duration, which may be seen here: http://google3/assistant/verticals/productivity/utils/alarm_utils.cc;l=2734;rcl=415933085GoogleAssistantEmbeddedV1AlarmsContains information about on-device alarms for devices that support alarms.String
stateFetchErrorIndicates if an error occurred while fetching alarm state. If this value is missing, it can be assumed that the state fetch was successful.GoogleAssistantEmbeddedV1AlarmsContains information about on-device alarms for devices that support alarms.String
deviceModelCapabilitiesDevice model capabilities from client.GoogleAssistantEmbeddedV1DeviceModelCapabilitiesOverrideDevice model capabilities override from client.String
updateMaskIf present, overrides only fields specified in the mask. When doing so, selected message and repeated fields will be replaced rather than merged. Performs a regular proto MergeFrom if no mask is specified.GoogleAssistantEmbeddedV1DeviceModelCapabilitiesOverrideDevice model capabilities override from client.String
fitnessActivitiesInformation about all on-device activities.GoogleAssistantEmbeddedV1FitnessActivitiesContains information about on-device fitness activities for devices that support fitness.list(GoogleAssistantEmbeddedV1FitnessActivity)
activityIdRequired A string key used as an identifier for this activity. This key needs to be unique amongst all activities on the device. The client can choose a mechanism of its choice to ensure this. If the server suggests an activity_id, the client can either use the suggestion or create a new unique activity_id of its choosing.GoogleAssistantEmbeddedV1FitnessActivityDescribes a particular fitness activity, its current state, and other data fields associated with that activity (e.g. elapsed time). LINT.IfChangeString
mostRecentStartTimeDEPRECATED: The most recent time this activity was switched to the ACTIVE state.GoogleAssistantEmbeddedV1FitnessActivityDescribes a particular fitness activity, its current state, and other data fields associated with that activity (e.g. elapsed time). LINT.IfChangeDateTime
previouslyAccumulatedDurationDEPRECATED: The total amount of time this activity has spent in the ACTIVE state until the most recent start time. The total time spent active may be computed by summing (now – most_recent_start_time) with previously_accumulated_duration.GoogleAssistantEmbeddedV1FitnessActivityDescribes a particular fitness activity, its current state, and other data fields associated with that activity (e.g. elapsed time). LINT.IfChangeString
stateThe current state of this activity.GoogleAssistantEmbeddedV1FitnessActivityDescribes a particular fitness activity, its current state, and other data fields associated with that activity (e.g. elapsed time). LINT.IfChangeString
typeThe type of activity being done.GoogleAssistantEmbeddedV1FitnessActivityDescribes a particular fitness activity, its current state, and other data fields associated with that activity (e.g. elapsed time). LINT.IfChangeString
surfaceTypeSurface type that the device identifies as.GoogleAssistantEmbeddedV1SurfaceIdentityContains fields to identify the device which sent the request.String
userAgentSuffix* Fully formed user agent suffix string.GoogleAssistantEmbeddedV1SurfaceIdentityContains fields to identify the device which sent the request.String
expireTimeThe time the timer is scheduled to expire. google.protobuf.Timestamp is a Unix epoch time with a granularity of 1 nanosecond.GoogleAssistantEmbeddedV1TimerConceptually, timers are clocks that count down from an initial duration and ring when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.DateTime
labelA user-provided name for this timer.GoogleAssistantEmbeddedV1TimerConceptually, timers are clocks that count down from an initial duration and ring when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.String
originalDurationThe duration of the timer when it was started. For the ADD_TIME action, this field contains the amount of time to add to the timer with the given timer_id.GoogleAssistantEmbeddedV1TimerConceptually, timers are clocks that count down from an initial duration and ring when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.String
remainingDurationThe remaining duration for the timer.GoogleAssistantEmbeddedV1TimerConceptually, timers are clocks that count down from an initial duration and ring when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.String
statusDescribes the part of the lifecycle a timer is in.GoogleAssistantEmbeddedV1TimerConceptually, timers are clocks that count down from an initial duration and ring when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.String
timerIdA string key used as an identifier to this timer. This key needs to be unique amongst all timers on the device. The client can choose a mechanism of its choice to ensure this. If the server suggests a timer_id, the client can either use the suggestion or create a new unique timer_id of its choosing.GoogleAssistantEmbeddedV1TimerConceptually, timers are clocks that count down from an initial duration and ring when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.String
stateFetchErrorIndicates if an error occurred while fetching timer state. If this value is missing, it can be assumed that the state fetch was successful.GoogleAssistantEmbeddedV1TimersContains information about on-device timers for devices that support timers.String
timersInformation about all on-device timers.GoogleAssistantEmbeddedV1TimersContains information about on-device timers for devices that support timers.list(GoogleAssistantEmbeddedV1Timer)
operationTypeIdentifies the type of operation.GoogleCloudContentwarehouseV1AccessControlActionRepresents the action responsible for access control list management operations.String
policyRepresents the new policy from which bindings are added, removed or replaced based on the type of the operation. the policy is limited to a few 10s of KB.GoogleCloudContentwarehouseV1AccessControlActionRepresents the action responsible for access control list management operations.GoogleIamV1Policy
accessControlAction triggering access control operations.GoogleCloudContentwarehouseV1ActionRepresents the action triggered by Rule Engine when the rule is true.GoogleCloudContentwarehouseV1AccessControlAction
actionIdID of the action. Managed internally.GoogleCloudContentwarehouseV1ActionRepresents the action triggered by Rule Engine when the rule is true.String
addToFolderAction triggering create document link operation.GoogleCloudContentwarehouseV1ActionRepresents the action triggered by Rule Engine when the rule is true.GoogleCloudContentwarehouseV1AddToFolderAction
dataUpdateAction triggering data update operations.GoogleCloudContentwarehouseV1ActionRepresents the action triggered by Rule Engine when the rule is true.GoogleCloudContentwarehouseV1DataUpdateAction
dataValidationAction triggering data validation operations.GoogleCloudContentwarehouseV1ActionRepresents the action triggered by Rule Engine when the rule is true.GoogleCloudContentwarehouseV1DataValidationAction
deleteDocumentActionAction deleting the document.GoogleCloudContentwarehouseV1ActionRepresents the action triggered by Rule Engine when the rule is true.GoogleCloudContentwarehouseV1DeleteDocumentAction
publishToPubSubAction publish to Pub/Sub operation.GoogleCloudContentwarehouseV1ActionRepresents the action triggered by Rule Engine when the rule is true.GoogleCloudContentwarehouseV1PublishAction
removeFromFolderActionAction removing a document from a folder.GoogleCloudContentwarehouseV1ActionRepresents the action triggered by Rule Engine when the rule is true.GoogleCloudContentwarehouseV1RemoveFromFolderAction
ruleActionsPairsList of rule and corresponding actions result.GoogleCloudContentwarehouseV1ActionExecutorOutputRepresents the output of the Action Executor.list(GoogleCloudContentwarehouseV1RuleActionsPair)
actionIdID of the action.GoogleCloudContentwarehouseV1ActionOutputRepresents the result of executing an action.String
actionStateState of an action.GoogleCloudContentwarehouseV1ActionOutputRepresents the result of executing an action.String
outputMessageAction execution output message.GoogleCloudContentwarehouseV1ActionOutputRepresents the result of executing an action.String
foldersNames of the folder under which new document is to be added. Format: projects/{project_number}/locations/{location}/documents/{document_id}.GoogleCloudContentwarehouseV1AddToFolderActionRepresents the action responsible for adding document under a folder.list(String)
messageThe message of the project initialization process.GoogleCloudContentwarehouseV1beta1InitializeProjectResponseResponse message for projectService.InitializeProjectString
stateThe state of the project initialization process.GoogleCloudContentwarehouseV1beta1InitializeProjectResponseResponse message for projectService.InitializeProjectString
customizedEntitiesPropertiesConversionsIf set, only selected entities will be converted to properties.GoogleCloudContentwarehouseV1CloudAIDocumentOptionRequest Option for processing Cloud AI Document in CW Document.map
enableEntitiesConversionsWhether to convert all the entities to properties.GoogleCloudContentwarehouseV1CloudAIDocumentOptionRequest Option for processing Cloud AI Document in CW Document.boolean
documentLinkRequired. Document links associated with the source documents (source_document_id).GoogleCloudContentwarehouseV1CreateDocumentLinkRequestRequest message for DocumentLinkService.CreateDocumentLink.GoogleCloudContentwarehouseV1DocumentLink
requestMetadataThe meta information collected about the document creator, used to enforce access control for the service.GoogleCloudContentwarehouseV1CreateDocumentLinkRequestRequest message for DocumentLinkService.CreateDocumentLink.GoogleCloudContentwarehouseV1RequestMetadata
cloudAiDocumentOptionRequest Option for processing Cloud AI Document in Document Warehouse. This field offers limited support for mapping entities from Cloud AI Document to Warehouse Document. Please consult with product team before using this field and other available options.GoogleCloudContentwarehouseV1CreateDocumentRequestRequest message for DocumentService.CreateDocument.GoogleCloudContentwarehouseV1CloudAIDocumentOption
createMaskField mask for creating Document fields. If mask path is empty, it means all fields are masked. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.GoogleCloudContentwarehouseV1CreateDocumentRequestRequest message for DocumentService.CreateDocument.String
documentRequired. The document to create.GoogleCloudContentwarehouseV1CreateDocumentRequestRequest message for DocumentService.CreateDocument.GoogleCloudContentwarehouseV1Document
policyDefault document policy during creation. This refers to an Identity and Access (IAM) policy, which specifies access controls for the Document. Conditions defined in the policy will be ignored.GoogleCloudContentwarehouseV1CreateDocumentRequestRequest message for DocumentService.CreateDocument.GoogleIamV1Policy
requestMetadataThe meta information collected about the end user, used to enforce access control for the service.GoogleCloudContentwarehouseV1CreateDocumentRequestRequest message for DocumentService.CreateDocument.GoogleCloudContentwarehouseV1RequestMetadata
documentDocument created after executing create request.GoogleCloudContentwarehouseV1CreateDocumentResponseResponse message for DocumentService.CreateDocument.GoogleCloudContentwarehouseV1Document
longRunningOperationspost-processing LROsGoogleCloudContentwarehouseV1CreateDocumentResponseResponse message for DocumentService.CreateDocument.list(GoogleLongrunningOperation)
metadataAdditional information for the API invocation, such as the request tracking id.GoogleCloudContentwarehouseV1CreateDocumentResponseResponse message for DocumentService.CreateDocument.GoogleCloudContentwarehouseV1ResponseMetadata
ruleEngineOutputOutput from Rule Engine recording the rule evaluator and action executor’s output. Refer format in: google/cloud/contentwarehouse/v1/rule_engine.protoGoogleCloudContentwarehouseV1CreateDocumentResponseResponse message for DocumentService.CreateDocument.GoogleCloudContentwarehouseV1RuleEngineOutput
weightedSchemaPropertiesList of schema and property name. Allows a maximum of 10 schemas to be specified for relevance boosting.GoogleCloudContentwarehouseV1CustomWeightsMetadataTo support the custom weighting across document schemas.list(GoogleCloudContentwarehouseV1WeightedSchemaProperty)
entriesMap of (K, V) -> (valid name of the field, new value of the field) E.g., (“age”, “60”) entry triggers update of field age with a value of 60. If the field is not present then new entry is added. During update action execution, value strings will be casted to appropriate types.GoogleCloudContentwarehouseV1DataUpdateActionRepresents the action responsible for properties update operations.map
conditionsMap of (K, V) -> (field, string condition to be evaluated on the field) E.g., (“age”, “age > 18 && age < 60") entry triggers validation of field age with the given condition. Map entries will be ANDed during validation.GoogleCloudContentwarehouseV1DataValidationActionRepresents the action responsible for data validation operations.map
valuesList of datetime values. Both OffsetDateTime and ZonedDateTime are supported.GoogleCloudContentwarehouseV1DateTimeArrayDateTime values.list(GoogleTypeDateTime)
enableHardDeleteBoolean field to select between hard vs soft delete options. Set ‘true’ for ‘hard delete’ and ‘false’ for ‘soft delete’.GoogleCloudContentwarehouseV1DeleteDocumentActionRepresents the action responsible for deleting the document.boolean
requestMetadataThe meta information collected about the document creator, used to enforce access control for the service.GoogleCloudContentwarehouseV1DeleteDocumentLinkRequestRequest message for DocumentLinkService.DeleteDocumentLink.GoogleCloudContentwarehouseV1RequestMetadata
requestMetadataThe meta information collected about the end user, used to enforce access control for the service.GoogleCloudContentwarehouseV1DeleteDocumentRequestRequest message for DocumentService.DeleteDocument.GoogleCloudContentwarehouseV1RequestMetadata
cloudAiDocumentDocument AI format to save the structured content, including OCR.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.GoogleCloudDocumentaiV1Document
contentCategoryIndicates the category (image, audio, video etc.) of the original content.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
createTimeOutput only. The time when the document is created.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.DateTime
creatorThe user who creates the document.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
displayNameRequired. Display name of the document given by the user. This name will be displayed in the UI. Customer can populate this field with the name of the document. This differs from the ‘title’ field as ‘title’ is optional and stores the top heading in the document.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
displayUriUri to display the document, for example, in the UI.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
dispositionTimeOutput only. If linked to a Collection with RetentionPolicy, the date when the document becomes mutable.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.DateTime
documentSchemaNameThe Document schema name. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
inlineRawDocumentRaw document content.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
legalHoldOutput only. Indicates if the document has a legal hold on it.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.boolean
nameThe resource name of the document. Format: projects/{project_number}/locations/{location}/documents/{document_id}. The name is ignored when creating a document.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
plainTextOther document format, such as PPTX, XLXSGoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
propertiesList of values that are user supplied metadata.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.list(GoogleCloudContentwarehouseV1Property)
rawDocumentFileTypeThis is used when DocAI was not used to load the document and parsing/ extracting is needed for the inline_raw_document. For example, if inline_raw_document is the byte representation of a PDF file, then this should be set to: RAW_DOCUMENT_FILE_TYPE_PDF.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
rawDocumentPathRaw document file in Cloud Storage path.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
referenceIdThe reference ID set by customers. Must be unique per project and location.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
textExtractionDisabledIf true, text extraction will not be performed.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.boolean
textExtractionEnabledIf true, text extraction will be performed.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.boolean
titleTitle that describes the document. This can be the top heading or text that describes the document.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
updateTimeOutput only. The time when the document is last updated.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.DateTime
updaterThe user who lastly updates the document.GoogleCloudContentwarehouseV1DocumentDefines the structure for content warehouse document proto.String
createTimeOutput only. The time when the documentLink is created.GoogleCloudContentwarehouseV1DocumentLinkA document-link between source and target document.DateTime
descriptionDescription of this document-link.GoogleCloudContentwarehouseV1DocumentLinkA document-link between source and target document.String
nameName of this document-link. It is required that the parent derived form the name to be consistent with the source document reference. Otherwise an exception will be thrown. Format: projects/{project_number}/locations/{location}/documents/{source_document_id}/documentLinks/{document_link_id}.GoogleCloudContentwarehouseV1DocumentLinkA document-link between source and target document.String
sourceDocumentReferenceDocument references of the source document.GoogleCloudContentwarehouseV1DocumentLinkA document-link between source and target document.GoogleCloudContentwarehouseV1DocumentReference
stateThe state of the documentlink. If target node has been deleted, the link is marked as invalid. Removing a source node will result in removal of all associated links.GoogleCloudContentwarehouseV1DocumentLinkA document-link between source and target document.String
targetDocumentReferenceDocument references of the target document.GoogleCloudContentwarehouseV1DocumentLinkA document-link between source and target document.GoogleCloudContentwarehouseV1DocumentReference
updateTimeOutput only. The time when the documentLink is last updated.GoogleCloudContentwarehouseV1DocumentLinkA document-link between source and target document.DateTime
customPropertyFilterThis filter specifies a structured syntax to match against the [PropertyDefinition].is_filterable marked as `true`. The syntax for this expression is a subset of SQL syntax. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where the left of the operator is a property name and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\”) characters. Supported functions are `LOWER([property_name])` to perform a case insensitive match and `EMPTY([property_name])` to filter on the existence of a key. Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example, “((A AND B AND C) OR NOT D) AND E”), a maximum of 100 comparisons or functions are allowed in the expression. The expression must be < 6000 bytes in length. Sample Query: `(LOWER(driving_license)="class \\"a\\"" OR EMPTY(driving_license)) AND driving_years > 10`GoogleCloudContentwarehouseV1DocumentQueryString
customWeightsMetadataTo support the custom weighting across document schemas, customers need to provide the properties to be used to boost the ranking in the search request. For a search query with CustomWeightsMetadata specified, only the RetrievalImportance for the properties in the CustomWeightsMetadata will be honored.GoogleCloudContentwarehouseV1DocumentQueryGoogleCloudContentwarehouseV1CustomWeightsMetadata
documentCreatorFilterThe exact creator(s) of the documents to search against. If a value isn’t specified, documents within the search results are associated with any creator. If multiple values are specified, documents within the search results may be associated with any of the specified creators.GoogleCloudContentwarehouseV1DocumentQuerylist(String)
documentNameFilterSearch the documents in the list. Format: projects/{project_number}/locations/{location}/documents/{document_id}.GoogleCloudContentwarehouseV1DocumentQuerylist(String)
documentSchemaNamesThis filter specifies the exact document schema Document.document_schema_name of the documents to search against. If a value isn’t specified, documents within the search results are associated with any schema. If multiple values are specified, documents within the search results may be associated with any of the specified schemas. At most 20 document schema names are allowed.GoogleCloudContentwarehouseV1DocumentQuerylist(String)
fileTypeFilterThis filter specifies the types of files to return: ALL, FOLDER, or FILE. If FOLDER or FILE is specified, then only either folders or files will be returned, respectively. If ALL is specified, both folders and files will be returned. If no value is specified, ALL files will be returned.GoogleCloudContentwarehouseV1DocumentQueryGoogleCloudContentwarehouseV1FileTypeFilter
folderNameFilterSearch all the documents under this specified folder. Format: projects/{project_number}/locations/{location}/documents/{document_id}.GoogleCloudContentwarehouseV1DocumentQueryString
isNlQueryExperimental, do not use. If the query is a natural language question. False by default. If true, then the question-answering feature will be used instead of search, and `result_count` in SearchDocumentsRequest must be set. In addition, all other input fields related to search (pagination, histograms, etc.) will be ignored.GoogleCloudContentwarehouseV1DocumentQueryboolean
propertyFilterThis filter specifies a structured syntax to match against the PropertyDefinition.is_filterable marked as `true`. The relationship between the PropertyFilters is OR.GoogleCloudContentwarehouseV1DocumentQuerylist(GoogleCloudContentwarehouseV1PropertyFilter)
queryThe query string that matches against the full text of the document and the searchable properties. The query partially supports [Google AIP style syntax](https://google.aip.dev/160). Specifically, the query supports literals, logical operators, negation operators, comparison operators, and functions. Literals: A bare literal value (examples: “42”, “Hugo”) is a value to be matched against. It searches over the full text of the document and the searchable properties. Logical operators: “AND”, “and”, “OR”, and “or” are binary logical operators (example: “engineer OR developer”). Negation operators: “NOT” and “!” are negation operators (example: “NOT software”). Comparison operators: support the binary comparison operators =, !=, <, >, <= and >= for string, numeric, enum, boolean. Also support like operator `~~` for string. It provides semantic search functionality by parsing, stemming and doing synonyms expansion against the input query. To specify a property in the query, the left hand side expression in the comparison must be the property ID including the parent. The right hand side must be literals. For example: “\\”projects/123/locations/us\\”.property_a < 1" matches results whose "property_a" is less than 1 in project 123 and us location. The literals and comparison expression can be connected in a single query (example: "software engineer \\"projects/123/locations/us\\".salary > 100″). Functions: supported functions are `LOWER([property_name])` to perform a case insensitive match and `EMPTY([property_name])` to filter on the existence of a key. Support nested expressions connected using parenthesis and logical operators. The default logical operators is `AND` if there is no operators between expressions. The query can be used with other filters e.g. `time_filters` and `folder_name_filter`. They are connected with `AND` operator under the hood. The maximum number of allowed characters is 255.GoogleCloudContentwarehouseV1DocumentQueryString
queryContextFor custom synonyms. Customers provide the synonyms based on context. One customer can provide multiple set of synonyms based on different context. The search query will be expanded based on the custom synonyms of the query context set. By default, no custom synonyms wll be applied if no query context is provided. It is not supported for CMEK compliant deployment.GoogleCloudContentwarehouseV1DocumentQuerylist(String)
timeFiltersDocuments created/updated within a range specified by this filter are searched against.GoogleCloudContentwarehouseV1DocumentQuerylist(GoogleCloudContentwarehouseV1TimeFilter)
createTimeOutput only. The time when the document is created.GoogleCloudContentwarehouseV1DocumentReferenceReferences to the documents.DateTime
deleteTimeOutput only. The time when the document is deleted.GoogleCloudContentwarehouseV1DocumentReferenceReferences to the documents.DateTime
displayNamedisplay_name of the referenced document; this name does not need to be consistent to the display_name in the Document proto, depending on the ACL constraint.GoogleCloudContentwarehouseV1DocumentReferenceReferences to the documents.String
documentIsFolderThe document type of the document being referenced.GoogleCloudContentwarehouseV1DocumentReferenceReferences to the documents.boolean
documentIsLegalHoldFolderDocument is a folder with legal hold.GoogleCloudContentwarehouseV1DocumentReferenceReferences to the documents.boolean
documentIsRetentionFolderDocument is a folder with retention policy.GoogleCloudContentwarehouseV1DocumentReferenceReferences to the documents.boolean
documentNameRequired. Name of the referenced document.GoogleCloudContentwarehouseV1DocumentReferenceReferences to the documents.String
snippetStores the subset of the referenced document’s content. This is useful to allow user peek the information of the referenced document.GoogleCloudContentwarehouseV1DocumentReferenceReferences to the documents.String
updateTimeOutput only. The time when the document is last updated.GoogleCloudContentwarehouseV1DocumentReferenceReferences to the documents.DateTime
createTimeOutput only. The time when the document schema is created.GoogleCloudContentwarehouseV1DocumentSchemaA document schema used to define document structure.DateTime
descriptionSchema description.GoogleCloudContentwarehouseV1DocumentSchemaA document schema used to define document structure.String
displayNameRequired. Name of the schema given by the user. Must be unique per project.GoogleCloudContentwarehouseV1DocumentSchemaA document schema used to define document structure.String
documentIsFolderDocument Type, true refers the document is a folder, otherwise it is a typical document.GoogleCloudContentwarehouseV1DocumentSchemaA document schema used to define document structure.boolean
nameThe resource name of the document schema. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. The name is ignored when creating a document schema.GoogleCloudContentwarehouseV1DocumentSchemaA document schema used to define document structure.String
propertyDefinitionsDocument details.GoogleCloudContentwarehouseV1DocumentSchemaA document schema used to define document structure.list(GoogleCloudContentwarehouseV1PropertyDefinition)
updateTimeOutput only. The time when the document schema is last updated.GoogleCloudContentwarehouseV1DocumentSchemaA document schema used to define document structure.DateTime
valuesList of enum values.GoogleCloudContentwarehouseV1EnumArrayEnum values.list(String)
possibleValuesRequired. List of possible enum values.GoogleCloudContentwarehouseV1EnumTypeOptionsConfigurations for an enum/categorical property.list(String)
validationCheckDisabledMake sure the Enum property value provided in the document is in the possile value list during document creation. The validation check runs by default.GoogleCloudContentwarehouseV1EnumTypeOptionsConfigurations for an enum/categorical property.boolean
valueString value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions.GoogleCloudContentwarehouseV1EnumValueRepresents the string value of the enum field.String
docAiDatasetOptional. The CDW dataset resource name. This field is optional. If not set, the documents will be exported to Cloud Storage only. Format: projects/{project}/locations/{location}/processors/{processor}/datasetGoogleCloudContentwarehouseV1ExportToCdwPipelineThe configuration of exporting documents from the Document Warehouse to CDW pipeline.String
documentsThe list of all the resource names of the documents to be processed. Format: projects/{project_number}/locations/{location}/documents/{document_id}.GoogleCloudContentwarehouseV1ExportToCdwPipelineThe configuration of exporting documents from the Document Warehouse to CDW pipeline.list(String)
exportFolderPathThe Cloud Storage folder path used to store the exported documents before being sent to CDW. Format: `gs:///`.GoogleCloudContentwarehouseV1ExportToCdwPipelineThe configuration of exporting documents from the Document Warehouse to CDW pipeline.String
trainingSplitRatioRatio of training dataset split. When importing into Document AI Workbench, documents will be automatically split into training and test split category with the specified ratio. This field is required if doc_ai_dataset is set.GoogleCloudContentwarehouseV1ExportToCdwPipelineThe configuration of exporting documents from the Document Warehouse to CDW pipeline.number
projectOwnerFor Get Project ACL only. Authorization check for end user will be ignored when project_owner=true.GoogleCloudContentwarehouseV1FetchAclRequestRequest message for DocumentService.FetchAclboolean
requestMetadataThe meta information collected about the end user, used to enforce access control for the service.GoogleCloudContentwarehouseV1FetchAclRequestRequest message for DocumentService.FetchAclGoogleCloudContentwarehouseV1RequestMetadata
metadataAdditional information for the API invocation, such as the request tracking id.GoogleCloudContentwarehouseV1FetchAclResponseResponse message for DocumentService.FetchAcl.GoogleCloudContentwarehouseV1ResponseMetadata
policyThe IAM policy.GoogleCloudContentwarehouseV1FetchAclResponseResponse message for DocumentService.FetchAcl.GoogleIamV1Policy
fileTypeThe type of files to return.GoogleCloudContentwarehouseV1FileTypeFilterFilter for the specific types of documents returned.String
valuesList of float values.GoogleCloudContentwarehouseV1FloatArrayFloat values.list(number)
inputPathThe input Cloud Storage folder. All files under this folder will be imported to Document Warehouse. Format: `gs:///`.GoogleCloudContentwarehouseV1GcsIngestPipelineThe configuration of the Cloud Storage Ingestion pipeline.String
pipelineConfigOptional. The config for the Cloud Storage Ingestion pipeline. It provides additional customization options to run the pipeline and can be skipped if it is not applicable.GoogleCloudContentwarehouseV1GcsIngestPipelineThe configuration of the Cloud Storage Ingestion pipeline.GoogleCloudContentwarehouseV1IngestPipelineConfig
processorTypeThe Doc AI processor type name. Only used when the format of ingested files is Doc AI Document proto format.GoogleCloudContentwarehouseV1GcsIngestPipelineThe configuration of the Cloud Storage Ingestion pipeline.String
schemaNameThe Document Warehouse schema resource name. All documents processed by this pipeline will use this schema. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.GoogleCloudContentwarehouseV1GcsIngestPipelineThe configuration of the Cloud Storage Ingestion pipeline.String
skipIngestedDocumentsThe flag whether to skip ingested documents. If it is set to true, documents in Cloud Storage contains key “status” with value “status=ingested” in custom metadata will be skipped to ingest.GoogleCloudContentwarehouseV1GcsIngestPipelineThe configuration of the Cloud Storage Ingestion pipeline.boolean
extractProcessorInfosThe extract processors information. One matched extract processor will be used to process documents based on the classify processor result. If no classify processor is specified, the first extract processor will be used.GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipelineThe configuration of the Cloud Storage Ingestion with DocAI Processors pipeline.list(GoogleCloudContentwarehouseV1ProcessorInfo)
inputPathThe input Cloud Storage folder. All files under this folder will be imported to Document Warehouse. Format: `gs:///`.GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipelineThe configuration of the Cloud Storage Ingestion with DocAI Processors pipeline.String
pipelineConfigOptional. The config for the Cloud Storage Ingestion with DocAI Processors pipeline. It provides additional customization options to run the pipeline and can be skipped if it is not applicable.GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipelineThe configuration of the Cloud Storage Ingestion with DocAI Processors pipeline.GoogleCloudContentwarehouseV1IngestPipelineConfig
processorResultsFolderPathThe Cloud Storage folder path used to store the raw results from processors. Format: `gs:///`.GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipelineThe configuration of the Cloud Storage Ingestion with DocAI Processors pipeline.String
skipIngestedDocumentsThe flag whether to skip ingested documents. If it is set to true, documents in Cloud Storage contains key “status” with value “status=ingested” in custom metadata will be skipped to ingest.GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipelineThe configuration of the Cloud Storage Ingestion with DocAI Processors pipeline.boolean
splitClassifyProcessorInfoThe split and classify processor information. The split and classify result will be used to find a matched extract processor.GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipelineThe configuration of the Cloud Storage Ingestion with DocAI Processors pipeline.GoogleCloudContentwarehouseV1ProcessorInfo
requestMetadataThe meta information collected about the end user, used to enforce access control for the service.GoogleCloudContentwarehouseV1GetDocumentRequestRequest message for DocumentService.GetDocument.GoogleCloudContentwarehouseV1RequestMetadata
filtersOptional. Filter the result of histogram query by the property names. It only works with histogram query count(‘FilterableProperties’). It is an optional. It will perform histogram on all the property names for all the document schemas. Setting this field will have a better performance.GoogleCloudContentwarehouseV1HistogramQueryThe histogram request.GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilter
histogramQueryAn expression specifies a histogram request against matching documents for searches. See SearchDocumentsRequest.histogram_queries for details about syntax.GoogleCloudContentwarehouseV1HistogramQueryThe histogram request.String
requirePreciseResultSizeControls if the histogram query requires the return of a precise count. Enable this flag may adversely impact performance. Defaults to true.GoogleCloudContentwarehouseV1HistogramQueryThe histogram request.boolean
documentSchemasThis filter specifies the exact document schema(s) Document.document_schema_name to run histogram query against. It is optional. It will perform histogram for property names for all the document schemas if it is not set. At most 10 document schema names are allowed. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilterlist(String)
propertyNamesIt is optional. It will perform histogram for all the property names if it is not set. The properties need to be defined with the is_filterable flag set to true and the name of the property should be in the format: “schemaId.propertyName”. The property needs to be defined in the schema. Example: the schema id is abc. Then the name of property for property MORTGAGE_TYPE will be “abc.MORTGAGE_TYPE”.GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilterlist(String)
yAxisBy default, the y_axis is HISTOGRAM_YAXIS_DOCUMENT if this field is not set.GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilterString
histogramA map from the values of the facet associated with distinct values to the number of matching entries with corresponding value. The key format is: * (for string histogram) string values stored in the field.GoogleCloudContentwarehouseV1HistogramQueryResultHistogram result that matches HistogramQuery specified in searches.map
histogramQueryRequested histogram expression.GoogleCloudContentwarehouseV1HistogramQueryResultHistogram result that matches HistogramQuery specified in searches.String
cloudFunctionThe Cloud Function resource name. The Cloud Function needs to live inside consumer project and is accessible to Document AI Warehouse P4SA. Only Cloud Functions V2 is supported. Cloud function execution should complete within 5 minutes or this file ingestion may fail due to timeout. Format: `https://{region}-{project_id}.cloudfunctions.net/{cloud_function}` The following keys are available the request json payload. * display_name * properties * plain_text * reference_id * document_schema_name * raw_document_path * raw_document_file_type The following keys from the cloud function json response payload will be ingested to the Document AI Warehouse as part of Document proto content and/or related information. The original values will be overridden if any key is present in the response. * display_name * properties * plain_text * document_acl_policy * folderGoogleCloudContentwarehouseV1IngestPipelineConfigThe ingestion pipeline config.String
documentAclPolicyThe document level acl policy config. This refers to an Identity and Access (IAM) policy, which specifies access controls for all documents ingested by the pipeline. The role and members under the policy needs to be specified. The following roles are supported for document level acl control: * roles/contentwarehouse.documentAdmin * roles/contentwarehouse.documentEditor * roles/contentwarehouse.documentViewer The following members are supported for document level acl control: * user:[email protected] * group:[email protected] Note that for documents searched with LLM, only single level user or group acl check is supported.GoogleCloudContentwarehouseV1IngestPipelineConfigThe ingestion pipeline config.GoogleIamV1Policy
enableDocumentTextExtractionThe document text extraction enabled flag. If the flag is set to true, DWH will perform text extraction on the raw document.GoogleCloudContentwarehouseV1IngestPipelineConfigThe ingestion pipeline config.boolean
folderOptional. The name of the folder to which all ingested documents will be linked during ingestion process. Format is `projects/{project}/locations/{location}/documents/{folder_id}`GoogleCloudContentwarehouseV1IngestPipelineConfigThe ingestion pipeline config.String
accessControlModeRequired. The access control mode for accessing the customer dataGoogleCloudContentwarehouseV1InitializeProjectRequestRequest message for projectService.InitializeProjectString
databaseTypeRequired. The type of database used to store customer dataGoogleCloudContentwarehouseV1InitializeProjectRequestRequest message for projectService.InitializeProjectString
documentCreatorDefaultRoleOptional. The default role for the person who create a document.GoogleCloudContentwarehouseV1InitializeProjectRequestRequest message for projectService.InitializeProjectString
enableCalUserEmailLoggingOptional. Whether to enable CAL user email logging.GoogleCloudContentwarehouseV1InitializeProjectRequestRequest message for projectService.InitializeProjectboolean
kmsKeyOptional. The KMS key used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the kms_key is left empty, no encryption will be enforced.GoogleCloudContentwarehouseV1InitializeProjectRequestRequest message for projectService.InitializeProjectString
messageThe message of the project initialization process.GoogleCloudContentwarehouseV1InitializeProjectResponseResponse message for projectService.InitializeProjectString
stateThe state of the project initialization process.GoogleCloudContentwarehouseV1InitializeProjectResponseResponse message for projectService.InitializeProjectString
valuesList of integer values.GoogleCloudContentwarehouseV1IntegerArrayInteger values.list(integer)
errorValidation error on a parsed expression.GoogleCloudContentwarehouseV1InvalidRuleA triggered rule that failed the validation check(s) after parsing.String
ruleTriggered rule.GoogleCloudContentwarehouseV1InvalidRuleA triggered rule that failed the validation check(s) after parsing.GoogleCloudContentwarehouseV1Rule
documentSchemasThe document schemas from the specified parent.GoogleCloudContentwarehouseV1ListDocumentSchemasResponseResponse message for DocumentSchemaService.ListDocumentSchemas.list(GoogleCloudContentwarehouseV1DocumentSchema)
nextPageTokenA token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.GoogleCloudContentwarehouseV1ListDocumentSchemasResponseResponse message for DocumentSchemaService.ListDocumentSchemas.String
pageSizeThe maximum number of document-links to return. The service may return fewer than this value. If unspecified, at most 50 document-links will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.GoogleCloudContentwarehouseV1ListLinkedSourcesRequestResponse message for DocumentLinkService.ListLinkedSources.integer
pageTokenA page token, received from a previous `ListLinkedSources` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListLinkedSources` must match the call that provided the page token.GoogleCloudContentwarehouseV1ListLinkedSourcesRequestResponse message for DocumentLinkService.ListLinkedSources.String
requestMetadataThe meta information collected about the document creator, used to enforce access control for the service.GoogleCloudContentwarehouseV1ListLinkedSourcesRequestResponse message for DocumentLinkService.ListLinkedSources.GoogleCloudContentwarehouseV1RequestMetadata
documentLinksSource document-links.GoogleCloudContentwarehouseV1ListLinkedSourcesResponseResponse message for DocumentLinkService.ListLinkedSources.list(GoogleCloudContentwarehouseV1DocumentLink)
nextPageTokenA token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.GoogleCloudContentwarehouseV1ListLinkedSourcesResponseResponse message for DocumentLinkService.ListLinkedSources.String
requestMetadataThe meta information collected about the document creator, used to enforce access control for the service.GoogleCloudContentwarehouseV1ListLinkedTargetsRequestRequest message for DocumentLinkService.ListLinkedTargets.GoogleCloudContentwarehouseV1RequestMetadata
documentLinksTarget document-links.GoogleCloudContentwarehouseV1ListLinkedTargetsResponseResponse message for DocumentLinkService.ListLinkedTargets.list(GoogleCloudContentwarehouseV1DocumentLink)
nextPageTokenA token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.GoogleCloudContentwarehouseV1ListLinkedTargetsResponseResponse message for DocumentLinkService.ListLinkedTargets.String
nextPageTokenA token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.GoogleCloudContentwarehouseV1ListRuleSetsResponseResponse message for RuleSetService.ListRuleSets.String
ruleSetsThe rule sets from the specified parent.GoogleCloudContentwarehouseV1ListRuleSetsResponseResponse message for RuleSetService.ListRuleSets.list(GoogleCloudContentwarehouseV1RuleSet)
nextPageTokenA page token, received from a previous `ListSynonymSets` call. Provide this to retrieve the subsequent page.GoogleCloudContentwarehouseV1ListSynonymSetsResponseResponse message for SynonymSetService.ListSynonymSets.String
synonymSetsThe synonymSets from the specified parent.GoogleCloudContentwarehouseV1ListSynonymSetsResponseResponse message for SynonymSetService.ListSynonymSets.list(GoogleCloudContentwarehouseV1SynonymSet)
collectionIdThe collection the document connects to.GoogleCloudContentwarehouseV1LockDocumentRequestRequest message for DocumentService.LockDocument.String
lockingUserThe user information who locks the document.GoogleCloudContentwarehouseV1LockDocumentRequestRequest message for DocumentService.LockDocument.GoogleCloudContentwarehouseV1UserInfo
replaceMessageFieldsWhen merging message fields, the default behavior is to merge the content of two message fields together. If you instead want to use the field from the source message to replace the corresponding field in the destination message, set this flag to true. When this flag is set, specified submessage fields that are missing in source will be cleared in destination.GoogleCloudContentwarehouseV1MergeFieldsOptionsOptions for merging updated fields.boolean
replaceRepeatedFieldsWhen merging repeated fields, the default behavior is to append entries from the source repeated field to the destination repeated field. If you instead want to keep only the entries from the source repeated field, set this flag to true. If you want to replace a repeated field within a message field on the destination message, you must set both replace_repeated_fields and replace_message_fields to true, otherwise the repeated fields will be appended.GoogleCloudContentwarehouseV1MergeFieldsOptionsOptions for merging updated fields.boolean
documentTypeThe processor will process the documents with this document type.GoogleCloudContentwarehouseV1ProcessorInfoThe DocAI processor information.String
processorNameThe processor resource name. Format is `projects/{project}/locations/{location}/processors/{processor}`, or `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`GoogleCloudContentwarehouseV1ProcessorInfoThe DocAI processor information.String
schemaNameThe Document schema resource name. All documents processed by this processor will use this schema. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.GoogleCloudContentwarehouseV1ProcessorInfoThe DocAI processor information.String
documentsThe list of all the resource names of the documents to be processed. Format: projects/{project_number}/locations/{location}/documents/{document_id}.GoogleCloudContentwarehouseV1ProcessWithDocAiPipelineThe configuration of processing documents in Document Warehouse with DocAi processors pipeline.list(String)
exportFolderPathThe Cloud Storage folder path used to store the exported documents before being sent to CDW. Format: `gs:///`.GoogleCloudContentwarehouseV1ProcessWithDocAiPipelineThe configuration of processing documents in Document Warehouse with DocAi processors pipeline.String
processorInfoThe CDW processor information.GoogleCloudContentwarehouseV1ProcessWithDocAiPipelineThe configuration of processing documents in Document Warehouse with DocAi processors pipeline.GoogleCloudContentwarehouseV1ProcessorInfo
processorResultsFolderPathThe Cloud Storage folder path used to store the raw results from processors. Format: `gs:///`.GoogleCloudContentwarehouseV1ProcessWithDocAiPipelineThe configuration of processing documents in Document Warehouse with DocAi processors pipeline.String
accessControlModeAccess control mode.GoogleCloudContentwarehouseV1ProjectStatusStatus of a project, including the project state, dbType, aclMode and etc.String
databaseTypeDatabase type.GoogleCloudContentwarehouseV1ProjectStatusStatus of a project, including the project state, dbType, aclMode and etc.String
documentCreatorDefaultRoleThe default role for the person who create a document.GoogleCloudContentwarehouseV1ProjectStatusStatus of a project, including the project state, dbType, aclMode and etc.String
locationThe location of the queried project.GoogleCloudContentwarehouseV1ProjectStatusStatus of a project, including the project state, dbType, aclMode and etc.String
qaEnabledIf the qa is enabled on this project.GoogleCloudContentwarehouseV1ProjectStatusStatus of a project, including the project state, dbType, aclMode and etc.boolean
stateState of the project.GoogleCloudContentwarehouseV1ProjectStatusStatus of a project, including the project state, dbType, aclMode and etc.String
dateTimeValuesDate time property values. It is not supported by CMEK compliant deployment.GoogleCloudContentwarehouseV1PropertyProperty of a document.GoogleCloudContentwarehouseV1DateTimeArray
enumValuesEnum property values.GoogleCloudContentwarehouseV1PropertyProperty of a document.GoogleCloudContentwarehouseV1EnumArray
floatValuesFloat property values.GoogleCloudContentwarehouseV1PropertyProperty of a document.GoogleCloudContentwarehouseV1FloatArray
integerValuesInteger property values.GoogleCloudContentwarehouseV1PropertyProperty of a document.GoogleCloudContentwarehouseV1IntegerArray
mapPropertyMap property values.GoogleCloudContentwarehouseV1PropertyProperty of a document.GoogleCloudContentwarehouseV1MapProperty
nameRequired. Must match the name of a PropertyDefinition in the DocumentSchema.GoogleCloudContentwarehouseV1PropertyProperty of a document.String
propertyValuesNested structured data property values.GoogleCloudContentwarehouseV1PropertyProperty of a document.GoogleCloudContentwarehouseV1PropertyArray
textValuesString/text property values.GoogleCloudContentwarehouseV1PropertyProperty of a document.GoogleCloudContentwarehouseV1TextArray
timestampValuesTimestamp property values. It is not supported by CMEK compliant deployment.GoogleCloudContentwarehouseV1PropertyProperty of a document.GoogleCloudContentwarehouseV1TimestampArray
propertiesList of property values.GoogleCloudContentwarehouseV1PropertyArrayProperty values.list(GoogleCloudContentwarehouseV1Property)
dateTimeTypeOptionsDate time property. It is not supported by CMEK compliant deployment.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.GoogleCloudContentwarehouseV1DateTimeTypeOptions
displayNameThe display-name for the property, used for front-end.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.String
enumTypeOptionsEnum/categorical property.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.GoogleCloudContentwarehouseV1EnumTypeOptions
floatTypeOptionsFloat property.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.GoogleCloudContentwarehouseV1FloatTypeOptions
integerTypeOptionsInteger property.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.GoogleCloudContentwarehouseV1IntegerTypeOptions
isFilterableWhether the property can be filtered. If this is a sub-property, all the parent properties must be marked filterable.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.boolean
isMetadataWhether the property is user supplied metadata. This out-of-the box placeholder setting can be used to tag derived properties. Its value and interpretation logic should be implemented by API user.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.boolean
isRepeatableWhether the property can have multiple values.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.boolean
isRequiredWhether the property is mandatory. Default is ‘false’, i.e. populating property value can be skipped. If ‘true’ then user must populate the value for this property.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.boolean
isSearchableIndicates that the property should be included in a global search.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.boolean
mapTypeOptionsMap property.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.GoogleCloudContentwarehouseV1MapTypeOptions
nameRequired. The name of the metadata property. Must be unique within a document schema and is case insensitive. Names must be non-blank, start with a letter, and can contain alphanumeric characters and: /, :, -, _, and .GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.String
propertyTypeOptionsNested structured data property.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.GoogleCloudContentwarehouseV1PropertyTypeOptions
retrievalImportanceThe retrieval importance of the property during search.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.String
schemaSourcesThe mapping information between this property to another schema source.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.list(GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource)
textTypeOptionsText/string property.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.GoogleCloudContentwarehouseV1TextTypeOptions
timestampTypeOptionsTimestamp property. It is not supported by CMEK compliant deployment.GoogleCloudContentwarehouseV1PropertyDefinitionDefines the metadata for a schema property.GoogleCloudContentwarehouseV1TimestampTypeOptions
nameThe schema name in the source.GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSourceThe schema source information.String
processorTypeThe Doc AI processor type name.GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSourceThe schema source information.String
conditionThe filter condition. The syntax for this expression is a subset of SQL syntax. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, `>=`, and `~~` where the left of the operator is a property name and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\”) characters. `~~` is the LIKE operator. The right of the operator must be a string. The only supported property data type for LIKE is text_values. It provides semantic search functionality by parsing, stemming and doing synonyms expansion against the input query. It matches if the property contains semantic similar content to the query. It is not regex matching or wildcard matching. For example, “property.company ~~ \\”google\\”” will match records whose property `property.compnay` have values like “Google Inc.”, “Google LLC” or “Google Company”. Supported functions are `LOWER([property_name])` to perform a case insensitive match and `EMPTY([property_name])` to filter on the existence of a key. Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example, “((A AND B AND C) OR NOT D) AND E”), a maximum of 100 comparisons or functions are allowed in the expression. The expression must be < 6000 bytes in length. Only properties that are marked filterable are allowed (PropertyDefinition.is_filterable). Property names do not need to be prefixed by the document schema id (as is the case with histograms), however property names will need to be prefixed by its parent hierarchy, if any. For example: top_property_name.sub_property_name. Sample Query: `(LOWER(driving_license)="class \\"a\\"" OR EMPTY(driving_license)) AND driving_years > 10` CMEK compliant deployment only supports: * Operators: `=`, `<`, `<=`, `>`, and `>=`. * Boolean expressions: AND and OR.GoogleCloudContentwarehouseV1PropertyFilterString
documentSchemaNameThe Document schema name Document.document_schema_name. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.GoogleCloudContentwarehouseV1PropertyFilterString
propertyDefinitionsRequired. List of property definitions.GoogleCloudContentwarehouseV1PropertyTypeOptionsConfigurations for a nested structured data property.list(GoogleCloudContentwarehouseV1PropertyDefinition)
messagesMessages to be published.GoogleCloudContentwarehouseV1PublishActionRepresents the action responsible for publishing messages to a Pub/Sub topic.list(String)
topicIdThe topic id in the Pub/Sub service for which messages will be published to.GoogleCloudContentwarehouseV1PublishActionRepresents the action responsible for publishing messages to a Pub/Sub topic.String
confidenceScoreThe calibrated confidence score for this document, in the range [0., 1.]. This represents the confidence level for whether the returned document and snippet answers the user’s query.GoogleCloudContentwarehouseV1QAResultAdditional result info for the question-answering feature.number
highlightsHighlighted sections in the snippet.GoogleCloudContentwarehouseV1QAResultAdditional result info for the question-answering feature.list(GoogleCloudContentwarehouseV1QAResultHighlight)
endIndexEnd index of the highlight, exclusive.GoogleCloudContentwarehouseV1QAResultHighlightA text span in the search text snippet that represents a highlighted section (answer context, highly relevant sentence, etc.).integer
startIndexStart index of the highlight.GoogleCloudContentwarehouseV1QAResultHighlightA text span in the search text snippet that represents a highlighted section (answer context, highly relevant sentence, etc.).integer
conditionCondition of the action to be executed.GoogleCloudContentwarehouseV1RemoveFromFolderActionRepresents the action responsible for remove a document from a specific folder.String
folderName of the folder under which new document is to be added. Format: projects/{project_number}/locations/{location}/documents/{document_id}.GoogleCloudContentwarehouseV1RemoveFromFolderActionRepresents the action responsible for remove a document from a specific folder.String
userInfoProvides user unique identification and groups information.GoogleCloudContentwarehouseV1RequestMetadataMeta information is used to improve the performance of the service.GoogleCloudContentwarehouseV1UserInfo
requestIdA unique id associated with this call. This id is logged for tracking purpose.GoogleCloudContentwarehouseV1ResponseMetadataAdditional information returned to client, such as debugging information.String
actionsList of actions that are executed when the rule is satisfied.GoogleCloudContentwarehouseV1RuleRepresents the rule for a content warehouse trigger.list(GoogleCloudContentwarehouseV1Action)
conditionRepresents the conditional expression to be evaluated. Expression should evaluate to a boolean result. When the condition is true actions are executed. Example: user_role = “hsbc_role_1” AND doc.salary > 20000GoogleCloudContentwarehouseV1RuleRepresents the rule for a content warehouse trigger.String
descriptionShort description of the rule and its context.GoogleCloudContentwarehouseV1RuleRepresents the rule for a content warehouse trigger.String
ruleIdID of the rule. It has to be unique across all the examples. This is managed internally.GoogleCloudContentwarehouseV1RuleRepresents the rule for a content warehouse trigger.String
triggerTypeIdentifies the trigger type for running the policy.GoogleCloudContentwarehouseV1RuleRepresents the rule for a content warehouse trigger.String
actionOutputsOutputs of executing the actions associated with the above rule.GoogleCloudContentwarehouseV1RuleActionsPairRepresents a rule and outputs of associated actions.list(GoogleCloudContentwarehouseV1ActionOutput)
ruleRepresents the rule.GoogleCloudContentwarehouseV1RuleActionsPairRepresents a rule and outputs of associated actions.GoogleCloudContentwarehouseV1Rule
actionExecutorOutputOutput from Action Executor containing rule and corresponding actions execution result.GoogleCloudContentwarehouseV1RuleEngineOutputRecords the output of Rule Engine including rule evaluation and actions result.GoogleCloudContentwarehouseV1ActionExecutorOutput
documentNameName of the document against which the rules and actions were evaluated.GoogleCloudContentwarehouseV1RuleEngineOutputRecords the output of Rule Engine including rule evaluation and actions result.String
ruleEvaluatorOutputOutput from Rule Evaluator containing matched, unmatched and invalid rules.GoogleCloudContentwarehouseV1RuleEngineOutputRecords the output of Rule Engine including rule evaluation and actions result.GoogleCloudContentwarehouseV1RuleEvaluatorOutput
invalidRulesA subset of triggered rules that failed the validation check(s) after parsing.GoogleCloudContentwarehouseV1RuleEvaluatorOutputRepresents the output of the Rule Evaluator.list(GoogleCloudContentwarehouseV1InvalidRule)
matchedRulesA subset of triggered rules that are evaluated true for a given request.GoogleCloudContentwarehouseV1RuleEvaluatorOutputRepresents the output of the Rule Evaluator.list(GoogleCloudContentwarehouseV1Rule)
triggeredRulesList of rules fetched from database for the given request trigger type.GoogleCloudContentwarehouseV1RuleEvaluatorOutputRepresents the output of the Rule Evaluator.list(GoogleCloudContentwarehouseV1Rule)
descriptionShort description of the rule-set.GoogleCloudContentwarehouseV1RuleSetRepresents a set of rules from a single customer.String
nameThe resource name of the rule set. Managed internally. Format: projects/{project_number}/locations/{location}/ruleSet/{rule_set_id}. The name is ignored when creating a rule set.GoogleCloudContentwarehouseV1RuleSetRepresents a set of rules from a single customer.String
rulesList of rules given by the customer.GoogleCloudContentwarehouseV1RuleSetRepresents a set of rules from a single customer.list(GoogleCloudContentwarehouseV1Rule)
sourceSource of the rules i.e., customer name.GoogleCloudContentwarehouseV1RuleSetRepresents a set of rules from a single customer.String
exportToCdwPipelineMetadataThe pipeline metadata for Export-to-CDW pipeline.GoogleCloudContentwarehouseV1RunPipelineMetadataMetadata message of RunPipeline method.GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata
failedFileCountNumber of files that have failed at some point in the pipeline.GoogleCloudContentwarehouseV1RunPipelineMetadataMetadata message of RunPipeline method.integer
gcsIngestPipelineMetadataThe pipeline metadata for GcsIngest pipeline.GoogleCloudContentwarehouseV1RunPipelineMetadataMetadata message of RunPipeline method.GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata
individualDocumentStatusesThe list of response details of each document.GoogleCloudContentwarehouseV1RunPipelineMetadataMetadata message of RunPipeline method.list(GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus)
processWithDocAiPipelineMetadataThe pipeline metadata for Process-with-DocAi pipeline.GoogleCloudContentwarehouseV1RunPipelineMetadataMetadata message of RunPipeline method.GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata
totalFileCountNumber of files that were processed by the pipeline.GoogleCloudContentwarehouseV1RunPipelineMetadataMetadata message of RunPipeline method.integer
userInfoUser unique identification and groups information.GoogleCloudContentwarehouseV1RunPipelineMetadataMetadata message of RunPipeline method.GoogleCloudContentwarehouseV1UserInfo
docAiDatasetThe output CDW dataset resource name.GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadataThe metadata message for Export-to-CDW pipeline.String
documentsThe input list of all the resource names of the documents to be exported.GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadataThe metadata message for Export-to-CDW pipeline.list(String)
outputPathThe output Cloud Storage folder in this pipeline.GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadataThe metadata message for Export-to-CDW pipeline.String
inputPathThe input Cloud Storage folder in this pipeline. Format: `gs:///`.GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadataThe metadata message for GcsIngest pipeline.String
documentIdDocument identifier of an existing document.GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatusThe status of processing a document.String
statusThe status processing the document.GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatusThe status of processing a document.GoogleRpcStatus
documentsThe input list of all the resource names of the documents to be processed.GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadataThe metadata message for Process-with-DocAi pipeline.list(String)
processorInfoThe DocAI processor to process the documents with.GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadataThe metadata message for Process-with-DocAi pipeline.GoogleCloudContentwarehouseV1ProcessorInfo
exportCdwPipelineExport docuemnts from Document Warehouse to CDW for training purpose.GoogleCloudContentwarehouseV1RunPipelineRequestRequest message for DocumentService.RunPipeline.GoogleCloudContentwarehouseV1ExportToCdwPipeline
gcsIngestPipelineCloud Storage ingestion pipeline.GoogleCloudContentwarehouseV1RunPipelineRequestRequest message for DocumentService.RunPipeline.GoogleCloudContentwarehouseV1GcsIngestPipeline
gcsIngestWithDocAiProcessorsPipelineUse DocAI processors to process documents in Cloud Storage and ingest them to Document Warehouse.GoogleCloudContentwarehouseV1RunPipelineRequestRequest message for DocumentService.RunPipeline.GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline
processWithDocAiPipelineUse a DocAI processor to process documents in Document Warehouse, and re-ingest the updated results into Document Warehouse.GoogleCloudContentwarehouseV1RunPipelineRequestRequest message for DocumentService.RunPipeline.GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline
requestMetadataThe meta information collected about the end user, used to enforce access control for the service.GoogleCloudContentwarehouseV1RunPipelineRequestRequest message for DocumentService.RunPipeline.GoogleCloudContentwarehouseV1RequestMetadata
documentQueryQuery used to search against documents (keyword, filters, etc.).GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.GoogleCloudContentwarehouseV1DocumentQuery
histogramQueriesAn expression specifying a histogram request against matching documents. Expression syntax is an aggregation function call with histogram facets and other options. The following aggregation functions are supported: * `count(string_histogram_facet)`: Count the number of matching entities for each distinct attribute value. Data types: * Histogram facet (aka filterable properties): Facet names with format .. Facets will have the format of: `a-zA-Z`. If the facet is a child facet, then the parent hierarchy needs to be specified separated by dots in the prefix after the schema id. Thus, the format for a multi- level facet is: .. . Example: schema123.root_parent_facet.middle_facet.child_facet * DocumentSchemaId: (with no schema id prefix) to get histograms for each document type (returns the schema id path, e.g. projects/12345/locations/us-west/documentSchemas/abc123). Example expression: * Document type counts: count(‘DocumentSchemaId’) * For schema id, abc123, get the counts for MORTGAGE_TYPE: count(‘abc123.MORTGAGE_TYPE’)GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.list(GoogleCloudContentwarehouseV1HistogramQuery)
offsetAn integer that specifies the current offset (that is, starting result location, amongst the documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. The maximum allowed value is 5000. Otherwise an error is thrown. For example, 0 means to return results starting from the first matching document, and 10 means to return from the 11th document. This can be used for pagination, (for example, pageSize = 10 and offset = 10 means to return from the second page).GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.integer
orderByThe criteria determining how search results are sorted. For non-empty query, default is `”relevance desc”`. For empty query, default is `”upload_date desc”`. Supported options are: * `”relevance desc”`: By relevance descending, as determined by the API algorithms. * `”upload_date desc”`: By upload date descending. * `”upload_date”`: By upload date ascending. * `”update_date desc”`: By last updated date descending. * `”update_date”`: By last updated date ascending. * `”retrieval_importance desc”`: By retrieval importance of properties descending. This feature is still under development, please do not use unless otherwise instructed to do so.GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.String
pageSizeA limit on the number of documents returned in the search results. Increasing this value above the default value of 10 can increase search response time. The value can be between 1 and 100.GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.integer
pageTokenThe token specifying the current offset within search results. See SearchDocumentsResponse.next_page_token for an explanation of how to obtain the next set of query results.GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.String
qaSizeLimitExperimental, do not use. The limit on the number of documents returned for the question-answering feature. To enable the question-answering feature, set [DocumentQuery].is_nl_query to true.GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.integer
requestMetadataThe meta information collected about the end user, used to enforce access control and improve the search quality of the service.GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.GoogleCloudContentwarehouseV1RequestMetadata
requireTotalSizeControls if the search document request requires the return of a total size of matched documents. See SearchDocumentsResponse.total_size. Enabling this flag may adversely impact performance. Hint: If this is used with pagination, set this flag on the initial query but set this to false on subsequent page calls (keep the total count locally). Defaults to false.GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.boolean
totalResultSizeControls if the search document request requires the return of a total size of matched documents. See SearchDocumentsResponse.total_size.GoogleCloudContentwarehouseV1SearchDocumentsRequestRequest message for DocumentService.SearchDocuments.String
histogramQueryResultsThe histogram results that match with the specified SearchDocumentsRequest.histogram_queries.GoogleCloudContentwarehouseV1SearchDocumentsResponseResponse message for DocumentService.SearchDocuments.list(GoogleCloudContentwarehouseV1HistogramQueryResult)
matchingDocumentsThe document entities that match the specified SearchDocumentsRequest.GoogleCloudContentwarehouseV1SearchDocumentsResponseResponse message for DocumentService.SearchDocuments.list(GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument)
metadataAdditional information for the API invocation, such as the request tracking id.GoogleCloudContentwarehouseV1SearchDocumentsResponseResponse message for DocumentService.SearchDocuments.GoogleCloudContentwarehouseV1ResponseMetadata
nextPageTokenThe token that specifies the starting position of the next page of results. This field is empty if there are no more results.GoogleCloudContentwarehouseV1SearchDocumentsResponseResponse message for DocumentService.SearchDocuments.String
questionAnswerExperimental. Question answer from the query against the document.GoogleCloudContentwarehouseV1SearchDocumentsResponseResponse message for DocumentService.SearchDocuments.String
totalSizeThe total number of matched documents which is available only if the client set SearchDocumentsRequest.require_total_size to `true` or set SearchDocumentsRequest.total_result_size to `ESTIMATED_SIZE` or `ACTUAL_SIZE`. Otherwise, the value will be `-1`. Typically a UI would handle this condition by displaying “of many”, for example: “Displaying 10 of many”.GoogleCloudContentwarehouseV1SearchDocumentsResponseResponse message for DocumentService.SearchDocuments.integer
documentDocument that matches the specified SearchDocumentsRequest. This document only contains indexed metadata information.GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocumentDocument entry with metadata inside SearchDocumentsResponseGoogleCloudContentwarehouseV1Document
matchedTokenPageIndicesReturn the 1-based page indices where those pages have one or more matched tokens.GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocumentDocument entry with metadata inside SearchDocumentsResponselist(String)
qaResultExperimental. Additional result info if the question-answering feature is enabled.GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocumentDocument entry with metadata inside SearchDocumentsResponseGoogleCloudContentwarehouseV1QAResult
searchTextSnippetContains snippets of text from the document full raw text that most closely match a search query’s keywords, if available. All HTML tags in the original fields are stripped when returned in this field, and matching query keywords are enclosed in HTML bold tags. If the question-answering feature is enabled, this field will instead contain a snippet that answers the user’s natural-language query. No HTML bold tags will be present, and highlights in the answer snippet can be found in QAResult.highlights.GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocumentDocument entry with metadata inside SearchDocumentsResponseString
policyRequired. REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. This refers to an Identity and Access (IAM) policy, which specifies access controls for the Document. You can set ACL with condition for projects only. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where the left of the operator is `DocumentSchemaId` or property name and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\”) characters. Boolean expressions (AND/OR) are supported up to 3 levels of nesting (for example, “((A AND B AND C) OR D) AND E”), a maximum of 10 comparisons are allowed in the expression. The expression must be < 6000 bytes in length. Sample condition: `"DocumentSchemaId = \\"some schema id\\" OR SchemaId.floatPropertyName >= 10″`GoogleCloudContentwarehouseV1SetAclRequestRequest message for DocumentService.SetAcl.GoogleIamV1Policy
projectOwnerFor Set Project ACL only. Authorization check for end user will be ignored when project_owner=true.GoogleCloudContentwarehouseV1SetAclRequestRequest message for DocumentService.SetAcl.boolean
requestMetadataThe meta information collected about the end user, used to enforce access control for the service.GoogleCloudContentwarehouseV1SetAclRequestRequest message for DocumentService.SetAcl.GoogleCloudContentwarehouseV1RequestMetadata
metadataAdditional information for the API invocation, such as the request tracking id.GoogleCloudContentwarehouseV1SetAclResponseResponse message for DocumentService.SetAcl.GoogleCloudContentwarehouseV1ResponseMetadata
policyThe policy will be attached to a resource (e.g. projecct, document).GoogleCloudContentwarehouseV1SetAclResponseResponse message for DocumentService.SetAcl.GoogleIamV1Policy
contextThis is a freeform field. Example contexts can be “sales,” “engineering,” “real estate,” “accounting,” etc. The context can be supplied during search requests.GoogleCloudContentwarehouseV1SynonymSetRepresents a list of synonyms for a given context. For example a context “sales” could contain: Synonym 1: sale, invoice, bill, order Synonym 2: money, credit, finance, payment Synonym 3: shipping, freight, transport Each SynonymSets should be disjointString
nameThe resource name of the SynonymSet This is mandatory for google.api.resource. Format: projects/{project_number}/locations/{location}/synonymSets/{context}.GoogleCloudContentwarehouseV1SynonymSetRepresents a list of synonyms for a given context. For example a context “sales” could contain: Synonym 1: sale, invoice, bill, order Synonym 2: money, credit, finance, payment Synonym 3: shipping, freight, transport Each SynonymSets should be disjointString
synonymsList of Synonyms for the context.GoogleCloudContentwarehouseV1SynonymSetRepresents a list of synonyms for a given context. For example a context “sales” could contain: Synonym 1: sale, invoice, bill, order Synonym 2: money, credit, finance, payment Synonym 3: shipping, freight, transport Each SynonymSets should be disjointlist(GoogleCloudContentwarehouseV1SynonymSetSynonym)
wordsFor example: sale, invoice, bill, orderGoogleCloudContentwarehouseV1SynonymSetSynonymRepresents a list of words given by the customer All these words are synonyms of each other.list(String)
valuesList of text values.GoogleCloudContentwarehouseV1TextArrayString/text values.list(String)
timeFieldSpecifies which time field to filter documents on. Defaults to TimeField.UPLOAD_TIME.GoogleCloudContentwarehouseV1TimeFilterFilter on create timestamp or update timestamp of documents.String
timeRangeGoogleCloudContentwarehouseV1TimeFilterFilter on create timestamp or update timestamp of documents.GoogleTypeInterval
valuesList of timestamp values.GoogleCloudContentwarehouseV1TimestampArrayTimestamp values.list(GoogleCloudContentwarehouseV1TimestampValue)
textValueThe string must represent a valid instant in UTC and is parsed using java.time.format.DateTimeFormatter.ISO_INSTANT. e.g. “2013-09-29T18:46:19Z”GoogleCloudContentwarehouseV1TimestampValueTimestamp value type.String
timestampValueTimestamp valueGoogleCloudContentwarehouseV1TimestampValueTimestamp value type.DateTime
cloudAiDocumentOptionRequest Option for processing Cloud AI Document in Document Warehouse. This field offers limited support for mapping entities from Cloud AI Document to Warehouse Document. Please consult with product team before using this field and other available options.GoogleCloudContentwarehouseV1UpdateDocumentRequestRequest message for DocumentService.UpdateDocument.GoogleCloudContentwarehouseV1CloudAIDocumentOption
documentRequired. The document to update.GoogleCloudContentwarehouseV1UpdateDocumentRequestRequest message for DocumentService.UpdateDocument.GoogleCloudContentwarehouseV1Document
requestMetadataThe meta information collected about the end user, used to enforce access control for the service.GoogleCloudContentwarehouseV1UpdateDocumentRequestRequest message for DocumentService.UpdateDocument.GoogleCloudContentwarehouseV1RequestMetadata
updateOptionsOptions for the update operation.GoogleCloudContentwarehouseV1UpdateDocumentRequestRequest message for DocumentService.UpdateDocument.GoogleCloudContentwarehouseV1UpdateOptions
documentUpdated document after executing update request.GoogleCloudContentwarehouseV1UpdateDocumentResponseResponse message for DocumentService.UpdateDocument.GoogleCloudContentwarehouseV1Document
metadataAdditional information for the API invocation, such as the request tracking id.GoogleCloudContentwarehouseV1UpdateDocumentResponseResponse message for DocumentService.UpdateDocument.GoogleCloudContentwarehouseV1ResponseMetadata
ruleEngineOutputOutput from Rule Engine recording the rule evaluator and action executor’s output. Refer format in: google/cloud/contentwarehouse/v1/rule_engine.protoGoogleCloudContentwarehouseV1UpdateDocumentResponseResponse message for DocumentService.UpdateDocument.GoogleCloudContentwarehouseV1RuleEngineOutput
documentSchemaRequired. The document schema to update with.GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequestRequest message for DocumentSchemaService.UpdateDocumentSchema.GoogleCloudContentwarehouseV1DocumentSchema
mergeFieldsOptionsOptions for merging.GoogleCloudContentwarehouseV1UpdateOptionsOptions for Update operations.GoogleCloudContentwarehouseV1MergeFieldsOptions
updateMaskField mask for merging Document fields. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskGoogleCloudContentwarehouseV1UpdateOptionsOptions for Update operations.String
updateTypeType for update.GoogleCloudContentwarehouseV1UpdateOptionsOptions for Update operations.String
ruleSetRequired. The rule set to update.GoogleCloudContentwarehouseV1UpdateRuleSetRequestRequest message for RuleSetService.UpdateRuleSet.GoogleCloudContentwarehouseV1RuleSet
groupIdsThe unique group identifications which the user is belong to. The format is “group:[email protected]”;GoogleCloudContentwarehouseV1UserInfoThe user information.list(String)
idA unique user identification string, as determined by the client. The maximum number of allowed characters is 255. Allowed characters include numbers 0 to 9, uppercase and lowercase letters, and restricted special symbols (:, @, +, -, _, ~) The format is “user:[email protected]”;GoogleCloudContentwarehouseV1UserInfoThe user information.String
booleanValueRepresents a boolean value.GoogleCloudContentwarehouseV1Value`Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.boolean
datetimeValueRepresents a datetime value.GoogleCloudContentwarehouseV1Value`Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.GoogleTypeDateTime
enumValueRepresents an enum value.GoogleCloudContentwarehouseV1Value`Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.GoogleCloudContentwarehouseV1EnumValue
floatValueRepresents a float value.GoogleCloudContentwarehouseV1Value`Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.number
intValueRepresents a integer value.GoogleCloudContentwarehouseV1Value`Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.integer
stringValueRepresents a string value.GoogleCloudContentwarehouseV1Value`Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.String
timestampValueRepresents a timestamp value.GoogleCloudContentwarehouseV1Value`Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.GoogleCloudContentwarehouseV1TimestampValue
documentSchemaNameThe document schema name.GoogleCloudContentwarehouseV1WeightedSchemaPropertySpecifies the schema property name.String
propertyNamesThe property definition names in the schema.GoogleCloudContentwarehouseV1WeightedSchemaPropertySpecifies the schema property name.list(String)
formatFormat of a barcode. The supported formats are: – `CODE_128`: Code 128 type. – `CODE_39`: Code 39 type. – `CODE_93`: Code 93 type. – `CODABAR`: Codabar type. – `DATA_MATRIX`: 2D Data Matrix type. – `ITF`: ITF type. – `EAN_13`: EAN-13 type. – `EAN_8`: EAN-8 type. – `QR_CODE`: 2D QR code type. – `UPC_A`: UPC-A type. – `UPC_E`: UPC-E type. – `PDF417`: PDF417 type. – `AZTEC`: 2D Aztec code type. – `DATABAR`: GS1 DataBar code type.GoogleCloudDocumentaiV1BarcodeEncodes the detailed information of a barcode.String
rawValueRaw value encoded in the barcode. For example: `’MEBKM:TITLE:Google;URL:https://www.google.com;;’`.GoogleCloudDocumentaiV1BarcodeEncodes the detailed information of a barcode.String
valueFormatValue format describes the format of the value that a barcode encodes. The supported formats are: – `CONTACT_INFO`: Contact information. – `EMAIL`: Email address. – `ISBN`: ISBN identifier. – `PHONE`: Phone number. – `PRODUCT`: Product. – `SMS`: SMS message. – `TEXT`: Text string. – `URL`: URL address. – `WIFI`: Wifi information. – `GEO`: Geo-localization. – `CALENDAR_EVENT`: Calendar event. – `DRIVER_LICENSE`: Driver’s license.GoogleCloudDocumentaiV1BarcodeEncodes the detailed information of a barcode.String
normalizedVerticesThe bounding polygon normalized vertices.GoogleCloudDocumentaiV1BoundingPolyA bounding polygon for the detected image annotation.list(GoogleCloudDocumentaiV1NormalizedVertex)
verticesThe bounding polygon vertices.GoogleCloudDocumentaiV1BoundingPolyA bounding polygon for the detected image annotation.list(GoogleCloudDocumentaiV1Vertex)
contentOptional. Inline document content, represented as a stream of bytes. Note: As with all `bytes` fields, protobuffers use a pure binary representation, whereas JSON representations use base64.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.String
entitiesA list of entities detected on Document.text. For document shards, entities in this list may cross shard boundaries.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.list(GoogleCloudDocumentaiV1DocumentEntity)
entityRelationsPlaceholder. Relationship among Document.entities.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.list(GoogleCloudDocumentaiV1DocumentEntityRelation)
errorAny error that occurred while processing this document.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.GoogleRpcStatus
mimeTypeAn IANA published [media type (MIME type)](https://www.iana.org/assignments/media-types/media-types.xhtml).GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.String
pagesVisual page layout for the Document.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.list(GoogleCloudDocumentaiV1DocumentPage)
revisionsPlaceholder. Revision history of this document.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.list(GoogleCloudDocumentaiV1DocumentRevision)
shardInfoInformation about the sharding if this document is sharded part of a larger document. If the document is not sharded, this message is not specified.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.GoogleCloudDocumentaiV1DocumentShardInfo
textOptional. UTF-8 encoded text in reading order from the document.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.String
textChangesPlaceholder. A list of text corrections made to Document.text. This is usually used for annotating corrections to OCR mistakes. Text changes for a given revision may not overlap with each other.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.list(GoogleCloudDocumentaiV1DocumentTextChange)
textStylesStyles for the Document.text.GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.list(GoogleCloudDocumentaiV1DocumentStyle)
uriOptional. Currently supports Google Cloud Storage URI of the form `gs://bucket_name/object_name`. Object versioning is not supported. For more information, refer to [Google Cloud Storage Request URIs](https://cloud.google.com/storage/docs/reference-uris).GoogleCloudDocumentaiV1DocumentDocument represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.String
confidenceOptional. Confidence of detected Schema entity. Range `[0, 1]`.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.number
idOptional. Canonical id. This will be a unique value in the entity list for this document.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.String
mentionIdOptional. Deprecated. Use `id` field instead.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.String
mentionTextOptional. Text value of the entity e.g. `1600 Amphitheatre Pkwy`.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.String
normalizedValueOptional. Normalized entity value. Absent if the extracted value could not be converted or the type (e.g. address) is not supported for certain parsers. This field is also only populated for certain supported document types.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.GoogleCloudDocumentaiV1DocumentEntityNormalizedValue
pageAnchorOptional. Represents the provenance of this entity wrt. the location on the page where it was found.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.GoogleCloudDocumentaiV1DocumentPageAnchor
propertiesOptional. Entities can be nested to form a hierarchical data structure representing the content in the document.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.list(GoogleCloudDocumentaiV1DocumentEntity)
provenanceOptional. The history of this annotation.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.GoogleCloudDocumentaiV1DocumentProvenance
redactedOptional. Whether the entity will be redacted for de-identification purposes.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.boolean
textAnchorOptional. Provenance of the entity. Text anchor indexing into the Document.text.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.GoogleCloudDocumentaiV1DocumentTextAnchor
typeRequired. Entity type from a schema e.g. `Address`.GoogleCloudDocumentaiV1DocumentEntityAn entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.String
addressValuePostal address. See also: https://github.com/googleapis/googleapis/blob/master/google/type/postal_address.protoGoogleCloudDocumentaiV1DocumentEntityNormalizedValueParsed and normalized entity value.GoogleTypePostalAddress
booleanValueBoolean value. Can be used for entities with binary values, or for checkboxes.GoogleCloudDocumentaiV1DocumentEntityNormalizedValueParsed and normalized entity value.boolean
dateValueDate value. Includes year, month, day. See also: https://github.com/googleapis/googleapis/blob/master/google/type/date.protoGoogleCloudDocumentaiV1DocumentEntityNormalizedValueParsed and normalized entity value.GoogleTypeDate
datetimeValueDateTime value. Includes date, time, and timezone. See also: https://github.com/googleapis/googleapis/blob/master/google/type/datetime.protoGoogleCloudDocumentaiV1DocumentEntityNormalizedValueParsed and normalized entity value.GoogleTypeDateTime
floatValueFloat value.GoogleCloudDocumentaiV1DocumentEntityNormalizedValueParsed and normalized entity value.number
integerValueInteger value.GoogleCloudDocumentaiV1DocumentEntityNormalizedValueParsed and normalized entity value.integer
moneyValueMoney value. See also: https://github.com/googleapis/googleapis/blob/master/google/type/money.protoGoogleCloudDocumentaiV1DocumentEntityNormalizedValueParsed and normalized entity value.GoogleTypeMoney
textOptional. An optional field to store a normalized string. For some entity types, one of respective `structured_value` fields may also be populated. Also not all the types of `structured_value` will be normalized. For example, some processors may not generate `float` or `integer` normalized text by default. Below are sample formats mapped to structured values. – Money/Currency type (`money_value`) is in the ISO 4217 text format. – Date type (`date_value`) is in the ISO 8601 text format. – Datetime type (`datetime_value`) is in the ISO 8601 text format.GoogleCloudDocumentaiV1DocumentEntityNormalizedValueParsed and normalized entity value.String
objectIdObject entity id.GoogleCloudDocumentaiV1DocumentEntityRelationRelationship between Entities.String
relationRelationship description.GoogleCloudDocumentaiV1DocumentEntityRelationRelationship between Entities.String
subjectIdSubject entity id.GoogleCloudDocumentaiV1DocumentEntityRelationRelationship between Entities.String
blocksA list of visually detected text blocks on the page. A block has a set of lines (collected into paragraphs) that have a common line-spacing and orientation.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageBlock)
detectedBarcodesA list of detected barcodes.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageDetectedBarcode)
detectedLanguagesA list of detected languages together with confidence.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
dimensionPhysical dimension of the page.GoogleCloudDocumentaiV1DocumentPageA page in a Document.GoogleCloudDocumentaiV1DocumentPageDimension
formFieldsA list of visually detected form fields on the page.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageFormField)
imageRendered image for this page. This image is preprocessed to remove any skew, rotation, and distortions such that the annotation bounding boxes can be upright and axis-aligned.GoogleCloudDocumentaiV1DocumentPageA page in a Document.GoogleCloudDocumentaiV1DocumentPageImage
imageQualityScoresImage quality scores.GoogleCloudDocumentaiV1DocumentPageA page in a Document.GoogleCloudDocumentaiV1DocumentPageImageQualityScores
layoutLayout for the page.GoogleCloudDocumentaiV1DocumentPageA page in a Document.GoogleCloudDocumentaiV1DocumentPageLayout
linesA list of visually detected text lines on the page. A collection of tokens that a human would perceive as a line.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageLine)
pageNumber1-based index for current Page in a parent Document. Useful when a page is taken out of a Document for individual processing.GoogleCloudDocumentaiV1DocumentPageA page in a Document.integer
paragraphsA list of visually detected text paragraphs on the page. A collection of lines that a human would perceive as a paragraph.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageParagraph)
provenanceThe history of this page.GoogleCloudDocumentaiV1DocumentPageA page in a Document.GoogleCloudDocumentaiV1DocumentProvenance
symbolsA list of visually detected symbols on the page.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageSymbol)
tablesA list of visually detected tables on the page.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageTable)
tokensA list of visually detected tokens on the page.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageToken)
transformsTransformation matrices that were applied to the original document image to produce Page.image.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageMatrix)
visualElementsA list of detected non-text visual elements e.g. checkbox, signature etc. on the page.GoogleCloudDocumentaiV1DocumentPageA page in a Document.list(GoogleCloudDocumentaiV1DocumentPageVisualElement)
pageRefsOne or more references to visual page elementsGoogleCloudDocumentaiV1DocumentPageAnchorReferencing the visual context of the entity in the Document.pages. Page anchors can be cross-page, consist of multiple bounding polygons and optionally reference specific layout element types.list(GoogleCloudDocumentaiV1DocumentPageAnchorPageRef)
boundingPolyOptional. Identifies the bounding polygon of a layout element on the page. If `layout_type` is set, the bounding polygon must be exactly the same to the layout element it’s referring to.GoogleCloudDocumentaiV1DocumentPageAnchorPageRefRepresents a weak reference to a page element within a document.GoogleCloudDocumentaiV1BoundingPoly
confidenceOptional. Confidence of detected page element, if applicable. Range `[0, 1]`.GoogleCloudDocumentaiV1DocumentPageAnchorPageRefRepresents a weak reference to a page element within a document.number
layoutIdOptional. Deprecated. Use PageRef.bounding_poly instead.GoogleCloudDocumentaiV1DocumentPageAnchorPageRefRepresents a weak reference to a page element within a document.String
layoutTypeOptional. The type of the layout element that is being referenced if any.GoogleCloudDocumentaiV1DocumentPageAnchorPageRefRepresents a weak reference to a page element within a document.String
pageRequired. Index into the Document.pages element, for example using `Document.pages` to locate the related page element. This field is skipped when its value is the default `0`. See https://developers.google.com/protocol-buffers/docs/proto3#json.GoogleCloudDocumentaiV1DocumentPageAnchorPageRefRepresents a weak reference to a page element within a document.String
detectedLanguagesA list of detected languages together with confidence.GoogleCloudDocumentaiV1DocumentPageBlockA block has a set of lines (collected into paragraphs) that have a common line-spacing and orientation.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
layoutLayout for Block.GoogleCloudDocumentaiV1DocumentPageBlockA block has a set of lines (collected into paragraphs) that have a common line-spacing and orientation.GoogleCloudDocumentaiV1DocumentPageLayout
provenanceThe history of this annotation.GoogleCloudDocumentaiV1DocumentPageBlockA block has a set of lines (collected into paragraphs) that have a common line-spacing and orientation.GoogleCloudDocumentaiV1DocumentProvenance
barcodeDetailed barcode information of the DetectedBarcode.GoogleCloudDocumentaiV1DocumentPageDetectedBarcodeA detected barcode.GoogleCloudDocumentaiV1Barcode
layoutLayout for DetectedBarcode.GoogleCloudDocumentaiV1DocumentPageDetectedBarcodeA detected barcode.GoogleCloudDocumentaiV1DocumentPageLayout
confidenceConfidence of detected language. Range `[0, 1]`.GoogleCloudDocumentaiV1DocumentPageDetectedLanguageDetected language for a structural component.number
languageCodeThe [BCP-47 language code](https://www.unicode.org/reports/tr35/#Unicode_locale_identifier), such as `en-US` or `sr-Latn`.GoogleCloudDocumentaiV1DocumentPageDetectedLanguageDetected language for a structural component.String
heightPage height.GoogleCloudDocumentaiV1DocumentPageDimensionDimension for the page.number
unitDimension unit.GoogleCloudDocumentaiV1DocumentPageDimensionDimension for the page.String
widthPage width.GoogleCloudDocumentaiV1DocumentPageDimensionDimension for the page.number
correctedKeyTextCreated for Labeling UI to export key text. If corrections were made to the text identified by the `field_name.text_anchor`, this field will contain the correction.GoogleCloudDocumentaiV1DocumentPageFormFieldA form field detected on the page.String
correctedValueTextCreated for Labeling UI to export value text. If corrections were made to the text identified by the `field_value.text_anchor`, this field will contain the correction.GoogleCloudDocumentaiV1DocumentPageFormFieldA form field detected on the page.String
fieldNameLayout for the FormField name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc.GoogleCloudDocumentaiV1DocumentPageFormFieldA form field detected on the page.GoogleCloudDocumentaiV1DocumentPageLayout
fieldValueLayout for the FormField value.GoogleCloudDocumentaiV1DocumentPageFormFieldA form field detected on the page.GoogleCloudDocumentaiV1DocumentPageLayout
nameDetectedLanguagesA list of detected languages for name together with confidence.GoogleCloudDocumentaiV1DocumentPageFormFieldA form field detected on the page.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
provenanceThe history of this annotation.GoogleCloudDocumentaiV1DocumentPageFormFieldA form field detected on the page.GoogleCloudDocumentaiV1DocumentProvenance
valueDetectedLanguagesA list of detected languages for value together with confidence.GoogleCloudDocumentaiV1DocumentPageFormFieldA form field detected on the page.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
valueTypeIf the value is non-textual, this field represents the type. Current valid values are: – blank (this indicates the `field_value` is normal text) – `unfilled_checkbox` – `filled_checkbox`GoogleCloudDocumentaiV1DocumentPageFormFieldA form field detected on the page.String
contentRaw byte content of the image.GoogleCloudDocumentaiV1DocumentPageImageRendered image contents for this page.String
heightHeight of the image in pixels.GoogleCloudDocumentaiV1DocumentPageImageRendered image contents for this page.integer
mimeTypeEncoding [media type (MIME type)](https://www.iana.org/assignments/media-types/media-types.xhtml) for the image.GoogleCloudDocumentaiV1DocumentPageImageRendered image contents for this page.String
widthWidth of the image in pixels.GoogleCloudDocumentaiV1DocumentPageImageRendered image contents for this page.integer
detectedDefectsA list of detected defects.GoogleCloudDocumentaiV1DocumentPageImageQualityScoresImage quality scores for the page image.list(GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect)
qualityScoreThe overall quality score. Range `[0, 1]` where `1` is perfect quality.GoogleCloudDocumentaiV1DocumentPageImageQualityScoresImage quality scores for the page image.number
confidenceConfidence of detected defect. Range `[0, 1]` where `1` indicates strong confidence that the defect exists.GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefectImage Quality Defectsnumber
typeName of the defect type. Supported values are: – `quality/defect_blurry` – `quality/defect_noisy` – `quality/defect_dark` – `quality/defect_faint` – `quality/defect_text_too_small` – `quality/defect_document_cutoff` – `quality/defect_text_cutoff` – `quality/defect_glare`GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefectImage Quality DefectsString
boundingPolyThe bounding polygon for the Layout.GoogleCloudDocumentaiV1DocumentPageLayoutVisual element describing a layout unit on a page.GoogleCloudDocumentaiV1BoundingPoly
confidenceConfidence of the current Layout within context of the object this layout is for. e.g. confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`.GoogleCloudDocumentaiV1DocumentPageLayoutVisual element describing a layout unit on a page.number
orientationDetected orientation for the Layout.GoogleCloudDocumentaiV1DocumentPageLayoutVisual element describing a layout unit on a page.String
textAnchorText anchor indexing into the Document.text.GoogleCloudDocumentaiV1DocumentPageLayoutVisual element describing a layout unit on a page.GoogleCloudDocumentaiV1DocumentTextAnchor
detectedLanguagesA list of detected languages together with confidence.GoogleCloudDocumentaiV1DocumentPageLineA collection of tokens that a human would perceive as a line. Does not cross column boundaries, can be horizontal, vertical, etc.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
layoutLayout for Line.GoogleCloudDocumentaiV1DocumentPageLineA collection of tokens that a human would perceive as a line. Does not cross column boundaries, can be horizontal, vertical, etc.GoogleCloudDocumentaiV1DocumentPageLayout
provenanceThe history of this annotation.GoogleCloudDocumentaiV1DocumentPageLineA collection of tokens that a human would perceive as a line. Does not cross column boundaries, can be horizontal, vertical, etc.GoogleCloudDocumentaiV1DocumentProvenance
colsNumber of columns in the matrix.GoogleCloudDocumentaiV1DocumentPageMatrixRepresentation for transformation matrix, intended to be compatible and used with OpenCV format for image manipulation.integer
dataThe matrix data.GoogleCloudDocumentaiV1DocumentPageMatrixRepresentation for transformation matrix, intended to be compatible and used with OpenCV format for image manipulation.String
rowsNumber of rows in the matrix.GoogleCloudDocumentaiV1DocumentPageMatrixRepresentation for transformation matrix, intended to be compatible and used with OpenCV format for image manipulation.integer
typeThis encodes information about what data type the matrix uses. For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list of OpenCV primitive data types, please refer to https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.htmlGoogleCloudDocumentaiV1DocumentPageMatrixRepresentation for transformation matrix, intended to be compatible and used with OpenCV format for image manipulation.integer
detectedLanguagesA list of detected languages together with confidence.GoogleCloudDocumentaiV1DocumentPageParagraphA collection of lines that a human would perceive as a paragraph.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
layoutLayout for Paragraph.GoogleCloudDocumentaiV1DocumentPageParagraphA collection of lines that a human would perceive as a paragraph.GoogleCloudDocumentaiV1DocumentPageLayout
provenanceThe history of this annotation.GoogleCloudDocumentaiV1DocumentPageParagraphA collection of lines that a human would perceive as a paragraph.GoogleCloudDocumentaiV1DocumentProvenance
detectedLanguagesA list of detected languages together with confidence.GoogleCloudDocumentaiV1DocumentPageSymbolA detected symbol.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
layoutLayout for Symbol.GoogleCloudDocumentaiV1DocumentPageSymbolA detected symbol.GoogleCloudDocumentaiV1DocumentPageLayout
bodyRowsBody rows of the table.GoogleCloudDocumentaiV1DocumentPageTableA table representation similar to HTML table structure.list(GoogleCloudDocumentaiV1DocumentPageTableTableRow)
detectedLanguagesA list of detected languages together with confidence.GoogleCloudDocumentaiV1DocumentPageTableA table representation similar to HTML table structure.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
headerRowsHeader rows of the table.GoogleCloudDocumentaiV1DocumentPageTableA table representation similar to HTML table structure.list(GoogleCloudDocumentaiV1DocumentPageTableTableRow)
layoutLayout for Table.GoogleCloudDocumentaiV1DocumentPageTableA table representation similar to HTML table structure.GoogleCloudDocumentaiV1DocumentPageLayout
provenanceThe history of this table.GoogleCloudDocumentaiV1DocumentPageTableA table representation similar to HTML table structure.GoogleCloudDocumentaiV1DocumentProvenance
colSpanHow many columns this cell spans.GoogleCloudDocumentaiV1DocumentPageTableTableCellA cell representation inside the table.integer
detectedLanguagesA list of detected languages together with confidence.GoogleCloudDocumentaiV1DocumentPageTableTableCellA cell representation inside the table.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
layoutLayout for TableCell.GoogleCloudDocumentaiV1DocumentPageTableTableCellA cell representation inside the table.GoogleCloudDocumentaiV1DocumentPageLayout
rowSpanHow many rows this cell spans.GoogleCloudDocumentaiV1DocumentPageTableTableCellA cell representation inside the table.integer
cellsCells that make up this row.GoogleCloudDocumentaiV1DocumentPageTableTableRowA row of table cells.list(GoogleCloudDocumentaiV1DocumentPageTableTableCell)
detectedBreakDetected break at the end of a Token.GoogleCloudDocumentaiV1DocumentPageTokenA detected token.GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak
detectedLanguagesA list of detected languages together with confidence.GoogleCloudDocumentaiV1DocumentPageTokenA detected token.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
layoutLayout for Token.GoogleCloudDocumentaiV1DocumentPageTokenA detected token.GoogleCloudDocumentaiV1DocumentPageLayout
provenanceThe history of this annotation.GoogleCloudDocumentaiV1DocumentPageTokenA detected token.GoogleCloudDocumentaiV1DocumentProvenance
styleInfoText style attributes.GoogleCloudDocumentaiV1DocumentPageTokenA detected token.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo
typeDetected break type.GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreakDetected break at the end of a Token.String
backgroundColorColor of the background.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.GoogleTypeColor
boldWhether the text is bold (equivalent to font_weight is at least `700`).GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.boolean
fontSizeFont size in points (`1` point is `¹⁄₇₂` inches).GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.integer
fontTypeName or style of the font.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.String
fontWeightTrueType weight on a scale `100` (thin) to `1000` (ultra-heavy). Normal is `400`, bold is `700`.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.integer
handwrittenWhether the text is handwritten.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.boolean
italicWhether the text is italic.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.boolean
letterSpacingLetter spacing in points.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.float
pixelFontSizeFont size in pixels, equal to _unrounded font_size_ * _resolution_ ÷ `72.0`.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.float
smallcapsWhether the text is in small caps.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.boolean
strikeoutWhether the text is strikethrough.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.boolean
subscriptWhether the text is a subscript.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.boolean
superscriptWhether the text is a superscript.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.boolean
textColorColor of the text.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.GoogleTypeColor
underlinedWhether the text is underlined.GoogleCloudDocumentaiV1DocumentPageTokenStyleInfoFont and other text style attributes.boolean
detectedLanguagesA list of detected languages together with confidence.GoogleCloudDocumentaiV1DocumentPageVisualElementDetected non-text visual elements e.g. checkbox, signature etc. on the page.list(GoogleCloudDocumentaiV1DocumentPageDetectedLanguage)
layoutLayout for VisualElement.GoogleCloudDocumentaiV1DocumentPageVisualElementDetected non-text visual elements e.g. checkbox, signature etc. on the page.GoogleCloudDocumentaiV1DocumentPageLayout
typeType of the VisualElement.GoogleCloudDocumentaiV1DocumentPageVisualElementDetected non-text visual elements e.g. checkbox, signature etc. on the page.String
idThe Id of this operation. Needs to be unique within the scope of the revision.GoogleCloudDocumentaiV1DocumentProvenanceStructure to identify provenance relationships between annotations in different revisions.integer
parentsReferences to the original elements that are replaced.GoogleCloudDocumentaiV1DocumentProvenanceStructure to identify provenance relationships between annotations in different revisions.list(GoogleCloudDocumentaiV1DocumentProvenanceParent)
revisionThe index of the revision that produced this element.GoogleCloudDocumentaiV1DocumentProvenanceStructure to identify provenance relationships between annotations in different revisions.integer
typeThe type of provenance operation.GoogleCloudDocumentaiV1DocumentProvenanceStructure to identify provenance relationships between annotations in different revisions.String
idThe id of the parent provenance.GoogleCloudDocumentaiV1DocumentProvenanceParentThe parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.integer
indexThe index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) in the parent revision.GoogleCloudDocumentaiV1DocumentProvenanceParentThe parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.integer
revisionThe index of the index into current revision’s parent_ids list.GoogleCloudDocumentaiV1DocumentProvenanceParentThe parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.integer
agentIf the change was made by a person specify the name or id of that person.GoogleCloudDocumentaiV1DocumentRevisionContains past or forward revisions of this document.String
createTimeThe time that the revision was created, internally generated by doc proto storage at the time of create.GoogleCloudDocumentaiV1DocumentRevisionContains past or forward revisions of this document.DateTime
humanReviewHuman Review information of this revision.GoogleCloudDocumentaiV1DocumentRevisionContains past or forward revisions of this document.GoogleCloudDocumentaiV1DocumentRevisionHumanReview
idId of the revision, internally generated by doc proto storage. Unique within the context of the document.GoogleCloudDocumentaiV1DocumentRevisionContains past or forward revisions of this document.String
parentThe revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.GoogleCloudDocumentaiV1DocumentRevisionContains past or forward revisions of this document.list(integer)
parentIdsThe revisions that this revision is based on. Must include all the ids that have anything to do with this revision – eg. there are `provenance.parent.revision` fields that index into this field.GoogleCloudDocumentaiV1DocumentRevisionContains past or forward revisions of this document.list(String)
processorIf the annotation was made by processor identify the processor by its resource name.GoogleCloudDocumentaiV1DocumentRevisionContains past or forward revisions of this document.String
stateHuman review state. e.g. `requested`, `succeeded`, `rejected`.GoogleCloudDocumentaiV1DocumentRevisionHumanReviewHuman Review information of the document.String
stateMessageA message providing more details about the current state of processing. For example, the rejection reason when the state is `rejected`.GoogleCloudDocumentaiV1DocumentRevisionHumanReviewHuman Review information of the document.String
shardCountTotal number of shards.GoogleCloudDocumentaiV1DocumentShardInfoFor a large document, sharding may be performed to produce several document shards. Each document shard contains this field to detail which shard it is.String
shardIndexThe 0-based index of this shard.GoogleCloudDocumentaiV1DocumentShardInfoFor a large document, sharding may be performed to produce several document shards. Each document shard contains this field to detail which shard it is.String
textOffsetThe index of the first character in Document.text in the overall document global text.GoogleCloudDocumentaiV1DocumentShardInfoFor a large document, sharding may be performed to produce several document shards. Each document shard contains this field to detail which shard it is.String
backgroundColorText background color.GoogleCloudDocumentaiV1DocumentStyleAnnotation for common text style attributes. This adheres to CSS conventions as much as possible.GoogleTypeColor
colorText color.GoogleCloudDocumentaiV1DocumentStyleAnnotation for common text style attributes. This adheres to CSS conventions as much as possible.GoogleTypeColor
fontFamilyFont family such as `Arial`, `Times New Roman`. https://www.w3schools.com/cssref/pr_font_font-family.aspGoogleCloudDocumentaiV1DocumentStyleAnnotation for common text style attributes. This adheres to CSS conventions as much as possible.String
fontSizeFont size.GoogleCloudDocumentaiV1DocumentStyleAnnotation for common text style attributes. This adheres to CSS conventions as much as possible.GoogleCloudDocumentaiV1DocumentStyleFontSize
fontWeight[Font weight](https://www.w3schools.com/cssref/pr_font_weight.asp). Possible values are `normal`, `bold`, `bolder`, and `lighter`.GoogleCloudDocumentaiV1DocumentStyleAnnotation for common text style attributes. This adheres to CSS conventions as much as possible.String
textAnchorText anchor indexing into the Document.text.GoogleCloudDocumentaiV1DocumentStyleAnnotation for common text style attributes. This adheres to CSS conventions as much as possible.GoogleCloudDocumentaiV1DocumentTextAnchor
textDecoration[Text decoration](https://www.w3schools.com/cssref/pr_text_text-decoration.asp). Follows CSS standard.GoogleCloudDocumentaiV1DocumentStyleAnnotation for common text style attributes. This adheres to CSS conventions as much as possible.String
textStyle[Text style](https://www.w3schools.com/cssref/pr_font_font-style.asp). Possible values are `normal`, `italic`, and `oblique`.GoogleCloudDocumentaiV1DocumentStyleAnnotation for common text style attributes. This adheres to CSS conventions as much as possible.String
sizeFont size for the text.GoogleCloudDocumentaiV1DocumentStyleFontSizeFont size with unit.number
unitUnit for the font size. Follows CSS naming (such as `in`, `px`, and `pt`).GoogleCloudDocumentaiV1DocumentStyleFontSizeFont size with unit.String
contentContains the content of the text span so that users do not have to look it up in the text_segments. It is always populated for formFields.GoogleCloudDocumentaiV1DocumentTextAnchorText reference indexing into the Document.text.String
textSegmentsThe text segments from the Document.text.GoogleCloudDocumentaiV1DocumentTextAnchorText reference indexing into the Document.text.list(GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment)
endIndexTextSegment half open end UTF-8 char index in the Document.text.GoogleCloudDocumentaiV1DocumentTextAnchorTextSegmentA text segment in the Document.text. The indices may be out of bounds which indicate that the text extends into another document shard for large sharded documents. See ShardInfo.text_offsetString
startIndexTextSegment start UTF-8 char index in the Document.text.GoogleCloudDocumentaiV1DocumentTextAnchorTextSegmentA text segment in the Document.text. The indices may be out of bounds which indicate that the text extends into another document shard for large sharded documents. See ShardInfo.text_offsetString
changedTextThe text that replaces the text identified in the `text_anchor`.GoogleCloudDocumentaiV1DocumentTextChangeThis message is used for text changes aka. OCR corrections.String
provenanceThe history of this annotation.GoogleCloudDocumentaiV1DocumentTextChangeThis message is used for text changes aka. OCR corrections.list(GoogleCloudDocumentaiV1DocumentProvenance)
textAnchorProvenance of the correction. Text anchor indexing into the Document.text. There can only be a single `TextAnchor.text_segments` element. If the start and end index of the text segment are the same, the text change is inserted before that index.GoogleCloudDocumentaiV1DocumentTextChangeThis message is used for text changes aka. OCR corrections.GoogleCloudDocumentaiV1DocumentTextAnchor
xX coordinate.GoogleCloudDocumentaiV1NormalizedVertexA vertex represents a 2D point in the image. NOTE: the normalized vertex coordinates are relative to the original image and range from 0 to 1.number
yY coordinate (starts from the top of the image).GoogleCloudDocumentaiV1NormalizedVertexA vertex represents a 2D point in the image. NOTE: the normalized vertex coordinates are relative to the original image and range from 0 to 1.number
xX coordinate.GoogleCloudDocumentaiV1VertexA vertex represents a 2D point in the image. NOTE: the vertex coordinates are in the same scale as the original image.integer
yY coordinate (starts from the top of the image).GoogleCloudDocumentaiV1VertexA vertex represents a 2D point in the image. NOTE: the vertex coordinates are in the same scale as the original image.integer
auditLogConfigsThe configuration for logging of each type of permission.GoogleIamV1AuditConfigSpecifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { “audit_configs”: [ { “service”: “allServices”, “audit_log_configs”: [ { “log_type”: “DATA_READ”, “exempted_members”: [ “user:[email protected]” ] }, { “log_type”: “DATA_WRITE” }, { “log_type”: “ADMIN_READ” } ] }, { “service”: “sampleservice.googleapis.com”, “audit_log_configs”: [ { “log_type”: “DATA_READ” }, { “log_type”: “DATA_WRITE”, “exempted_members”: [ “user:[email protected]” ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `[email protected]` from DATA_READ logging, and `[email protected]` from DATA_WRITE logging.list(GoogleIamV1AuditLogConfig)
serviceSpecifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.GoogleIamV1AuditConfigSpecifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { “audit_configs”: [ { “service”: “allServices”, “audit_log_configs”: [ { “log_type”: “DATA_READ”, “exempted_members”: [ “user:[email protected]” ] }, { “log_type”: “DATA_WRITE” }, { “log_type”: “ADMIN_READ” } ] }, { “service”: “sampleservice.googleapis.com”, “audit_log_configs”: [ { “log_type”: “DATA_READ” }, { “log_type”: “DATA_WRITE”, “exempted_members”: [ “user:[email protected]” ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `[email protected]` from DATA_READ logging, and `[email protected]` from DATA_WRITE logging.String
exemptedMembersSpecifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.GoogleIamV1AuditLogConfigProvides the configuration for logging a type of permissions. Example: { “audit_log_configs”: [ { “log_type”: “DATA_READ”, “exempted_members”: [ “user:[email protected]” ] }, { “log_type”: “DATA_WRITE” } ] } This enables ‘DATA_READ’ and ‘DATA_WRITE’ logging, while exempting [email protected] from DATA_READ logging.list(String)
logTypeThe log type that this config enables.GoogleIamV1AuditLogConfigProvides the configuration for logging a type of permissions. Example: { “audit_log_configs”: [ { “log_type”: “DATA_READ”, “exempted_members”: [ “user:[email protected]” ] }, { “log_type”: “DATA_WRITE” } ] } This enables ‘DATA_READ’ and ‘DATA_WRITE’ logging, while exempting [email protected] from DATA_READ logging.String
conditionThe condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).GoogleIamV1BindingAssociates `members`, or principals, with a `role`.GoogleTypeExpr
membersSpecifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `[email protected]` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `[email protected]`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `[email protected]`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.GoogleIamV1BindingAssociates `members`, or principals, with a `role`.list(String)
roleRole that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).GoogleIamV1BindingAssociates `members`, or principals, with a `role`.String
auditConfigsSpecifies cloud audit logging configuration for this policy.GoogleIamV1PolicyAn Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** “` { “bindings”: [ { “role”: “roles/resourcemanager.organizationAdmin”, “members”: [ “user:[email protected]”, “group:[email protected]”, “domain:google.com”, “serviceAccount:[email protected]” ] }, { “role”: “roles/resourcemanager.organizationViewer”, “members”: [ “user:[email protected]” ], “condition”: { “title”: “expirable access”, “description”: “Does not grant access after Sep 2020”, “expression”: “request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:[email protected] - group:[email protected] - domain:google.com - serviceAccount:[email protected] role: roles/resourcemanager.organizationAdmin - members: - user:[email protected] role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).list(GoogleIamV1AuditConfig)
bindingsAssociates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:[email protected]`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.GoogleIamV1PolicyAn Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** “` { “bindings”: [ { “role”: “roles/resourcemanager.organizationAdmin”, “members”: [ “user:[email protected]”, “group:[email protected]”, “domain:google.com”, “serviceAccount:[email protected]” ] }, { “role”: “roles/resourcemanager.organizationViewer”, “members”: [ “user:[email protected]” ], “condition”: { “title”: “expirable access”, “description”: “Does not grant access after Sep 2020”, “expression”: “request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:[email protected] - group:[email protected] - domain:google.com - serviceAccount:[email protected] role: roles/resourcemanager.organizationAdmin - members: - user:[email protected] role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).list(GoogleIamV1Binding)
etag`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.GoogleIamV1PolicyAn Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** “` { “bindings”: [ { “role”: “roles/resourcemanager.organizationAdmin”, “members”: [ “user:[email protected]”, “group:[email protected]”, “domain:google.com”, “serviceAccount:[email protected]” ] }, { “role”: “roles/resourcemanager.organizationViewer”, “members”: [ “user:[email protected]” ], “condition”: { “title”: “expirable access”, “description”: “Does not grant access after Sep 2020”, “expression”: “request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:[email protected] - group:[email protected] - domain:google.com - serviceAccount:[email protected] role: roles/resourcemanager.organizationAdmin - members: - user:[email protected] role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).String
versionSpecifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).GoogleIamV1PolicyAn Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** “` { “bindings”: [ { “role”: “roles/resourcemanager.organizationAdmin”, “members”: [ “user:[email protected]”, “group:[email protected]”, “domain:google.com”, “serviceAccount:[email protected]” ] }, { “role”: “roles/resourcemanager.organizationViewer”, “members”: [ “user:[email protected]” ], “condition”: { “title”: “expirable access”, “description”: “Does not grant access after Sep 2020”, “expression”: “request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:[email protected] - group:[email protected] - domain:google.com - serviceAccount:[email protected] role: roles/resourcemanager.organizationAdmin - members: - user:[email protected] role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).integer
dayOfWeekDay of week, 0 for Sunday, 1 for Monday, …GoogleInternalAppsWaldoV1alphaAvailabilityPeriodRepresents the information about user’s working hours during one day. Note that a period on Monday from 18:00 – 00:00 is represented as a triplet (1, 1080, 1440).integer
periodEndMinutesPeriod end, in minutes from the start of the day, exclusive.GoogleInternalAppsWaldoV1alphaAvailabilityPeriodRepresents the information about user’s working hours during one day. Note that a period on Monday from 18:00 – 00:00 is represented as a triplet (1, 1080, 1440).integer
periodStartMinutesPeriod start, in minutes from the start of the day, inclusive.GoogleInternalAppsWaldoV1alphaAvailabilityPeriodRepresents the information about user’s working hours during one day. Note that a period on Monday from 18:00 – 00:00 is represented as a triplet (1, 1080, 1440).integer
committedUntilThe time when the user will either stop being committed or change commitment type (i.e. InMeeting, DoNotDisturb, Busy or OutOfOffice < Xh). Note that the goal of this field is to provide information to help users decide how to communicate with a user (see also http://shortn/_wXYXtZScgh).GoogleInternalAppsWaldoV1alphaCalendarBusyThe status indicating the user is temporarily busy and there is not a more specific status derived from calendar that applies (e.g., InMeeting or DoNotDisturb).DateTime
eventSummaryThe summary of the corresponding event in Calendar.GoogleInternalAppsWaldoV1alphaCalendarBusyThe status indicating the user is temporarily busy and there is not a more specific status derived from calendar that applies (e.g., InMeeting or DoNotDisturb).String
nextAvailableThe next time when the user will be available, i.e., when their status will be neither InMeeting, CalendarBusy, DoNotDisturb, OutsideWorkingHours, nor OutOfOffice.GoogleInternalAppsWaldoV1alphaCalendarBusyThe status indicating the user is temporarily busy and there is not a more specific status derived from calendar that applies (e.g., InMeeting or DoNotDisturb).DateTime
occupiedUntilThe time when the user will stop being occupied, i.e., when their status will be neither inMeeting, Busy nor DoNotDisturb.GoogleInternalAppsWaldoV1alphaCalendarBusyThe status indicating the user is temporarily busy and there is not a more specific status derived from calendar that applies (e.g., InMeeting or DoNotDisturb).DateTime
geoCoordinatesGeographic location as geo coordinates.GoogleInternalAppsWaldoV1alphaCustomLocationCustom location specified by the user.GoogleTypeLatLng
labelThe custom location label as a string entered manually by the user.GoogleInternalAppsWaldoV1alphaCustomLocationCustom location specified by the user.String
locationGeographic location as free-form text.GoogleInternalAppsWaldoV1alphaCustomLocationCustom location specified by the user.String
committedUntilThe time when the user will either stop being committed or change commitment type (i.e. InMeeting, DoNotDisturb, Busy or OutOfOffice < Xh). Note that the goal of this field is to provide information to help users decide how to communicate with a user (see also http://shortn/_wXYXtZScgh).GoogleInternalAppsWaldoV1alphaDoNotDisturbThe status indicating the user should not be disturbed.DateTime
nextAvailableThe next time when the user will be available, i.e., when their status will be neither InMeeting, CalendarBusy, DoNotDisturb, OutsideWorkingHours, nor OutOfOffice.GoogleInternalAppsWaldoV1alphaDoNotDisturbThe status indicating the user should not be disturbed.DateTime
occupiedUntilThe time when the user will stop being occupied, i.e., when their status will be neither inMeeting, Busy nor DoNotDisturb.GoogleInternalAppsWaldoV1alphaDoNotDisturbThe status indicating the user should not be disturbed.DateTime
committedUntilThe time when the user will either stop being committed or change commitment type (i.e. InMeeting, DoNotDisturb, Busy or OutOfOffice < Xh). Note that the goal of this field is to provide information to help users decide how to communicate with a user (see also http://shortn/_wXYXtZScgh).GoogleInternalAppsWaldoV1alphaInMeetingThe status indicating the user is in a meeting.DateTime
eventSummaryThe summary of the corresponding event in Calendar.GoogleInternalAppsWaldoV1alphaInMeetingThe status indicating the user is in a meeting.String
inMeetingsUntilThe time when the user will stop being in a meeting.GoogleInternalAppsWaldoV1alphaInMeetingThe status indicating the user is in a meeting.DateTime
nextAvailableThe next time when the user will be available, i.e., when their status will be neither InMeeting, CalendarBusy, DoNotDisturb, OutsideWorkingHours, nor OutOfOffice.GoogleInternalAppsWaldoV1alphaInMeetingThe status indicating the user is in a meeting.DateTime
occupiedUntilThe time when the user will stop being occupied, i.e., when their status will be neither InMeeting, Busy nor DoNotDisturb.GoogleInternalAppsWaldoV1alphaInMeetingThe status indicating the user is in a meeting.DateTime
timeZoneThe current time zone of the user. Represented as a valid time zone ID from Olson database, like “Europe/Zurich” (see http://google3/i18n/identifiers/data/timezones.txt).GoogleInternalAppsWaldoV1alphaLocalTimeContextContext which helps to determine the user’s local time.String
experimentalBuildingIdExperimental. Can change or disappear without warning or notice. References a building from http://google3/ccc/hosted/api/rosy/resources/calendar/building.proto For example “US-NYC-9TH”.GoogleInternalAppsWaldoV1alphaOfficeLocationOffice location.String
experimentalDeskIdExperimental. Can change or disappear without warning or notice. The desk id. For example “11E358K”.GoogleInternalAppsWaldoV1alphaOfficeLocationOffice location.String
experimentalFloorIdExperimental. Can change or disappear without warning or notice. The floor id. For example “11”.GoogleInternalAppsWaldoV1alphaOfficeLocationOffice location.String
labelThe display label of this office location. For example a building name.GoogleInternalAppsWaldoV1alphaOfficeLocationOffice location.String
comeBackTimeThe closest time when the user will be available after this OOO block. This might be different from the end of the OOO block in Calendar, since the OOO block might end on Friday evening, and then the user is outside working hours.GoogleInternalAppsWaldoV1alphaOutOfOfficeThe status indicating the user is out of office.DateTime
committedUntilThe time when the user will either stop being committed or change commitment type (i.e. InMeeting, DoNotDisturb, Busy or OutOfOffice < Xh). Note that the goal of this field is to provide information to help users decide how to communicate with a user (see also http://shortn/_wXYXtZScgh). Note that if this OOO block is large (>=Xh), committed_until is not set.GoogleInternalAppsWaldoV1alphaOutOfOfficeThe status indicating the user is out of office.DateTime
eventSummaryThe summary of the corresponding OOO block in Calendar. This is entered by the user, so we return it “as is” – no i18n.GoogleInternalAppsWaldoV1alphaOutOfOfficeThe status indicating the user is out of office.String
comeBackTimeThe closest time when the user will be available after this block. This might be different from the start of the working hours in Calendar, because the given OutsideWorkingHours interval might be followed by OOO.GoogleInternalAppsWaldoV1alphaOutsideWorkingHoursThe status indicating the user doesn’t work at this time.DateTime
endTimeEnd point of the range, exclusive.GoogleInternalAppsWaldoV1alphaTimeRangeA time range, which includes the start and excludes the end.DateTime
startTimeStarting point of the range, inclusive.GoogleInternalAppsWaldoV1alphaTimeRangeA time range, which includes the start and excludes the end.DateTime
nextCommitmentStatusThe status of the commitment above.GoogleInternalAppsWaldoV1alphaUpcomingCommitmentContextGoogleInternalAppsWaldoV1alphaUserStatus
nextCommitmentTimeThe most relevant upcoming commitment (InMeeting, DoNotDisturb, CalendarBusy or OutOfOffice). This context is set only if there is an upcoming commitment to show, and only on non commitments. Priority is given to the next closest commitment if its start is close enough to this event, otherwise the next large OOO if there is one.GoogleInternalAppsWaldoV1alphaUpcomingCommitmentContextDateTime
timeRangeThe future period of absence. The start of this timerange is the start of the future Out of Office event. The end of this timerange represents the come back time of the user from that future OOO event. Note that the come back time might be different (greater) than the end of the corresponding future OOO event due to other non-working user status intervals that it may be followed by.GoogleInternalAppsWaldoV1alphaUpcomingOooContextThe context indicating the user’s upcoming Out of Office event.GoogleInternalAppsWaldoV1alphaTimeRange
availabilitiesA list of user availabilities having contiguous time ranges which are ordered chronologically. The first one starts at the time of the request or before, and is guaranteed to contain the request time. That means the first element always indicates the current status of a user. A client that wants to display a user’s availability in real time should display the availability whose time range contains the current time.GoogleInternalAppsWaldoV1alphaUserAvailabilitiesThe current and future availabilities of a user. The response contains a timeline, which starts before or at the request time, and the timeline is split into a set of disjoint intervals (without gaps), where the first range always contains the request time. Each range represents what should be displayed in the UI during this time range. The time range might be different from the actual time range of the underlying status. For example, if the user is OOO from 09:00 to 10:00, and a request is made at 8:00, the response might contain two intervals: [08:00, 09:00) – “User is INACTIVE, but leaving the office soon” [09:00, 10:00) – “User is OOO till 10:00” For intervals that don’t have a clear availability signal coming from Calendar (e.g. OOO), we return INACTIVE. For more details, please see https://docs.google.com/presentation/d/1ADCTxGawjF9UqMnfuVrVNxGvdyjeiV8h4D7p0a9zYgw/edit#slide=id.g3e2824ac6c_12_94 The service returns availabilities for some short period of time – likely one day, but the client should stick to the “next_poll_time” to decide when to query the server again at the latest. Below there is an example response from the server. Let’s assume the client calls the service at 17:59:45. The client receives the message and, assuming its current time is between [17:59:45, 18:00:00), it displays “inactive”. When the current time becomes 18:00:00 it displays “outside working hours”. At 18:00:40 the client issues another rpc which will return the availabilities for the next minute. The original response looks like availabilities { time_range { start_time: 17:59:45 end_time: 18:00:00 } status { inactive {} } } availabilities { time_range { start_time: 18:00:00 end_time: 18:00:45 } status { outside_working_hours { } } } next_poll_time: 18:00:40list(GoogleInternalAppsWaldoV1alphaUserAvailability)
nextPollTimeThe time at which the client should issue the next availability query for this user. This field should only be used to control the polling frequency. This time is always before the end of the time range of the last availability so that the client always knows the current availability.GoogleInternalAppsWaldoV1alphaUserAvailabilitiesThe current and future availabilities of a user. The response contains a timeline, which starts before or at the request time, and the timeline is split into a set of disjoint intervals (without gaps), where the first range always contains the request time. Each range represents what should be displayed in the UI during this time range. The time range might be different from the actual time range of the underlying status. For example, if the user is OOO from 09:00 to 10:00, and a request is made at 8:00, the response might contain two intervals: [08:00, 09:00) – “User is INACTIVE, but leaving the office soon” [09:00, 10:00) – “User is OOO till 10:00” For intervals that don’t have a clear availability signal coming from Calendar (e.g. OOO), we return INACTIVE. For more details, please see https://docs.google.com/presentation/d/1ADCTxGawjF9UqMnfuVrVNxGvdyjeiV8h4D7p0a9zYgw/edit#slide=id.g3e2824ac6c_12_94 The service returns availabilities for some short period of time – likely one day, but the client should stick to the “next_poll_time” to decide when to query the server again at the latest. Below there is an example response from the server. Let’s assume the client calls the service at 17:59:45. The client receives the message and, assuming its current time is between [17:59:45, 18:00:00), it displays “inactive”. When the current time becomes 18:00:00 it displays “outside working hours”. At 18:00:40 the client issues another rpc which will return the availabilities for the next minute. The original response looks like availabilities { time_range { start_time: 17:59:45 end_time: 18:00:00 } status { inactive {} } } availabilities { time_range { start_time: 18:00:00 end_time: 18:00:45 } status { outside_working_hours { } } } next_poll_time: 18:00:40DateTime
workingHoursInformation about the user’s working hours. This will only be set in case working hours are enabled in their calendar settings.GoogleInternalAppsWaldoV1alphaUserAvailabilitiesThe current and future availabilities of a user. The response contains a timeline, which starts before or at the request time, and the timeline is split into a set of disjoint intervals (without gaps), where the first range always contains the request time. Each range represents what should be displayed in the UI during this time range. The time range might be different from the actual time range of the underlying status. For example, if the user is OOO from 09:00 to 10:00, and a request is made at 8:00, the response might contain two intervals: [08:00, 09:00) – “User is INACTIVE, but leaving the office soon” [09:00, 10:00) – “User is OOO till 10:00” For intervals that don’t have a clear availability signal coming from Calendar (e.g. OOO), we return INACTIVE. For more details, please see https://docs.google.com/presentation/d/1ADCTxGawjF9UqMnfuVrVNxGvdyjeiV8h4D7p0a9zYgw/edit#slide=id.g3e2824ac6c_12_94 The service returns availabilities for some short period of time – likely one day, but the client should stick to the “next_poll_time” to decide when to query the server again at the latest. Below there is an example response from the server. Let’s assume the client calls the service at 17:59:45. The client receives the message and, assuming its current time is between [17:59:45, 18:00:00), it displays “inactive”. When the current time becomes 18:00:00 it displays “outside working hours”. At 18:00:40 the client issues another rpc which will return the availabilities for the next minute. The original response looks like availabilities { time_range { start_time: 17:59:45 end_time: 18:00:00 } status { inactive {} } } availabilities { time_range { start_time: 18:00:00 end_time: 18:00:45 } status { outside_working_hours { } } } next_poll_time: 18:00:40GoogleInternalAppsWaldoV1alphaWorkingHours
contextsThe contexts contain additional information about the current user’s availability or its upcoming changes. The client doesn’t need to extract certain bits to visualize the status or apply custom logic based on the content of this field: the status field should contain everything needed for the correct visualization.GoogleInternalAppsWaldoV1alphaUserAvailabilityA single availability range. The displayed status should be the same during the entire time range.GoogleInternalAppsWaldoV1alphaUserContext
statusThe user status during the time range.GoogleInternalAppsWaldoV1alphaUserAvailabilityA single availability range. The displayed status should be the same during the entire time range.GoogleInternalAppsWaldoV1alphaUserStatus
timeRangeThe time range when this availability should be displayed.GoogleInternalAppsWaldoV1alphaUserAvailabilityA single availability range. The displayed status should be the same during the entire time range.GoogleInternalAppsWaldoV1alphaTimeRange
localTimeHelps to determine the user’s local time by providing their current time zone.GoogleInternalAppsWaldoV1alphaUserContextAdditional context about the user’s current and/or future availability to give a better understanding of the status (“Working from Zurich”).GoogleInternalAppsWaldoV1alphaLocalTimeContext
upcomingCommitmentContextInformation about upcoming events.GoogleInternalAppsWaldoV1alphaUserContextAdditional context about the user’s current and/or future availability to give a better understanding of the status (“Working from Zurich”).GoogleInternalAppsWaldoV1alphaUpcomingCommitmentContext
upcomingOooSet if user has upcoming OOO.GoogleInternalAppsWaldoV1alphaUserContextAdditional context about the user’s current and/or future availability to give a better understanding of the status (“Working from Zurich”).GoogleInternalAppsWaldoV1alphaUpcomingOooContext
workingElsewhereSet if the user has a working location. Not just elsewhere (legacy name).GoogleInternalAppsWaldoV1alphaUserContextAdditional context about the user’s current and/or future availability to give a better understanding of the status (“Working from Zurich”).GoogleInternalAppsWaldoV1alphaWorkingElsewhereContext
customLocationIndicates the user is working from some other location.GoogleInternalAppsWaldoV1alphaUserLocationLocation of the user, which might be “home”, for example, or an office building, as well as a custom location specified by the user.GoogleInternalAppsWaldoV1alphaCustomLocation
homeLocationIndicates the user is working from home.GoogleInternalAppsWaldoV1alphaUserLocationLocation of the user, which might be “home”, for example, or an office building, as well as a custom location specified by the user.GoogleInternalAppsWaldoV1alphaHomeLocation
officeLocationIndicates the user is working from the office.GoogleInternalAppsWaldoV1alphaUserLocationLocation of the user, which might be “home”, for example, or an office building, as well as a custom location specified by the user.GoogleInternalAppsWaldoV1alphaOfficeLocation
calendarBusySet if the user is temporarily busy and there is not a more specific status derived from calendar that applies (e.g., InMeeting or DoNotDisturb).GoogleInternalAppsWaldoV1alphaUserStatusThe actual status of the user. The message contains everything needed for visualisation of this status.GoogleInternalAppsWaldoV1alphaCalendarBusy
doNotDisturbSet if the user is in a Focus Time block. Note that this is different than Chat’s Do not disturb status, but they may coincide, see: go/focus-time-dnd.GoogleInternalAppsWaldoV1alphaUserStatusThe actual status of the user. The message contains everything needed for visualisation of this status.GoogleInternalAppsWaldoV1alphaDoNotDisturb
inMeetingSet if the user is in a meeting.GoogleInternalAppsWaldoV1alphaUserStatusThe actual status of the user. The message contains everything needed for visualisation of this status.GoogleInternalAppsWaldoV1alphaInMeeting
inactiveSet if no other statuses apply.GoogleInternalAppsWaldoV1alphaUserStatusThe actual status of the user. The message contains everything needed for visualisation of this status.GoogleInternalAppsWaldoV1alphaInactive
outOfOfficeSet if the user is out of office.GoogleInternalAppsWaldoV1alphaUserStatusThe actual status of the user. The message contains everything needed for visualisation of this status.GoogleInternalAppsWaldoV1alphaOutOfOffice
outsideWorkingHoursSet if the user doesn’t work at this time.GoogleInternalAppsWaldoV1alphaUserStatusThe actual status of the user. The message contains everything needed for visualisation of this status.GoogleInternalAppsWaldoV1alphaOutsideWorkingHours
locationThe new location of the user. Might represent home, office, or a custom address on the map.GoogleInternalAppsWaldoV1alphaWorkingElsewhereContextThe context providing the User Location (not just Elsewhere). This is a legacy name from when it was only set for users working remotely, now it is also set when the user is working from the office.GoogleInternalAppsWaldoV1alphaUserLocation
availableTimeA list of availability periods representing the user’s working hours as configured in calendar.GoogleInternalAppsWaldoV1alphaWorkingHoursInformation about the user’s working hours.list(GoogleInternalAppsWaldoV1alphaAvailabilityPeriod)
appapp is the tachyon client application that generated or is to receive a message.GoogleInternalCommunicationsInstantmessagingV1IdId for message recipients, e.g. users, groups etc.String
countryCodecountry_code is the E164_COUNTRY_CODE format country code for this id, used as a hint for its region. E.g, “+1” will be used for North America, “+86” will be used for China, etc. Should be filled only for RCS group id.GoogleInternalCommunicationsInstantmessagingV1IdId for message recipients, e.g. users, groups etc.String
idid is a unique (for this type and app) identifier of a message source or recipient.GoogleInternalCommunicationsInstantmessagingV1IdId for message recipients, e.g. users, groups etc.String
locationHintlocation_hint is used as a hint for the user’s region.GoogleInternalCommunicationsInstantmessagingV1IdId for message recipients, e.g. users, groups etc.GoogleInternalCommunicationsInstantmessagingV1LocationHint
routingInfoTokenRaw byte array containing encoded routing information. Clients of Tachyon are expected to include the most recent routing_info_cookie that they have received from the server in the requests that they make. Its format is purposely opaque so that clients do not need to concern themselves with the content of this field. This field is expected to be used primarily by Tachygram clients for go/tachygram-groups to simplify the API contract for group operations while reducing the need for unnecessary lookups.GoogleInternalCommunicationsInstantmessagingV1IdId for message recipients, e.g. users, groups etc.String
typetype defines what the id field contains, e.g. phone number, Fi-number, Gaia ID etc.GoogleInternalCommunicationsInstantmessagingV1IdId for message recipients, e.g. users, groups etc.String
formatthe format of location.GoogleInternalCommunicationsInstantmessagingV1LocationHintLocationHint is used to specify a location as well as format.String
locationLocation is the location, provided in the format specified by format.GoogleInternalCommunicationsInstantmessagingV1LocationHintLocationHint is used to specify a location as well as format.String
doneIf the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.GoogleLongrunningOperationThis resource represents a long-running operation that is the result of a network API call.boolean
errorThe error result of the operation in case of failure or cancellation.GoogleLongrunningOperationThis resource represents a long-running operation that is the result of a network API call.GoogleRpcStatus
metadataService-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.GoogleLongrunningOperationThis resource represents a long-running operation that is the result of a network API call.map
nameThe server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.GoogleLongrunningOperationThis resource represents a long-running operation that is the result of a network API call.String
responseThe normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.GoogleLongrunningOperationThis resource represents a long-running operation that is the result of a network API call.map
codeThe status code, which should be an enum value of google.rpc.Code.GoogleRpcStatusThe `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).integer
detailsA list of messages that carry the error details. There is a common set of message types for APIs to use.GoogleRpcStatusThe `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).list(map)
messageA 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 field, or localized by the client.GoogleRpcStatusThe `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).String
alphaThe fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 – alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).GoogleTypeColorRepresents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor’s `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn’t have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // … public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // … Example (iOS / Obj-C): // … static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...number
blueThe amount of blue in the color as a value in the interval [0, 1].GoogleTypeColorRepresents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor’s `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn’t have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // … public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // … Example (iOS / Obj-C): // … static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...number
greenThe amount of green in the color as a value in the interval [0, 1].GoogleTypeColorRepresents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor’s `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn’t have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // … public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // … Example (iOS / Obj-C): // … static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...number
redThe amount of red in the color as a value in the interval [0, 1].GoogleTypeColorRepresents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor’s `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn’t have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // … public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // … Example (iOS / Obj-C): // … static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...number
dayDay of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn’t significant.GoogleTypeDateRepresents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestampinteger
monthMonth of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.GoogleTypeDateRepresents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestampinteger
yearYear of the date. Must be from 1 to 9999, or 0 to specify a date without a year.GoogleTypeDateRepresents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestampinteger
dayOptional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.GoogleTypeDateTimeRepresents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user’s timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application’s limitations.integer
hoursOptional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value “24:00:00” for scenarios like business closing time.GoogleTypeDateTimeRepresents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user’s timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application’s limitations.integer
minutesOptional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.GoogleTypeDateTimeRepresents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user’s timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application’s limitations.integer
monthOptional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.GoogleTypeDateTimeRepresents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user’s timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application’s limitations.integer
nanosOptional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.GoogleTypeDateTimeRepresents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user’s timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application’s limitations.integer
secondsOptional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.GoogleTypeDateTimeRepresents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user’s timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application’s limitations.integer
timeZoneTime zone.GoogleTypeDateTimeRepresents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user’s timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application’s limitations.GoogleTypeTimeZone
utcOffsetUTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.GoogleTypeDateTimeRepresents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user’s timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application’s limitations.String
yearOptional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.GoogleTypeDateTimeRepresents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user’s timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application’s limitations.integer
descriptionOptional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.GoogleTypeExprRepresents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: “Summary size limit” description: “Determines if a summary is less than 100 chars” expression: “document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.String
expressionTextual representation of an expression in Common Expression Language syntax.GoogleTypeExprRepresents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: “Summary size limit” description: “Determines if a summary is less than 100 chars” expression: “document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.String
locationOptional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.GoogleTypeExprRepresents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: “Summary size limit” description: “Determines if a summary is less than 100 chars” expression: “document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.String
titleOptional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.GoogleTypeExprRepresents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: “Summary size limit” description: “Determines if a summary is less than 100 chars” expression: “document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.String
endTimeOptional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.GoogleTypeIntervalRepresents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.DateTime
startTimeOptional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.GoogleTypeIntervalRepresents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.DateTime
latitudeThe latitude in degrees. It must be in the range [-90.0, +90.0].GoogleTypeLatLngAn object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.float
longitudeThe longitude in degrees. It must be in the range [-180.0, +180.0].GoogleTypeLatLngAn object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.float
currencyCodeThe three-letter currency code defined in ISO 4217.GoogleTypeMoneyRepresents an amount of money with its currency type.String
nanosNumber of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.GoogleTypeMoneyRepresents an amount of money with its currency type.integer
unitsThe whole units of the amount. For example if `currencyCode` is `”USD”`, then 1 unit is one US dollar.GoogleTypeMoneyRepresents an amount of money with its currency type.String
addressLinesUnstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. “Austin, TX”), it is important that the line order is clear. The order of address lines should be “envelope order” for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. “ja” for large-to-small ordering and “ja-Latn” or “en” for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478list(String)
administrativeAreaOptional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. “Barcelona” and not “Catalonia”). Many countries don’t use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478String
languageCodeOptional. BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address’ country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. If this value is not known, it should be omitted (rather than specifying a possibly incorrect default). Examples: “zh-Hant”, “ja”, “ja-Latn”, “en”.GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478String
localityOptional. Generally refers to the city/town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave locality empty and use address_lines.GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478String
organizationOptional. The name of the organization at the address.GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478String
postalCodeOptional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478String
recipientsOptional. The recipient at the address. This field may, under certain circumstances, contain multiline information. For example, it might contain “care of” information.GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478list(String)
regionCodeRequired. CLDR region code of the country/region of the address. This is never inferred and it is up to the user to ensure the value is correct. See https://cldr.unicode.org/ and https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: “CH” for Switzerland.GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478String
revisionThe schema revision of the `PostalAddress`. This must be set to 0, which is the latest revision. All new revisions **must** be backward compatible with old revisions.GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478integer
sortingCodeOptional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like “CEDEX”, optionally followed by a number (e.g. “CEDEX 7”), or just a number alone, representing the “sector code” (Jamaica), “delivery area indicator” (Malawi) or “post office indicator” (e.g. Côte d’Ivoire).GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478String
sublocalityOptional. Sublocality of the address. For example, this can be neighborhoods, boroughs, districts.GoogleTypePostalAddressRepresents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: – Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) – Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478String
hoursHours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value “24:00:00” for scenarios like business closing time.GoogleTypeTimeOfDayRepresents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.integer
minutesMinutes of hour of day. Must be from 0 to 59.GoogleTypeTimeOfDayRepresents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.integer
nanosFractions of seconds in nanoseconds. Must be from 0 to 999,999,999.GoogleTypeTimeOfDayRepresents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.integer
secondsSeconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.GoogleTypeTimeOfDayRepresents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.integer
idIANA Time Zone Database time zone, e.g. “America/New_York”.GoogleTypeTimeZoneRepresents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).String
versionOptional. IANA Time Zone Database version number, e.g. “2019a”.GoogleTypeTimeZoneRepresents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).String
AuthorIdGroupsPerDocDataString
GroupGaiaIdGroupsPerDocDataString
GroupIdLegacy group mysql id.GroupsPerDocDataString
ThreadIdGroupsPerDocDataString
agentDeviceIdThe device ID defined by the agent.HomeGraphCommonRouteString
agentIdThe agent’s ID. Generally it is the agent’s Google cloud project id.HomeGraphCommonRouteString
chipEndpointchip endpoint index (if the target is CHIP). Set packed = true to handle error caused by b/32953375 when exporting this data. Note that we should never change this to non-repeated: a packed field will not work properly if you change the field to non-repeated later.HomeGraphCommonRoutelist(integer)
targetTypeExecution routing target.HomeGraphCommonRouteString
supportedRoutesList of supported execution route.HomeGraphCommonRoutingTableDefines execution routing information for Traits, which will be used to be mapped for each Trait as following: map traits_to_routing_table_map = X; We’ll use this for CHIP first. And expect to migrate the existing routing logic to this gradually.list(HomeGraphCommonRoute)
cloudFulfillmentOnlySet to true for a non-local trait.HomeGraphCommonTraitRoutingHintsLINT.IfChange go/shed-per-trait-routing. Making it object to allow for extendible design, where we can add attributes in future.boolean
traitTrait name, e.g., “action.devices.traits.MediaInitiation”. See [device traits](https://developers.home.google.com/cloud-to-cloud/traits). See java/com/google/home/graph/common/devices/config/protoconf.pi for the exhaustive list of trait-strings.HomeGraphCommonTraitRoutingHintsLINT.IfChange go/shed-per-trait-routing. Making it object to allow for extendible design, where we can add attributes in future.String
nameHtmlrenderWebkitHeadlessProtoAnonTimingStatPairTimingStatPair message stores a timing period name and a time value. This is intentionally vague for doing fine level timing of rendering as what we measure is likely to change as we iterate. The intention is also that these values will just be dumped to varzs for evaluation purposed and not used programmatically.String
timeSHtmlrenderWebkitHeadlessProtoAnonTimingStatPairTimingStatPair message stores a timing period name and a time value. This is intentionally vague for doing fine level timing of rendering as what we measure is likely to change as we iterate. The intention is also that these values will just be dumped to varzs for evaluation purposed and not used programmatically.float
heightHtmlrenderWebkitHeadlessProtoBoxA simple 2D box represented by an (x, y) coordinate, a width, and a height. Coordinates are in pixels.integer
widthHtmlrenderWebkitHeadlessProtoBoxA simple 2D box represented by an (x, y) coordinate, a width, and a height. Coordinates are in pixels.integer
xon horizontal axisHtmlrenderWebkitHeadlessProtoBoxA simple 2D box represented by an (x, y) coordinate, a width, and a height. Coordinates are in pixels.integer
yon vertical axisHtmlrenderWebkitHeadlessProtoBoxA simple 2D box represented by an (x, y) coordinate, a width, and a height. Coordinates are in pixels.integer
chromiumTracePopulated if Chromium traces are requested in JSON format.HtmlrenderWebkitHeadlessProtoChromiumTraceA message to describe the trace events returned by Chromium.String
chromiumTraceProtoPopulated if Chromium traces are requested in PROTO format.HtmlrenderWebkitHeadlessProtoChromiumTraceA message to describe the trace events returned by Chromium.String
lineNumberLine number of the document which caused an error.HtmlrenderWebkitHeadlessProtoConsoleLogEntryConsoleLogEntry message stores messages logged by the renderer to the console. Typically error messages related to JS execution, parsing, any CSS errors, etc are logged by the renderer to the console. Next id: 7.integer
messageMessage which indicates the nature of the error. e.g. parse error, reference error (happens when javascript functions or variables are not resolvable) etc.HtmlrenderWebkitHeadlessProtoConsoleLogEntryConsoleLogEntry message stores messages logged by the renderer to the console. Typically error messages related to JS execution, parsing, any CSS errors, etc are logged by the renderer to the console. Next id: 7.String
messageLevelmessage levelHtmlrenderWebkitHeadlessProtoConsoleLogEntryConsoleLogEntry message stores messages logged by the renderer to the console. Typically error messages related to JS execution, parsing, any CSS errors, etc are logged by the renderer to the console. Next id: 7.String
sourceUrlThe url of the document which has the error.HtmlrenderWebkitHeadlessProtoConsoleLogEntryConsoleLogEntry message stores messages logged by the renderer to the console. Typically error messages related to JS execution, parsing, any CSS errors, etc are logged by the renderer to the console. Next id: 7.String
stackTraceStack trace which functions were called when generating the console log. The first frame is the innermost one.HtmlrenderWebkitHeadlessProtoConsoleLogEntryConsoleLogEntry message stores messages logged by the renderer to the console. Typically error messages related to JS execution, parsing, any CSS errors, etc are logged by the renderer to the console. Next id: 7.list(HtmlrenderWebkitHeadlessProtoScriptStackFrame)
timestampWall time (s) when the log entry was recordedHtmlrenderWebkitHeadlessProtoConsoleLogEntryConsoleLogEntry message stores messages logged by the renderer to the console. Typically error messages related to JS execution, parsing, any CSS errors, etc are logged by the renderer to the console. Next id: 7.float
domainHtmlrenderWebkitHeadlessProtoCookieString
expirationHtmlrenderWebkitHeadlessProtoCookiefloat
httpOnlyHtmlrenderWebkitHeadlessProtoCookieboolean
nameHtmlrenderWebkitHeadlessProtoCookieString
pathHtmlrenderWebkitHeadlessProtoCookieString
sameSiteHtmlrenderWebkitHeadlessProtoCookieString
secureHtmlrenderWebkitHeadlessProtoCookieboolean
valueHtmlrenderWebkitHeadlessProtoCookieString
baseUriDocument’s base uri.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24String
charsetDocument’s charset.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24String
contentHeightHtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24integer
contentLanguageDocument’s language.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24String
contentWidthThese fields contain the actual width and height of the document content, which may exceed the size of the rendering viewport. *DEPRECATED* Use rendered_content_area instead. These two fields always assume the content area begins at viewport coordinates (0,0).HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24integer
domTreeNodeA flat list of all the DOMTreeNodes in the DOM. A flat list is preferred to a tree to avoid recursion and potential stack overflows. Note that the first node in this list will always be the root node.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24list(HtmlrenderWebkitHeadlessProtoDOMTreeNode)
frameIdA unique identifier for the frame (browser window of iframe) this document is loaded in. This identifier matches the identifiers used in the timeline data to identify frames and therefore only set if the record_timeline field of the RenderRequest message was set to true. frame_id is not supported on Chromium.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24String
frameNameThe name of the frame (browser window of iframe) this document is loaded in. May not be set if the frame name was empty.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24String
javascriptTimeOfDay————————————————————————– Input context. These fields are copied from RenderRequest so that Document can be a self contained protobuf. We would’ve liked to place them in a ## nested InputContext message but it’s too late now. ## Time specified to RenderRequest.JavaScriptOptions.time_of_day, if any. ## End of input context. Output-only fields below.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24float
redirectHopThe chain of redirects (and redirect methods) used to get to the final resource for this Document. Deprecated: Use the redirect events in the render_event field instead.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24list(HtmlrenderWebkitHeadlessProtoRedirectHop)
referencedResourceContains a list of Resources which the renderer requested — both those that were found and those that were not. Resources are returned in the order that they were requested.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24list(HtmlrenderWebkitHeadlessProtoReferencedResource)
renderEventDifferent types of events which happened during rendering. All events for this document’s frame are included, so for example if a confirmation dialog is created before a client redirect to this document the ConfirmationDialogEvent will still be included even though the dialog was created by a different document. See render_event.proto for the types of events which are recorded. Note that this is present regardless of whether record_timeline was set in the RenderRequest.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24list(HtmlrenderWebkitHeadlessProtoRenderEvent)
renderStyleSee htmlrender_webkit_headless_utils::SerializeRenderStyle() if a serialized css string is wanted.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24list(HtmlrenderWebkitHeadlessProtoStyle)
renderTreeNodeA flat list of all the RenderTreeNodes from the render tree. A flat list is preferred to a tree to avoid recursion and potential stack overflows. Note that the first node in this list will always be the RenderTreeNode for the #document node (aka root).HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24list(HtmlrenderWebkitHeadlessProtoRenderTreeNode)
renderTreeQualityScoreDEPRECATED – This field to be removed mid-2011. If you need this, use the library directly: //google3/htmlrender/webkit_headless/snapshot_quality Indicates how good or bad the rendering is from the perspective of the render tree. This is different from snapshot_quality_score in that the quality analysis examines everything that can be rendered, not just the portion within the document’s viewport. It also ignores missing resouces with fixed width/height specified in the tag. A score of 1 (100%) implies the entire document can be rendered at the best quality and a score of 0 implies the entire document is unusable.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24float
renderedContentAreaThe bounding box which represents the whole area of rendered content, which may exceed the size of the rendering viewport. It doesn’t include the body’s margin.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24HtmlrenderWebkitHeadlessProtoBox
scrollXScroll offset of this document within the frame. Note that if expand_frame_to_content_height or expand_frame_to_content_width is true, this field reflects the final scroll offset after frame expansion.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24integer
scrollYHtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24integer
snapshotQualityScoreDEPRECATED – This field to be removed mid-2011. If you need this, use the library directly: //google3/htmlrender/webkit_headless/snapshot_quality Indicates how good or bad the rendered snapshot is within the rendered content area within the document’s viewport. A score of 1 (100%) implies the snapshot is of best quality and a score of 0 implies the snapshot is unusable.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24float
titleDocument’s title.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24String
uriDocument uri is the URL that this document was fetched from. The displayed URL and base URL may be different. If this document was not fetched from any URL (e.g. iframe with no src, populated by script) uri will be “about:blank”.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24String
viewportThe page’s layout size.HtmlrenderWebkitHeadlessProtoDocumentNext available tag: 24HtmlrenderWebkitHeadlessProtoBox
keyHtmlrenderWebkitHeadlessProtoDOMStorageItemString
securityOriginHtmlrenderWebkitHeadlessProtoDOMStorageItemString
valueHtmlrenderWebkitHeadlessProtoDOMStorageItemString
attributeHtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16list(HtmlrenderWebkitHeadlessProtoDOMTreeNodeAttribute)
childDomTreeNodeIndexAn index per child. Indexes can be used to fetch the DOMTreeNodes from the list maintained by the Document.HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16list(integer)
currentSourceUrlFor elements, the actual url that was used to fetch the image. Note that this field is set only if it is different from the ‘src’ attribute value.HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16String
documentIf the node represents an iframe or a frame then document will be set.HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16HtmlrenderWebkitHeadlessProtoDocument
htmlTagTypeIdentifies the HTML tag type (IMG, P, DIV, etc). Applicable only for DOM nodes that are representative of html elements. For a list of possible types refer HtmlTagEnum defined in webutil/html/htmltagenum.h.HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16integer
isClickableWhether this DOM node responds to mouse clicks. This includes e.g. nodes that have had click event listeners attached via JavaScript as well as e.g. anchor tags that naturally navigate when clicked.HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16boolean
nameName of the node (document, text, comment, div, etc).HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16String
originUrlURL of the script, if any, which created or populated this node.HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16String
referencedResourceIndexList of referenced resource indexes for any resources that this DOM tree node references.HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16list(integer)
renderTreeNodeIndexRenderTreeNode can be looked up from the list of RenderTreeNodes stored in the Document using render_tree_node_index. RenderTreeNode gives rendering information (bounding box, style that was applied, etc). Note: 1. If a DOMTreeNode does not have a RenderTreeNode then it is safe to assume that the DOMTreeNode has no effect on the rendering. DOMTreeNodes for a ,HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16list(integer)
typeHtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16String
valueThe node value is applicable for TEXT_NODEs, DOCUMENT_TYPE_NODEs, COMMENT_NODEs, and user input elements such as , and HtmlrenderWebkitHeadlessProtoDOMTreeNodeDOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16String
htmlAttributeTypeIdentifies the HTML attribute type (src, width, height, etc). For a list of possible types refer HtmlAttributeEnum defined in webutil/html/htmlattrenum.h.HtmlrenderWebkitHeadlessProtoDOMTreeNodeAttributeZero or more attributes for the node.integer
nameHtmlrenderWebkitHeadlessProtoDOMTreeNodeAttributeZero or more attributes for the node.String
valueHtmlrenderWebkitHeadlessProtoDOMTreeNodeAttributeZero or more attributes for the node.String
resizeTypeHtmlrenderWebkitHeadlessProtoFrameResizeEventEvent for frame resize. Currently we only record resize events caused by automatic frame expansion.String
visibleRectAfterResizeHtmlrenderWebkitHeadlessProtoFrameResizeEventEvent for frame resize. Currently we only record resize events caused by automatic frame expansion.HtmlrenderWebkitHeadlessProtoBox
visibleRectBeforeResizeHtmlrenderWebkitHeadlessProtoFrameResizeEventEvent for frame resize. Currently we only record resize events caused by automatic frame expansion.HtmlrenderWebkitHeadlessProtoBox
dataThe binary image data, stored in a format decided by the application and a particular RenderService implementation.HtmlrenderWebkitHeadlessProtoImageString
heightHtmlrenderWebkitHeadlessProtoImageinteger
pageNumberThe page number if this is an image of a page from a print-mode rendering.HtmlrenderWebkitHeadlessProtoImageinteger
viewportThe viewport from which this image was generated. This is relative to the upper left of the page’s document.HtmlrenderWebkitHeadlessProtoImageHtmlrenderWebkitHeadlessProtoBox
widthThe width and height of the image stored in the data field.HtmlrenderWebkitHeadlessProtoImageinteger
urlHtmlrenderWebkitHeadlessProtoInitialLoadEventEvent for the initial load of a frame, including main frame and subframes.String
confirmedWhether a confirm() or prompt() dialog was confirmed. Will not be present for an alert() dialog.HtmlrenderWebkitHeadlessProtoModalDialogEventEvent for a modal dialog created by one of window.confirm(), window.prompt(), or window.alert().boolean
messageHtmlrenderWebkitHeadlessProtoModalDialogEventEvent for a modal dialog created by one of window.confirm(), window.prompt(), or window.alert().String
resultFor a prompt() dialog, the result of the prompt. Will not be present for other types of dialogs. If confirmed == false and the prompt had a default value, result will contain the default value.HtmlrenderWebkitHeadlessProtoModalDialogEventEvent for a modal dialog created by one of window.confirm(), window.prompt(), or window.alert().String
typeHtmlrenderWebkitHeadlessProtoModalDialogEventEvent for a modal dialog created by one of window.confirm(), window.prompt(), or window.alert().String
unitHtmlrenderWebkitHeadlessProtoOffsetString
valueHtmlrenderWebkitHeadlessProtoOffsetinteger
cookieCookies at the time of snapshot creation.HtmlrenderWebkitHeadlessProtoPartialRenderPartialRenders can be created using the extension API to store the document state and/or create an image at points before the final render.list(HtmlrenderWebkitHeadlessProtoCookie)
currentClientUrlCurrent url as would appear in the web browser’s address bar at the time of snapshot creation.HtmlrenderWebkitHeadlessProtoPartialRenderPartialRenders can be created using the extension API to store the document state and/or create an image at points before the final render.String
documentSnapshot of the document DOM + Render trees, if requestedHtmlrenderWebkitHeadlessProtoPartialRenderPartialRenders can be created using the extension API to store the document state and/or create an image at points before the final render.HtmlrenderWebkitHeadlessProtoDocument
idID set by the render extensionHtmlrenderWebkitHeadlessProtoPartialRenderPartialRenders can be created using the extension API to store the document state and/or create an image at points before the final render.String
imageImage of the render, if requestedHtmlrenderWebkitHeadlessProtoPartialRenderPartialRenders can be created using the extension API to store the document state and/or create an image at points before the final render.HtmlrenderWebkitHeadlessProtoImage
dataThe binary PDF data.HtmlrenderWebkitHeadlessProtoPdfString
bottomHtmlrenderWebkitHeadlessProtoRectangleHtmlrenderWebkitHeadlessProtoOffset
leftHtmlrenderWebkitHeadlessProtoRectangleHtmlrenderWebkitHeadlessProtoOffset
rightHtmlrenderWebkitHeadlessProtoRectangleHtmlrenderWebkitHeadlessProtoOffset
topA missing value for any field in this message means ‘auto’.HtmlrenderWebkitHeadlessProtoRectangleHtmlrenderWebkitHeadlessProtoOffset
httpMethodThe HTTP method of the request for the redirect target.HtmlrenderWebkitHeadlessProtoRedirectEventA redirect event represents a change in the resource URL for a document. This includes HTTP redirects, as well things which trigger client navigations such as script changing window.location, tags, HTTP Refresh headers, etc.String
httpStatusCodeFor HTTP redirects, the HTTP status code returned in the initial HTTP response.HtmlrenderWebkitHeadlessProtoRedirectEventA redirect event represents a change in the resource URL for a document. This includes HTTP redirects, as well things which trigger client navigations such as script changing window.location, tags, HTTP Refresh headers, etc.integer
refreshTypeHtmlrenderWebkitHeadlessProtoRedirectEventA redirect event represents a change in the resource URL for a document. This includes HTTP redirects, as well things which trigger client navigations such as script changing window.location, tags, HTTP Refresh headers, etc.String
targetContentDownloadedTrue if the redirect led to a download instead of loading a new page. Note that such redirects can appear anywhere in the list of redirect events.HtmlrenderWebkitHeadlessProtoRedirectEventA redirect event represents a change in the resource URL for a document. This includes HTTP redirects, as well things which trigger client navigations such as script changing window.location, tags, HTTP Refresh headers, etc.boolean
targetUrlHtmlrenderWebkitHeadlessProtoRedirectEventA redirect event represents a change in the resource URL for a document. This includes HTTP redirects, as well things which trigger client navigations such as script changing window.location, tags, HTTP Refresh headers, etc.String
typeHtmlrenderWebkitHeadlessProtoRedirectEventA redirect event represents a change in the resource URL for a document. This includes HTTP redirects, as well things which trigger client navigations such as script changing window.location, tags, HTTP Refresh headers, etc.String
typeHtmlrenderWebkitHeadlessProtoRedirectHopString
urlThe redirect target url.HtmlrenderWebkitHeadlessProtoRedirectHopString
canceledTrue if this fetch was canceled due to render server policy. e.g. the page exceeded the fetch budget or an extension canceled the fetch.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20boolean
contentTypeContent type of this resource (webutil/http/content-type.h). The content type is from guess based on the file extension, any mime type in http headers at the beginning of the content, any content-disposition http header, and the content body itself. Note: the content type defined in webutil/http/content-type.proto is incomplete. If you are interested in missing types, please update the enum and the logic of content type detection.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20integer
domTreeNodeIndexDOMTreeNode index which has the url as one of its attributes specified using either src, href or background attributes. src attribute applies to img, script, frame and iframe nodes, href applies to link nodes and background applies to body node. It is possible for a url to be referenced by multiple DOM nodes. For e.g. an tag with the same src attribute can occur in multiple places within a document. It is possible for a url to not have any DOM node reference. For example, redirects don’t have DOM tree nodes.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20list(integer)
failedHttpAccessControlCheckTrue when a HTTP request succeeded but the resource was not made accessible to script due to a HTTP Access Control (CORS) failure. This field is not implemented on Chromium.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20boolean
fetchSourceInfoWhere this resource comes from.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20list(WirelessTranscoderFetchFetchSourceInfo)
fetchStatusThe FetchStatus returned by the fetcher. Values are taken from wireless_transcoder_fetch.FetchConstants.FetchStatus in fetch_service.proto. The default value is SUCCESS(0).HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20String
httpHeaderHTTP headers from the fetcher.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20list(HtmlrenderWebkitHeadlessProtoReferencedResourceHttpHeader)
httpResponseCodeHTTP response code if we had tried to fetch the url. Absence of this field indicates either we have not tried to fetch the url or the fetcher never got back to us with any response.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20integer
metadataHtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20list(WirelessTranscoderFetchFetchMetadata)
postDataThe post_data field is only valid when the HTTP request method is POST.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20String
redirectTargetIf the http_response_code is a HTTP redirect, the redirect target will be stored here.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20String
referencedResourceContentIndexIndicates which referenced_resource_content (in RenderResponse) this RefencedResource points to. This field will be set only when there is referenced_resource_content for this RefencedResource in RenderResponse.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20integer
requestHeaderOnly necessary headers are recorded. See google3/htmlrender/webkit_headless/resource_key.ccHtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20list(HtmlrenderWebkitHeadlessProtoReferencedResourceHttpHeader)
requestMethodThe HTTP request method (GET, HEAD, POST, etc) used for this request. Values are taken from the HTTPHeaders::Protocol enum in webutil/http/httputils.h. HTTPHeaders::PROTO_GETHtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20integer
styleIndexstyle index which has the url specified using either the background-image property or the list-style-image property.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20list(integer)
synchronouslyFetchedWhether it is synchronously fetched.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20boolean
timingHtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20list(HtmlrenderWebkitHeadlessProtoReferencedResourceFetchTiming)
urlDoes not have a #fragment.HtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20String
webkitMetadataAdditional information webkit about this resource. e.g. intended usageHtmlrenderWebkitHeadlessProtoReferencedResourceReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20HtmlrenderWebkitHeadlessProtoWebKitFetchMetadata
finishMsecHtmlrenderWebkitHeadlessProtoReferencedResourceFetchTimingTiming data produced by the fetcher.String
nameA string identifying the fetcher that added this timing information.HtmlrenderWebkitHeadlessProtoReferencedResourceFetchTimingTiming data produced by the fetcher.String
startMsecUNIX epoch timestamps in milliseconds.HtmlrenderWebkitHeadlessProtoReferencedResourceFetchTimingTiming data produced by the fetcher.String
nameHtmlrenderWebkitHeadlessProtoReferencedResourceHttpHeaderHTTP Headers included with the resource request.String
valueHtmlrenderWebkitHeadlessProtoReferencedResourceHttpHeaderHTTP Headers included with the resource request.String
frameResizeHtmlrenderWebkitHeadlessProtoRenderEventHtmlrenderWebkitHeadlessProtoFrameResizeEvent
initialLoadHtmlrenderWebkitHeadlessProtoRenderEventHtmlrenderWebkitHeadlessProtoInitialLoadEvent
modalDialogHtmlrenderWebkitHeadlessProtoRenderEventHtmlrenderWebkitHeadlessProtoModalDialogEvent
redirectHtmlrenderWebkitHeadlessProtoRenderEventHtmlrenderWebkitHeadlessProtoRedirectEvent
scriptOriginUrlThe URL of the script which caused this event, if any. Analogous to origin_url in DOMTreeNode.HtmlrenderWebkitHeadlessProtoRenderEventString
virtualTimeOffsetVirtual time of the event, as an offset from the beginning of the render in seconds.HtmlrenderWebkitHeadlessProtoRenderEventfloat
windowOpenHtmlrenderWebkitHeadlessProtoRenderEventHtmlrenderWebkitHeadlessProtoWindowOpenEvent
consoleLogEntryLog messages and errors generated by extension script.HtmlrenderWebkitHeadlessProtoRenderExtensionResultResults returned by a render server extension. Next id: 3list(HtmlrenderWebkitHeadlessProtoConsoleLogEntry)
resultHtmlrenderWebkitHeadlessProtoRenderExtensionResultResults returned by a render server extension. Next id: 3String
chromiumTraceContains chromium trace generated during page rendering. This is present if a chromium_trace_config was provided in the request.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24HtmlrenderWebkitHeadlessProtoChromiumTrace
cookieContents of the browser’s cookie jar. (if cookies_enabled was set to true in the RenderRequest).HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24list(HtmlrenderWebkitHeadlessProtoCookie)
documentContains the DOM tree, render tree and more. For details consult document.proto.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24HtmlrenderWebkitHeadlessProtoDocument
exceptionDetailProvides extra debugging details when certain exception bits are set.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24String
exceptionsExceptions (possibly serious conditions) that occurred during this rendering. 0 means none. Bitfield encoding. See the RenderingException enum above for an explanation.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24String
extensionResultRender extension results (if `devtools_script` was provided with the request.)HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24HtmlrenderWebkitHeadlessProtoRenderExtensionResult
finalClientUrlThis field contains the final url as would appear in the web browser’s address bar. Note that JavaScript can modify the contents of the location bar so this URL may not appear on the list of referenced resources. If we fail to follow a redirect this field will contain the URL that we failed to redirect to, not the last one we successfully loaded.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24String
imageContains the viewport images rendered by webkit (if generate_image was set to true in the RenderRequest). Will also contain the print-mode images (if generate_print_mode_images was set to true).HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24list(HtmlrenderWebkitHeadlessProtoImage)
localStorageContents of the browser’s local storage.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24list(HtmlrenderWebkitHeadlessProtoDOMStorageItem)
partialRenderPartial render snapshots (if requested by a render extension)HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24list(HtmlrenderWebkitHeadlessProtoPartialRender)
pdfContains the PDF document (if generate_pdf was set to true in the RenderRequest)HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24HtmlrenderWebkitHeadlessProtoPdf
referencedResourceContentContents for all the urls fetched by the render server. This field is present only if generate_referenced_resource_content was set to true in the RenderRequest.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24list(HtmlrenderWebkitHeadlessProtoResource)
renderStatsTime to render the url, total size of a document, number of referenced images, etc will be part of RenderStats.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24HtmlrenderWebkitHeadlessProtoRenderStats
sessionStorageContents of the browser’s session storage.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24list(HtmlrenderWebkitHeadlessProtoDOMStorageItem)
titleContains the page title produced by webkit, in the UTF-8 encoding.HtmlrenderWebkitHeadlessProtoRenderResponseSee go/wrs-render-quality for how to evaluate the results. Next id: 24String
anonRenderFineTimingStatsDeliberately non-named fine timing stats. These are all related to each other and unrelated to other timing stats in this message.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.list(HtmlrenderWebkitHeadlessProtoAnonTimingStatPair)
consoleLogEntryAny messages logged by the renderer to the console. Note that we capture a subset of the messages logged by the renderer here to avoid explosion.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.list(HtmlrenderWebkitHeadlessProtoConsoleLogEntry)
counterHtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.list(HtmlrenderWebkitHeadlessProtoRenderStatsCounter)
documentBuildTimeMsecTime to build document and render tree response data.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
droppedLogEntryCountNumber of dropped log messages. Since we capture only a subset of the messages in console_log_entry this field is included just so that the consumers can get an idea of how many actual attempts were made by the renderer.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
imageEncodingTimeMsecImage encoding (e.g. raw -> PNG) time.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
imageScalingTimeMsecImage scaling time.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
layoutTimeMsecTime from starting render to document finished loading. This includes all fetches, parsing, decoding, running JavaScript, etc.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
paintTimeMsecTime required to paint a document into our buffer.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
renderCostMgcuTotal cost this render spent running and RPC cost in milliGCUs.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
renderEngineRender engine used to render this document.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.String
renderRunningTimeMsecTotal CPU time this render spent running in milliseconds.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
renderServerBaselineClThe CL from which the render engine was built.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.String
renderTimeMsecTotal wall time taken to render a document in milliseconds.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
sandboxRenderTimeMsecTotal time spent in the sandbox in milliseconds. This time includes all phases measured individually below.HtmlrenderWebkitHeadlessProtoRenderStatsNext id: 17.integer
countHtmlrenderWebkitHeadlessProtoRenderStatsCounterRender event counters.String
nameBy convention, counters may contain a “.” which we use to separate a metric name from a counter name in streamz.HtmlrenderWebkitHeadlessProtoRenderStatsCounterRender event counters.String
boxBox is set for render blocks ( , , etc). Box for any RenderTreeNode can be found either in the RenderTreeNode itself or by traversing up the ancestors until a RenderTreeNode with a Box is found.HtmlrenderWebkitHeadlessProtoRenderTreeNodeHtmlrenderWebkitHeadlessProtoBox
childRenderTreeNodeIndexchild_render_tree_node_index is an index into the list of RenderTreeNodes stored in the Document. *** WARNING ***: Don’t use this field. Applications should not rely on the structure of the render tree. This is an internal browser implementation detail and it changes from time to time. Generally, applications should obtain rendering information by starting with the relevant DOMTreeNode and following pointers from there to the relevant RenderTreeNodes.HtmlrenderWebkitHeadlessProtoRenderTreeNodelist(integer)
domTreeNodeIndexIndex of the DOMTreeNode for which this RenderTreeNode is applicable. This index can be used to lookup a DOMTreeNode from list of DOMTreeNodes stored in the Document.HtmlrenderWebkitHeadlessProtoRenderTreeNodeinteger
inlineTextBoxHtmlrenderWebkitHeadlessProtoRenderTreeNodelist(HtmlrenderWebkitHeadlessProtoRenderTreeNodeInlineTextBox)
renderedTextThe actual text that was rendered. This is applicable only for text nodes.HtmlrenderWebkitHeadlessProtoRenderTreeNodeString
styleIndexStyle index is set for rendered nodes (text nodes, image nodes, widgets, etc). The style_index can be used to lookup the style from the list of styles stored in the Document.HtmlrenderWebkitHeadlessProtoRenderTreeNodeinteger
boxHtmlrenderWebkitHeadlessProtoRenderTreeNodeInlineTextBoxFor text nodes, individual lines of text. This repeats rendered_text with more specific bounding boxes.HtmlrenderWebkitHeadlessProtoBox
renderedTextHtmlrenderWebkitHeadlessProtoRenderTreeNodeInlineTextBoxFor text nodes, individual lines of text. This repeats rendered_text with more specific bounding boxes.String
contentcontent contains a complete HTTP response message including the HTTP status line, headers and body. For example: HTTP/1.1 200 OK\\r\\n Content-Type: text/html\\r\\n \\r\\n … content … For inputs (RenderRequest.resource): Any HTTP content encoding (e.g. gzip) and transfer encoding (e.g. chunked) MUST be decoded. HTTP content and transfer encoding headers will be ignored if present. For outputs (RenderResponse.referenced_resource_content): The body will be decoded (no content or transfer encoding) however any content or transfer encoding headers present in the original fetch response will be passed through. Decoding this field requires a correct text encoding. The charset field of Document proto can be a good guess but is not guaranteed to be correct.HtmlrenderWebkitHeadlessProtoResourceNext id: 9.String
fetchSourceInfoWhere this resource comes from.HtmlrenderWebkitHeadlessProtoResourceNext id: 9.list(WirelessTranscoderFetchFetchSourceInfo)
finalContentUrlThe url that contributes the final content. Only existed when metadata contains FetchReplyData.HtmlrenderWebkitHeadlessProtoResourceNext id: 9.String
metadataHtmlrenderWebkitHeadlessProtoResourceNext id: 9.list(WirelessTranscoderFetchFetchMetadata)
methodThe HTTP request method (GET, HEAD, POST, etc) used for this request. Values are taken from the HTTPHeaders::Protocol enum in webutil/http/httputils.h. If it’s not set, we will infer GET or POST based on the presence of post_data.HtmlrenderWebkitHeadlessProtoResourceNext id: 9.integer
postDataHtmlrenderWebkitHeadlessProtoResourceNext id: 9.String
requestHeaderOnly necessary headers are included in the resource key by default. See google3/htmlrender/webkit_headless/resource_key.ccHtmlrenderWebkitHeadlessProtoResourceNext id: 9.list(HtmlrenderWebkitHeadlessProtoResourceHttpHeader)
urlHtmlrenderWebkitHeadlessProtoResourceNext id: 9.String
nameHtmlrenderWebkitHeadlessProtoResourceHttpHeaderString
valueHtmlrenderWebkitHeadlessProtoResourceHttpHeaderString
columnNumberThe current column number for the stack frame.HtmlrenderWebkitHeadlessProtoScriptStackFrameDescribes a script stack frame.integer
functionNameThe function name of the stack frame.HtmlrenderWebkitHeadlessProtoScriptStackFrameDescribes a script stack frame.String
lineNumberThe current line number for the stack frame.HtmlrenderWebkitHeadlessProtoScriptStackFrameDescribes a script stack frame.integer
urlThe URL of the script being executed.HtmlrenderWebkitHeadlessProtoScriptStackFrameDescribes a script stack frame.String
marginTopMarginHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
marginLeftHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
listStyleTypeHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
referencedResourceIndexList of referenced resource indexes for any resources that this style references. (e.g. background images.) (see document.proto)HtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:list(integer)
borderPixelWidthLeftHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
displayHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
borderPixelWidthBottomHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
textAlignHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
fontSizeHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
borderColorArgbTopHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
backgroundImageYPosHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
fontFamily`font_family` is the `font-family` computed style, not necessarily the actual font. https://developer.mozilla.org/en-US/docs/Web/CSS/font-family. Note that it may contain multiple font families, not just one.HtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
overflowXHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
borderColorArgbLeftHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
textShadowColorArgbHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
backgroundGradientRepeatHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:boolean
foregroundColorArgbForeground color encoded as ARGBHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
borderPixelWidthRightHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
positionHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
borderStyleLeftHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
borderPixelWidthTopHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
backgroundSizeHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
backgroundImageUrlThe url of the background image in the first layer.HtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
clipDefault value for clip is “auto”, which is represented here as !has_clip().HtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoRectangle
fontWeightHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
backgroundGradientColorStopArgbHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:list(integer)
backgroundSizeWidthOnly present (but may be missing) if background_size == SIZE_LENGTH.HtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
paddingTopPaddingHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
visibilityHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
textDecorationHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
marginBottomHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
marginRightHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
borderStyleRightHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
backgroundAttachmentHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
overflowYHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
directionHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
borderStyleBottomHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
borderColorArgbBottomHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
paddingLeftHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
hasBackgroundStarting from Chromium, has_background is set when there is a non-empty specification for background_image, whether it be a url, gradient or other cases, such as cross-fade. Besides setting this field, We additionally parse url and gradient cases and populate some of the following background fields.HtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:boolean
backgroundImageXPosBackground image position (x, y).HtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
borderStyleTopHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
backgroundSizeHeightHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
backgroundColorArgbBackground color encoded as ARGBHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
paddingRightHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
borderColorArgbRightHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
listStyleImageUrlHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
backgroundGradientTypeHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
backgroundImageRepeatHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
opacityHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:number
fontStyleHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:String
paddingBottomHtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:HtmlrenderWebkitHeadlessProtoOffset
zIndexDefault value for z-index is “auto” which means “inherit from parent”.HtmlrenderWebkitHeadlessProtoStyleNext id: 54 Font and text decorations:integer
devtoolsFrameIdChromium DevTools frame ID of the frame that initiated this fetch. Only populated in the streaming render service with FETCH_MODE_CLIENT.HtmlrenderWebkitHeadlessProtoWebKitFetchMetadataWebkKitFetchMetadata holds additional webkit-specific information for a single resource fetch.String
targetTypeHtmlrenderWebkitHeadlessProtoWebKitFetchMetadataWebkKitFetchMetadata holds additional webkit-specific information for a single resource fetch.String
allowedWhether or not the window was allowed to be opened by the popup blocker. Unless user events are created with a render extension this should be false.HtmlrenderWebkitHeadlessProtoWindowOpenEventCorresponds to a call to window.open(). Note that a WindowOpenEvent will be present whether or not the call was successful.boolean
urlThe URL for the new window. Note that this is the URL after it has been processed by WebKit, so, for example, relative links passed to window.create() will have been made absolute.HtmlrenderWebkitHeadlessProtoWindowOpenEventCorresponds to a call to window.open(). Note that a WindowOpenEvent will be present whether or not the call was successful.String
windowFeaturesWindow features passed to window.open().HtmlrenderWebkitHeadlessProtoWindowOpenEventCorresponds to a call to window.open(). Note that a WindowOpenEvent will be present whether or not the call was successful.String
windowNameWindow name passed to window.open(). If no name is provided this defaults to “_blank”.HtmlrenderWebkitHeadlessProtoWindowOpenEventCorresponds to a call to window.open(). Note that a WindowOpenEvent will be present whether or not the call was successful.String
countryCodeThe country calling code for this number, as defined by the International Telecommunication Union (ITU). For example, this would be 1 for NANPA countries, and 33 for France.I18nPhonenumbersPhoneNumberThe PhoneNumber object that is used by all LibPhoneNumber API’s to fully represent a phone number.integer
countryCodeSourceThe source from which the country_code is derived.I18nPhonenumbersPhoneNumberThe PhoneNumber object that is used by all LibPhoneNumber API’s to fully represent a phone number.String
extensionExtension is not standardized in ITU recommendations, except for being defined as a series of numbers with a maximum length of 40 digits. It is defined as a string here to accommodate for the possible use of a leading zero in the extension (organizations have complete freedom to do so, as there is no standard defined). Other than digits, some other dialling characters such as “,” (indicating a wait) may be stored here.I18nPhonenumbersPhoneNumberThe PhoneNumber object that is used by all LibPhoneNumber API’s to fully represent a phone number.String
italianLeadingZeroIn some countries, the national (significant) number starts with one or more “0”s without this being a national prefix or trunk code of some kind. For example, the leading zero in the national (significant) number of an Italian phone number indicates the number is a fixed-line number. There have been plans to migrate fixed-line numbers to start with the digit two since December 2000, but it has not happened yet. See http://en.wikipedia.org/wiki/%2B39 for more details. These fields can be safely ignored (there is no need to set them) for most countries. Some limited number of countries behave like Italy – for these cases, if the leading zero(s) of a number would be retained even when dialling internationally, set this flag to true, and also set the number of leading zeros. Clients who use the parsing or conversion functionality of the i18n phone number libraries (go/phonenumbers) will have these fields set if necessary automatically.I18nPhonenumbersPhoneNumberThe PhoneNumber object that is used by all LibPhoneNumber API’s to fully represent a phone number.boolean
nationalNumberThe National (significant) Number, as defined in International Telecommunication Union (ITU) Recommendation E.164, without any leading zero. The leading-zero is stored separately if required, since this is an uint64 and hence cannot store such information. Do not use this field directly: if you want the national significant number, call the getNationalSignificantNumber method of PhoneNumberUtil. For countries which have the concept of an “area code” or “national destination code”, this is included in the National (significant) Number. Although the ITU says the maximum length should be 15, we have found longer numbers in some countries e.g. Germany. Note that the National (significant) Number does not contain the National (trunk) prefix. Obviously, as a uint64, it will never contain any formatting (hyphens, spaces, parentheses), nor any alphanumeric spellings.I18nPhonenumbersPhoneNumberThe PhoneNumber object that is used by all LibPhoneNumber API’s to fully represent a phone number.String
numberOfLeadingZerosFull description of this field in the comment for italian_leading_zero since this field will only be set when italian_leading_zero is true.I18nPhonenumbersPhoneNumberThe PhoneNumber object that is used by all LibPhoneNumber API’s to fully represent a phone number.integer
preferredDomesticCarrierCodeThe carrier selection code that is preferred when calling this phone number domestically. This also includes codes that need to be dialed in some countries when calling from landlines to mobiles or vice versa. For example, in Columbia, a “3” needs to be dialed before the phone number itself when calling from a mobile phone to a domestic landline phone and vice versa. Note this is the “preferred” code, which means other codes may work as well.I18nPhonenumbersPhoneNumberThe PhoneNumber object that is used by all LibPhoneNumber API’s to fully represent a phone number.String
rawInputThis field is used to store the raw input string containing phone numbers before it was canonicalized by the library. For example, it could be used to store alphanumerical numbers such as “1-800-GOOG-411”.I18nPhonenumbersPhoneNumberThe PhoneNumber object that is used by all LibPhoneNumber API’s to fully represent a phone number.String
byteSizethe size of the stored thumbnailImageBaseThumbnailMetadataNext ID: 16integer
cropsSmartCrop crop-hints By default, this field is not populated.ImageBaseThumbnailMetadataNext ID: 16ContentAwareCropsIndexing
deepCropDeepCrop crop-hints. Usage in thumbnails could be deprecated in favor or deep_crop_pixels (below). By default, this field is not populated.ImageBaseThumbnailMetadataNext ID: 16DeepCropIndexing
deepCropPixelsDeepCrop signal in pixels, equivalent to deep_crop (above) but with pixels instead of percentages. By default, this field is not populated.ImageBaseThumbnailMetadataNext ID: 16DeepCropPixels
docidthe Amarna docid of the thumbnailImageBaseThumbnailMetadataNext ID: 16String
encryptedDocidencrypted version of docidImageBaseThumbnailMetadataNext ID: 16String
expirationTimestampMicrosexpiration timestamp of thumbnailImageBaseThumbnailMetadataNext ID: 16String
fprintthe fprint of the thumbnailImageBaseThumbnailMetadataNext ID: 16String
heightthe height of the stored thumbnailImageBaseThumbnailMetadataNext ID: 16integer
mimeTypeThe mime_type of the thumbnail (“image/jpeg”, “image/png”, etc.).ImageBaseThumbnailMetadataNext ID: 16String
originalHeightImageBaseThumbnailMetadataNext ID: 16integer
originalWidthNot populated by Amarna/image pipelines, ever. This was apparently introduced by a customer that wished to extend ThumbnailMetadata with this custom data.ImageBaseThumbnailMetadataNext ID: 16integer
typeImageBaseThumbnailMetadataNext ID: 16String
widththe width of the stored thumbnailImageBaseThumbnailMetadataNext ID: 16integer
byteSizeSize of the stored preview.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.integer
docid64 bit docid of the original video.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.String
durationTODO (yzliu): consider using duration_ms as field name since it is number of milliseconds. Duration of the preview in ms.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.integer
expirationTimestampMicrosExpiration timestamp of preview in microseconds since epoch.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.String
fprintLINT.ThenChange(//depot/google3/video/crawl/indexing/signal_combiner.cc:video_preview) Fingerprint of the preview.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.String
heightHeight of the stored preview.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.integer
mimeTypeMime type of the preview (“video/mp4”).ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.String
stateIndicates the state in Venom for this preview type.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.String
timestampTimestamp of start of preview in ms.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.integer
typeLINT.IfChangeImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.String
videoSegmentEndUsThe end timestamp of the video segment in microseconds that this preview is generated from. Used for segmented video previews.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.String
videoSegmentStartUsThe start timestamp of the video segment in microseconds that this preview is generated from. Used for segmented video previews.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.String
widthWidth of the stored preview.ImageBaseVideoPreviewMetadataThis message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.integer
starburstRepeated so that multiple versions can exist in prod simultaneously.ImageContentFlowProtoProdThe subset of FlowProto that we want to go into production AND be stored in ContentSignals.list(ImageContentStarburstVersionGroup)
queryboostImageContentQueryBoostImage content based multipliers. Current usage is in the pamir_section.list(ImageContentQueryBoostQueryBoost)
boostScore multiplier (fully normalized 1 is nop).ImageContentQueryBoostQueryBoostnumber
queryCanonicalized query string.ImageContentQueryBoostQueryBoostString
descriptorFloatRaw dense float feature vector.ImageContentStarburstVersionGrouplist(number)
descriptorFloatBeforeProjectionRaw dense float feature vector prior to embedding. Only for Starburst V6.ImageContentStarburstVersionGrouplist(number)
descriptorShortShort descriptor for image content features, e.g. compressed bytes. This is the compressed version of descriptor_float below. It can be can be decompressed to descriptor_float with a tiny bit of compression error (in most cases it should be totally fine).ImageContentStarburstVersionGroupString
enumVersionImageContentStarburstVersionGroupString
minorVersionImageContentStarburstVersionGroupString
starburstTokensStarburst tokens.ImageContentStarburstVersionGrouplist(integer)
starburstTokensDistancesSquared distance of the current embedding to each cluster center. Elements are aligned with starburst_tokens.ImageContentStarburstVersionGrouplist(number)
versionThe following integers are currently used: Starburst V1: 1 Starburst V2: 2 Starburst V3: 3 Starburst V4: 4 Starburst Visual V4: 1004 This field is deprecated. Please try to use the ‘enum_version’ in future.ImageContentStarburstVersionGroupinteger
expirationTimestampThe thumbnail is guaranteed to be kept in the serving system until the expiration timestamp has passed, in microseconds.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
h2cImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
corpusSelectionInfoCorpus scoring info for images indexed through Amarna.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(CorpusSelectionInfo)
isUnwantedContentField to indicate the image is unwanted for search index. The data is propagated from amarna to alexandria to be annotated in the cdoc. Refer to image/repository/proto/unwanted_content.proto for more info.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135boolean
colorScoreColorness scores for the image. Each score represents the amount of a particular color in the image. At the current time, there are 12 colors, so there should always be 0 or 12 values in this array. The 12 colors are black, blue, brown, gray, green, orange, pink, purple, red, teal, white, yellow. The convention is that the scores are stored in alphabetical order, so the first score is black, and the last score is yellow.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(number)
isIndexedByImagesearchIf this image was not selected for indexing by imagesearch, these fields say so and explain why.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135boolean
thumbHeightImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
lastCrawlTimeMost recent timestamp in seconds when this URL was crawled.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
nearDupFeaturesVersionImage content derived data used for finding image near dups. NOTE: This hash is generated by V1 hash computation.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
clipartDetectorScoreImage content based classifier scores.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
thumbnailImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(ImageDataThumbnail)
colorScoreVersionImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
contentFirstCrawlTimeEarliest known crawl time among all neardups of this image (go/imagecontentage).ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
lineartDetectorVersionImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
embeddedMetadatathe EXIF/IPTC metadataImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageExifImageEmbeddedMetadata
widthImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
imageContentQueryBoostImage Content Scored per query boosts. Currently this is filled by the pamir algorithm and populates the pamir_section.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageContentQueryBoost
shoppingProductInformationThe Shoppable Images product information to be annotated in the Cdoc. All fields will be populated except the product location bounding box.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageRepositoryShoppingProductInformation
heightHeightImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
imageLicenseInfoIndicates license info of this image, which will tell image search users how to use this image legally.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageSearchImageLicenseInfo
extendedExifThe EXIF generated by photos backend team’s (more specifically FIFE’s) thumbnailer library. This exif model is more comprehensive since a dedicated team is constantly improving it and adding new fields over time. This is currently populated by moonshine for selected corpora.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135PhotosImageMetadata
nimaVqProductionized Nima VQ score.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageRepositoryNimaOutput
imagerankImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
imageQualityClickSignalsClick signals for measuring image quality (e.g., usefulness, presentation, appealingness, and engagingness). Click signals are considered Search CPS Personal Data.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageQualityNavboostImageQualityClickSignals
finalPornScoreA [0..1] porn score based on some image-level features (like content score, referrer statistics, navboost queries, etc.). See class RiflePornScorer for more details.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
coloredPixelsFracFraction of the image that contains pixels over a certain saturation threshold: can be used to determine if the image is grayscale or not.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
whiteBackgroundScoreVersionImage is likely an object on a white background (value on [0,1]).ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
lineartDetectorScoreImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
clusterIdSuperlabels generated cluster id. This field is going to be deprecated, please use `superlabels_v2_cluster_id` instead.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
restrictStringsA string representation of all the restricts associated with this image.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(String)
hateLogoDetectionHate logo detections from the VSS logo_recognition module.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageUnderstandingIndexingAnnotationGroup
clickMagnetScoreA score in (0, 1] to indicate how likely this image is considered as a click magnet based on clicks received from bad queries.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
nearDupFeaturesSmallVersionThe following fields contain information about a smaller and less powerful version of the hash, needed for neardup retrieval. A compressed and an encoded version of the small hash are stored below. The smaller hash may have a few variants to increase recall. NOTE: This hash is generated by V2 hash computation. A compressed version of the small hash. Currently, a 4-byte fingerprint.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
styleAestheticsScoreAesthetics score of a style image.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135LensDiscoveryStyleAestheticsScoreSignals
smearedTopWebLandingPageDocidsWeb docids that correspond to high ranked smeared landing pages for this image. Used for conditional retrieval of actionable landing pages for image search.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(String)
robotedAgentsCSV list of user agents for which this image should be considered roboted. Note: All images are crawled using googlebot-images, this exists for clients that require additional restrictions beyond googlebot-images such as news.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
sizeSize in bytes of original (non-thumbnail)ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
canonicalDocidThis is the image docid used in image search. For ImageData protos coming from Alexandria/Freshdocs, this is a ‘required’ field that MUST be populated.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
pornFlagDataUsed by the segindexer for combined www+image indices.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135PornFlagData
personAttributesContains person attributes from the LookNet-Person model and the Style AI Iconic Person Scorer for the most iconic person in a style image.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135LensDiscoveryStylePersonAttributes
generatedImageLikelihoodSignalThe signal about the likelihood of whether the image is generated by Google.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageRepositoryGeneratedImageLikelihoodSignal
clipartDetectorVersionImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
testingScoreThis field is for testing purposes, more information in go/media-dirt-2022.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
ocrGoodocPruned OCR Goodoc see vss_aksara_ocr_util.h for the fields copied.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135GoodocDocument
smearedTopWebLandingPagesImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(SmearedWebLandingPageEntry)
whiteBackgroundScoreImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
docidfingerprint(non-canonicalized absolute image url) This is *not* the image docid. Use canonical_docid instead. For ImageData protos coming from Alexandria/Freshdocs, this is a ‘required’ field that MUST be populated. But once again, this is very likely NOT something you need. Use canonical_docid instead.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
orbitIntentsOrbit intents. More details on go/orbit-in-image-indexing.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135QualityOrbitOrbitImageIntents
flagsUse image_perdoc.h to read/write ‘flags’.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
thumbWidthThumbnail width.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
packedFullFaceInfoEncodes face number and largest face frac into a small package for storage in mustang. This is calculated directly from FaceDetectionResult.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135FaceIndexing
cropsThe content-aware cropping information.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ContentAwareCropsIndexing
ocrTextboxesText lines detected by OCR engine.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(OcrPhotoTextBox)
h2i‘Hovers to Impressions’ and ‘Hovers to Clicks’ ratios for an image. These are considered Search CPS Personal Data due to concerns that they may be used to reidentify or confirm the presence of specific singleton (unique) queries.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
isMultiframeTrue if the original image contains multiple frames (e.g., for animated or stereoscopic images).ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135boolean
ocrTaserOcr detected by ocr_taser module.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135GoodocDocument
featuredImagePropProperties used in featured imagesearch project. inspiration_score indicates how well an image is related to products, or how inspirational it is.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageMonetizationFeaturedImageProperties
unavailableAfterSecsTime in seconds since epoch after which this image should be considered unavailable.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
imageRegionsRegions detected within the image (go/images-region-search-edd). Regions contain bounding boxes circumscribing objects of interest in the image, along with object labels. Regions may overlap.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageRegionsImageRegions
fileFormatTrue file format (not extension).ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
deepTagsVSS generated deep tags for shopping images.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135CommerceDatastoreImageDeepTags
adaboostImageFeaturePornVersionImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
noIndexReasonImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(String)
personDetectionSignalsContains person detection result.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135LensDiscoveryStylePersonDetectionSignals
flowOutputThe output of various features generated by the Flow framework, most importantly data from Starburst (go/starburst). Do NOT interact with the internals of this proto since they may change over time. Instead, use the existing interfaces that consume FlowProtoProd’s directly, e.g., image/mustang/content/image_content_distance.h For more info, please contact image-content-core@.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageContentFlowProtoProd
photoDetectorVersionImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
numberFacesNumber of faces detected in the imageImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
nearDupFeaturesSmallImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(String)
deepImageEngagingnessProductionized Deep Image Engagingness score.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageRepositoryDeepImageEngagingnessOutput
isVisibleTrue if the image is inlined on the page (typicially via ) or false if the image is linked to (via an href).ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135boolean
urlCanonicalized absolute image url.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
licensedWebImagesOptInStateIndicates the web-master opt-in state of this image, and will be used for Google products to decide usage rights like showing large previews.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
rankInNeardupClusterRank in near-dup cluster (go/image-rank-in-neardup-cluster). The rank is 1-indexed: rank 1 is the best.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
thumbSizeImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
codomainStrengthLike is_visible, this is a property of the (web-doc, img_url) pair not just the image. A high codomain_strength indicates high confidence based on collected stats that the image is hosted on a companion domain. If not enough stats are available for codomain strength, this field may be absent in ImageData, and hence the CompositeDoc. Do not place negative values here. Permitted values range between 0 and image_quality_codomain::kMaxCodomainStrength defined in //image/quality/codomain/codomain-stats-utils.h.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
deepCropDeepCrop based cropping information. See go/creatism/deepcrop for details.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135DeepCropIndexing
nearDupFeaturesImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
photoDetectorScoreImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
firstCrawlTimeEarliest known timestamp about this image. Today, this is the timestamp when the content key was generated for this image. The time is in seconds.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
adaboostImageFeaturePornWarning: adaboost_image_feature_porn* and imageFeaturePorn fields are DEPRECATED in favor of brain_porn_scores. Please do not use them. Contact safesearch@ for transition advice.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
brainPornScoresA [0..1] SafeSearch scores based on image pixels, using Google Brain: porn, csai, violence, medical, and spoof. For porn only, if available prefer final_porn_score as it should be more precise than brain_porn_scores.porn_score.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageSafesearchContentBrainPornAnnotation
styleImageTypePrediction of a style image type: Stage, Stock, Street or Outfits.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135LensDiscoveryStyleStyleImageTypeSignals
animatedImageDataPresent for animated images only: additional animatated image perdoc data.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageRepositoryAnimatedImagePerdocData
onPageAlternateUrlFor an image not explicitly visible on this page, the following url is the one which most closely matches it.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
largestFaceFracFraction of image covered by the largest face (should match largestFaceFraction, but without scaling). In perdocs, is set only if numberFaces > 0.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135number
imageExactBoostA set of query fingerprints and confidence scores. There queries are supposed to be relevant to the image with high confidence.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageExactBoost
brainPornScoresVersionA string that indicates the version of SafeSearch classifier used to compute brain_porn_scores.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
multibangKgEntitiesImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageDataMultibangEntities
adaboostImageFeaturePornMinorVersionImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
largestFaceFractionFraction of image covered by the largest face, scaled by 1000. Warning: Is DEPRECATED in favor of largest_face_frac. Do not use.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
finalPornScoreVersionA string that indicates the version of SafeSearch classifier used to compute final_porn_score.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
superlabelsV2ClusterIdSuperlabels V2 generated cluster id.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
isIipInScopeIIP in scope signal (go/iip). Set to true if the image is annotated with any iip_in_scope entities (go/iukp-trust-v2).ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135boolean
firstTimeSeenOnDocSecThe first time this image URL was seen on the containing web page. Only set during web indexing.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135integer
nimaAvaProductionized Nima AVA score. Both this field and nima_vq were added on the top of nima_ava_score and nima_vq_score because the signals are already integrated with Batch Amarna in image/repository/schema/global_output_tags.h using NimaOutput.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135ImageRepositoryNimaOutput
precomputedRestrictsRestricts computed before building a Mustang index.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135PrecomputedRestricts
linkinfoTypeBitmask of LinkInfo enum in google3/indexing/converter/outlinks/linkinfo.h.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135String
indexedVerticalsVertical indexing information for the document and associated image outlinks.ImageDataThis defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135list(ImageDataVerticalIndexingInfoImage)
entityImageDataMultibangEntitiesMultibang kg entities.list(ImageDataMultibangEntitiesMultibangEntity)
entityIdEntity ID.ImageDataMultibangEntitiesMultibangEntityString
scoreMultibang score.ImageDataMultibangEntitiesMultibangEntitynumber
expirationTimestampMicrosThe thumbnail is guaranteed to be kept in the serving system until the expiration timestamp has passed, in microseconds.ImageDataThumbnailString
heightImageDataThumbnailinteger
mimeTypeImageDataThumbnailString
sizeImageDataThumbnailinteger
typeImageDataThumbnailString
widthImageDataThumbnailinteger
nameList the string representation of the vertical that this image is indexed into.ImageDataVerticalIndexingInfoImageProto to store vertical indexing information for the document and associated image outlinks. The image content can be indexed to multiple verticals, including imagesearch. It can also be indexed only in verticals, not in imagesearch.String
navqueryImageExactBoostlist(ImageExactBoostNavQuery)
confidenceAssociated confidence scores for the image for the query.ImageExactBoostNavQueryNavboost query data.integer
imageClickRankClick-based rank of the image for this query.ImageExactBoostNavQueryNavboost query data.integer
navFpQuery fingerprint.ImageExactBoostNavQueryNavboost query data.String
navQueryThe normalized raw query text.ImageExactBoostNavQueryNavboost query data.String
referrerDocidList of all referrers, sorted by their rank (stored in Moosedog).ImageExactBoostNavQueryNavboost query data.list(String)
referrerRankRank of the current web doc referrer (stored in docjoins).ImageExactBoostNavQueryNavboost query data.integer
isoImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
modificationTimein time_tImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
subjectLocationYImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
meteringMode1-6, see EXIF definitionImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
subjectDistanceImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
flashUsedImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104boolean
focalLength35mmconvert to match 35mm film cameraImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
lensMakerImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
lightSourceImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
subjectLocationXImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
deprecatedStateImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
copyrightEXIF_TAG_COPYRIGHTImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
orientationImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
descriptionEXIF_TAG_IMAGE_DESCRIPTIONImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
xResolutionpixels per inchImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
cameraMakerDevice – Camera raw text without normalizationImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
lensIdDevice – Lens We use this extended id to identify a lens uniquely. Canon: “%d %d %d”=.. Nikon: “%.2X %.2X %.2X %.2X %.2X %.2X %.2X %.2X” Don’t change the format of the internal lens id because we use them to look up the lens names.ImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
keywordsEXIF_TAG_XP_KEYWORDSImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
cameraModelraw text without normalizationImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
destDistanceImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
destBearingImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
longitude+/- 180 inclusiveImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
gpsStatusImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
focalPlaneXresImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
comments2EXIF_TAG_XP_COMMENTImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
altitudeImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
hPositioningErrorin metersImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
maxApertureAtShortFocalImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
imageHeightImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
brightnessImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
focusModeImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
imgDirectionGPS Heading 0.00 to 359.99 degreesImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
destLongitudeImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
exposureBiasImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
gpsMeasureModeImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
shortFocalImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
exposureProgram1-8, see EXIF definitionImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
maxApertureAtLongFocalImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
subjectEXIF_TAG_XP_SUBJECTImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
author2EXIF_TAG_XP_AUTHORImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
imgDirectionRefImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
apertureImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
destLatitudeGPS location of destination point.ImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
iptcImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104ImageExifIPTCMetadata
authorText fields EXIF_TAG_ARTISTImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
latitudeGPS location +/- 90 inclusiveImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
longFocalImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
digitalZoomRatioImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
gpsDopDilution of precision. HDOP/PDOP depends on measure mode. Find out more at http://en.wikipedia.org/wiki/Dilution_of_precision_(GPS)ImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
imageWidthImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
softwareEXIF_TAG_SOFTWAREImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
deprecatedCityLocation from IPTC @deprecated: Use iptc.location instead.ImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
focalLengthImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
focalPlaneResUnitImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
cameraSerialNumberThis is the extracted serial number from EXIF (the source depends on camera, most of the cameras store it in makers note tag).ImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
destBearingRefBearing and distance to destination point.ImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104float
yResolutionpixels per inchImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
colorSpaceImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104integer
captureTimeCapturing settings in time_tImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
deprecatedCountryImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
commentsEXIF_TAG_USER_COMMENTImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
exposureTimeImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104number
titleEXIF_TAG_XP_TITLEImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104String
continousDriveModeImageExifImageEmbeddedMetadataThis class holds the EXIf/IPTC meta data Next Id: 104boolean
acquireLicensePagePage URL about how to acquire this licensable image.ImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
artworkImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64list(ImageExifIPTCMetadataArtwork)
contactinfoImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64ImageExifIPTCMetadataContactInfo
copyrightNoticeImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
creatorIPTC authorship & copyright related fields.ImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64list(String)
creditLineImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
dateCreatedTime (in seconds)ImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
dateExpiredImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
dateReleasedImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
descriptionImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
digitalSourceTypeSee go/gi-annotations-indexing for more information.ImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
eventImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
headlineImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
imageSupplierPLUS field, not used.ImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
instructionsImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
keywordsImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64list(String)
licenseUrlLicense URL about how to distribute the image.ImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
locationImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64ImageExifIPTCMetadataLocation
locationCreatedLocation of the cameraImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64ImageExifIPTCMetadataLocationInfo
locationShownLocation shown on the imageImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64list(ImageExifIPTCMetadataLocationInfo)
modelReleaseStatusImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
propertyReleaseStatusImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
rightsUsageTermsImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
sourceImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
supplementalCategoriesImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64list(String)
titleIPTC description related fields.ImageExifIPTCMetadataThis proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64String
titleOther fields omitted.ImageExifIPTCMetadataArtworkArtwork or Object in the Image DetailsString
addressImageExifIPTCMetadataContactInfoString
cityImageExifIPTCMetadataContactInfoString
countryImageExifIPTCMetadataContactInfoString
emailImageExifIPTCMetadataContactInfoString
phoneImageExifIPTCMetadataContactInfoString
postalCodeImageExifIPTCMetadataContactInfoString
stateImageExifIPTCMetadataContactInfoString
webUrlImageExifIPTCMetadataContactInfoString
cityImageExifIPTCMetadataLocationLocation of the camera @deprecated: Use location_created instead.String
countryImageExifIPTCMetadataLocationLocation of the camera @deprecated: Use location_created instead.String
countryCodeImageExifIPTCMetadataLocationLocation of the camera @deprecated: Use location_created instead.String
stateImageExifIPTCMetadataLocationLocation of the camera @deprecated: Use location_created instead.String
subLocationImageExifIPTCMetadataLocationLocation of the camera @deprecated: Use location_created instead.String
worldRegionImageExifIPTCMetadataLocationLocation of the camera @deprecated: Use location_created instead.String
cityImageExifIPTCMetadataLocationInfoString
countryImageExifIPTCMetadataLocationInfoString
countryCodeImageExifIPTCMetadataLocationInfoString
stateImageExifIPTCMetadataLocationInfoString
subLocationImageExifIPTCMetadataLocationInfoString
worldRegionImageExifIPTCMetadataLocationInfoString
inspirationScoreHow an image is inspirational, [0, 1].ImageMonetizationFeaturedImagePropertiesnumber
codeImageMoosedogCrawlStateString
detailedReasonEach of the above not_crawled_reason will have a set of detailed reason defined in crawler/trawler/trawler_enums.proto.ImageMoosedogCrawlStateinteger
internalStatusThe status returned when RPCs are used to internally fetch the image (eg. from FIFE).ImageMoosedogCrawlStateUtilStatusProto
isTerminalSpecifies if the current crawl state is terminal.ImageMoosedogCrawlStateboolean
noIndexAfterTimestampTime in seconds since epoch after which this image should be considered unavailable.ImageMoosedogCrawlStateString
notCrawledReasonImageMoosedogCrawlStateString
overrodeTerminalStateWhen true, it means that a non-terminal state has overwrote a terminal one.ImageMoosedogCrawlStateboolean
repidThe repid for the urls. This repid is the id given to the dupe cluster this url belongs to.ImageMoosedogCrawlStateString
robotedAgentsA comma separated list of user agents for which this image should be considered roboted. All images are crawled using googlebot-images and this exists here purely for informative reasons.ImageMoosedogCrawlStateString
urlThe url at which we crawled this content. With us starting to use repids the crawl table key no longer is suggestive of the url. In addition this is used in Amarna to detect race conditions between a reference changing its crawl directive and the original crawl job finishing.ImageMoosedogCrawlStateString
urlDeletedSet to true if the url is taken down by clients. This indicates that this crawl state is used to fast remove the crawl result of the url instead of waiting for Multiverse crawl results. For more information, please refer to go/amarna-url-deletion.ImageMoosedogCrawlStateboolean
webRelevanceScorescore calculated in image selection phase, higher imagelink_selection_score more relevant the link is related to the web pageImageMustangImageLinkSelectionInfoFor detailed info, please see go/naive-image-selectionfloat
inferredImageTypesImageMustangShoppingOfferA proto buffer to organize shopping offer info from Inventory & Policy Service.list(String)
ipsOfferIdImageMustangShoppingOfferA proto buffer to organize shopping offer info from Inventory & Policy Service.String
DEPRECATEDEntropyColorentropy and color values for thumbnail (4 bytes consisting of R, G, B and entropy values)ImagePerDocDatainteger
filenameabout 10 bytesImagePerDocDataString
flagsimage_perdoc.hImagePerDocDatainteger
heightImagePerDocDatainteger
widthImagePerDocDatainteger
infoImagePornDebugInfoUsed to store debug information of the overall classifier.String
clicksImageQualityNavboostImageQualityClickSignalsNext ID: 3number
gveClicksGood clicks that are defined using GVE (go/gve-history).ImageQualityNavboostImageQualityClickSignalsNext ID: 3number
mediaEntitiesIdSimilar to above, but for media entities (movie name, fictional character, musical band)ImageQualitySensitiveMediaOrPeopleEntitiesGoldmine annotation in the CDoc to store the hrid of the 5 entities with higher topicality in the document. Used by the Skin Tone Twiddler to determine if the result set shows mostly one specific KG entity. go/result-set-signallist(String)
peopleEntitiesIdhrid of the 5 people entities with higher topicality in the documentImageQualitySensitiveMediaOrPeopleEntitiesGoldmine annotation in the CDoc to store the hrid of the 5 entities with higher topicality in the document. Used by the Skin Tone Twiddler to determine if the result set shows mostly one specific KG entity. go/result-set-signallist(String)
boundingBoxThe bounding box of the region.ImageRegionsImageRegionA single region within an image. NEXT_ID: 11PhotosVisionGroundtruthdbNormalizedBoundingBox
boundingBoxScoreThe confidence score associated with the bounding box.ImageRegionsImageRegionA single region within an image. NEXT_ID: 11number
idA unique identifier for the region within the image. The id is unique only among other regions in the image.ImageRegionsImageRegionA single region within an image. NEXT_ID: 11String
isProductSet true if the region represents a product, i.e., if any of its labels are on a product labels whitelist. See ImageRegionsConfig for details on the product whitelist.ImageRegionsImageRegionA single region within an image. NEXT_ID: 11boolean
knnScoreThe score for this region based on how visually similar its neighbors are.ImageRegionsImageRegionA single region within an image. NEXT_ID: 11float
labelGroupThe label group corresponding to the first LabelParams listed in ImageRegionsConfig.ImageRegionsImageRegionA single region within an image. NEXT_ID: 11ImageUnderstandingIndexingLabelGroup
labelVersionThe version string of the labels with which the region was processed.ImageRegionsImageRegionA single region within an image. NEXT_ID: 11String
primaryLabelThe primary label associated with the region. Specifically, the highest-scored whitelisted label associated with the region. See ImageRegionsConfig for details on the whitelist.ImageRegionsImageRegionA single region within an image. NEXT_ID: 11ImageUnderstandingIndexingLabel
renderTypeImageRegionsImageRegionA single region within an image. NEXT_ID: 11String
starburstV4The starburst v4 features and tokens for the region.ImageRegionsImageRegionA single region within an image. NEXT_ID: 11ImageUnderstandingIndexingFeature
finalPornScoreThe final_porn_score for the image.ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11number
finalViolenceScoreThe final_violence_score for the image.ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11number
flowOutputThe output of various features generated by the Flow framework, most importantly data from Starburst (go/starburst).ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11ImageContentFlowProtoProd
has300kThumbTrue if the image has a 300k thumb.ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11boolean
hasNavboostTrue if the image has navboost.ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11boolean
isIuInappropriateTrue if the image is iu-inappropriate.ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11boolean
pedoScoreThe pedo_score of the image.ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11number
precomputedRestrictsThe precomputed restricts for the image.ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11PrecomputedRestricts
racyScoreThe racy_score of the image.ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11number
regionThe list of regions.ImageRegionsImageRegionsAn image with regions within it. NEXT_ID: 11list(ImageRegionsImageRegion)
duplicateOfYtS3AsrIf this field is set to true, it means that Youtube already processed the ASR from S3 for the langID. Please find the ASR result from transcript_asr in google3/image/repository/proto/video_search.proto instead.ImageRepositoryAmarnaCloudSpeechSignalsNext Tag: 10boolean
langWithoutLocaleDEPRECATED: Please switch to `langid_input`. The language id input for creating this ASR without regional info. Same format as in go/ytlangid. This field is populated in Kronos Amarna Cloud Speech operator and passed to Amarna, but it is cleared before stored in Amarna’s metadata table.ImageRepositoryAmarnaCloudSpeechSignalsNext Tag: 10String
langidInputThe language identification input used to generate this ASR. This field is populated in Kronos Amarna Cloud Speech operator and passed to Amarna, but cleared before stored in Amarna’s metadata table.ImageRepositoryAmarnaCloudSpeechSignalsNext Tag: 10ImageRepositoryLanguageIdentificationResult
modelIdentifierImageRepositoryAmarnaCloudSpeechSignalsNext Tag: 10String
resultsRaw results from Cloud Speech APIImageRepositoryAmarnaCloudSpeechSignalsNext Tag: 10list(ImageRepositorySpeechRecognitionResult)
s3RecognizerMetadataResponseThe metadata about the S3 recognizer used.ImageRepositoryAmarnaCloudSpeechSignalsNext Tag: 10ImageRepositoryS3RecognizerMetadataResponse
transcriptAsrThis field contains full (stitched) transcription, word-level time offset , and word-level byte offset. The value of this field is derived from the SpeechRecognitionResult field above.ImageRepositoryAmarnaCloudSpeechSignalsNext Tag: 10PseudoVideoData
frameFeaturesImageRepositoryAmarnaSignalsBlobDrishtiFeatureSetDataSequence
signalsBlobIdBlob id for AmarnaSignalsBlob (see `Blob proto` section of go/revisit-frame-level-signals-amarna).ImageRepositoryAmarnaSignalsBlobInfoString
signalsBlobUpdateTimestampAdditional timestamp field for when the blob is written/updated, serving as the dirty field to help checksum-based update push (see `Dirty field` section in go/revisit-frame-level-signals-amarna).ImageRepositoryAmarnaSignalsBlobInfoDateTime
reasonImageRepositoryAmarnaStatusThis message stores the status and reason why Amarna was unable to provide perdoc information for an image.String
statusImageRepositoryAmarnaStatusThis message stores the status and reason why Amarna was unable to provide perdoc information for an image.String
aggregatedPornScoresAggregated porn scores for animated images. Aggregated using max sampling rate / max duration. Note the plan is to fold these scores into existing summarized scores, for cases where these scores are available. See tracking bug b/63580795.ImageRepositoryAnimatedImagePerdocDataAdditional animated image data stored in perdoc (ImageData); will only be stored for animated images.ImageSafesearchContentBrainPornAnnotation
durationMsTotal duration of animation, in ms.ImageRepositoryAnimatedImagePerdocDataAdditional animated image data stored in perdoc (ImageData); will only be stored for animated images.integer
expirationTimestampSecTimestamp (measured in seconds since epoch) after which Amarna will delete the serving transcode.ImageRepositoryApiItagSpecificMetadataThe metadata returned with each transcode. Next available field: 9String
genusThe Venom Genus that this transcode was produced for.ImageRepositoryApiItagSpecificMetadataThe metadata returned with each transcode. Next available field: 9String
stateIndicates the state in Venom for this transcode type.ImageRepositoryApiItagSpecificMetadataThe metadata returned with each transcode. Next available field: 9String
transcodeItagtranscode type which are available for the video.ImageRepositoryApiItagSpecificMetadataThe metadata returned with each transcode. Next available field: 9integer
videoIdThe Venom ID that this transcode was produced for.ImageRepositoryApiItagSpecificMetadataThe metadata returned with each transcode. Next available field: 9VideoAssetsVenomVideoId
xtagsListIndicates xtags if present. Xtag makes the different transcode. For transcode “MP4_AVCBASE640_AAC/af=sq” (itag 18 with xtag), “af=sq” is the xtag part. This is a different transcode than “MP4_AVCBASE640_AAC” (itag 18).ImageRepositoryApiItagSpecificMetadataThe metadata returned with each transcode. Next available field: 9ImageRepositoryApiXtagList
nameNames are all stored case-sensitive, and no case-folding is done for comparisons.ImageRepositoryApiXtagString
valueThe value associated with this Xtag. Values are all stored case-sensitive, and no case-folding is done for comparisons.ImageRepositoryApiXtagString
xtagsImageRepositoryApiXtagListXtagList — a collection of Xtag instances with unique names. This would be associated with one specific piece of content.list(ImageRepositoryApiXtag)
aresClassificationRequestTimestampTimestamp of the last successful Ares classification request.ImageRepositoryContentBasedVideoMetadataNext Tag: 52DateTime
videoPreviewBytesvideo_preview_bytes is only exported as virtual dataset by IE VideoUnderstanding and should not be persisted. It will be used by downstream IE functions to push for serving.ImageRepositoryContentBasedVideoMetadataNext Tag: 52list(ImageRepositoryVideoPreviewsVideoPreview)
loudnessDataWhen Transcode itag 140 is requested, MediaAnalyzer (as the part of Viper graph) generates audio info including loudness_data, which is then published to Streamer. For Audio news client, we extract this loudness data from Streamer to this field.ImageRepositoryContentBasedVideoMetadataNext Tag: 52VideoStorageLoudnessData
cloudSpeechSignalsTranscript generated from Cloud Speech APIImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryAmarnaCloudSpeechSignals
featureSetDataVideo Understanding Golden features. (go/amarna-video-signals#golden-signals) Note: Golden6 features (names matching “video_*”) are DEPRECATED. Please migrate to Golden7 (“VideoFeatures.*”). For more context, see go/golden7/migrating-from-golden6 and go/amarna-golden-feature-tracker. Signals popluated in Raffia cdoc.doc_videos are configured in cs/symbol:AMARNA_EXPORTED_GOLDEN7_FEATURES.ImageRepositoryContentBasedVideoMetadataNext Tag: 52DrishtiFeatureSetData
videoPornScoreV4The video porn confidence score extracted from WhisperV4 featureSet: “VideoFeatures.whisper_v4_labels”, with CR2 label: “/tns/porn”.ImageRepositoryContentBasedVideoMetadataNext Tag: 52number
transcriptAsrSpeech related metadata The transcript_asr field is generated from the YT caption’s SPEECH_RECOGNIZER asset.ImageRepositoryContentBasedVideoMetadataNext Tag: 52PseudoVideoData
lmsPreviewFramePerdocsLMS preview frame perdocs. Timestamps of the frame perdocs are from the original video, not from the preview.ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryFramePerdocs
signalsBlobAmarna signals blob that contains large-size signals like VCA frame-level signals.ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryAmarnaSignalsBlob
s3LanguageIdentificationImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryS3LangIdSignals
frameLevelStarburstEmbeddingsFrame-level Starburst embeddings. They are IE only signals for short videos initially and will be supported for all videos later. (go/frame-level-sbv5-on-ie)ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryFrameLevelStarburstEmbeddings
golden7SoapboxTracksBlobInfoInformation on frame-level people feature blob. (go/vpf-frame-features)ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryAmarnaSignalsBlobInfo
videoStreamInfoDeprecated, please use media_info.ImageRepositoryContentBasedVideoMetadataNext Tag: 52VideoPipelineViperVSIColumnData
thumbnailerDataImageRepositoryContentBasedVideoMetadataNext Tag: 52VideoPipelineViperThumbnailerColumnData
transcodeMetadataMetadata about each transcode requested.ImageRepositoryContentBasedVideoMetadataNext Tag: 52list(ImageRepositoryApiItagSpecificMetadata)
truncationInfoData about whether or not the video was truncated.ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryFileTruncationInfo
speechPropertiesImageRepositoryContentBasedVideoMetadataNext Tag: 52IndexingSpeechSpeechPropertiesProto
mediaInfoInformation about the media file, such as duration, resolution, and detail about each audio/video stream. Note that it contains no PII.ImageRepositoryContentBasedVideoMetadataNext Tag: 52VideoMediaInfo
venomIdThe video id in the venom pipeline for STAMP purposes. DEPRECATED: Use transcode_metadata or venom_processing_info instead, which includes the ID and contains information for all clients.ImageRepositoryContentBasedVideoMetadataNext Tag: 52String
s3AsrTrnascript generated through AMARNA_CLOUD_SPEECH asset in Venom. Note that AMARNA_CLOUD_SPEECH uses S3 as the speech engine backend, similar to YT caption’s SPEECH_RECOGNIZER asset. However, they may use different S3 models.ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryAmarnaCloudSpeechSignals
venomProcessingInfoInformation about the video’s status in Venom, including IDs and processing times.ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryVenomProcessingInfo
safesearchVideoContentSignalsContains SafeSearch video classification outputs which are vertical_name/float pairs.ImageRepositoryContentBasedVideoMetadataNext Tag: 52SafesearchVideoContentSignals
videoPornScoreThe video porn confidence score extracted from Whisper featureSet: “video_labels:whisper_v3”, with CR2 label: “/cr2/1”.ImageRepositoryContentBasedVideoMetadataNext Tag: 52number
thumbnailQualityScoreThumbnail quality score predict how visual pleasing a thumbnail is, based on the model trained with deep neural networks.(go/thumb_features_dd) Note the signal currently only available for Youtube videos.ImageRepositoryContentBasedVideoMetadataNext Tag: 52VideoThumbnailsThumbnailScore
languageIdentificationImageRepositoryContentBasedVideoMetadataNext Tag: 52VideoTimedtextS4ALIResults
representativeFrameDataImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageData
videoDurationSecSet from the video header if truncated, or is the verified length if completely crawled.ImageRepositoryContentBasedVideoMetadataNext Tag: 52float
inlinePlaybackMetadata related to Inline playback on the Interest Feed. This field is filled by Hamilton.ImageRepositoryContentBasedVideoMetadataNext Tag: 52VideoCrawlVideoInlinePlaybackMetadata
signalsBlobInfoInformation for the amarna signals blob.ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryAmarnaSignalsBlobInfo
audioOnlyBoth audio- and audio-video-files are treated as videos during indexing (whether they share a container format, like .mp4, or not, like .mp3). This bool indicates that there’s no video track, just an audio track.ImageRepositoryContentBasedVideoMetadataNext Tag: 52boolean
golden7SoapboxSummaryGolden7 video-level people features. (go/ypf-video-features)ImageRepositoryContentBasedVideoMetadataNext Tag: 52DrishtiFeatureSetData
videoAnchorSetVideo anchor sets hold set of anchors with multiple anchor types and sequence of VideoAnchor which contains metadata about the anchor, such as thumbnail, perdoc data.ImageRepositoryContentBasedVideoMetadataNext Tag: 52VideoContentSearchVideoAnchorSets
amarnaDocidA hash of the video bytes used as a key to Amarna’s video_metadata table.ImageRepositoryContentBasedVideoMetadataNext Tag: 52String
multiThumbnailsFramePerdocsmulti_thumbnails_frame_perdocs contains perdocs(go/vss-signals#perdoc) for all frame thumbnails generated by multiple frames per minutes. See more details in go/multiple-thumbnails-per-minutes.ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryFramePerdocs
videoPreviewsvideo_previews contain the preview metadata but no bytes. It exits for IE and non-IE cases.ImageRepositoryContentBasedVideoMetadataNext Tag: 52list(ImageBaseVideoPreviewMetadata)
legosAnnotationDataLegos resultsImageRepositoryContentBasedVideoMetadataNext Tag: 52VideoLegosLegosAnnotationsSets
youtubeProcessingFilterContains lists of reasons why YT videos were filtered from specific processing.ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryYoutubeProcessingFilter
unwantedContentIf set, video has been deleted using the deletion service (MediaDeletionService).ImageRepositoryContentBasedVideoMetadataNext Tag: 52ImageRepositoryUnwantedContent
searchDocid64 bit docid used for retrieving video previews.ImageRepositoryContentBasedVideoMetadataNext Tag: 52String
videoTranscriptAnnotationsVideoTranscriptAnnotations holds sentence segmented text and timing information to be used for VideoAnswers (go/video-answers). Note that only punctuated_transcript, timing_info, and lang field are filled, and other fields will be filled in the later stage.ImageRepositoryContentBasedVideoMetadataNext Tag: 52QualityWebanswersVideoTranscriptAnnotations
codeImageRepositoryCrawlStatusInfoFields for crawl-status-related debugging information.String
notCrawledReasonImageRepositoryCrawlStatusInfoFields for crawl-status-related debugging information.String
scoreDeepImageEngagingness score.ImageRepositoryDeepImageEngagingnessOutputnumber
originalFileSizeLowerBoundBytesA lower bound on the original file’s size.ImageRepositoryFileTruncationInfoDescribes our knowledge about whether a stored file is truncated with respect to its original file online.String
truncationStateIndicates whether the stored file is equal to the original file (COMPLETE), is only a prefix (TRUNCATED), or that we don’t know (UNKNOWN, the default).ImageRepositoryFileTruncationInfoDescribes our knowledge about whether a stored file is truncated with respect to its original file online.String
multiThumbnailVariantImageRepositoryFrameIdentifierIdentifier for frames associated with a video.ImageRepositoryFrameIdentifierMultiThumbnailVariant
previewFrameZeroVariantImageRepositoryFrameIdentifierIdentifier for frames associated with a video.ImageRepositoryFrameIdentifierPreviewFrameZeroVariant
thumbnailVariantImageRepositoryFrameIdentifierIdentifier for frames associated with a video.ImageRepositoryFrameIdentifierThumbnailVariant
timestampMsOffset of the frame from the beginning of the video (in milliseconds).ImageRepositoryFrameIdentifierIdentifier for frames associated with a video.integer
previewLengthImageRepositoryFrameIdentifierPreviewFrameZeroVariantThis variant defines the frame to be the first frame of the video’s generated preview.String
xtagListAll xtags used in the generation of the preview. The same frame generated from the same preview with different xtags will likely have different bytes (such as, for example, resulting from a different aspect ratio).ImageRepositoryFrameIdentifierPreviewFrameZeroVariantThis variant defines the frame to be the first frame of the video’s generated preview.ImageRepositoryApiXtagList
starburstV5EmbeddingsFrame-level Starburst V5 embeddings computed by SUP. See https://data.corp.google.com/su_catalog/signal/starburst:v5.ImageRepositoryFrameLevelStarburstEmbeddingsEach supported Starburst embedding version will have a pair of AmarnaSignalsBlobInfo and SUPFrameLevelEmbeddings. Blob info has the blob id of the corresponding embeddings and a blob write timestamp. SUPFrameLevelEmbeddings are the actual frame-level embeddings at 1 FPS. MMS callers have 3 options to fetch frame-level Starburst embeddings: 1. OPTION_NONE (default): Don’t fetch frame-level Starburst embeddings. 2. OPTION_BLOB_DATA: Fetch the actual Starburst embeddings in SUPFrameLevelEmbeddings. 3. OPTION_CLONED_BLOB_ID: Clone the starburst embeddings into the target Blobstore directory. Then, fetch the cloned blob id of Starburst embeddings in AmarnaSignalsBlobInfo.ImageRepositorySUPFrameLevelEmbeddings
starburstV5EmbeddingsBlobInfoFrame-level Starburst V5 embeddings blob id.ImageRepositoryFrameLevelStarburstEmbeddingsEach supported Starburst embedding version will have a pair of AmarnaSignalsBlobInfo and SUPFrameLevelEmbeddings. Blob info has the blob id of the corresponding embeddings and a blob write timestamp. SUPFrameLevelEmbeddings are the actual frame-level embeddings at 1 FPS. MMS callers have 3 options to fetch frame-level Starburst embeddings: 1. OPTION_NONE (default): Don’t fetch frame-level Starburst embeddings. 2. OPTION_BLOB_DATA: Fetch the actual Starburst embeddings in SUPFrameLevelEmbeddings. 3. OPTION_CLONED_BLOB_ID: Clone the starburst embeddings into the target Blobstore directory. Then, fetch the cloned blob id of Starburst embeddings in AmarnaSignalsBlobInfo.ImageRepositoryAmarnaSignalsBlobInfo
errorStatusError, if any, while generating the frame perdoc. It is mutually exclusive to the perdoc, only set when perdoc is missing.ImageRepositoryFramePerdocOnly one of timestamp_msec or frame_identifier should be set. timestamp_msec is the old identifier for frames, and is still used on thumbnail frames. frame_identifier should be used on other kinds of frames (e.g. preview frame zero).UtilStatusProto
frameIdentifierImageRepositoryFramePerdocOnly one of timestamp_msec or frame_identifier should be set. timestamp_msec is the old identifier for frames, and is still used on thumbnail frames. frame_identifier should be used on other kinds of frames (e.g. preview frame zero).ImageRepositoryFrameIdentifier
perdocImageRepositoryFramePerdocOnly one of timestamp_msec or frame_identifier should be set. timestamp_msec is the old identifier for frames, and is still used on thumbnail frames. frame_identifier should be used on other kinds of frames (e.g. preview frame zero).ImageData
timestampMsecTimestamp (in msec) of the frame from the original video DEPRECATED: Use the timestamp_ms field in frame_identifier instead.ImageRepositoryFramePerdocOnly one of timestamp_msec or frame_identifier should be set. timestamp_msec is the old identifier for frames, and is still used on thumbnail frames. frame_identifier should be used on other kinds of frames (e.g. preview frame zero).integer
framePerdocImageRepositoryFramePerdocsThis proto stores perdocs extracted from video frames.list(ImageRepositoryFramePerdoc)
fingerprintNearestNeighborDecisionDecision according to the given fingerprint nearest neighbor score.ImageRepositoryGeneratedImageLikelihoodSignalString
provenanceClassifierDecisionOVERALL DECISION Decision according to the given watermark logits and fingerprint nearest neighbor score.ImageRepositoryGeneratedImageLikelihoodSignalString
watermarkDecisionINDIVIDUAL DECISION Decision according to the given watermark logits.ImageRepositoryGeneratedImageLikelihoodSignalString
localeStrippedWhether the locale got stripped from the original result before further processing.ImageRepositoryLanguageIdentificationResultboolean
s3TopLocaleFrom cs/symbol:speech.s3.LanguageIdentificationResult owned by go/s3.ImageRepositoryLanguageIdentificationResultString
ytCapsAudioLanguageFrom cs/symbol:video_platform.operation.AudioLanguage owned gy go/ytcaps.ImageRepositoryLanguageIdentificationResultString
scoreNIMA score.ImageRepositoryNimaOutputnumber
audioInputCapAudio input processing cap.ImageRepositoryS3LangIdDebuggingInfoFor debugging only.String
failedSegmentsNumber of failed segments. Successful segments are stored in `langid_signals_for_segment`.ImageRepositoryS3LangIdDebuggingInfoFor debugging only.integer
processedSegmentsNumber of processed segments.ImageRepositoryS3LangIdDebuggingInfoFor debugging only.integer
segmentDurationDuration of each segment (except for the last one if capped).ImageRepositoryS3LangIdDebuggingInfoFor debugging only.String
segmentStrideIf >1, every N segment is processed.ImageRepositoryS3LangIdDebuggingInfoFor debugging only.integer
waveHeaderWave header of the audio input.ImageRepositoryS3LangIdDebuggingInfoFor debugging only.SpeechWaveHeader
containsSpeechWhether this audio chunk has speech or not.ImageRepositoryS3LangIdSignalsNext Tag: 10boolean
debuggingInfoImageRepositoryS3LangIdSignalsNext Tag: 10ImageRepositoryS3LangIdDebuggingInfo
endSecImageRepositoryS3LangIdSignalsNext Tag: 10String
langidResultS3 langID result. We keep langid_result even if contains_speech = false.ImageRepositoryS3LangIdSignalsNext Tag: 10SpeechS3LanguageIdentificationResult
languageIdentificationConverted version of the langid_result field, so that we have the YT compatible version of the langID result.ImageRepositoryS3LangIdSignalsNext Tag: 10VideoTimedtextS4ALIResults
modelVersionThe version of the model used for S3 LangID service.ImageRepositoryS3LangIdSignalsNext Tag: 10String
speechFrameCountImageRepositoryS3LangIdSignalsNext Tag: 10integer
startSecThe audio chunk which corresponds to this langID result expressed as a start_sec and end_sec.ImageRepositoryS3LangIdSignalsNext Tag: 10String
totalFrameCountCount the number of total frames in the audio chunk as well as the number of speech frames.ImageRepositoryS3LangIdSignalsNext Tag: 10integer
modeImageRepositoryS3RecognizerMetadataResponseThis proto is trimmed down from RecognizerMetadataResponse in google3/speech/service/s3/services/recognizer/recognizer.protoString
modelInfoLabelImageRepositoryS3RecognizerMetadataResponseThis proto is trimmed down from RecognizerMetadataResponse in google3/speech/service/s3/services/recognizer/recognizer.protoString
serviceNameImageRepositoryS3RecognizerMetadataResponseThis proto is trimmed down from RecognizerMetadataResponse in google3/speech/service/s3/services/recognizer/recognizer.protoString
productSetsInformation about versioned product sets found. There will be at most two versions present. The results from the current version of the models used in VSS and the results from the previous version of the models used. Note that not all products may have two version since the model might detect the product in one version and not the other.ImageRepositoryShoppingProductInformationA message containing embedding information and localization scores using the VSS product recognition module.list(ImageRepositoryShoppingProductInformationVersionedProductInformationSet)
hThe vertical height of the bounding box (ymax – ymin + 1), normalized by image height with range [0,1].ImageRepositoryShoppingProductInformationBoundingBoxContains the coordinates of the normalized bounding box.number
wThe horizontal width of the bound box (xmax – xmin + 1), normalized by image width with range [0,1].ImageRepositoryShoppingProductInformationBoundingBoxContains the coordinates of the normalized bounding box.number
xThe x coordinate (xmin), normalized by image width with range [0,1).ImageRepositoryShoppingProductInformationBoundingBoxContains the coordinates of the normalized bounding box.number
yThe y coordinate (ymin), normalized by image height with range [0,1).ImageRepositoryShoppingProductInformationBoundingBoxContains the coordinates of the normalized bounding box.number
idImageRepositoryShoppingProductInformationEntityThe recognized entity.String
scoreThe normalized recognition score between 0 and 1.ImageRepositoryShoppingProductInformationEntityThe recognized entity.number
categoryIdThe possible Merlot ids for the item. There may be more than one if the product detector result corresponds to a collection of merlot ids, which can’t be easily grouped up to a common ancestor, for which the detector would still make sense for all the children. E.g. a detected “chair” can be either an indoor chair or an outdoor one, however in Merlot the common ancestor of the two is furniture.ImageRepositoryShoppingProductInformationProductInformationInformation about a single product. For ProductNet models, each product has one label with a detection score. The label is mapped to one or multiple category ids. For PRIMI generic feature models, each product can have multiple entities, and each entity has a score. The category_id and detection_score fields are not populated for PRIMI generic feature models.list(integer)
clusterIdsThe k-d tree clusters for retrieval. Will be deprecated, use the token_groups instead. To add tokens/cluster_ids from new tokenization model in the future, add it to the token_groups.ImageRepositoryShoppingProductInformationProductInformationInformation about a single product. For ProductNet models, each product has one label with a detection score. The label is mapped to one or multiple category ids. For PRIMI generic feature models, each product can have multiple entities, and each entity has a score. The category_id and detection_score fields are not populated for PRIMI generic feature models.list(integer)
detectionScoreThe localization detection score.ImageRepositoryShoppingProductInformationProductInformationInformation about a single product. For ProductNet models, each product has one label with a detection score. The label is mapped to one or multiple category ids. For PRIMI generic feature models, each product can have multiple entities, and each entity has a score. The category_id and detection_score fields are not populated for PRIMI generic feature models.number
embeddingThe serialized embedding values.ImageRepositoryShoppingProductInformationProductInformationInformation about a single product. For ProductNet models, each product has one label with a detection score. The label is mapped to one or multiple category ids. For PRIMI generic feature models, each product can have multiple entities, and each entity has a score. The category_id and detection_score fields are not populated for PRIMI generic feature models.String
entitiesThe recognized entities and scores.ImageRepositoryShoppingProductInformationProductInformationInformation about a single product. For ProductNet models, each product has one label with a detection score. The label is mapped to one or multiple category ids. For PRIMI generic feature models, each product can have multiple entities, and each entity has a score. The category_id and detection_score fields are not populated for PRIMI generic feature models.list(ImageRepositoryShoppingProductInformationEntity)
featureTypeFeature type (different detectors and embedders) requested.ImageRepositoryShoppingProductInformationProductInformationInformation about a single product. For ProductNet models, each product has one label with a detection score. The label is mapped to one or multiple category ids. For PRIMI generic feature models, each product can have multiple entities, and each entity has a score. The category_id and detection_score fields are not populated for PRIMI generic feature models.String
productLocationThe bounding box.ImageRepositoryShoppingProductInformationProductInformationInformation about a single product. For ProductNet models, each product has one label with a detection score. The label is mapped to one or multiple category ids. For PRIMI generic feature models, each product can have multiple entities, and each entity has a score. The category_id and detection_score fields are not populated for PRIMI generic feature models.ImageRepositoryShoppingProductInformationBoundingBox
tokenGroupsImageRepositoryShoppingProductInformationProductInformationInformation about a single product. For ProductNet models, each product has one label with a detection score. The label is mapped to one or multiple category ids. For PRIMI generic feature models, each product can have multiple entities, and each entity has a score. The category_id and detection_score fields are not populated for PRIMI generic feature models.list(ImageRepositoryShoppingProductInformationProductInformationTokenGroup)
modelImageRepositoryShoppingProductInformationProductInformationTokenGroupThe tokens for retrieval.String
tokensImageRepositoryShoppingProductInformationProductInformationTokenGroupThe tokens for retrieval.list(integer)
modelTypeThe type of the model.ImageRepositoryShoppingProductInformationVersionedProductInformationSetStore ProductInformation for a given version of the models used in VSS.String
productsList of ProductInformation for this version.ImageRepositoryShoppingProductInformationVersionedProductInformationSetStore ProductInformation for a given version of the models used in VSS.list(ImageRepositoryShoppingProductInformationProductInformation)
versionThe version of the models used in VSS. Newer version will have a higher version number.ImageRepositoryShoppingProductInformationVersionedProductInformationSetStore ProductInformation for a given version of the models used in VSS.integer
confidenceThe confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. This field is set only for the top alternative of a non-streaming result or, of a streaming result where `is_final=true`. This field is not guaranteed to be accurate and users should not rely on it to be always provided. The default of 0.0 is a sentinel value indicating `confidence` was not set.ImageRepositorySpeechRecognitionAlternativeAlternative hypotheses (a.k.a. n-best list).number
transcriptTranscript text representing the words that the user spoke.ImageRepositorySpeechRecognitionAlternativeAlternative hypotheses (a.k.a. n-best list).String
wordsA list of word-specific information for each recognized word. Note: When `enable_speaker_diarization` is true, you will see all the words from the beginning of the audio.ImageRepositorySpeechRecognitionAlternativeAlternative hypotheses (a.k.a. n-best list).list(ImageRepositoryWordInfo)
alternativesMay contain one or more recognition hypotheses (up to the maximum specified in `max_alternatives`). These alternatives are ordered in terms of accuracy, with the top (first) alternative being the most probable, as ranked by the recognizer.ImageRepositorySpeechRecognitionResultA speech recognition result corresponding to a portion of the audio. This field is copied from cloud/speech/v1p1beta1/cloud_speech.proto. Amarna needs to have a standalone version as v1p1beta1/cloud_speech.proto is in the for of versioned proto and it breaks other prod code depending on Amarna’s video schema.list(ImageRepositorySpeechRecognitionAlternative)
channelTagFor multi-channel audio, this is the channel number corresponding to the recognized result for the audio from that channel. For audio_channel_count = N, its output values can range from ‘1’ to ‘N’.ImageRepositorySpeechRecognitionResultA speech recognition result corresponding to a portion of the audio. This field is copied from cloud/speech/v1p1beta1/cloud_speech.proto. Amarna needs to have a standalone version as v1p1beta1/cloud_speech.proto is in the for of versioned proto and it breaks other prod code depending on Amarna’s video schema.integer
languageCodeThe [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the language in this result. This language code was detected to have the most likelihood of being spoken in the audio.ImageRepositorySpeechRecognitionResultA speech recognition result corresponding to a portion of the audio. This field is copied from cloud/speech/v1p1beta1/cloud_speech.proto. Amarna needs to have a standalone version as v1p1beta1/cloud_speech.proto is in the for of versioned proto and it breaks other prod code depending on Amarna’s video schema.String
resultEndTimeTime offset of the end of this result relative to the beginning of the audio. This field is internal-only and is used to order results based on their timestamps.ImageRepositorySpeechRecognitionResultA speech recognition result corresponding to a portion of the audio. This field is copied from cloud/speech/v1p1beta1/cloud_speech.proto. Amarna needs to have a standalone version as v1p1beta1/cloud_speech.proto is in the for of versioned proto and it breaks other prod code depending on Amarna’s video schema.String
embeddingEmbedding of the frame.ImageRepositorySUPFrameLevelEmbeddingReneEmbedding
timeOffsetTime offset of the frame.ImageRepositorySUPFrameLevelEmbeddingString
embeddingsAll the frame-level embeddings of the video.ImageRepositorySUPFrameLevelEmbeddingslist(ImageRepositorySUPFrameLevelEmbedding)
deletionReasonImageRepositoryUnwantedContentTo indicate whether the image or video is to be deleted from the repository due to legal reasons or hidden from search results.String
hideReasonImageRepositoryUnwantedContentTo indicate whether the image or video is to be deleted from the repository due to legal reasons or hidden from search results.String
venomStatusContains one status for each Genus that this video belongs to in Venom. For example, a video that is both 1) Found on the web, and 2) Opted-in by an Interest Feed partner would have two entries, one for GENUS_CRAWL and one for GENUS_VIDEO_INTEREST_FEEDImageRepositoryVenomProcessingInfolist(ImageRepositoryVenomStatus)
aclVenom ACL of the video. Used to check if other systems, such as Ares, are able to process the video.ImageRepositoryVenomStatusVideoAssetsVenomACL
deletionTimestampUsecImageRepositoryVenomStatusString
genusThe Genus (Venom’s client ID) that this media belongs to.ImageRepositoryVenomStatusString
insertionResponseTimestampUsecTime that VideoNotification result was received from Venom.ImageRepositoryVenomStatusString
insertionTimestampUsecImageRepositoryVenomStatusString
lastInsertionAttemptsNumRecord the attempts num of previous insertion. It’s only updated when either the insertion succeeds or fails with reason INSERTION_ATTEMPTS_EXCEEDED, but it’s always set so that we can easily construct venom_id with this attempts num for future insertions.ImageRepositoryVenomStatusinteger
reasonImageRepositoryVenomStatusString
settingsThe Settings that were used to customize the Venom request for this media.ImageRepositoryVenomStatuslist(VideoAssetsVenomSettings)
stateImageRepositoryVenomStatusString
transitionTransition contains the Objective and Outcome of the latest Venom run.ImageRepositoryVenomStatusVideoAssetsVenomTransition
venomIdThe media’s unique identifier within Venom.ImageRepositoryVenomStatusVideoAssetsVenomVideoId
venomMutationGenerationThe generation number returned by Venom.ImageRepositoryVenomStatusString
videoVenomSettingThis field is not persisted anywhere. It is only used in deletion service for converying the VideoVenomSetting when deleting Venom data.ImageRepositoryVenomStatusString
notIndexedVideoLinkImageRepositoryVideoIndexingInfolist(ImageRepositoryVideoLinkIndexingInfo)
crawlStatusInfoFields for crawl-status-related debugging information.ImageRepositoryVideoLinkIndexingInfoImageRepositoryCrawlStatusInfo
urlThe video URL.ImageRepositoryVideoLinkIndexingInfoString
lastAmarnaProcessingTimeLast Amarna processing timestamp.ImageRepositoryVideoPreviewsDebuggingInfoDateTime
processingEngineThe underlying processing engine, like ‘viper’ or ‘kronos’.ImageRepositoryVideoPreviewsDebuggingInfoString
contentThe actual video preview bytes generated for the video.ImageRepositoryVideoPreviewsVideoPreviewString
debuggingInfoUsed for debugging only.ImageRepositoryVideoPreviewsVideoPreviewImageRepositoryVideoPreviewsDebuggingInfo
metadataThe metadata associated with the preview (i.e. the type: 8k, 90k, etc.)ImageRepositoryVideoPreviewsVideoPreviewImageBaseVideoPreviewMetadata
previewFrameZero0th frame image of the preview. This frame has the same resolution as the associated preview video bytes, as it is taken directly from the preview bytes in Venom/Viper processing. Right now, we only populate preview_frame_zero only for the VPREVIEW_TYPE_540K_ORIGINAL_HQ_LICENSED preview type. Note that preview_frame_zero.thumbnails(0).timestamp_ms() is the timestamp from the full video, not from the preview.ImageRepositoryVideoPreviewsVideoPreviewDrishtiVesperVideoThumbnail
audioOnlyBoth audio- and audio-video-files are treated as videos during indexing (whether they share a container format, like .mp4, or not, like .mp3). This bool indicates that there’s no video track, just an audio track.ImageRepositoryVideoPropertiesboolean
contentBasedMetadataInformation derived from fetched video bytes.ImageRepositoryVideoPropertiesImageRepositoryContentBasedVideoMetadata
crawlStateThe raw crawl state.ImageRepositoryVideoPropertiesImageMoosedogCrawlState
firstCrawlTimestampSecTimestamp of the first time that the video was successfully crawled.ImageRepositoryVideoPropertiesString
firstProcessingTimestampSecTimestamp when this video’s videoProperties is populated for the first time, measured in seconds since epoch.ImageRepositoryVideoPropertiesString
indexedVerticalsProto to store vertical indexing information for the document. The video can be indexed to multiple verticals, including video search. It can also be indexed only in verticals, not in video search.ImageRepositoryVideoPropertieslist(ImageRepositoryVideoPropertiesVerticalIndexingInfoVideo)
inlinePlaybackDEPRECATED: please use content_based_metadata.inline_playback. Metadata related to Inline playback on the Interest FeedImageRepositoryVideoPropertiesVideoCrawlVideoInlinePlaybackMetadata
lastCrawlRequestTimestampSecTimestamp when this video’s last crawling is requested, measured in seconds since epoch.ImageRepositoryVideoPropertiesString
lastProcessingTimestampSecLast timestamp when this video’s videoProperties is populated, measured in seconds since epoch.ImageRepositoryVideoPropertiesString
urlThis is the video url taken from the key of the Amarna references table row corresponding to this message.ImageRepositoryVideoPropertiesString
nameList the string representation of the vertical that this image is indexed into.ImageRepositoryVideoPropertiesVerticalIndexingInfoVideoProto to store vertical indexing information for the document and associated video outlinks. The video content can be indexed to multiple verticals, including videosearch. It can also be indexed only in verticals, not in videosearch.String
confidenceThe confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. This field is set only for the top alternative of a non-streaming result or, of a streaming result where `is_final=true`. This field is not guaranteed to be accurate and users should not rely on it to be always provided. The default of 0.0 is a sentinel value indicating `confidence` was not set.ImageRepositoryWordInfoWord-specific information for recognized words.number
endTimeTime offset relative to the beginning of the audio, and corresponding to the end of the spoken word. This field is only set if `enable_word_time_offsets=true` and only in the top hypothesis. This is an experimental feature and the accuracy of the time offset can vary.ImageRepositoryWordInfoWord-specific information for recognized words.String
speakerTagA distinct integer value is assigned for every speaker within the audio. This field specifies which one of those speakers was detected to have spoken this word. Value ranges from ‘1’ to diarization_speaker_count. speaker_tag is set if enable_speaker_diarization = ‘true’ and only in the top alternative.ImageRepositoryWordInfoWord-specific information for recognized words.integer
startTimeTime offset relative to the beginning of the audio, and corresponding to the start of the spoken word. This field is only set if `enable_word_time_offsets=true` and only in the top hypothesis. This is an experimental feature and the accuracy of the time offset can vary.ImageRepositoryWordInfoWord-specific information for recognized words.String
wordThe word corresponding to this set of information.ImageRepositoryWordInfoWord-specific information for recognized words.String
previewsFilteredReasonImageRepositoryYoutubeProcessingFilterNext available tag: 13list(String)
childScoreThe probability that the youngest person in the image is a child.ImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
csaiScoreThis score correlates with potential child abuse. Google confidential!ImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.float
csamA1ScoreExperimental score. Do not use. Google confidential!ImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
csamAgeIndeterminateScoreExperimental score. Do not use. Google confidential!ImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
iuInappropriateScoreThis field contains the probability that an image is inappropriate for Images Universal, according to this policy: go/iupolicy.ImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
medicalScoreImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
pedoScoreImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
pornScoreImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.float
racyScoreThis score is related to an image being sexually suggestive.ImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
semanticSexualizationScoreThis score is related to racy/sexual images where scores have semantic meaning from 0 to 1.ImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
spoofScoreImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
versionImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.String
violenceScoreImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
ytPornScoreDeprecated, use porn_score instead. The most recent model version does not produce this anymore.ImageSafesearchContentBrainPornAnnotationDon’t change the field names. The names are used as sparse feature labels in client projects.number
ocrAnnotationVersionA string that indicates the version of SafeSearch OCR annotation.ImageSafesearchContentOCRAnnotationA protocol buffer to store the OCR annotation. Next available tag id: 10.String
ocrProminenceScoreThe score produced by Aksara geometry and spoof score. Describes the ‘visibility’ or ‘importance’ of the text on the image [0, 1]ImageSafesearchContentOCRAnnotationA protocol buffer to store the OCR annotation. Next available tag id: 10.number
pornScoreImage OCR racyness/pornyness, computed by porn query classifier.ImageSafesearchContentOCRAnnotationA protocol buffer to store the OCR annotation. Next available tag id: 10.number
prominentOffensiveScoreSame as offensive_score, but weighted by prominence.ImageSafesearchContentOCRAnnotationA protocol buffer to store the OCR annotation. Next available tag id: 10.number
prominentVulgarScoreSame as vulgar_score, but weighted by prominence.ImageSafesearchContentOCRAnnotationA protocol buffer to store the OCR annotation. Next available tag id: 10.number
qbstOffensiveScoreThe score produced by offensive salient terms model.ImageSafesearchContentOCRAnnotationA protocol buffer to store the OCR annotation. Next available tag id: 10.number
matchesImageSafesearchContentOffensiveSymbolDetectionlist(ImageSafesearchContentOffensiveSymbolMatch)
scoreConfidence score of the match. The higher, the more likely to match the symbol.ImageSafesearchContentOffensiveSymbolMatchEach entry corresponds to an image containing an offensive symbol.number
typeImageSafesearchContentOffensiveSymbolMatchEach entry corresponds to an image containing an offensive symbol.String
imageLinkSelectionInfoImage Selection InfoImageSearchImageIndexingInfolist(ImageSearchImageSelectionInfo)
rejectedNotIndexedImageLinkURLs and Amarna status of images on the page for which image data is not yet available and weren’t selected for indexing in image search. Used by consumers of docjoins that need a complete view of image urls on the page (i.e. Digdug).ImageSearchImageIndexingInfolist(ImageSearchUnindexedImageLink)
selectedNotIndexedImageLinkURLs and Amarna status of images on the page for which image data is not yet available and were otherwise selected for indexing in image search. Used by consumers of docjoins that need a complete view of selected image urls on the page (i.e. Hearse, the index selection testbed).ImageSearchImageIndexingInfolist(ImageSearchUnindexedImageLink)
acquireLicensePageRecords web page url about how to use the licensed image.ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddString
copyrightNoticeProvides copyright info.ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddString
copyrightNoticeSourceTypeSource type for copyright_notice field.ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddString
creatorcreator, authors.ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddlist(String)
creatorSourceTypeSource type for creator field.ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddString
creditTextText for crediting persons or organizations.ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddString
creditTextSourceTypeSource type for credit_text field.ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddString
isRetiredCcUrlWhether this license url is in retired license list, which is from: https://creativecommons.org/retiredlicenses/ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddboolean
licenseTypeImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddString
licenseUrlRecords license URL.ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddString
safesearchFlagsA bitwise-OR of SafeSearch filtering flags. If present, the flags will be a bitwise-AND between this value and all the classifier_porn::query::Vertical enums. If the value is -1, it indicates there is some error with SafeSearch classifier. The default value 0 means no filtering flags are set.ImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddinteger
sourceTypeImageSearchImageLicenseInfoThe image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-eddString
imageLinkSelectionInfoImage Selection Info.ImageSearchImageSelectionInfoImageMustangImageLinkSelectionInfo
urlThe image URL.ImageSearchImageSelectionInfoString
amarnaStatusInsight on why we do not have data for this imagelink.ImageSearchUnindexedImageLinkImageRepositoryAmarnaStatus
crawlStatusInfoFields for crawl-status-related debugging information.ImageSearchUnindexedImageLinkImageRepositoryCrawlStatusInfo
urlThe image URL.ImageSearchUnindexedImageLinkString
featureMultiple feature embeddings for this bounding box.ImageUnderstandingIndexingAnnotationAnnotation packs various recognition, detection, embedding, and parsing results. One Annotation per bounding box detection.list(ImageUnderstandingIndexingFeature)
labelGroupMultiple label annotations for this bounding box.ImageUnderstandingIndexingAnnotationAnnotation packs various recognition, detection, embedding, and parsing results. One Annotation per bounding box detection.list(ImageUnderstandingIndexingLabelGroup)
roiDetected bounding box. Leave it not set for whole image annotation.ImageUnderstandingIndexingAnnotationAnnotation packs various recognition, detection, embedding, and parsing results. One Annotation per bounding box detection.ImageUnderstandingIndexingImageRegion
annotationImageUnderstandingIndexingAnnotationGrouplist(ImageUnderstandingIndexingAnnotation)
bytesValueMultiple fields can be set. For example for Starburst V3, they can be used to store compressed byte, raw float feature, and tokens, respectively.ImageUnderstandingIndexingFeatureImage feature embedding proto. It supports various embedding formats: raw bytes, floating point values, and tokens.String
floatValueImageUnderstandingIndexingFeatureImage feature embedding proto. It supports various embedding formats: raw bytes, floating point values, and tokens.list(number)
imageTemplateLocal features.ImageUnderstandingIndexingFeatureImage feature embedding proto. It supports various embedding formats: raw bytes, floating point values, and tokens.PhotosVisionObjectrecImageTemplate
int32ValueImageUnderstandingIndexingFeatureImage feature embedding proto. It supports various embedding formats: raw bytes, floating point values, and tokens.list(integer)
versionImageUnderstandingIndexingFeatureImage feature embedding proto. It supports various embedding formats: raw bytes, floating point values, and tokens.String
boxBounding box normalized to [0,1] scale independent on the image size. For example if the original image has the size 1600×1200, the rectangle [200, 200, 800, 600] from the image would have a normalized bounding box [1/8, 1/6, 1/2, 1/2].ImageUnderstandingIndexingImageRegionImage region produced by a detector.PhotosVisionGroundtruthdbNormalizedBoundingBox
scoreBox confidence score. This is used to store the confidence of the box proposal, not the score associated with any specific labels. The box proposal confidence score is a float number per region between [0, 1] indicating how likely a box contains an “object”.ImageUnderstandingIndexingImageRegionImage region produced by a detector.number
versionImageUnderstandingIndexingImageRegionImage region produced by a detector.String
canonicalTextHuman readable text.ImageUnderstandingIndexingLabelA single label with score and meta data.String
entityIdKG entity id.ImageUnderstandingIndexingLabelA single label with score and meta data.String
metaDataMeta data for topicality, visible labels, attribute, etc.ImageUnderstandingIndexingLabelA single label with score and meta data.list(ImageUnderstandingIndexingMetaData)
scoreConfidence score.ImageUnderstandingIndexingLabelA single label with score and meta data.number
labelImageUnderstandingIndexingLabelGroupLabelGroup is a set of labels produced by a single model, or by multiple models that share the same versioning. It can be used to store results from ICA, box classifier, visible labels, noun+attribute, and so on.list(ImageUnderstandingIndexingLabel)
versionImageUnderstandingIndexingLabelGroupLabelGroup is a set of labels produced by a single model, or by multiple models that share the same versioning. It can be used to store results from ICA, box classifier, visible labels, noun+attribute, and so on.String
floatValueImageUnderstandingIndexingMetaDataMeta data useful to annotation Label and Feature with extra information.number
nameImageUnderstandingIndexingMetaDataMeta data useful to annotation Label and Feature with extra information.String
stringValueImageUnderstandingIndexingMetaDataMeta data useful to annotation Label and Feature with extra information.String
badSslCertificateIndexingBadSSLCertificateThis protobuffer stores bad SSL certificate information for a canonical URL, and meant to be included in DocJoins and push to serving time.TrawlerSSLCertificateInfo
urlWithBadSslCertificateThe URL where the bad SSL certificate really comes from. Present iff it is different from the source URL, i.e. a redirect target of the source URL).IndexingBadSSLCertificateThis protobuffer stores bad SSL certificate information for a canonical URL, and meant to be included in DocJoins and push to serving time.String
annotationSourceIndexingConverterLocalizedAlternateNameString
deviceMatchInfoDevice match info calculated only by URL pattern.IndexingConverterLocalizedAlternateNameString
ecnFpFp96 of webmirror ECN as of the last time the canonical was processed.IndexingConverterLocalizedAlternateNameString
feedUrlPopulated if annotation_source is SITEMAP.IndexingConverterLocalizedAlternateNameString
languageIndexingConverterLocalizedAlternateNameString
parsedLanguageParsed language and region code from language field.IndexingConverterLocalizedAlternateNameString
parsedRegionIndexingConverterLocalizedAlternateNameinteger
urlIndexingConverterLocalizedAlternateNameString
urlEncodingsee webutil/urlencodingIndexingConverterLocalizedAlternateNameinteger
rawFinalTargetFromRenderingFinal redirect target found from rendering. It is the same as the last element of raw_redirect_chain_from_rendering. It is used as an input source for the indexable fragment detection pipeline and also downstream phases.IndexingConverterRawRedirectInfoThe proto to be stored in raw_redirect_info column of document table.String
rawFinalTargetFromTrawlerThis is with-fragment version of redirect_with_contents. This field is populated only if there was a fragment. This field is used by indexing::mobile::GetRedirectTarget() defined in indexing/mobile/internal/smartphone-util.cc, which extracts the redirect target for smartphone optimized pages. The extracted target in turn is served in search results for smartphone users. We need with-fragment version because with-fragment url can return different content than fragment-stripped url. For example, http://www.example.com/m#article=11 and http://www.example.com/m can return different content. These cases are most typical for Ajaxy sites. This fragment does not have to be indexable.IndexingConverterRawRedirectInfoThe proto to be stored in raw_redirect_info column of document table.String
rawRedirectChainFromRenderingRedirect chain generated from redirect events in rendering. At the beginning of it, there could be some redirects from trawler (i.e. could be partial or entire trawler redirect chain), other redirects have their RedirectParams::is_redirect_from_rendering fields set to true. Redirects here have no RedirectChain::Hop::raw_target fields populated, and targets stored in RedirectChain::Hop::target fields are likely cleaned while keeping fragments (also sometimes they could be uncleaned ones because of cleaning failures), fragments could be indexable or non-indexable.IndexingConverterRawRedirectInfoThe proto to be stored in raw_redirect_info column of document table.IndexingConverterRedirectChain
renderingRedirectLimitThis is used to describe how many redirect hops from Webkit were kept in the raw_redirect_chain_from_rendering. If it is -1, it means it kept all the hops from Webkit in redirect chain.IndexingConverterRawRedirectInfoThe proto to be stored in raw_redirect_info column of document table.integer
hopIndexingConverterRedirectChainRedirect_chain is present for redirects, and absent for the final target. It contains the chain from the current hop’s target to the final target.list(IndexingConverterRedirectChainHop)
paramsIndexingConverterRedirectChainHopNOLINTIndexingConverterRedirectParams
rawTargetRedirect target with fragment. This field is populated only if there was a fragment.IndexingConverterRedirectChainHopNOLINTString
targetRedirect target URL and params of the current hop in the redirect chain.IndexingConverterRedirectChainHopNOLINTString
delayThe time difference between page loading and redirect occurrence. When missing, it means the redirect happens immediately (i.e. delay = 0). In seconds.IndexingConverterRedirectParamsIf we detect any server or content based redirect, we will store the characteristics in this message.integer
frameTargetDeniesFramingPopulated for SINGLE_FRAME and SINGLE_IFRAME redirects only and indicates that the target url requested not to be framed, by virtue of using the “X-Frame-Options” HTTP header.IndexingConverterRedirectParamsIf we detect any server or content based redirect, we will store the characteristics in this message.boolean
isDownloadIndicates corresponding redirect is a download. This field is only set when rendering redirect chain is used. This field represents the value of corresponding “RedirectEvent.target_content_downloaded” field.IndexingConverterRedirectParamsIf we detect any server or content based redirect, we will store the characteristics in this message.boolean
isRenderingRedirectIndicates corresponding redirect is from rendering if set to true.IndexingConverterRedirectParamsIf we detect any server or content based redirect, we will store the characteristics in this message.boolean
metaRedirectFromTrawlerIf set, it means that the redirect of type META was detected by Trawler (as opposed to the content processor.) Only makes sense when type is META.IndexingConverterRedirectParamsIf we detect any server or content based redirect, we will store the characteristics in this message.boolean
typeIndexingConverterRedirectParamsIf we detect any server or content based redirect, we will store the characteristics in this message.String
rangeIndexingConverterRichContentDataContains information about 3 versions of the content of a document: 1. Original: the crawled content (possibly patched in ConversionFilters). 2. Processed: the final version of the content indexed in Web search. 3. Intermediate (no longer generated): intermediate version between the original and the processed content. All 3 versions of the content consist of HTTP headers (in unknown encoding) concatenated with the document body (in interchange valid UTF-8 encoding).list(IndexingConverterRichContentDataRange)
rangeTypeIndexingConverterRichContentDataRangeStores an ordered list of ranges of content from the original, processed, and intermediate content, such that: 1. The original content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED, ORIGINAL_ONLY, and ORIGINAL_AND_INTERMEDIATE. 2. The processed content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED and PROCESSED_ONLY. 3. The intermediate content (if present) can be reconstructed from the ranges of type ORIGINAL_AND_INTERMEDIATE and INTERMEDIATE_ONLY.String
sizeRange size when uncompressed, in bytes.IndexingConverterRichContentDataRangeStores an ordered list of ranges of content from the original, processed, and intermediate content, such that: 1. The original content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED, ORIGINAL_ONLY, and ORIGINAL_AND_INTERMEDIATE. 2. The processed content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED and PROCESSED_ONLY. 3. The intermediate content (if present) can be reconstructed from the ranges of type ORIGINAL_AND_INTERMEDIATE and INTERMEDIATE_ONLY.integer
sourceTypeThe source of this range of content. Present iff ‘type’ is PROCESSED_ONLY or INTERMEDIATE_ONLY. Note: ‘source_type’ is not present for ORIGINAL_AND_PROCESSED, ORIGINAL_ONLY, and ORIGINAL_AND_INTERMEDIATE because for those range types the source of their content is the original crawled content.IndexingConverterRichContentDataRangeStores an ordered list of ranges of content from the original, processed, and intermediate content, such that: 1. The original content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED, ORIGINAL_ONLY, and ORIGINAL_AND_INTERMEDIATE. 2. The processed content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED and PROCESSED_ONLY. 3. The intermediate content (if present) can be reconstructed from the ranges of type ORIGINAL_AND_INTERMEDIATE and INTERMEDIATE_ONLY.String
sourceUrlThe source URL of this range of content. Present iff ‘source_type’ is present and ‘source_type’ is FRAME or FLASH or IFRAME.IndexingConverterRichContentDataRangeStores an ordered list of ranges of content from the original, processed, and intermediate content, such that: 1. The original content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED, ORIGINAL_ONLY, and ORIGINAL_AND_INTERMEDIATE. 2. The processed content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED and PROCESSED_ONLY. 3. The intermediate content (if present) can be reconstructed from the ranges of type ORIGINAL_AND_INTERMEDIATE and INTERMEDIATE_ONLY.String
textThe content of the range, compressed with ‘text_compression_method’. Present iff ‘type’ is ORIGINAL_ONLY or ORIGINAL_AND_INTERMEDIATE or INTERMEDIATE_ONLY. Useful to reconstruct the original content or the intermediate content. Note: ‘text’ is not present for ORIGINAL_AND_PROCESSED and PROCESSED_ONLY because the processed content is already stored separately (in the contents column, and in CompositeDoc.doc.Content.Representation).IndexingConverterRichContentDataRangeStores an ordered list of ranges of content from the original, processed, and intermediate content, such that: 1. The original content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED, ORIGINAL_ONLY, and ORIGINAL_AND_INTERMEDIATE. 2. The processed content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED and PROCESSED_ONLY. 3. The intermediate content (if present) can be reconstructed from the ranges of type ORIGINAL_AND_INTERMEDIATE and INTERMEDIATE_ONLY.String
textCompressionMethodMethod used to compress the ‘text’ field. May be present only when the ‘text’ is present.IndexingConverterRichContentDataRangeStores an ordered list of ranges of content from the original, processed, and intermediate content, such that: 1. The original content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED, ORIGINAL_ONLY, and ORIGINAL_AND_INTERMEDIATE. 2. The processed content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED and PROCESSED_ONLY. 3. The intermediate content (if present) can be reconstructed from the ranges of type ORIGINAL_AND_INTERMEDIATE and INTERMEDIATE_ONLY.String
contentExpirytime in unix time format after which this content should not be shown in the results. This in inferred from the X-Robots-Tag HTTP header with unavailable_after: Do not use this field directly. There is a column called content_expiration in Alexandria that includes this and other signals.IndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
convertToRobotedReasonIndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.String
disallowedReasonIndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
indexifembeddedReasonIMPORTANT: if you add a new field here, update the MergeRobotsInfo() function to merge the new field.IndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
maxImagePreviewMax image preview restriction applied to this data. A value of THUMBNAIL_UNSPECIFIED can be treated as though there is no restriction.IndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.String
maxSnippetLengthMax snippet preview restriction applied to this data. If this field is zero, it indicates that no snippet data can be displayed, therefore this field should be checked using has_max_snippet_length to determine if it was set.IndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.String
noarchiveReasonIndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
nofollowReasonIndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
noimageframeoverlayReasonIndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
noimageindexReasonIndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
noindexReasonBit map of RobotedReasons values. When set to a non-zero value, the document should not be indexed or archived etc. based on the name of the tag.IndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
nopreviewReasonIndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
nosnippetReasonIndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
notranslateReasonIndexingConverterRobotsInfoRobots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.integer
metadataIndexingConverterShingleFingerprintUsed for storing fingerprints, along with meta-data that expresses how the fingerprint was computed. The metadata can be anything that fits in an uint64.String
valueRepeated to allow for fingerprints larger than 64-bits.IndexingConverterShingleFingerprintUsed for storing fingerprints, along with meta-data that expresses how the fingerprint was computed. The metadata can be anything that fits in an uint64.list(String)
doubleIndexingExperimentIdOnly for double indexing experiments. This field is set for duplicated documents so that docjoin users will not see duplicated docs.IndexingCrawlerIdServingDocumentIdentifierString
dupExperimentIdOnly for Experimental clusters, not relevant for production serving data: Index-Dups can run experiments in Quality Clusters where different versions of the same document (e.g. with different signals) are serving in parallel. They are uniquely identified by the dup-experiment-IDs. This is for experimental clusters only. In prod-versions the member will not be set.IndexingCrawlerIdServingDocumentIdentifierString
keyThe primary identifier of a production document is the document key, which is the same as the row-key in Alexandria, and represents a URL and its crawling context. The document key is the unique identifier for each document, but multiple document keys can cover the same URL (e.g. crawled with different device types). In your production code, please always assume that the document key is the only way to uniquely identify a document. Link for more background information: http://go/url The document key is populated for all docs in indexing since 2014-03. ## Recommended way of reading: const string& doc_key = cdoc.doc().id().key(); ## CHECK(!doc_key.empty()); Note: For older DocJoins (e.g. historical DocJoins), the field is not populated. In those scenarios it is recommended to use the function ‘GetDocumentKeyFromCompositeDoc’ in ‘//indexing/crawler_id/utils/compositedoc/compositedoc_util.h’ instead.IndexingCrawlerIdServingDocumentIdentifierString
phraseAnchorSpamCountHow many spam phrases found in the anchors among unique domains.IndexingDocjoinerAnchorPhraseSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.number
phraseAnchorSpamDaysOver how many days 80% of these phrases were discovered.IndexingDocjoinerAnchorPhraseSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.number
phraseAnchorSpamDemotedTotal number of demoted anchors.IndexingDocjoinerAnchorPhraseSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.integer
phraseAnchorSpamEndTime when anchor spam spike ended with padding.IndexingDocjoinerAnchorPhraseSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.integer
phraseAnchorSpamFraqSpam phrases fraction of all anchors of the document.IndexingDocjoinerAnchorPhraseSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.number
phraseAnchorSpamPenaltyCombined penalty for anchor demotion.IndexingDocjoinerAnchorPhraseSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.number
phraseAnchorSpamProcessedTotal number of observed anchors.IndexingDocjoinerAnchorPhraseSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.integer
phraseAnchorSpamRateAverage daily rate of spam anchor discovery.IndexingDocjoinerAnchorPhraseSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.number
phraseAnchorSpamStartTime when anchor spam spike started with padding.IndexingDocjoinerAnchorPhraseSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.integer
anchorEndEnd date of the last anchor of the document.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccinteger
anchorFraqRatio of spam demoted period to all anchor period.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccnumber
anchorStartStart date of the first anchor of the document.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccinteger
demotedFollowing field record details of anchor demotion in action. How many anchors were demoted.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccinteger
demotedAllDemoted all anchors in the period or only anchors classified as spam.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccboolean
demotedEndEnd date of the demotion period.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccinteger
demotedStartStart date of the demotion period.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccinteger
phraseCountFollowing fields record signals used in anchor spam classification. How many spam phrases found in the anchors among unique domains.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccnumber
phraseDaysOver how many days 80% of these phrases were discovered.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccnumber
phraseFraqSpam phrases fraction of all anchors of the document.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccnumber
phraseRateAverage daily rate of spam anchor discovery.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccnumber
processedTotal number of processed anchors.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccinteger
sampledTrue if anchors were sampled during observation phrase.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccboolean
sourcesDetailed information about trusted sources and match computation. Populated only when –anchorspam_penalizer_debug=true.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.cclist(IndexingDocjoinerAnchorTrustedInfo)
spamDebugInfoAdditional debug information about computation of spam probability.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccString
spamPenaltyCombined penalty for anchor demotion.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccnumber
spamProbabilityPredicted probability of spam.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccnumber
trustedDemotedNumber of trusted anchors used in computation of spam probability.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccinteger
trustedExamplesExamples of trusted sources.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccString
trustedMatchingNumber of trusted anchors with anchor text matching spam terms.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccinteger
trustedTargetFollowing fields record details about trusted anchors True if is this URL is on trusted source.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccboolean
trustedTotalTotal number of trusted sources for this URL.IndexingDocjoinerAnchorSpamInfoFollowing structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.ccinteger
penguinLastUpdateBEGIN: Penguin related fields. Timestamp when penguin scores were last updated. Measured in days since Jan. 1st 1995.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
anchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
badbacklinksPenalizedWhether this doc is penalized by BadBackLinks, in which case we should not use improvanchor score in mustang ascorer.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.boolean
penguinPenaltyPage-level penguin penalty (0 = good, 1 = bad).IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.number
minHostHomePageLocalOutdegreeMinimum local outdegree of all anchor sources that are host home pages as well as on the same host as the current target URL.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
droppedRedundantAnchorCountSum of anchors_dropped in the repeated group RedundantAnchorInfo, but can go higher if the latter reaches the cap of kMaxRecordsToKeep. (indexing/docjoiner/anchors/anchor-loader.cc), currently 10,000IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
nonLocalAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
mediumCorpusAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
penguinEarlyAnchorProtectedDoc is protected by goodness of early anchors.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.boolean
droppedHomepageAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
redundantanchorinfoforphrasecapIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.list(IndexingDocjoinerAnchorStatisticsRedundantAnchorInfoForPhraseCap)
forwardedOffdomainAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
droppedNonLocalAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
perdupstatsIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.list(IndexingDocjoinerAnchorStatisticsPerDupStats)
onsiteAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
droppedLocalAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
penguinTooManySourcesDoc not scored because it has too many anchor sources. END: Penguin related fields.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.boolean
forwardedAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
anchorSpamInfoThis structure contains signals and penalties of AnchorSpamPenalizer. It replaces phrase_anchor_spam_info above, that is deprecated.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.IndexingDocjoinerAnchorSpamInfo
lowCorpusAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
lowCorpusOffdomainAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
baseAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
minDomainHomePageLocalOutdegreeMinimum local outdegree of all anchor sources that are domain home pages as well as on the same domain as the current target URL.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
skippedAccumulateA count of the number of times anchor accumulation has been skipped for this document. Note: Only used when canonical.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
topPrOnsiteAnchorCountAccording to anchor quality bucket, anchor with pagrank > 51000 is the best anchor. anchors with pagerank < 47000 are all same.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
pageMismatchTaggedAnchorsIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
spamLog10OddsThe log base 10 odds that this set of anchors exhibits spammy behavior. Computed in the AnchorLocalizer.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.number
redundantanchorinfoIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.list(IndexingDocjoinerAnchorStatisticsRedundantAnchorInfo)
pageFromExpiredTaggedAnchorsSet in SignalPenalizer::FillInAnchorStatistics.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
baseOffdomainAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
phraseAnchorSpamInfoFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.IndexingDocjoinerAnchorPhraseSpamInfo
anchorPhraseCountThe number of unique anchor phrases. Capped by the constant kMaxAnchorPhraseCountInStats (=5000) defined in indexing/docjoiner/anchors/anchor-manager.cc.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
ondomainAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
totalDomainsAbovePhraseCapNumber of domains above per domain phrase cap. We see too many phrases in the domains.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
totalDomainsSeenNumber of domains seen in total.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
topPrOffdomainAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
scannedAnchorCountThe total number of anchors being scanned from storage.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
localAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
linkBeforeSitechangeTaggedAnchorsIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
globalAnchorDeltaMetric of number of changed global anchors computed as, size(union(previous, new) – intersection(previous, new)).IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
topPrOndomainAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
mediumCorpusOffdomainAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
offdomainAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
totalDomainPhrasePairsSeenApproxNumber of domain/phrase pairs in total — i.e. how many anchors we would have if the domain/phrase cutoff was set to 1 instead of 200. This is “approx” for large anchor clusters because there can be double counting when the LRU cache forgets about rare domain/phrase pairs.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
skippedOrReusedReasonReason to skip accumulate, when skipped, or Reason for reprocessing when not skipped.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.String
anchorsWithDedupedImprovanchorsThe number of anchors for which some ImprovAnchors phrases have been removed due to duplication within source org.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
fakeAnchorCountIndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
redundantAnchorForPhraseCapCountTotal anchor dropped due to exceed per domain phrase cap. Equals to sum of anchors_dropped in the repeated group RedundantAnchorInfoForPhraseCap, but can go higher if the latter reaches the cap of kMaxDomainsToKeepForPhraseCap (indexing/docjoiner/anchors/anchor-loader.h), currently 1000.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
totalDomainPhrasePairsAboveLimitThe following should be equal to the size of the following repeated group, except that it can go higher than 10,000.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
timestampWalltime of when anchors were accumulated last.IndexingDocjoinerAnchorStatisticsStatistics of the anchors in a docjoin. Next available tag ID: 63.integer
anchorCountCount of anchors kept from forwarding.IndexingDocjoinerAnchorStatisticsPerDupStats————————————————————————- The total number of anchors collected per dupforwarding (including the canonical itself). Includes additional data about redundant and offdomain counts and the last timestamp it was collected from.integer
collectTypeThis is EcnCollectType in anchor-ecn-matcher.h for the latest ECN of this dup: – kCollectNormal = 0, // Normal collection. – kCollectUnforwarded = 1, // Forwarding leader docid match only. – kCollectWhitelisted = 2, // Collected anchors matching whitelist. – kCollectNone = 4 // Skipped ECN anchor cluster.IndexingDocjoinerAnchorStatisticsPerDupStats————————————————————————- The total number of anchors collected per dupforwarding (including the canonical itself). Includes additional data about redundant and offdomain counts and the last timestamp it was collected from.integer
dupUrlIf missing, the same as the canonical.IndexingDocjoinerAnchorStatisticsPerDupStats————————————————————————- The total number of anchors collected per dupforwarding (including the canonical itself). Includes additional data about redundant and offdomain counts and the last timestamp it was collected from.String
offdomainAnchorCountCount of offdomain anchors.IndexingDocjoinerAnchorStatisticsPerDupStats————————————————————————- The total number of anchors collected per dupforwarding (including the canonical itself). Includes additional data about redundant and offdomain counts and the last timestamp it was collected from.integer
redundantAnchorCountCount of redundant anchors.IndexingDocjoinerAnchorStatisticsPerDupStats————————————————————————- The total number of anchors collected per dupforwarding (including the canonical itself). Includes additional data about redundant and offdomain counts and the last timestamp it was collected from.integer
scannedAnchorCountThe number of anchors being scanned from storage per dupforwarding.IndexingDocjoinerAnchorStatisticsPerDupStats————————————————————————- The total number of anchors collected per dupforwarding (including the canonical itself). Includes additional data about redundant and offdomain counts and the last timestamp it was collected from.integer
timestampWalltime when this was scanned last.IndexingDocjoinerAnchorStatisticsPerDupStats————————————————————————- The total number of anchors collected per dupforwarding (including the canonical itself). Includes additional data about redundant and offdomain counts and the last timestamp it was collected from.integer
anchorsDroppedIndexingDocjoinerAnchorStatisticsRedundantAnchorInfo————————————————————————- The total number of redundant anchors dropped per (domain, text). If we receive a large number of anchors from a particular domain, then we’ll throw out all but 200 of them from that domain. The data is sorted by the (domain, text) pairs. This is capped at 10,000 entries (if less, it will have the same number of elements as the above_limit count).String
domainIndexingDocjoinerAnchorStatisticsRedundantAnchorInfo————————————————————————- The total number of redundant anchors dropped per (domain, text). If we receive a large number of anchors from a particular domain, then we’ll throw out all but 200 of them from that domain. The data is sorted by the (domain, text) pairs. This is capped at 10,000 entries (if less, it will have the same number of elements as the above_limit count).String
textIndexingDocjoinerAnchorStatisticsRedundantAnchorInfo————————————————————————- The total number of redundant anchors dropped per (domain, text). If we receive a large number of anchors from a particular domain, then we’ll throw out all but 200 of them from that domain. The data is sorted by the (domain, text) pairs. This is capped at 10,000 entries (if less, it will have the same number of elements as the above_limit count).String
anchorsDroppedIndexingDocjoinerAnchorStatisticsRedundantAnchorInfoForPhraseCapinteger
domainIndexingDocjoinerAnchorStatisticsRedundantAnchorInfoForPhraseCapString
matchedScoreDifference in KL-divergence from spam and non-spam anchors. Value >0 indicate that anchor text from this trusted source is similar to anchors classified as spam which means that spammy anchors are legitimate.IndexingDocjoinerAnchorTrustedInfoThis message summarized anchors of one trusted site.number
matchedScoreInfoDetailed debug information about computation of trusted anchors match. Populated only when –anchorspam_penalizer_debug=trueIndexingDocjoinerAnchorTrustedInfoThis message summarized anchors of one trusted site.list(String)
phrasesScoreCount of anchors classified as spam using anchor text.IndexingDocjoinerAnchorTrustedInfoThis message summarized anchors of one trusted site.number
siteSite name from anchor.source().site().IndexingDocjoinerAnchorTrustedInfoThis message summarized anchors of one trusted site.String
textTokenized text of all anchors from the site.IndexingDocjoinerAnchorTrustedInfoThis message summarized anchors of one trusted site.list(String)
trustedScoreFraction of pages with newsy anchors on the site, >0 for trusted sites.IndexingDocjoinerAnchorTrustedInfoThis message summarized anchors of one trusted site.number
extraMessageIndexingDocjoinerCDocBuildInfoHolds extra info except annotations and raw cdoc for buildint the final cdoc.Proto2BridgeMessageSet
timeAnnotationTagsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
photosGeoAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsSnippetSegmentSnippetSegmentAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanRightsOptOutRequestIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityAuthorshipAuthorAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsCorpusPositionRankAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
babelEncoderBabelEncodingsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
sitemapsSitemapsSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWikipediaSentenceCompressionAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingConverterFileMetaInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsDocImportanceIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySosGoldmineSosAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNavboostCrapsCrapsDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityAnchorsOutdegreeOutdegreeInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsProductCompositionSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
udrConverterProductBlockDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityTangramInformationTypesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoCrawlVideoScoringSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPanopticStorytimeScoringSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
foundationSplinterSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityResultFilteringIndexingClusterAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
analyticsSiteidAnalyticsPropertyAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
localypIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySalientStuffSalientStuffSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanReviewsForWorkIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMobileSpeedPageSpeedFieldDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
nlpAtcClaraAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
udrConverterDocumentShoppingDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsSporeSporeEtlInputAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
nlxDocAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityRealtimeBoostSeismographEventAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageMustangFaviconInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
i2eV2ImageEntitiesInfosIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWikipediaWikiJoinIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsServingDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionDoubleIndexingExtensionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingPlusoneSocialScoreSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityFreshnessAbacusInstantNegativeClicksInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMumStorytimeStampEngagementAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsCorpusNewsinessAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsUniversalTableSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingInstantClusterScorerSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamCookbookCookbookSitechunkAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
scienceIndexSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataPhysicalMeasurementsComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
modernFormatContentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPagemasterPagemasterAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsSporeSporeEtlAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
websitetoolsFeedsLinkedFeedLinkedFeedIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageQualityRichdataProtoImageAnchorIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamHackedSitesGpgbGpgbNgramStatsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionFreshdocsPassthroughExtensionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsTwitterEmbeddedTweetsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
voltIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryProtiumEncyclojoinsEncycloJoinIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamContentAnchorDistIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsSporeDeeplinkAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityQ2QualityBoostIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNegativeClicksNegativeClicksInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
priceAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityImprovImprovAnchorsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoCrawlVideoClickDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsUdrExtraFactDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageRepositoryPicasaGeoDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
websitetoolsFeedsAnnotationsFeedContentAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsPcuSignedExchangeInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
adsAdsaiMagicApfelApfelRegionFinderAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPanopticIndexingDiscoverCorpusAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageQualityRichdataProtoRichdataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
acceleratedShoppingSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
smearingSmearedTermsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySimilarpagesRelatedInfoSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsCorpusNewsCorpusAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingUrlPatternUrlTreeUrlPatternAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataLanguageInfoComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAppsAffiliatedInstantAppInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityWebanswersTranscriptAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
commerceDataqualityOrganicCrawledSellerDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityWebanswersAltTitleSaftDocIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataClusteringTomeHorizontalLinkDescriptorIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
firstseenIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
fatcatSiteVerticalsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingRaffiaMediaProcessingMetadataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
richsnippetsFeedPageMapIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNsrSiteAuthorityIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
amphtmlSignedExchangeValidationPayloadIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPopfeedsUrlSourceAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageContentColorSearchColorDetectionResultsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamJsJsInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSignalsImpressionsPerDayContainerIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingUgcPageParamInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPanopticIndexingPanopticAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
rankBoostDocAttachmentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataSeriesInfoComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingDocskeletonRepeatedPatternRepeatedPatternAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
udrProtoDetailedEntityScoresIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsAmenitiesAmenitiesAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
numberAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataClusterHorizontalReferenceIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataClusterRecordIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
officialPagesQuerySetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
datacommonsDatacommonsTriplesSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingThirdpartyThirdPartyInputsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySearchoversiteAnnotatorStructuredResultsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingDocjoinerServingTimeClusterIdsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
freshboxFreshboxArticleAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsFactEvaluationSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
universalFactsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSpeechSpeechPagePropertiesProtoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionPriorScorerParameterSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamGooglebombsGooglebombsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingCenterpieceCenterPieceAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMlVerticalVerticalClassificationResultIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefExperimentalWebrefEntitiesAttachmentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageDataListIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
verticalsDiscussionDiscussionAnnotationTagIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefReconcileResponseIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamContentAuthenticAuthenticTextAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityLisztomaniaDocumentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingConverterLinkRelOutlinksIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMobileClientDependentInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityRichsnippetsAppsProtosApplicationInformationAttachmentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsNarRowIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityDniPcuAuxiliaryDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityTwiddlerDomainClassificationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageExtraImageExtraTermsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
creatorIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNsrNsrDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPricedetectorKefirPriceAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
lensVsaiDatasetsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMetricsUrlIndexingPropsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
ucpSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsHtmlTableSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
crawzallSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageSearchRejectedImageInfoListIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
searchEngagementHighlightSharedHighlightSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingCenterpieceSectionTitleAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
discussionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
adsAdsaiMagicMagicPageTypeAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
udrConverterOfferIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
telephoneNumberAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataContributorLinksIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
navboostBEGIN DATA FIELDSIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsUdrExtraFactMentionDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingInstantHistoricalContentSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
geostoreAddressProtoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMumStoryTeaserAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
authenticSiteRankDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingInstantBaseReindexWhitelistDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsAppsDocRestrictionsDocPreviewRestrictionsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataParsedAccessTermsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsMicroformatsHproductIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWikipediaAnnotatorWikipediaPageComponentAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingCenterpieceComponentLearningSourceIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefEntityJoinIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySummarySummaryIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoScoringSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
documentIntentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamScamScamnessIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySnippetsHiddenTextHiddenSpanAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsNarRowContainerIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsExtractionNewsPbeAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWikipediaAliasListIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
mapsSyntheticsGeoDocFetchKeyIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsTypedNumberTypedNumberAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningShoppingBrowseonomyDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWikipediaWikiMapperTripleSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNsrPairwiseqPairwiseQDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoCrawlAutomatedAudioExtractionSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamBrainSpamBrainPageClassifierAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityAuthorityTopicEmbeddingsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoCrawlDomainVideoClickDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
unwantedImageDataListIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamTokensSpamTokensAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefSalientEntitySetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsStructuredSnippetsSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
fatcatCompactDocClassificationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsDatesDateTimesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSignalsAccumulatedOnlineSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSpeechGoldminePodcastAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsSporeExtractorTopicAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWikipediaWikidataOrgTripleSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingUnionKeyDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionImageImageSelectionAttachmentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsDatasetModelAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionFastServingPushIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityShoppingProductReviewPageIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamScamUnauthoritativeSiteIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsObjectAnnotationsSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsWebKvSiteGroupSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPanopticIndexingDiscoverDocumentSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefPiannoTvSeasonEpisodeIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsCorpusHubPageAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsCommentBlockGroupsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMlShoppingUniverseAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsUniversalFactScoresIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsWaPassagesQueryToPassageAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsCanonicalUrlIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
nlpSentimentSentimentAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefWebitIntermediaryMidsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityTitlesSitelinksTargetTitleInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
localsearchAuthoritySiteAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingPlusonePlusOneSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsSporeAuthoritySignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsPcuAmpErrorIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPeoplesearchNamedetectorNameOccurrenceAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingRaffiaDataRecoveryInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWikipediaWikibaseEntityIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingBadpagesLoginPageResultIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
safesearchPageClassifierOutputIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
tableTalkStrideOfferPagePriceAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataAvailabilitySnapshotHolderIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefGraphMentionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityRodinRodinSiteSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
badurlsBadurlsForceSelectionSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeTpfHowtodoHowtoVideoAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamBrainSpamBrainDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataKgTopicLinksIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
researchStructuredDataInadvertentAnchorScoreAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsCrawzallAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPopfeedsChromeBackgroundAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsCorpusNewsCorpusStatusAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsMicroformatsMicroformatAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsSporeExtractorTripleAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamGodclusterAffIdAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityBreadcrumbsBreadcrumbAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
infoextractionPinpointPinpointSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsPersonPersonAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMlDomNodeSegmentsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingCenterpieceCenterpieceChecksumsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityVisualwebVisualWebModelsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSignalAggregatorUrlPatternSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
contraCuratedContentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamGodclusterServerHeaderAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataParsedSuDocIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsIBertEmbeddingAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsListFilterAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
contraContentReviewAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefWebrefStatusIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingBadpagesIndexSelectionRemovalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsAnnotationsContentAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingConverterMetaDetectorsResultsProtoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityRealtimeRtFactAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoCrawlVideoSalientTermSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageembedIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNavboostCrapsCrapsPatternSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
searcharSearchArPipelineSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsCorpusNewsAggregateSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageContentAnnotationLabelsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
dateAnnotationTagsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsAppMarketAppMarketAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityCalypsoAppsLinkIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMlVerticalVerticalClassificationV2IndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageQualityLayoutDocumentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsUniversalFactMetadataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
instantChromeViewsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
dotsNewsstandSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
udrProtoWebrefMentionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSocialCountsSocialWidgetsIndicatorIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefRefconJugglerReferencePageMappingsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNsrNsrSitechunksAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityAnimaRoutinesRoutinesPropertiesProtoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMlSemanticArticleIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataBibkeyComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryProtiumWikiaWikiaInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
orbitIntentsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
researchStructuredDataKnowledgeExplorationAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityFringeFringeQueryPriorIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityRealtimeRealtimeResultInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsCollectionsDocCollectionsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoCrawlYoutubeEmbedSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAppsMergedAppInfoAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityVisualwebVisualWebAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
richsnippetsSchemaThingIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityDniPcuRawDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWikipediaWikitrustWikiTrustInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
countryCountryAttachmentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingDocjoinerWikiInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
udrProtoOverlayIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
timeAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanLibrarianPopulatorDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNsrUvSitechunksAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMumStorytimeStampQualityAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPanopticVoiceUgcAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingConverterPdfFileMetaInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
extractedBookInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityRealtimeBoostRealtimeBoostResponseIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityViewsAnswersAnswerAnnotationInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityHorizonRecordInfoAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySitemapThirdPartyCarouselsItemListsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsWebanswersContextItemAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamFatpingIndexFeedIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityCopiaFireflySiteInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityHistoricalContentAgeIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingWebChannelsWebChannelAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
commerceDataqualityOrganicShoppingAnnotationSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
travelAssistantTravelDocClassificationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingBeringPublisherOnPageAdsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsImageRepositoryImageLicenseInfoAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageQualitySalientTermsImageQuerySmearingListIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefJuggernautIndicesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataItemSpecificBibdataComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
dateAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
commonsenseStoneSoupProtoRaffiaInstructionsSeqIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
emailAddressAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanLibrarianBookMetadataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageQualitySensitiveMediaOrPeopleEntitiesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySitemapDocumentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
websitetoolsFeedsPodcastPodcastSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityWebfeederDocEmbeddingIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
noindexedImageDataListIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageQualitySensitiveFaceSkinToneSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySalientCountriesSalientCountrySetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageMustangWebsearchImageSnippetResponseIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageQualityLandingPageProtoLandingPageSalientTextSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPricedetectorProductBlockAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsNarIndexingMetadataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsWaPassagesTrimmedQueryToPassageAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityGeoBrainlocGoldmineBrainlocAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
personalizationGameWebeventsEventsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefPiannoDocumentIntentsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataAvailabilityInfoComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityDniNewsstandPcuIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryProtiumGoldmineTriplificationResultIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageQualitySalientTermsImageSalientTermSetMapIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsFeedbackSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefPageClassificationSignalsSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMlEntityInfoboxesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataClusterVolumesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageQualityLabelmakerDocMediaLabelsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
amphtmlSignedExchangeErrorDetailsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
safesearchSafeSearchInternalPageSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMobileInterstitialsProtoDesktopInterstitialsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsDocRestrictionsInDocRestrictionsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataRightsComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
personalizationGameWebeventsEventIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamCookbookCookbookAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingImagesRelatedImageSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageembedDomainNormIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySalientTermsQuerySmearingModelIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityAnimaLivewebLivewebAttachmentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsDiscussionThreadDiscussionViewProtoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsKatsSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefWebitScopeSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsNewsClassificationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsCleanTextProtoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNsrPqDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
researchCoauthorOpinionAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamHackedSitesDocSpamInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataAllItemSpecificBibdatasIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingDupsLocalizedLocalizedClusterIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingInstantNewsImagesInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingConverterPdfPageAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryProtiumGoldmineTypeAssertionOutputIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryProtiumWebkvWebKvIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefWebitTripleSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
chromeCountsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
shoppingQualityShoppingSiteClassifierShopfabIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
discoverSourceIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
boilerplateAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
instantNavboostIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsAnnotationMetaIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
dotsGaramondSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
measurementAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
youtubeAlexandriaYoutubeBodyIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
shoppingQualityShoppingSiteClassifierIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsRodinArticleAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamHackedSitesWordFrequenciesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageStockStockImageAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingBadpagesBadPageParseResultIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNsrDokiAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsStorehoursStoreHoursAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingConverterContentParserResultsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
socialPersonalizationKnexAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsNewsArticleChecksumIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityImprovDocToQueriesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPopfeedsHubDataAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityExploreQueryableFeedHashtagListAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionTensorFlowExtensionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageRepositoryGeolocationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
imageMonetizationFeaturedDocumentPropertiesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityChardPredictedXlqIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPanopticStorytimeAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
robotsPolicyIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataAvailabilitySnapshotIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryUpdaterIndexSelectionAttachmentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
fontsAnalysisAnnotatorFontsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMlPageStructureIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebtablesDataTableMidAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefUndermergedEntitiesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingRaffiaIndexingIntermediateIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityProseJsonLdAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
predictedAuthenticityIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
websitetoolsFeedsSporeFeedsSporeTriplesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsListSummaryAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingInstantSignalSourceTagsExtensionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataTomeMembersComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
nlpSaftNlxDocAnnotatorMigrationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
tasksTabaTabaDocSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsAppsCacheColonAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeTablesTableInternalDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
boilerplateVisibleBytesEstimatesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsLocalizedFactIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsVerseAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySalientStructuresSalientStructureSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingCustomCorpusCdmAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingRaffiaOverlayCDocAttachmentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingDeepwebStoreListAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
researchStructuredDataNewsEmbeddingAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoCrawlWatchPagePatternClassificationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityDiscoverUgcScatScatEmbeddingAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityQ2SiteQualityFeaturesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMobileSmartphonePatternClassificationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningShoppingTwdModelVersionsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
forumRankingForumPostsSafeSearchAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsPhoneTypePhoneTypeAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityShoppingProductReviewIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
richsnippetsPageMapAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsVideosNewsVideoAnnotationSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
adsShoppingWebpxRawShoppingAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityChardDocumentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
commonsenseQueriosityGoldmineQnaAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsLicensedResourcesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeTablesUniversalTableAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySnippetsSnippetSpansInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoWebGalleryIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
commerceDataqualityOrganicShoppingSiteQualityIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefWebitScopeFprintIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataTomeDetailsComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingBadpagesUnifiedModelFeaturesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingConverterContentGenerationInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityTimebasedTimeSensitivityTimeSensitivityAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingInstantNewsHighlyCitedDocumentSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingBadpagesCollapserInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
relativeDateAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
shoppingWebentityShoppingAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
geoPointAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
infoextractionPinpointPinpointAnnotationSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNlqStructuredSearchAnnotationAnalysisAutomaticExtractionAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebtablesDataTableAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionProtoBasePromotionInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataTomePriceInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
richsnippetsPageMapIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsSubscribewithgoogleSwgAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsSocialLinksSocialLinksAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
commonsenseScoredCompoundReferenceAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsNearDupsInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityOrbitAsteroidBeltIntermediateDocumentIntentScoresIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityProseThumbnailSelectionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeTasksUniversalTaskAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefUniversalEmbeddingRetrievalDebugIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebtablesTranslationMessageIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
navBoostDocumentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
langIdLangReasonerDocumentLanguagesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefPageClassificationAnchorSignalsSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
watchpageLanguageWatchPageLanguageResultIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsCrawlFilterNewsLinkCrawlSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySixfaceSixfaceUrlDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySalientTermsSalientTermSetIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
richsnippetsDataObjectIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
utilStatusProtoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
dateRangeAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsAutomobileVinAnnotatorAutomobileVinAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingLatticeLatticeAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityRealtimeBoostRealtimeBoostEventIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingVideosVideoAnchorSourceInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
metawebExtractionDocumentEvidenceIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySnippetsListSnippetsAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingInstantClusterScorerArticleIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
timeRangeAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsNewromanIndexingNewRomanSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeGraphAcquisitionFeedsQuotesQuotesAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsCorpusLeafPageAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsVideosNewsAnchorSourceInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingVideosVideoPlaylistAnchorSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsNewsContentSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
nsrFdpDataMust be used together with quality_nsr_nsr_dataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionProcessingPriorityExtensionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefWebrefEntitiesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
whatshappStrideExtractionsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsSectionHeadingAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
dateTimeAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsShoppingSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataPublicDomainInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityExploreQueryableFeedEcsAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityShoppingShoppingProductReviewAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamContentImageMapPbIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySnippetsMetadescriptionDuplicateMetaSiteSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionAcquisitionMetadataAttachmentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataPublicationDetailsComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
personalizationGameWebeventsConsolidatedEventsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingInstantActiveClusterScorerSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanLibrarianPopulatorPageDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsRdfaRdfaAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
geoPointResolutionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityExploreQueryableFeedTopicFeedScoringSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityExploreQueryableFeedHashtagAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spamContentSiteAgeStatsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityPopfeedsUrlPredictionAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingFreshSchedulerFreshSchedulerDoubleInstantExtensionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
perDocLangidDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
youtubeAlexandriaYoutubeSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingFreshSchedulerOutlinkDiscoveryHistoricalHubsSignalIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoYoutubeLiveCardioCardioStatsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
nlpSaftRodinClassificationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityNlqStructuredSearchListingPagesListingPageAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsSduPageTypeAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMobileSmartphoneContentAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsNewsForEducationReadingStatisticsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsMicrodataMicrodataAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefReferencePagesClassifierScoredPageIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityDniPcuParsedDataIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
nlpSaftDocumentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityWebshineDocResourcesIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
videoCrawlAutomatedExtractionSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
uriAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataClusteringSeriesSeriesInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityChardPredictedQueryFringeScoreIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityHorizonProtoHorizonEmbeddingsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
analyticsSiteidAnalyticsRenderedOutputIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityDniPcuMetaAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataMaterialInfoComponentIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualitySherlockKnexAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
spambrainDomainSitechunkDataEND DATA FIELDSIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityTitlesAlternativeTitlesInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingAnnotationsEntityPageIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityGeoLoglocGoldmineDocumentLocationAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
knowledgeMiningFactsDocumentSignalsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryAnnotationsAddressAnnotationsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
newsCorpusNewsCorpusRootAnnotationIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
oceanMetadataPatentPublicationDetailsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
qualityContraSelectedAttributionsIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
rankembedIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
repositoryWebrefPreprocessingReferencePageCandidateListIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
rosettaLanguageIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingMobileObelixInfoIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
indexingSelectionLanguageExtensionIndexingDocjoinerDataVersionDataVersion tracks the version of data in CompositeDoc. The notion of “data” here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 543IndexingDocjoinerDataVersionVersionInfo
considerationTimestampMicrosSometimes, a piece of data may not exist for a document (and we don’t want to delete it), so timestamp_micros won’t exist. However, consideration_timestamp_micros will be set to indicate we tried to update that piece of data for tracking purposes.IndexingDocjoinerDataVersionVersionInfoString
humanReadableVersionIndexingDocjoinerDataVersionVersionInfoString
timestampMicrosThe timestamp when a piece of data is updated (or deleted if the data doesn’t exist in the update).IndexingDocjoinerDataVersionVersionInfoString
clusterIdThe unique id to distinguish members in cluster. It could be generated in different ways according to reason, e.g. LINK_REL_NEXT_PREVIOUS: it is the fingerprint of the URL of index 0; PAGE_PARAMETER_INFO: it is the fingerprint of pagination pattern (pagination_pattern_fp field in PageParamInfo message).IndexingDocjoinerServingTimeClusterIdThe serving cluster id metadata. Why we cluster the documents. The default value is UNKNOWN. Serving-Side Clustering is used for pages which represent the same content but are not identical (e.g. translated pages, or paginated content). Those documents are not dup-clustered in Alexandria so that all documents (and their tokens) are available to search queries. However, those documents are assigned the same Serving-Time-Cluster-ID (on the same reasontype), which during serving guarantees that only one of them is shown to the user.String
indexForDebuggingThe member index of this document in cluster. Starts from “0”. Note that indices of pages in a cluster may not be consistent with each other, because we may update them at different points in time. Currently only used for debugging.IndexingDocjoinerServingTimeClusterIdThe serving cluster id metadata. Why we cluster the documents. The default value is UNKNOWN. Serving-Side Clustering is used for pages which represent the same content but are not identical (e.g. translated pages, or paginated content). Those documents are not dup-clustered in Alexandria so that all documents (and their tokens) are available to search queries. However, those documents are assigned the same Serving-Time-Cluster-ID (on the same reasontype), which during serving guarantees that only one of them is shown to the user.integer
reasonThe reason why this document is clustered into this cluster.IndexingDocjoinerServingTimeClusterIdThe serving cluster id metadata. Why we cluster the documents. The default value is UNKNOWN. Serving-Side Clustering is used for pages which represent the same content but are not identical (e.g. translated pages, or paginated content). Those documents are not dup-clustered in Alexandria so that all documents (and their tokens) are available to search queries. However, those documents are assigned the same Serving-Time-Cluster-ID (on the same reasontype), which during serving guarantees that only one of them is shown to the user.String
clusterIdThe exact cluster metadata for each individual cluster if any.IndexingDocjoinerServingTimeClusterIdsThis message contains a set of cluster ids used to de-dup at serving time. A document could be clustered into different clusters according to different properties.list(IndexingDocjoinerServingTimeClusterId)
clusterIdCluster-ID of that locale entry. Not Populated if the message is part of a Cluster-Proto (e.g. when loaded as a signal). The data is being populated when the proto is used outside of the cluster context. For instance, when being used as a dups-computed-localized-alternate-name.IndexingDupsComputedLocalizedAlternateNamesLocaleEntryString
deviceMatchInfoDevice match info calculated only by URL pattern.IndexingDupsComputedLocalizedAlternateNamesLocaleEntryString
languageLanguage/Region code. E.g. “en-US” or “de”. Allowed values are language-region codes based on the W3C recommendation http://www.w3.org/TR/html401/struct/dirlang.html#langcodesIndexingDupsComputedLocalizedAlternateNamesLocaleEntryString
urlThe alternate url representing the content for a specific language and region (or language only).IndexingDupsComputedLocalizedAlternateNamesLocaleEntryString
urlEncodingsee webutil/urlencodingIndexingDupsComputedLocalizedAlternateNamesLocaleEntryinteger
urlRegionCodeThe region code that was extracted from the URL, either by the TLD or via a pattern (like ‘en-ca’ as a path element).. Always filled in if known, unlike the sometimes left out region part of the language field. Unknown Region CodeIndexingDupsComputedLocalizedAlternateNamesLocaleEntryinteger
boostSourceBlockerDefined as a source-blocker, a result which can be a boost target but should itself not be boosted (e.g. roboted documents). For more details on source and target blocking, please read through the code for quality/twiddler/impls/PROTECTED/local_result_twiddler_v2.ccIndexingDupsLocalizedLocalizedClusterboolean
clusterIndexingDupsLocalizedLocalizedClusterlist(IndexingDupsLocalizedLocalizedClusterCluster)
deprecatedHreflangInfoSince July 2014 those two fiels are no longer populated, the data is stored in the TargetLinkSets instead. The deprecated fields contain values only for docs which have not been processed since July 2014.IndexingDupsLocalizedLocalizedClusterIndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfo
deprecatedOutlinksInfoIndexingDupsLocalizedLocalizedClusterIndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfo
documentLanguageThe language of this document (as detected by on-page language detection, not influenced by external anchor signals or other indirect conclusions).IndexingDupsLocalizedLocalizedClusterString
hreflangTargetLinkIndexingDupsLocalizedLocalizedClusterIndexingDupsLocalizedLocalizedClusterTargetLinkSets
inbodyTargetLinkIndexingDupsLocalizedLocalizedClusterIndexingDupsLocalizedLocalizedClusterTargetLinkSets
outlinksTargetLinkIndexingDupsLocalizedLocalizedClusterIndexingDupsLocalizedLocalizedClusterTargetLinkSets
sitedupRuleIdThe list of Sitedup rule IDs for this specific URL. The value is only populated if the URL has at least one localized cluster fulfilling the following conditions: – spans more than one host – does not have filtering enabled due to other input (e.g. due to being a hreflang cluster).IndexingDupsLocalizedLocalizedClusterlist(String)
warningMessageA warning indicator that a problem has occurred, e.g. cross-domain links being filtered early. The warning is just presented for debugging purposes.IndexingDupsLocalizedLocalizedClusterlist(String)
clusterIdThe cluster id, a unique int64 id for the cluster.IndexingDupsLocalizedLocalizedClusterClusterString
clusterTypeIndexingDupsLocalizedLocalizedClusterClusterString
deprecatedDebugInfoDebug Info being attached to each cluster, to understand how it was created. That info is stored in Alexandria, but not available during serving.IndexingDupsLocalizedLocalizedClusterClusterlist(String)
filteringEnabledIndicates that filtering can be applied on the category (if many results of one cluster show up on the SERP, only one should be kept).IndexingDupsLocalizedLocalizedClusterClusterboolean
languageThe language as represented by the URL, e.g. ‘use this document on the cluster for German queries’.IndexingDupsLocalizedLocalizedClusterClusterString
regionCodeSame as language, except for the country. This is the Stable Region Code. This value may be UNKNOWN even though the URL region code is known, namely when the known region code was the main region for the language and for that language no other region is specified (e.g. de-DE being the only german variation). Unknown Region CodeIndexingDupsLocalizedLocalizedClusterClusterinteger
urlRegionCodeSimilar to region_code, but always has the value filled in if known. Unknown Region CodeIndexingDupsLocalizedLocalizedClusterClusterinteger
fpOutlinksA fingerprint of all outlink-URLs of this document that have been used as algorithmic input.IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoClusterInfo no longer being populated (they are the ‘old’ version of storing meta-information only available in old not-reprocessed documents, all documents processed since July 2014 use the ‘TargetLinkSet’ instead.String
lastModifiedInputTimestampMsThe last time the set of outgoing links of this document was modified. This is the input for our calculation.IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoClusterInfo no longer being populated (they are the ‘old’ version of storing meta-information only available in old not-reprocessed documents, all documents processed since July 2014 use the ‘TargetLinkSet’ instead.String
lastProcessedOutputTimestampMsThe last time the cross-validation of the links was done. Between that last timestamp and now, only cached results have been used.IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoClusterInfo no longer being populated (they are the ‘old’ version of storing meta-information only available in old not-reprocessed documents, all documents processed since July 2014 use the ‘TargetLinkSet’ instead.String
linkMemberAll verified members of the cluster (including recursive inclusions).IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoClusterInfo no longer being populated (they are the ‘old’ version of storing meta-information only available in old not-reprocessed documents, all documents processed since July 2014 use the ‘TargetLinkSet’ instead.list(IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkMember)
unvalidatedOutlinkIndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoClusterInfo no longer being populated (they are the ‘old’ version of storing meta-information only available in old not-reprocessed documents, all documents processed since July 2014 use the ‘TargetLinkSet’ instead.list(IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkData)
annotationSourceIndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkDataString
crawlTimestampIf set, represents the crawl timestamp. If not set, there is no known crawl timestamp for that url.IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkDatainteger
urlIndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkDataString
annotationSourceIndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkMemberString
languageCodeIndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkMemberlist(String)
urlIndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkMemberString
linkDataIndexingDupsLocalizedLocalizedClusterTargetLinkMessage containing information about the localized URL linked to from this document in a localized-variation-context.IndexingDupsLocalizedLocalizedClusterTargetLinkLink
metaDataIndexingDupsLocalizedLocalizedClusterTargetLinkMessage containing information about the localized URL linked to from this document in a localized-variation-context.IndexingDupsLocalizedLocalizedClusterTargetLinkMetadata
targetDocDataIndexingDupsLocalizedLocalizedClusterTargetLinkMessage containing information about the localized URL linked to from this document in a localized-variation-context.IndexingDupsLocalizedLocalizedClusterTargetLinkTargetDocData
validationStatusIndexingDupsLocalizedLocalizedClusterTargetLinkMessage containing information about the localized URL linked to from this document in a localized-variation-context.String
annotationSourceInfoIndexingDupsLocalizedLocalizedClusterTargetLinkLinkBasic information about the link target, i.e. the URL or the language code it’s believed to represent.list(IndexingDupsLocalizedLocalizedClusterTargetLinkLinkAnnotationSourceInfo)
crossDomainFor a link A->B where B is represented by this proto, cross_domain := Host(A) != Host(B).IndexingDupsLocalizedLocalizedClusterTargetLinkLinkBasic information about the link target, i.e. the URL or the language code it’s believed to represent.boolean
urlThe URL the information in TargetLink refers to.IndexingDupsLocalizedLocalizedClusterTargetLinkLinkBasic information about the link target, i.e. the URL or the language code it’s believed to represent.String
anchorTextOptional field for storing the anchor text the language code was extracted from. Applies to outlinks only.IndexingDupsLocalizedLocalizedClusterTargetLinkLinkAnnotationSourceInfoMessage describing where was the link discovered and with what language annotation.String
annotationSourceInformation about where the language code was extracted from.IndexingDupsLocalizedLocalizedClusterTargetLinkLinkAnnotationSourceInfoMessage describing where was the link discovered and with what language annotation.String
languageCodeLanguage code extracted from the URL (hreflang or outlink). One URL can represent multiple language codes, like e.g. de-at and de-chIndexingDupsLocalizedLocalizedClusterTargetLinkLinkAnnotationSourceInfoMessage describing where was the link discovered and with what language annotation.String
sourceFeedUrlOptional field that stores the feed URL where a Sitemap annotation was discovered. Only populated if annotation_source is SITEMAP.IndexingDupsLocalizedLocalizedClusterTargetLinkLinkAnnotationSourceInfoMessage describing where was the link discovered and with what language annotation.String
firstSeenMsWhen was the first time a link seen. Defaults to last crawled timestamp.IndexingDupsLocalizedLocalizedClusterTargetLinkMetadataInformation derived from alexandria when processing the cross-link validation (e.g. when this was done the last time, or when we started to see the outlink for the first time).String
lastVerifiedMsWhen was the last time a link validated. Validation is the process of (re)reading the relevant information for a linked document from its respective row in the document table. Data needed for understanding the correctness of the cluster is copied over to have it available locally.IndexingDupsLocalizedLocalizedClusterTargetLinkMetadataInformation derived from alexandria when processing the cross-link validation (e.g. when this was done the last time, or when we started to see the outlink for the first time).String
directTargetLinkDirect links are the simplest scenarios where A simply links to B.IndexingDupsLocalizedLocalizedClusterTargetLinkSetslist(IndexingDupsLocalizedLocalizedClusterTargetLink)
indirectTargetLinkRepeated field for URLs that are not directly linking to the document TargetLink refers to. We can encounter the following scenario: A -> Links to B -> links to C (i.e. without (A) linking to (C)). In the context of B, indirect_inclusion would include the link to ‘C’ but not the link back to ‘A’.IndexingDupsLocalizedLocalizedClusterTargetLinkSetslist(IndexingDupsLocalizedLocalizedClusterTargetLink)
contentLanguageThe detected on-page content language of the document.IndexingDupsLocalizedLocalizedClusterTargetLinkTargetDocDataInformation about the URLs being validated.String
crawlStatusIndexingDupsLocalizedLocalizedClusterTargetLinkTargetDocDataInformation about the URLs being validated.String
crawlTimestampSecondsThe timestamp of the last crawl attempt from crawl_timestamp column.IndexingDupsLocalizedLocalizedClusterTargetLinkTargetDocDataInformation about the URLs being validated.integer
isCanonicalWhether the URL being validated is canonical at the time of processing.IndexingDupsLocalizedLocalizedClusterTargetLinkTargetDocDataInformation about the URLs being validated.boolean
outgoingLinkDataRepeated field for data about the outgoing hreflang links that appear in the document that the currently processed URL refers to.IndexingDupsLocalizedLocalizedClusterTargetLinkTargetDocDataInformation about the URLs being validated.list(IndexingDupsLocalizedLocalizedClusterTargetLinkLink)
compressedDocumentTreesThe document’s DOM and render tree produced by WebKit as a side effect of rendering the page. It might be compressed or not. Thus, use indexing::embedded_content::UncompressWebkitDocument to decode it.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21String
convertedContentsThe converted contents, as produced by the same DocumentUpdater transaction that generated the render tree. Useful whenever one of our users wants to experiment with deriving an annotation from the render tree.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21String
embeddedLinksInfoInformation about all external resources needed to render this page, a.k.a. embedded links. This includes .css files, images embedded in a page, external javascripts, iframes etc.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21IndexingEmbeddedContentEmbeddedLinksInfo
headlessResponseThe headless response for rendering the document.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21HtmlrenderWebkitHeadlessProtoRenderResponse
isAlternateSnapshotIndicate if the snapshot is generated from alternate snapshot. If true, the snapshot will be exported even if the snapshot quality score is low.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21boolean
originalEncodingThe original encoding of the content crawled from trawler. It’s the value of enum i18n::encodings::encoding. We put a int32 here instead of encoding proto to maintain the compatibility of “py_api_version = 1”IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21integer
rawRedirectInfo*** DEPRECATED *** This field is only populated in fresh_doc which is shutting down.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21IndexingConverterRawRedirectInfo
referencedResourceInformation about all external resources used to render this page, a.k.a. embedded links. This includes .css files, images embedded in a page, external javascripts, iframes etc.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21list(HtmlrenderWebkitHeadlessProtoReferencedResource)
renderedSnapshotOnly exist in dry run mode.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21HtmlrenderWebkitHeadlessProtoImage
renderedSnapshotImageSnapshot image of a rendered html document (possibly encoded as png, jpeg, or webp).IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21String
renderedSnapshotMetadataA collection of values which are needed by the users of the Kodachrome bigtable.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21SnapshotSnapshotMetadata
renderedSnapshotQualityScoreThe quality of the image, 0.0 is the worst, 1.0 is the best. If all dependencies are successfully crawled, the quality should be 1.0. If one or more of the dependencies are unknown, the quality will be lower.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21float
renderingOutputMetadataIndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21IndexingEmbeddedContentRenderingOutputMetadata
richcontentDataThe rich content data to recover the original contents from the converted_contents. Useful for offline content analysis.IndexingEmbeddedContentEmbeddedContentInfoThis protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21IndexingConverterRichContentData
embedderInfoThis field is optional only because we’re adding it late and want to support records written before that. For newly produced records, this field should always be set.IndexingEmbeddedContentEmbeddedLinksInfoIndexingEmbeddedContentEmbedderInfo
linkIndexingEmbeddedContentEmbeddedLinksInfolist(IndexingEmbeddedContentLinkInfo)
pageSizeInfoPage download size.IndexingEmbeddedContentEmbeddedLinksInfoIndexingEmbeddedContentPageSizeInfo
sumHttpResponseLengthThis field is the sum of http_response_length for the embedder and all embedded resources. This is expected to be set only in the docjoins, not in the pinax tables or the exported bigtable.IndexingEmbeddedContentEmbeddedLinksInfointeger
uncrawledLinkUrlIndexingEmbeddedContentEmbeddedLinksInfolist(String)
importanceAsEmbedderIndexingEmbeddedContentEmbedderInfointeger
linkInfoIndexingEmbeddedContentEmbedderInfoIndexingEmbeddedContentLinkInfo
counterIndexingEmbeddedContentFetchHostCountLog how many urls finally goes to trawler on a host in rendering.list(IndexingEmbeddedContentFetchHostCountCounter)
hostIndexingEmbeddedContentFetchHostCountLog how many urls finally goes to trawler on a host in rendering.String
numIndexingEmbeddedContentFetchHostCountLog how many urls finally goes to trawler on a host in rendering.integer
nameIndexingEmbeddedContentFetchHostCountCounterString
numIndexingEmbeddedContentFetchHostCountCounterinteger
adsResourceTypeIndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.String
crawlStatusThe field always exists, and has four options: UNKNOWN, CONTENT, ROBOTED and ERROR, which are defined in indexing.converter.CrawlStatus.IndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.integer
criticalResourceTypeIndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.String
fetchWithSmartphoneUaTrue if the response is fetched with SMARTPHONE user agent.IndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.boolean
isAdsResourceIndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.boolean
isCriticalResourceIndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.boolean
isTrivialResourceIndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.boolean
numTrawlerFetchesNumber of trawler fetches while fetching this URL. In most cases, this number will be 0 or 1.IndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.integer
rewriteMethodUsed for logging purposes only here.IndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.String
robotsInfoNote that this robots_info should only be used for noindex_reason and will only be present for TARGET_MAIN_FRAME / TARGET_SUBFRAME fetches.IndexingEmbeddedContentFetchUrlResponseMetadataCapsulate all metadata annotated from fetch server. This message will typically go through: – EmbeddedContentFetcher, or – EmbeddedLinkGetter-> DenormalizedContent -> ContentStore. And finally deposit in referenced_resources and link_info.IndexingConverterRobotsInfo
contentLengthSize of the HTTP body (payload of the HTTP response, excluding headers), pre-decompression. Equal to the value of the Content-Length header if any. NOTE: if this proto is converted to from ReferencedResource, we have to use the size of the full HTTP response (i.e. http_response_length) as an approximation, as we could not get the size of HTTP headers.IndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18integer
contentTypeIndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18integer
crawlDurationTime spent downloading this resource, in milliseconds. Not a timestamp!IndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18integer
crawlStatusEnum values for crawl_status are defined in indexing/converter/proto/converter.protoIndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18integer
crawlTimestampIndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18integer
deprecatedRedirectIndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18list(String)
fetchSourceInfoWhere this resource comes from.IndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18list(WirelessTranscoderFetchFetchSourceInfo)
fetchStatusFetch status from trawler.IndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18TrawlerFetchStatus
fetchUrlResponseMetadataPopulated from embedded-content fetch server.IndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18IndexingEmbeddedContentFetchUrlResponseMetadata
frdFetchReplyData from trawler.IndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18TrawlerFetchReplyData
httpResponseLengthSize of the full HTTP response (headers and body pre-decompression). Semantically equal to content_length plus size of the HTTP headers.IndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18integer
isCacheableIndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18boolean
isRobotedContentFromFastnetIndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18boolean
uncompressedContentLengthSize of the HTTP body (payload of the HTTP response, excluding headers), post-decompression. Equal to content_length if the body was not compressed to begin with. NOTE: if this proto is converted to from ReferencedResource, we have to use the size of the full HTTP response as an approximation, as we could not get the size of HTTP headers.IndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18integer
urlIndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18String
webkitFetchMetadataIndexingEmbeddedContentLinkInfoInformation about one embedded link. Next tag: 18HtmlrenderWebkitHeadlessProtoWebKitFetchMetadata
documentDataIndexingEmbeddedContentOutputGenerationTimestampsFor each of the output fields generated by the embedded content system, the Unix timestamp of when it was most recently generated. Used for controlling the frequency of generation (and thus exporting) of the fields which are expensive to generate and/or the consumers of which are not able to handle the high load of daily/hourly updates. If a timestamp corresponding to an output field is missing, it means the last attempt to generate this field failed (which could be mean that the document was not important enough for this field to be generated, or that we hit a bug in WebKit). In case we choose not to regenerate the field (because the latest generation timestamp is too fresh) the corresponding timestamp doesn’t change. Next tag available: 8integer
renderedSnapshotIndexingEmbeddedContentOutputGenerationTimestampsFor each of the output fields generated by the embedded content system, the Unix timestamp of when it was most recently generated. Used for controlling the frequency of generation (and thus exporting) of the fields which are expensive to generate and/or the consumers of which are not able to handle the high load of daily/hourly updates. If a timestamp corresponding to an output field is missing, it means the last attempt to generate this field failed (which could be mean that the document was not important enough for this field to be generated, or that we hit a bug in WebKit). In case we choose not to regenerate the field (because the latest generation timestamp is too fresh) the corresponding timestamp doesn’t change. Next tag available: 8integer
numImagesImages are also resources. num_images <= num_resources.IndexingEmbeddedContentPageSizeInfoPage download size information.integer
numImagesWithContentNumber of images whose crawl status is CONTENT.IndexingEmbeddedContentPageSizeInfoPage download size information.integer
numResourcesNumbers below don’t include embedder.IndexingEmbeddedContentPageSizeInfoPage download size information.integer
numResourcesWithContentNumber of resources whose crawl status is CONTENT.IndexingEmbeddedContentPageSizeInfoPage download size information.integer
sumHttpResponseLengthSum of embedder and all referenced resources.IndexingEmbeddedContentPageSizeInfoPage download size information.integer
cacheExpireTimestampUsecWhen the rendered content would expire from the cache in microseconds.IndexingEmbeddedContentRenderCacheStatsFields used to track cache use in the rendering microservice. Next tag available: 6String
crawledSimhashDistanceIndexingEmbeddedContentRenderCacheStatsFields used to track cache use in the rendering microservice. Next tag available: 6integer
lastRenderedTimestampUsecThe last time the document was rendered, in microseconds. Does not update in case of cache use.IndexingEmbeddedContentRenderCacheStatsFields used to track cache use in the rendering microservice. Next tag available: 6String
renderCacheIndexingEmbeddedContentRenderCacheStatsFields used to track cache use in the rendering microservice. Next tag available: 6String
renderedSimhashDistanceIndexingEmbeddedContentRenderCacheStatsFields used to track cache use in the rendering microservice. Next tag available: 6integer
fetchHostCountA host->count mapping to log how many embedded_links in each host finally goes to trawler during rendering.IndexingEmbeddedContentRenderingFetchStatsFetch stats during rendering.list(IndexingEmbeddedContentFetchHostCount)
configParamsIndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30IndexingEmbeddedContentRenderRequestConfigConfigParams
exceptionsThe exceptions observed during the rendering. In bit-field encoding of enum values of RenderResponse.RenderingException.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30String
experimentalRenderTimeMsecTotal GCU time for rendering the document in millisecond. This data is from render_stats.render_cost_mgcu in RenderResponse proto. Note that this is *experimental* field. Please check with rendering-infra@ if you want to use.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30integer
generationTimestampsIndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30IndexingEmbeddedContentOutputGenerationTimestamps
importanceThe importance value of the rendered document.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30integer
lastNewContentProbingTimestampThe timestamp of last new content probing.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30integer
newTokensPercentageAfterRenderingPercentage of new tokens in the rendered the document content.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30float
numNewTokensFoundInRenderingIndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30integer
refreshIndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30boolean
renderCacheStatsA collection of fields to track stats on cache use in the Rendering microservice.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30IndexingEmbeddedContentRenderCacheStats
renderEngineIndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30String
renderEventDifferent types of events which happened during rendering.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30list(HtmlrenderWebkitHeadlessProtoRenderEvent)
renderServerClThe CL from which the render engine was built.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30String
renderTreeQualityScoreIndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30float
renderedSnapshotSignatureShort signature (usually less than 1 KB) which captures a perceptual hash on the rendered image. This is used to determine whether successive renderings should be output. See the library in googlen/snapshot/shared/similarity.* for more info about how this value is interpreted and used.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30String
renderedTimeUsecCurrent time in microseconds the document is going through rendering system. This field is set regardless of whether the document is being rendered or if we are skipping rendering by using a cache.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30String
renderingFetchStatsIndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30IndexingEmbeddedContentRenderingFetchStats
selectionResultThe corpus selection result. Can be used for offline analysis.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30IndexingEmbeddedContentSelectionResult
snapshotQualityScoreThese scores are copied from htmlrender_webkit_headless_proto.Document.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30float
withMissingResourcesTrue if there were any missing resources during the rendering.IndexingEmbeddedContentRenderingOutputMetadataSmall values from rendering output. It’s stored as a column in alexandria document table. Next tag available: 30boolean
virtualTimeIndexingEmbeddedContentRenderRequestConfigConfigParamsfloat
renderEffortIndexingEmbeddedContentSelectionResultOutput that indicates a url should be in our corpus.String
selectorIdIndicate which selector has made the decision.IndexingEmbeddedContentSelectionResultOutput that indicates a url should be in our corpus.String
idUnique ID.IndexingMlVerticalVerticalIteminteger
nameThe description name.IndexingMlVerticalVerticalItemString
petacatIdThe corresponding Petacat ID.IndexingMlVerticalVerticalIteminteger
probabilityThe probability of the vertical, whose value is in [0.0, 1.0].IndexingMlVerticalVerticalItemnumber
detailsIndexingMobileInterstitialsProtoDesktopInterstitialsDesktop interstitials signal. The message contains both fields for site-level signal lookup in Index Signals (go/index-signals) and fields for final attachment in DocJoin.list(IndexingMobileInterstitialsProtoDesktopInterstitialsDetails)
pipelineEpochEpoch of the interstitial offline pipeline generating this signal.IndexingMobileInterstitialsProtoDesktopInterstitialsDesktop interstitials signal. The message contains both fields for site-level signal lookup in Index Signals (go/index-signals) and fields for final attachment in DocJoin.String
pipelinePatternIf present, pipeline_pattern identifies the cluster of URLs for which the signal value was smeared.IndexingMobileInterstitialsProtoDesktopInterstitialsDesktop interstitials signal. The message contains both fields for site-level signal lookup in Index Signals (go/index-signals) and fields for final attachment in DocJoin.String
urlTreeURL tree of interstitial patterns belong to the host, to be used as site-level signal in Index Signals. A pattern may contain a payload InterstitialPatternPayload, which will indicate the violated interstitial types of this pattern.IndexingMobileInterstitialsProtoDesktopInterstitialsDesktop interstitials signal. The message contains both fields for site-level signal lookup in Index Signals (go/index-signals) and fields for final attachment in DocJoin.IndexingUrlPatternUrlTreeUrlTree
violatesDesktopInterstitialPolicyOverall policy violation status. If this is true, at least one of the InterstitialSignal below indicates a violation.IndexingMobileInterstitialsProtoDesktopInterstitialsDesktop interstitials signal. The message contains both fields for site-level signal lookup in Index Signals (go/index-signals) and fields for final attachment in DocJoin.boolean
basicInfoIndexingMobileInterstitialsProtoDesktopInterstitialsDetailsAn optional message that may contain details of the signals computation.IndexingMobileInterstitialsProtoInterstitialBasicInfo
isSmearedSignalIndicates whether the signal value is “smeared”, e.g. extrapolated from other URLs.IndexingMobileInterstitialsProtoDesktopInterstitialsDetailsAn optional message that may contain details of the signals computation.boolean
absoluteBoxStores the geometry of detected interstitial in absolute page pixels.IndexingMobileInterstitialsProtoInterstitialBasicInfoBasic interstitial info, shared by all layout types. This message can be used to quickly iterate through detected interstitials, if layout type specific details are not required. Note: this message stores info for one primary interstitial as detected by a particular layout codepath. Some codepaths, e.g. overlay interstitial detection, may find multiple interstitial candidates; such details can be found in codepath-specific messages below.HtmlrenderWebkitHeadlessProtoBox
contentTypeIndexingMobileInterstitialsProtoInterstitialBasicInfoBasic interstitial info, shared by all layout types. This message can be used to quickly iterate through detected interstitials, if layout type specific details are not required. Note: this message stores info for one primary interstitial as detected by a particular layout codepath. Some codepaths, e.g. overlay interstitial detection, may find multiple interstitial candidates; such details can be found in codepath-specific messages below.String
detectionModeIndexingMobileInterstitialsProtoInterstitialBasicInfoBasic interstitial info, shared by all layout types. This message can be used to quickly iterate through detected interstitials, if layout type specific details are not required. Note: this message stores info for one primary interstitial as detected by a particular layout codepath. Some codepaths, e.g. overlay interstitial detection, may find multiple interstitial candidates; such details can be found in codepath-specific messages below.String
layoutTypeIndexingMobileInterstitialsProtoInterstitialBasicInfoBasic interstitial info, shared by all layout types. This message can be used to quickly iterate through detected interstitials, if layout type specific details are not required. Note: this message stores info for one primary interstitial as detected by a particular layout codepath. Some codepaths, e.g. overlay interstitial detection, may find multiple interstitial candidates; such details can be found in codepath-specific messages below.String
clsCumulative Layout Shift.IndexingMobileVoltCoreWebVitalsCore Web Vitals (https://web.dev/vitals/) carried in VoltSignal: the field data metrics extracted from UKM aggregated 75-percentile data.String
fidFirst Input Delay.IndexingMobileVoltCoreWebVitalsCore Web Vitals (https://web.dev/vitals/) carried in VoltSignal: the field data metrics extracted from UKM aggregated 75-percentile data.String
inpIndexingMobileVoltCoreWebVitalsCore Web Vitals (https://web.dev/vitals/) carried in VoltSignal: the field data metrics extracted from UKM aggregated 75-percentile data.String
lcpLargest Contentful Paint.IndexingMobileVoltCoreWebVitalsCore Web Vitals (https://web.dev/vitals/) carried in VoltSignal: the field data metrics extracted from UKM aggregated 75-percentile data.String
desktopCwvDesktop Core Wev Vital metrics. NOTE(yunchengz): This field will not be populated in Muppet.IndexingMobileVoltVoltPerDocDataThe protocol buffer stored in the legacyperdocdata muppet attachment for VOLT (go/volt). The data is used for ranking changes. Only CWV signals and secure signal are stored. MobileFriendliness is stored separately in the legacyperdocdata. Safe browsing and BAS/AER conditions are not used for ranking.IndexingMobileVoltCoreWebVitals
desktopDisplayUrlIsHttpsIndexingMobileVoltVoltPerDocDataThe protocol buffer stored in the legacyperdocdata muppet attachment for VOLT (go/volt). The data is used for ranking changes. Only CWV signals and secure signal are stored. MobileFriendliness is stored separately in the legacyperdocdata. Safe browsing and BAS/AER conditions are not used for ranking.boolean
displayUrlIsHttpsIndexingMobileVoltVoltPerDocDataThe protocol buffer stored in the legacyperdocdata muppet attachment for VOLT (go/volt). The data is used for ranking changes. Only CWV signals and secure signal are stored. MobileFriendliness is stored separately in the legacyperdocdata. Safe browsing and BAS/AER conditions are not used for ranking.boolean
mobileCwvMobile Core Web Vital metrics. NOTE(yunchengz): This field will not be populated in Muppet.IndexingMobileVoltVoltPerDocDataThe protocol buffer stored in the legacyperdocdata muppet attachment for VOLT (go/volt). The data is used for ranking changes. Only CWV signals and secure signal are stored. MobileFriendliness is stored separately in the legacyperdocdata. Safe browsing and BAS/AER conditions are not used for ranking.IndexingMobileVoltCoreWebVitals
restrictionCategoriesIndexingPrivacyAccessAccessRequirementslist(String)
clicksGoodIntervalIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
clicksGoodPriorWeightIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
clicksTotalIntervalIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
clicksTotalPriorWeightIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
ctrwiIntervalIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
ctrwiPriorWeightIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
dwellsIntervalIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
dwellsPriorWeightIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
luDwellsIntervalIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
luDwellsPriorWeightIndexingSignalAggregatorAdaptiveIntervalDataState data for AdaptiveFrequencyEstimatorfloat
averageChanceTimeWeighted averged timestamps of the decayed chances.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
chancesNumbers below are all total in the decayed manner. To get rate of impression/clicks, divide by chances.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
clicksBadIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
clicksGoodIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
clicksImageIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
clicksTotalIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
clicksUnclassifiedIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
coverageTimestampEpoch seconds at which this weighted coverage data was calculated.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28String
ctrWeightedImpressionsIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
dwellsDwells from KnowledgePanel and WebAnswers.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
firstBaseCoverageTimestampEpoch seconds at which this url first gets coverage in BASE.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28String
firstCoveragePagerankNsThe pagerank when the url was serving for the first time.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28integer
firstCoverageTimestampEpoch seconds at which this url first gets coverage data.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28String
firstseenIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28String
impressionsIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
intervalDataInterval Data to track the average time between clicks_total, clicks_good, and ctr_weighted_impression.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28IndexingSignalAggregatorAdaptiveIntervalData
languageIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28integer
lastDwellDateInDaysIndicates the date when this document received the last KnowledgePanel or WebAnswer dwell. Note: The date is identified in terms of number of days since Epoch.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28integer
lastGoodClickDateInDaysIndicates the date when this document received the last good click. Note: The date is identified in terms of number of days since Epoch.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28integer
lastImpressionDateInDaysIndicates the date when this document received the last impression. Note: The date is identified in terms of number of days since Epoch.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28integer
lastLuDwellDateInDaysIndicates the date when this document received the last LocalUniversal dwell. Note: The date is identified in terms of number of days since Epoch.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28integer
lastPseudoImpressionsDateInDaysIndicates the date when this document received the last pseudo-impression. I.e., when it was retrieved as a result but GWS would not show it because of the document’s age in the index. Note: The date is identified in terms of number of days since Epoch.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28integer
luDwellsDwells from LocalUniversal.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28float
repidRepid in Alexandria pipeline.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28String
totalChancesTotal number of chances on this urls (not decayed).IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28String
urlIndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28String
urlfpTemporary variable, only used during mapreduce.IndexingSignalAggregatorAgeWeightedCoverageDataAccumulated coverage data for an url using a constant half-life time. Next tag: 28String
deviationA number reflecting the deviation of Url scores.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
m2State variables for West & Chan variance algorithm used to be stored here directly. Now they are stored inside RunningMeanAndVarianceInternalState.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
maxScoreUrlInput UrlScore with max score.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25IndexingSignalAggregatorUrlScore
meanIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
meanScoreOverall stats that are only available in final aggregation results. The aggregated score.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
minScoreUrlInput UrlScore with min score.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25IndexingSignalAggregatorUrlScore
numImportantUrlsIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25String
numUrlsMatchedFinal Stats that are also available in intermediate output. Number of Urls matching the class.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25String
numUrlsWithSignalNot every matching url has a signal.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25String
patternLayerExperimental layer of the corresponding pattern.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25String
patternsUsedInMediationOptionally populated in mediators. A list of patterns that actually contributed to the final mediated signal.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25list(String)
percentileScore percentile of matching urls. If present, it has N entries for buckets of roughly equal number of urls. N is specified the aggregation. The value is the min score in that bucket.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25list(float)
runningMeanAndVarianceInternalStateIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25IndexingSignalAggregatorRunningMeanAndVarianceInternalState
samplesRandom samples.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25list(IndexingSignalAggregatorUrlScore)
scoresfor calculating percentileIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25list(float)
signalIdFor debugging purposes, this is an id of the signal associated with this AggregatedScore. For pattern score, this may be the length of the pattern.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25integer
singleUrlScoreIf this field presents, it is for a single url. No other field should appear.IndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25IndexingSignalAggregatorUrlScore
totalScoresummation varaible used to get meanIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
totalScoreLowlow-order part of total_scoreIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
totalScoreSqrsummation variable for calculating deviation note, these are now only used for legacy and debugging purposesIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
totalScoreSqrLowlow order part of total_score_sqIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
totalWeightfor calculating weighted mean/devIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
totalWeightLowlow order part of total_weightIndexingSignalAggregatorAggregatedScoreAggregated signal used by NumericSignalAggregator. Next field id: 25float
m2The variable which in the Wikipedia page is referred to as M_2: m2 = w_1 * (x_1 – mean)^2 + … + w_n * (x_n – mean)^2. The algorithm implemented in RunningMeanAndVarianceUtil provides a way to update m2 in a numerically stable way when the data set grows. If total_weight = 0, then m2 is meaningless, and its value is unspecified, except that it must be finite and >= 0.IndexingSignalAggregatorRunningMeanAndVarianceInternalStateInternal state of the West & Chan running variance algorithm. Fields of this proto should not be accessed directly; instead, please use RunningMeanAndVarianceUtil. The fields of this message only have meaning in the context of the West & Chan algorithm, which is documented (or Wikipedia-linked) in the doc comments of RunningMeanAndVarianceUtil. We do however give some explanation of the meanings of these fields in the context of the algorithm (i.e. if you have the Wikipedia page open and are ready to do some math). Also see the file doc of RunningMeanAndVarianceUtil for a specification and more info about the algorithm. Notation: The data set is X = {(x_1, w_1), …, (x_n, w_n)}. It consists of n weighted data points. The ith data point has value x_i and weight w_i. REQUIRES: x_i is finite for each i. w_i is finite for each i. w_i >= 0 for each i.float
meanMean of the data set, mean = (w_1 * x_1 + … + w_n * x_n) / total_weight. The algorithm implemented in RunningMeanAndVarianceUtil provides a way to update this mean in a numerically stable way when the data set grows. If total_weight = 0, then mean is meaningless, and its value is unspecified, except that it must be finite.IndexingSignalAggregatorRunningMeanAndVarianceInternalStateInternal state of the West & Chan running variance algorithm. Fields of this proto should not be accessed directly; instead, please use RunningMeanAndVarianceUtil. The fields of this message only have meaning in the context of the West & Chan algorithm, which is documented (or Wikipedia-linked) in the doc comments of RunningMeanAndVarianceUtil. We do however give some explanation of the meanings of these fields in the context of the algorithm (i.e. if you have the Wikipedia page open and are ready to do some math). Also see the file doc of RunningMeanAndVarianceUtil for a specification and more info about the algorithm. Notation: The data set is X = {(x_1, w_1), …, (x_n, w_n)}. It consists of n weighted data points. The ith data point has value x_i and weight w_i. REQUIRES: x_i is finite for each i. w_i is finite for each i. w_i >= 0 for each i.float
totalWeightTotal weight of the data set, total_weight = w_1 + … + w_n.IndexingSignalAggregatorRunningMeanAndVarianceInternalStateInternal state of the West & Chan running variance algorithm. Fields of this proto should not be accessed directly; instead, please use RunningMeanAndVarianceUtil. The fields of this message only have meaning in the context of the West & Chan algorithm, which is documented (or Wikipedia-linked) in the doc comments of RunningMeanAndVarianceUtil. We do however give some explanation of the meanings of these fields in the context of the algorithm (i.e. if you have the Wikipedia page open and are ready to do some math). Also see the file doc of RunningMeanAndVarianceUtil for a specification and more info about the algorithm. Notation: The data set is X = {(x_1, w_1), …, (x_n, w_n)}. It consists of n weighted data points. The ith data point has value x_i and weight w_i. REQUIRES: x_i is finite for each i. w_i is finite for each i. w_i >= 0 for each i.float
parentPatternIndexingSignalAggregatorSccDataIndexingSignalAggregatorSccSignal
patternThe most immediate pattern data.IndexingSignalAggregatorSccDataIndexingSignalAggregatorSccSignal
clicksBadIndexingSignalAggregatorSccSignalfloat
clicksImageIndexingSignalAggregatorSccSignalfloat
clicksTotalIndexingSignalAggregatorSccSignalfloat
debugInfoFor debugging purpose only.IndexingSignalAggregatorSccSignallist(String)
numImageUrlsThis represents the number of urls with image clicks. A url can have both image and non-image clicks, in which case we set num_image_urls to be the ratio of image_clicks vs total clicks. For example, if a url has 10 total clicks and 7 image clicks, num_image_urls will be set to 0.7.IndexingSignalAggregatorSccSignalfloat
numUrlsIndexingSignalAggregatorSccSignalString
patternFor debugging purpose only.IndexingSignalAggregatorSccSignalString
coverageIndexingSignalAggregatorUrlPatternSignalsContains only the signals necessary to perform per-URL click prediction. Used by Index Selection for scoring. NEXT ID TO USE: 7IndexingSignalAggregatorAgeWeightedCoverageData
pagerankScoreIndexingSignalAggregatorUrlPatternSignalsContains only the signals necessary to perform per-URL click prediction. Used by Index Selection for scoring. NEXT ID TO USE: 7IndexingSignalAggregatorAggregatedScore
patternScoreIndexingSignalAggregatorUrlPatternSignalsContains only the signals necessary to perform per-URL click prediction. Used by Index Selection for scoring. NEXT ID TO USE: 7IndexingSignalAggregatorAggregatedScore
priorSignalIndexingSignalAggregatorUrlPatternSignalsContains only the signals necessary to perform per-URL click prediction. Used by Index Selection for scoring. NEXT ID TO USE: 7list(IndexingSignalAggregatorUrlPatternSignalsPriorSignal)
regexpPatternScoreIndexingSignalAggregatorUrlPatternSignalsContains only the signals necessary to perform per-URL click prediction. Used by Index Selection for scoring. NEXT ID TO USE: 7IndexingSignalAggregatorAggregatedScore
sccDataIndexingSignalAggregatorUrlPatternSignalsContains only the signals necessary to perform per-URL click prediction. Used by Index Selection for scoring. NEXT ID TO USE: 7IndexingSignalAggregatorSccData
aggregatedScoreIndexingSignalAggregatorUrlPatternSignalsPriorSignalThis message provides a container for any signal used in scoring, and allows UrlPatternSignals to extend beyond (regexp_)pattern_score and pagerank_score.IndexingSignalAggregatorAggregatedScore
priorSignalIdIndexingSignalAggregatorUrlPatternSignalsPriorSignalThis message provides a container for any signal used in scoring, and allows UrlPatternSignals to extend beyond (regexp_)pattern_score and pagerank_score.String
dsacNumWeeklyPerfRecordsThe number of weekly performance records if the UrlScore is extracted from the DSAC data. It should be used in case a URL is no longer served. As of 2014-10-14, this field is for the evaluation purpose only.IndexingSignalAggregatorUrlScoreRepresentation of numeric signal of a url.integer
eligibleExperimentalLayerIf this field is set, it indicates the url is eligible to be aggregated to one of the experimental layers.IndexingSignalAggregatorUrlScoreRepresentation of numeric signal of a url.String
firstServedTimestampThe timestamp of the first time this document is served anywhere.IndexingSignalAggregatorUrlScoreRepresentation of numeric signal of a url.String
isImportantWhether this url has important signal. Used for keeping patterns that match too few URLs but some of them have good clicks.IndexingSignalAggregatorUrlScoreRepresentation of numeric signal of a url.boolean
scorescore might be missing if the url does not have signal.IndexingSignalAggregatorUrlScoreRepresentation of numeric signal of a url.float
urlurl might be missing if we can get it from sstable key.IndexingSignalAggregatorUrlScoreRepresentation of numeric signal of a url.String
weightweight for this url.IndexingSignalAggregatorUrlScoreRepresentation of numeric signal of a url.float
audioDurationDuration of audio in processed fragment (including non-speech), in seconds.IndexingSpeechSpeechPropertiesProtoThe information about spoken content that’s based on purely the media resource contents (and not the embedding page or context, etc).integer
audioOnlyIf true, the media file is audio-only. If false, also has video track(s).IndexingSpeechSpeechPropertiesProtoThe information about spoken content that’s based on purely the media resource contents (and not the embedding page or context, etc).boolean
estimatedAudioDurationEstimated duration of audio in the whole file (including non-speech), in seconds. If this is greater than 0, then it will either be equal to audio_duration (when truncated_file is false), or to the length of the content (audio or video) according to the file header (when truncated_file is true).IndexingSpeechSpeechPropertiesProtoThe information about spoken content that’s based on purely the media resource contents (and not the embedding page or context, etc).integer
estimatedAudioDurationConfidenceOur confidence in the duration estimate, on a scale from 0 (not confident) to 1 (very confident). An estimate should have a confidence of at least 0.5 if it is to be shown to users.IndexingSpeechSpeechPropertiesProtoThe information about spoken content that’s based on purely the media resource contents (and not the embedding page or context, etc).number
languageCodeThe spoken language, see i18n/identifiers/languagecode.h and go/gl2014. This may or may not match the language of the written page. (Examples: “en”, “sv”, “zh-CN”).IndexingSpeechSpeechPropertiesProtoThe information about spoken content that’s based on purely the media resource contents (and not the embedding page or context, etc).String
numWordsTotal number of recognized words in processed fragment.IndexingSpeechSpeechPropertiesProtoThe information about spoken content that’s based on purely the media resource contents (and not the embedding page or context, etc).integer
recognizerAccuracyMeasure of the estimated output accuracy from the speech recognition code, from 0 to 1. Based on word-level confidence and possibly other factors.IndexingSpeechSpeechPropertiesProtoThe information about spoken content that’s based on purely the media resource contents (and not the embedding page or context, etc).number
speechDurationDuration of speech in processed fragment, in seconds.IndexingSpeechSpeechPropertiesProtoThe information about spoken content that’s based on purely the media resource contents (and not the embedding page or context, etc).integer
truncatedFileIf true, we may have processed a truncated file (most likely due to a size-cutoff when crawling). As a result, the audio duration is a lower bound and the other fields reflect only the processed prefix of the file.IndexingSpeechSpeechPropertiesProtoThe information about spoken content that’s based on purely the media resource contents (and not the embedding page or context, etc).boolean
featuresIndexingUrlPatternUrlTreeBigTreeBranchRepresenting a dominating branch of the URL tree.IndexingUrlPatternUrlTreeUrlFeatures
patternIdThe fingerprint of the features string.IndexingUrlPatternUrlTreeBigTreeBranchRepresenting a dominating branch of the URL tree.String
payloadIndexingUrlPatternUrlTreeBigTreeBranchRepresenting a dominating branch of the URL tree.Proto2BridgeMessageSet
fingerprintIndexingUrlPatternUrlTreeUrlFeatureString
fingerprintWithGroupInTypeIf consider position when calculating fingerprint of url feature.IndexingUrlPatternUrlTreeUrlFeatureboolean
groupInTypeUsed together w/ type field to group features, for finding features with too many possible values.IndexingUrlPatternUrlTreeUrlFeatureString
typeIndexingUrlPatternUrlTreeUrlFeatureString
valueIndexingUrlPatternUrlTreeUrlFeatureString
featureIndexingUrlPatternUrlTreeUrlFeatureslist(IndexingUrlPatternUrlTreeUrlFeature)
bigBranchKeeping information for dominating branches separately, to prevent docs on smaller branches from being dropping during sampling.IndexingUrlPatternUrlTreeUrlTreelist(IndexingUrlPatternUrlTreeBigTreeBranch)
debugInfoIndexingUrlPatternUrlTreeUrlTreeIndexingUrlPatternUrlTreeUrlTreeDebugInfo
keyIndexingUrlPatternUrlTreeUrlTreeIndexingUrlPatternUrlTreeUrlTreeKey
nodenode(0) is root.IndexingUrlPatternUrlTreeUrlTreelist(IndexingUrlPatternUrlTreeUrlTreeNode)
retrievalTimestampUsed in url pattern matcher for cache invalidation.IndexingUrlPatternUrlTreeUrlTreeinteger
siteThe key for this UrlTree, also will be the key in sstable. The old format is site, while the new format will be UrlTreeKey. Only one field can be set in the same time for site and key.IndexingUrlPatternUrlTreeUrlTreeString
timestampThe time when this UrlTree is built, encoded as seconds past the epoch (Jan 1, 1970).IndexingUrlPatternUrlTreeUrlTreeinteger
treeInfoAny additional information.IndexingUrlPatternUrlTreeUrlTreeProto2BridgeMessageSet
innerSimilarityIndexingUrlPatternUrlTreeUrlTreeDebugInfofloat
crawlerIdIndexingUrlPatternUrlTreeUrlTreeKeyA UID of URL Tree. There is a hash function and a equality function for UrlTreeKey in //indexing/url_pattern/url_tree/util/url-tree-key-util.h. When adding or deprecating a field in this proto, please also update the hash function and the equality function. LINT.IfChangeString
domainIndexingUrlPatternUrlTreeUrlTreeKeyA UID of URL Tree. There is a hash function and a equality function for UrlTreeKey in //indexing/url_pattern/url_tree/util/url-tree-key-util.h. When adding or deprecating a field in this proto, please also update the hash function and the equality function. LINT.IfChangeString
hostnameIndexingUrlPatternUrlTreeUrlTreeKeyA UID of URL Tree. There is a hash function and a equality function for UrlTreeKey in //indexing/url_pattern/url_tree/util/url-tree-key-util.h. When adding or deprecating a field in this proto, please also update the hash function and the equality function. LINT.IfChangeString
indexOfSubTreeWithSplittingFeatureIndexingUrlPatternUrlTreeUrlTreeNodeinteger
indexOfSubTreeWithoutSplittingFeatureIndexingUrlPatternUrlTreeUrlTreeNodeinteger
parentIndexingUrlPatternUrlTreeUrlTreeNodeinteger
pathFromRootThe path from root to current node. This is only used for debugging.IndexingUrlPatternUrlTreeUrlTreeNodeString
patternIdThis is only used in leaf nodes which represents a url pattern. It is the fingerprint of the splitting url features from root to the leaf.IndexingUrlPatternUrlTreeUrlTreeNodeString
payloadIndexingUrlPatternUrlTreeUrlTreeNodeProto2BridgeMessageSet
splittingFeatureIndexingUrlPatternUrlTreeUrlTreeNodeIndexingUrlPatternUrlTreeUrlFeature
splittingFeatureScoreThe information gain of content features when selecting this splitting feature to split the node.IndexingUrlPatternUrlTreeUrlTreeNodefloat
gibberishResultIndexingVideosAsrTranscriptRepairAnnotationThis proto captures the output of analyses that ran on Automatic Speech Recogntion produced by the recognizer.String
numGibberishSegmentsThe number of the above segments that were classified as gibberish.IndexingVideosAsrTranscriptRepairAnnotationThis proto captures the output of analyses that ran on Automatic Speech Recogntion produced by the recognizer.integer
numSegmentsClassifiedThe number of ASR segments that were sent for classification.IndexingVideosAsrTranscriptRepairAnnotationThis proto captures the output of analyses that ran on Automatic Speech Recogntion produced by the recognizer.integer
KaltixRankapprox. 2 bytes for top 1BKaltixPerDocDatainteger
LocalKaltixRankempty for nowKaltixPerDocDatainteger
SiteKaltixRankempty for nowKaltixPerDocDatainteger
regionTypeThe particular type of region should be explicitly set to disambiguate.KeGovernanceTypedRegionsWrapper message containing list of regions and their corresponding type of region signal to use in data governance.String
regionsValues are go/iii RegionCode in capital case. It is a good practice to keep elements in this list unique, although not enforced. In case of duplicated entries, they’ll be treated as if there were only one entry of the same value.KeGovernanceTypedRegionsWrapper message containing list of regions and their corresponding type of region signal to use in data governance.list(String)
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersAnyTypeAccepts any non-empty value. This is meant for special cases allowing any value or any composition to be valid in a slot. If you are thinking of using this, please contact mrf-team@.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersAnyTypeAccepts any non-empty value. This is meant for special cases allowing any value or any composition to be valid in a slot. If you are thinking of using this, please contact mrf-team@.NlpMeaningMeaningRemodelings
attributeUse in parsing: the value filled with must be in the list of this. If no attribute ids are specified, this value can be filled with any attribute.KnowledgeAnswersAttributeTypeAn attribute type configures a value whose type is intended to be a attribute defined in the schema.list(String)
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersAttributeTypeAn attribute type configures a value whose type is intended to be a attribute defined in the schema.NlpMeaningComponentSpecificContracts
pivotEntitySlotIf exist, the attribute will be applied on the given pivot slot. This helps type checking when qrewrite constructs function calls with an attribute-typed slot.KnowledgeAnswersAttributeTypeAn attribute type configures a value whose type is intended to be a attribute defined in the schema.String
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersAttributeTypeAn attribute type configures a value whose type is intended to be a attribute defined in the schema.NlpMeaningMeaningRemodelings
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersBooleanTypeA BooleanType configures a yes/no value.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersBooleanTypeA BooleanType configures a yes/no value.NlpMeaningMeaningRemodelings
collectionThe collection this value is filled with must be one of these collections (denoted by a /collection/* id). If no collections are specified, this value can be filled with any collection.KnowledgeAnswersCollectionTypeA CollectionType configures a value whose type is intended to be a collection.list(String)
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersCollectionTypeA CollectionType configures a value whose type is intended to be a collection.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersCollectionTypeA CollectionType configures a value whose type is intended to be a collection.NlpMeaningMeaningRemodelings
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersCompoundTypeA CompoundType configures a value composed of multiple answer values.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersCompoundTypeA CompoundType configures a value composed of multiple answer values.NlpMeaningMeaningRemodelings
slotNamesKnowledgeAnswersContainerTypelist(String)
allowAllRangeResolutionsIf true, will allow all resolutions that are ranges.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowAllResolutionsIf true, overrides all other options in this message and allows any kind of DateTime annotation.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowAllResolutionsExceptHolidaysIf true, will allow all resolutions except holidays.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowAllResolutionsWithout4digit24hrTimeIf true, will allow resolutions that aren’t contiguous sequences of 4 digits annotated as 24-hr times. These are often mis-interpreted years or postcodes.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowAllResolutionsWithoutTimeIf true, will allow resolutions without an explicit hour. Symbolic ranges such as [this evening] are not considered as explicit hour, but the range [1-3pm] is considered as explicit.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowDayResolutionIf true, will parse a mention to DateTime of resolution day. This allows parsing strings like “August 30th”, “2012-12-25”;KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowDayResolutionExceptHolidaysOrOrdinalIf true, will allow day resolutions except holidays or ordinal numbers, such as “today”, “December 13”, but “Christmas”, “first” are not allowed.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowHourResolutionIf true, will allow resolutions with an explicit hour such as “8am”, “5pm”.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowMonthResolutionIf true, will parse a mention to DateTime of resolution month. This allows parsing strings like “this August”, “2012-12”;KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowNowResolutionIf true, will allow “now” resolutions, but not any other timeKnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowSymbolicTimeIf true, will allow symbolic time resolutions such as “tonight”.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowTimeResolutionsWithoutExplicitTimezoneIf true, will allow time resolutions without an explicit timezone.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
allowYearResolutionIf true, will parse a mention to DateTime of resolution year. This allows parsing strings like “Next year “, “2010”;KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17boolean
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17NlpMeaningMeaningRemodelings
subTypeKnowledgeAnswersDateTypeA DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17String
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersDependencyTypeNlpMeaningComponentSpecificContracts
containerTypeKnowledgeAnswersDependencyTypeKnowledgeAnswersContainerType
intersectTypeKnowledgeAnswersDependencyTypeKnowledgeAnswersIntersectType
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersDependencyTypeNlpMeaningMeaningRemodelings
sameTypeKnowledgeAnswersDependencyTypeKnowledgeAnswersSameType
unionTypeKnowledgeAnswersDependencyTypeKnowledgeAnswersUnionType
refersToFullMrfTrue iff this ReferentialResolution is part of an intent and refers to the full MRF subtree (rather than just the intent).KnowledgeAnswersDialogReferentialResolutionHow a piece of data was resolved through external data (either elsewhere in the query, or from a previous query). Examples: [obama and his age] -> “his” is resolved from the Obama entity obama -> “he” is resolved from the Obama entity starbucks -> Q2 is resolved from the list of shopsboolean
resolutionTypeKnowledgeAnswersDialogReferentialResolutionHow a piece of data was resolved through external data (either elsewhere in the query, or from a previous query). Examples: [obama and his age] -> “his” is resolved from the Obama entity obama -> “he” is resolved from the Obama entity starbucks -> Q2 is resolved from the list of shopsString
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersDurationTypeA DurationType configures a value whose type is a duration.NlpMeaningComponentSpecificContracts
rangeConstraintRange constraint limits the set of durations accepted. The values of the range are in milliseconds. Currently, this constraint is only enforced in Loose Parser.KnowledgeAnswersDurationTypeA DurationType configures a value whose type is a duration.KnowledgeAnswersRangeConstraint
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersDurationTypeA DurationType configures a value whose type is a duration.NlpMeaningMeaningRemodelings
collectionThis field specifies that containing entity must be: – in *any* ‘collection’ if ‘in_all_collections’ is false (default) – in *every* ‘collection’ if ‘in_all_collections’ is true. The collection field contains strings of the form ‘/collection/’. If no collections are specified, this value can be filled with any entity. A collection specified as an empty string has a special meaning for Aqua induction, which is that the type includes all entities.KnowledgeAnswersEntityTypeAn EntityType configures a value whose type is intended to be an entity. Entities may be specified using either the collection(s) to which they belong, or explicitly via a list of KG-ids. Both collections and ids can be specified, in which case the type will be the union of the id(s) and all mids within the collection(s). Next available tag: 10list(String)
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersEntityTypeAn EntityType configures a value whose type is intended to be an entity. Entities may be specified using either the collection(s) to which they belong, or explicitly via a list of KG-ids. Both collections and ids can be specified, in which case the type will be the union of the id(s) and all mids within the collection(s). Next available tag: 10NlpMeaningComponentSpecificContracts
excludedCollectionThe entity that this value is filled with must not be any of these collections (denoted by a /collection/* id). This restriction does not affect parsing; it is used only to filter attributes in the extraction flow.KnowledgeAnswersEntityTypeAn EntityType configures a value whose type is intended to be an entity. Entities may be specified using either the collection(s) to which they belong, or explicitly via a list of KG-ids. Both collections and ids can be specified, in which case the type will be the union of the id(s) and all mids within the collection(s). Next available tag: 10list(String)
idThe entity that this value is filled with must be one of the following explicitly specified KG-ids.KnowledgeAnswersEntityTypeAn EntityType configures a value whose type is intended to be an entity. Entities may be specified using either the collection(s) to which they belong, or explicitly via a list of KG-ids. Both collections and ids can be specified, in which case the type will be the union of the id(s) and all mids within the collection(s). Next available tag: 10list(String)
identifierThe entity that this value is filled with must be of the explicit type and/or contain the explicitly specified id. This field can not be used for kg mids, which should directly use the id field above.KnowledgeAnswersEntityTypeAn EntityType configures a value whose type is intended to be an entity. Entities may be specified using either the collection(s) to which they belong, or explicitly via a list of KG-ids. Both collections and ids can be specified, in which case the type will be the union of the id(s) and all mids within the collection(s). Next available tag: 10list(KnowledgeAnswersIntentQueryIdentifier)
inAllCollectionsKnowledgeAnswersEntityTypeAn EntityType configures a value whose type is intended to be an entity. Entities may be specified using either the collection(s) to which they belong, or explicitly via a list of KG-ids. Both collections and ids can be specified, in which case the type will be the union of the id(s) and all mids within the collection(s). Next available tag: 10boolean
includeGeolocationDataIf this is set to true for a slot and the entity is a location, the latitude and longitude will be available in variables $SlotName_Latitude and $SlotName_Longitude, respectively. The latitude and longitude data comes from KG.KnowledgeAnswersEntityTypeAn EntityType configures a value whose type is intended to be an entity. Entities may be specified using either the collection(s) to which they belong, or explicitly via a list of KG-ids. Both collections and ids can be specified, in which case the type will be the union of the id(s) and all mids within the collection(s). Next available tag: 10boolean
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersEntityTypeAn EntityType configures a value whose type is intended to be an entity. Entities may be specified using either the collection(s) to which they belong, or explicitly via a list of KG-ids. Both collections and ids can be specified, in which case the type will be the union of the id(s) and all mids within the collection(s). Next available tag: 10NlpMeaningMeaningRemodelings
facetNameOptional, as this can take the name of the slot/schema its associated with or it might need to map onto something different.KnowledgeAnswersFacetParsingConstruct for how to construe a facet when parse from neural or lexical models. Unlike regular intent annotations, facets are post-hoc grounded to indicated spoans, so they also need to provide their input and output slot independently.String
inputSlotNameRequired, the slot into which we put any ungrounded string or midKnowledgeAnswersFacetParsingConstruct for how to construe a facet when parse from neural or lexical models. Unlike regular intent annotations, facets are post-hoc grounded to indicated spoans, so they also need to provide their input and output slot independently.String
outputSlotNameOptional, if absent output_type will be used for typing, or this is a MRF operatorKnowledgeAnswersFacetParsingConstruct for how to construe a facet when parse from neural or lexical models. Unlike regular intent annotations, facets are post-hoc grounded to indicated spoans, so they also need to provide their input and output slot independently.String
alternateLanguageLanguage of all of the non-annotation tokens of the query interpretation, if it is different than |language|. This can happen with English smearing, e.g. [height rousseau] will trigger as “fr” when issued in fr/FR, but really the language is “en”. This can also happen when we have extra information about the language model, e.g. language=”zh”, alternate_language=”zh-Hant”.KnowledgeAnswersIntentModifiersModifiers decorate a Meaning Expression (i.e. intent FunctionCall) with signals that depend on the source language’s grammar and syntax. See go/intent-modifiers for details. NOTE: Modifiers don’t necessarily impact go/intent-resolution semantics. LINT.IfChangeString
definitenessKnowledgeAnswersIntentModifiersModifiers decorate a Meaning Expression (i.e. intent FunctionCall) with signals that depend on the source language’s grammar and syntax. See go/intent-modifiers for details. NOTE: Modifiers don’t necessarily impact go/intent-resolution semantics. LINT.IfChangeString
languageLanguage of parsed query.KnowledgeAnswersIntentModifiersModifiers decorate a Meaning Expression (i.e. intent FunctionCall) with signals that depend on the source language’s grammar and syntax. See go/intent-modifiers for details. NOTE: Modifiers don’t necessarily impact go/intent-resolution semantics. LINT.IfChangeString
moodSince there’s only IMPERATIVE, consider using Marker.command instead.KnowledgeAnswersIntentModifiersModifiers decorate a Meaning Expression (i.e. intent FunctionCall) with signals that depend on the source language’s grammar and syntax. See go/intent-modifiers for details. NOTE: Modifiers don’t necessarily impact go/intent-resolution semantics. LINT.IfChangeString
pluralityKnowledgeAnswersIntentModifiersModifiers decorate a Meaning Expression (i.e. intent FunctionCall) with signals that depend on the source language’s grammar and syntax. See go/intent-modifiers for details. NOTE: Modifiers don’t necessarily impact go/intent-resolution semantics. LINT.IfChangeString
polarQuestionWhether or not the question is a polar (yes/no) question.KnowledgeAnswersIntentModifiersModifiers decorate a Meaning Expression (i.e. intent FunctionCall) with signals that depend on the source language’s grammar and syntax. See go/intent-modifiers for details. NOTE: Modifiers don’t necessarily impact go/intent-resolution semantics. LINT.IfChangeboolean
sentimentSentiment analysis attached to an intent implies the sentiment user expressed behind that query. This is generated by the Empathetic Servlet in the QRewrite.KnowledgeAnswersIntentModifiersModifiers decorate a Meaning Expression (i.e. intent FunctionCall) with signals that depend on the source language’s grammar and syntax. See go/intent-modifiers for details. NOTE: Modifiers don’t necessarily impact go/intent-resolution semantics. LINT.IfChangeSentimentSentiment
tenseKnowledgeAnswersIntentModifiersModifiers decorate a Meaning Expression (i.e. intent FunctionCall) with signals that depend on the source language’s grammar and syntax. See go/intent-modifiers for details. NOTE: Modifiers don’t necessarily impact go/intent-resolution semantics. LINT.IfChangeString
customVehicleActionArgumentAnnotatorSignalsKnowledgeAnswersIntentQueryAnnotationLayerSignalsSignals coming from the Annotation Layer of TUIG. See more details at http://go/unified-intent-generation-apis.KnowledgeAnswersIntentQueryCustomVehicleActionArgumentAnnotatorSignals
freetextAnnotationSignalsKnowledgeAnswersIntentQueryAnnotationLayerSignalsSignals coming from the Annotation Layer of TUIG. See more details at http://go/unified-intent-generation-apis.KnowledgeAnswersIntentQueryFreetextAnnotationSignals
nimbleAnnotationSignalsKnowledgeAnswersIntentQueryAnnotationLayerSignalsSignals coming from the Annotation Layer of TUIG. See more details at http://go/unified-intent-generation-apis.KnowledgeAnswersIntentQueryNimbleAnnotationSignals
ntprAnnotationSignalsKnowledgeAnswersIntentQueryAnnotationLayerSignalsSignals coming from the Annotation Layer of TUIG. See more details at http://go/unified-intent-generation-apis.KnowledgeAnswersIntentQueryNTPRAnnotationSignals
qrefAnnotationSignalsKnowledgeAnswersIntentQueryAnnotationLayerSignalsSignals coming from the Annotation Layer of TUIG. See more details at http://go/unified-intent-generation-apis.KnowledgeAnswersIntentQueryQrefAnnotationSignals
semanticAnnotationSignalsKnowledgeAnswersIntentQueryAnnotationLayerSignalsSignals coming from the Annotation Layer of TUIG. See more details at http://go/unified-intent-generation-apis.KnowledgeAnswersIntentQuerySemanticAnnotationSignals
teleportArgumentAnnotatorSignalsKnowledgeAnswersIntentQueryAnnotationLayerSignalsSignals coming from the Annotation Layer of TUIG. See more details at http://go/unified-intent-generation-apis.KnowledgeAnswersIntentQueryTeleportArgumentAnnotatorSignals
componentsKnowledgeAnswersIntentQueryArgPathlist(KnowledgeAnswersIntentQueryArgPathComponent)
argNameKnowledgeAnswersIntentQueryArgPathComponentLINT.IfChange(ArgPath) Given a FunctionCall and an Argument somewhere in it, an ArgPath is a list of name-index pairs that uniquely determines the path down to that Argument. For each pair, the |index|, starting from zero, distinguishes between “sibling” (i.e. belonging to the same sub-FunctionCall) Arguments with the same name. For example, given the following FunctionCall: A(X=D(W=5), Z=B(Z=6), Z=C(Y=7)) The path to the Z=6 argument is {{“Z”, 0}, {“Z”, 0}} It’s the first of two Z “siblings” under A, then the only Z under B. The path to the Y=7 argument is {{“Z”, 1}, {“Y”, 0}} It’s the second of two Z “siblings” under A, then the only Y under C. The path to the Z=B(…) argument is {{“Z”, 0}} It’s the first of two Z “siblings” under A.String
indexKnowledgeAnswersIntentQueryArgPathComponentLINT.IfChange(ArgPath) Given a FunctionCall and an Argument somewhere in it, an ArgPath is a list of name-index pairs that uniquely determines the path down to that Argument. For each pair, the |index|, starting from zero, distinguishes between “sibling” (i.e. belonging to the same sub-FunctionCall) Arguments with the same name. For example, given the following FunctionCall: A(X=D(W=5), Z=B(Z=6), Z=C(Y=7)) The path to the Z=6 argument is {{“Z”, 0}, {“Z”, 0}} It’s the first of two Z “siblings” under A, then the only Z under B. The path to the Y=7 argument is {{“Z”, 1}, {“Y”, 0}} It’s the second of two Z “siblings” under A, then the only Y under C. The path to the Z=B(…) argument is {{“Z”, 0}} It’s the first of two Z “siblings” under A.integer
evalDataThis field is used inside Aqua and outside Aqua for identifying the token indices and/or byte offsets of this argumentKnowledgeAnswersIntentQueryArgumentA message representing the function argument. Next ID: 9 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeNlpSemanticParsingAnnotationEvalData
heuristicEvalDataEval_data was not derived at parsing time (i.e. is not expected to be produced by the IG), but heuristically determined by matching the ArgumentValue to an annotation/query fragment.KnowledgeAnswersIntentQueryArgumentA message representing the function argument. Next ID: 9 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeNlpSemanticParsingAnnotationEvalData
keySlot schema key for this Argument. Note: This is still under development and not available for general use. Contact meaning-platform-eng@ for questions. Note: Currently MeaningSchemaSlotKey proto has both mid and unique_id. In future, only mid will be present in it. We are in the process of moving “unique_id” out of it. See (b/168907943). Note: The logged version of intent_query will only have “mid” populated in it to save space and avoid data duplication.KnowledgeAnswersIntentQueryArgumentA message representing the function argument. Next ID: 9 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersMeaningSchemaSlotKey
modifiersA flattened representation of all intent modifiers that apply to this argument.KnowledgeAnswersIntentQueryArgumentA message representing the function argument. Next ID: 9 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersIntentModifiers
nameName of this argument. If this Argument is part of a FunctionCall, it must have a name or it is not well-formed. If this Argument is from an Annotator, the name field should be empty.KnowledgeAnswersIntentQueryArgumentA message representing the function argument. Next ID: 9 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeString
signalsSignals associated with this argument.KnowledgeAnswersIntentQueryArgumentA message representing the function argument. Next ID: 9 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersIntentQueryArgumentSignals
valueThe value of this argument.KnowledgeAnswersIntentQueryArgumentA message representing the function argument. Next ID: 9 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersIntentQueryArgumentValue
anaphorIf populated, the current query contains an anaphor that refers to the value. For example: U: Weather in Paris. [Weather(location=paris)] G: 65 degrees and sunny. U: How many people live there? [Population(city=paris)] The “there” in the current query would have the “anaphor” field set. NOTE: after a string rewrite this field will not be populated anymore if the rewrite replaced the anaphor with the corresponding value. For example, if we rewrite [How many people there] to [How many people in Paris], the CurrentQuerySignals for “paris” will not contain an “anaphor” message anymore in the following turns. It will only contain an eval_data for the span that corresponds to “paris” in the query.KnowledgeAnswersIntentQueryArgumentProvenanceNextId: 11KnowledgeAnswersIntentQueryArgumentProvenanceQueryAnaphor
attentionalEntityKnowledgeAnswersIntentQueryArgumentProvenanceNextId: 11KnowledgeAnswersIntentQueryArgumentProvenanceAttentionalEntity
currentQueryNOTE: PreviousQuery is used for values that originate directly from QRef entities annotated in the user query. AttentionalEntity is used for values that come from the system (entities published by a dialog). These values could also originate from an entity annotated by QRef in the query, but this is not necessarily the case. SearchAnswerValue is used for values that come from the system as part of the answer of the user query. For example: U: Wife of Barack Obama G: Barack Obama’s wife is Michelle Obama Here “Barack Obama” can have an ArgumentProvenance of PreviousQuery, or AttentionalEntity if a dialog publishes that entity and the interpretation pulls the value from it. “Michelle Obama” can have an ArgumentProvenance of SearchAnswerValue, or AttentionalEntity if the dialog publishes that entity and the interpretation pulls the value it.KnowledgeAnswersIntentQueryArgumentProvenanceNextId: 11KnowledgeAnswersIntentQueryArgumentProvenanceCurrentQuery
injectedContextualSchemaKnowledgeAnswersIntentQueryArgumentProvenanceNextId: 11KnowledgeAnswersIntentQueryArgumentProvenanceInjectedContextualSchema
previousQueryKnowledgeAnswersIntentQueryArgumentProvenanceNextId: 11KnowledgeAnswersIntentQueryArgumentProvenancePreviousQuery
previousResponseMeaningKnowledgeAnswersIntentQueryArgumentProvenanceNextId: 11KnowledgeAnswersIntentQueryArgumentProvenancePreviousResponseMeaning
previousTaskStateKnowledgeAnswersIntentQueryArgumentProvenanceNextId: 11KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskState
searchAnswerValueKnowledgeAnswersIntentQueryArgumentProvenanceNextId: 11KnowledgeAnswersIntentQueryArgumentProvenanceSearchAnswerValue
attentionalEntityKeyThis key can be used to recover the attentional entity from the corresponding attentional_entities::EntityCache.KnowledgeAnswersIntentQueryArgumentProvenanceAttentionalEntityThe value is carried over from an attentional entity. For example, in a dialog about a movie that publishes an attentional entity for /m/matrix: U: What is the cast. [Cast(location=/m/matrix)] G: The cast includes Keanu Reeves and others. U: Great, buy some tickets. [BuyTickets(movie=/m/matrix)] On the second user query, the “movie” argument would have a provenance of ATTENTIONAL_ENTITY.String
mentionPropertiesSource information from the AttentionalEntityReader.KnowledgeAnswersIntentQueryArgumentProvenanceAttentionalEntityThe value is carried over from an attentional entity. For example, in a dialog about a movie that publishes an attentional entity for /m/matrix: U: What is the cast. [Cast(location=/m/matrix)] G: The cast includes Keanu Reeves and others. U: Great, buy some tickets. [BuyTickets(movie=/m/matrix)] On the second user query, the “movie” argument would have a provenance of ATTENTIONAL_ENTITY.AttentionalEntitiesMentionProperties
evalDataThe span(s) in the query where the value comes from. Note that if the argument is split across the current and previous query, this message should *NOT* be populated. Please use PreviousQuery below, populating it’s eval-data fields accordingly.KnowledgeAnswersIntentQueryArgumentProvenanceCurrentQueryNOTE: These comments should stay in sync with the comments in logs/proto/knowledge/interpretation/intent_query.proto LINT.IfChange The argument comes from the current query. For example: U: Book a hotel in Paris. [BookHotel(location=/m/paris)] The “location” argument would have a provenance of CURRENT_QUERY.list(NlpSemanticParsingAnnotationEvalData)
neuralLocationAnnotatorKnowledgeAnswersIntentQueryArgumentProvenanceCurrentQueryNOTE: These comments should stay in sync with the comments in logs/proto/knowledge/interpretation/intent_query.proto LINT.IfChange The argument comes from the current query. For example: U: Book a hotel in Paris. [BookHotel(location=/m/paris)] The “location” argument would have a provenance of CURRENT_QUERY.KnowledgeAnswersIntentQueryArgumentProvenanceNeuralLocationAnnotator
currentQueryEvalDataThe span(s) in the current query where the value comes from. This is used when the argument spans both the current and previous query. Eg jfk death -> [death, when] spans both queries.KnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryThe value is carried over from either the previous winning IntentQuery or an entity annotated by QRef in a previous query. For example: U: How old is Obama. [Age(person=/m/obama)] G: Barack Obama is 56 years old. U: Who is his wife. [Spouse(person=/m/obama)] The “person” argument would have a provenance of PREVIOUS_QUERY. However, if a dialog publishes an attentional entity for “Obama”, the “person” argument can have a provenance of ATTENTIONAL_ENTITY instead. This includes arguments with provenance that spans both the current and previous query.list(NlpSemanticParsingAnnotationEvalData)
evalDataThe span(s) in the query where the value comes from.KnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryThe value is carried over from either the previous winning IntentQuery or an entity annotated by QRef in a previous query. For example: U: How old is Obama. [Age(person=/m/obama)] G: Barack Obama is 56 years old. U: Who is his wife. [Spouse(person=/m/obama)] The “person” argument would have a provenance of PREVIOUS_QUERY. However, if a dialog publishes an attentional entity for “Obama”, the “person” argument can have a provenance of ATTENTIONAL_ENTITY instead. This includes arguments with provenance that spans both the current and previous query.list(NlpSemanticParsingAnnotationEvalData)
eventIdThe event ID of the query where this value was pulled from.KnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryThe value is carried over from either the previous winning IntentQuery or an entity annotated by QRef in a previous query. For example: U: How old is Obama. [Age(person=/m/obama)] G: Barack Obama is 56 years old. U: Who is his wife. [Spouse(person=/m/obama)] The “person” argument would have a provenance of PREVIOUS_QUERY. However, if a dialog publishes an attentional entity for “Obama”, the “person” argument can have a provenance of ATTENTIONAL_ENTITY instead. This includes arguments with provenance that spans both the current and previous query.EventIdMessage
neuralLocationAnnotatorKnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryThe value is carried over from either the previous winning IntentQuery or an entity annotated by QRef in a previous query. For example: U: How old is Obama. [Age(person=/m/obama)] G: Barack Obama is 56 years old. U: Who is his wife. [Spouse(person=/m/obama)] The “person” argument would have a provenance of PREVIOUS_QUERY. However, if a dialog publishes an attentional entity for “Obama”, the “person” argument can have a provenance of ATTENTIONAL_ENTITY instead. This includes arguments with provenance that spans both the current and previous query.KnowledgeAnswersIntentQueryArgumentProvenanceNeuralLocationAnnotator
roleKnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryThe value is carried over from either the previous winning IntentQuery or an entity annotated by QRef in a previous query. For example: U: How old is Obama. [Age(person=/m/obama)] G: Barack Obama is 56 years old. U: Who is his wife. [Spouse(person=/m/obama)] The “person” argument would have a provenance of PREVIOUS_QUERY. However, if a dialog publishes an attentional entity for “Obama”, the “person” argument can have a provenance of ATTENTIONAL_ENTITY instead. This includes arguments with provenance that spans both the current and previous query.KnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryRole
sourceKnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryThe value is carried over from either the previous winning IntentQuery or an entity annotated by QRef in a previous query. For example: U: How old is Obama. [Age(person=/m/obama)] G: Barack Obama is 56 years old. U: Who is his wife. [Spouse(person=/m/obama)] The “person” argument would have a provenance of PREVIOUS_QUERY. However, if a dialog publishes an attentional entity for “Obama”, the “person” argument can have a provenance of ATTENTIONAL_ENTITY instead. This includes arguments with provenance that spans both the current and previous query.String
intentIdKnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryRoleThe role that this data played in the previous query.String
slotNameKnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryRoleThe role that this data played in the previous query.String
argumentNameArgument names in the DialogIntentState that the argument corresponds to. This is repeated so it can handle complex argument update paths. (ordered from outermost argument to innermost argument)KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateValue is derived from previous task state (go/taskstates).list(String)
currentQueryEvalDataThe span(s) in the current query (if any) used to resolve the previous query’s DIS. Example: U: Barack Obama G: Do you want his age or his height? U: The first one. G: Age(/m/obama) In this example, the intent is derived from the previous query’s DIS, but also needs to be resolved in the current query since the user was presented with multiple options.KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateValue is derived from previous task state (go/taskstates).list(NlpSemanticParsingAnnotationEvalData)
dialogIntentStateIdThe id of the specific DialogIntentState instance that the argument corresponds to.KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateValue is derived from previous task state (go/taskstates).String
intentNameIntent name of the DialogIntentState that the argument corresponds to.KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateValue is derived from previous task state (go/taskstates).String
listCandidateKnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateValue is derived from previous task state (go/taskstates).KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateListCandidate
previousFunctionCallKnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateValue is derived from previous task state (go/taskstates).KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStatePreviousFunctionCall
candidateIndexThe presented_index of the field_candidate in the DialogIntentState field_signals that the argument corresponds to.KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateListCandidateThe value is carried over from a field_candidate in a DialogIntentState. For example: U: Send a message to John. G: Which John do you want to message? U: John A. [ListPresentationIntent(contact_disambiguation.person=0)] On the second user query, the “contact_disambiguation.person” argument would have a provenance of PREVIOUS_TASK_STATE_LIST_CANDIDATE.integer
evalDataIf populated, the spans in the current query where this value was annotated. This is a repeated field because some values can be annotated from a set of discontiguous spans (e.g. some intent phrases), but in most cases this field will contain only one item or it will be empty (for values inferred from context without the use of anaphora).KnowledgeAnswersIntentQueryArgumentProvenanceQueryAnaphorSignals about an anaphor in the query: for example an occurrence of the pronoun “it”.list(NlpSemanticParsingAnnotationEvalData)
eventIdThis identifies the SearchAnswerValues where this value was pulled from.KnowledgeAnswersIntentQueryArgumentProvenanceSearchAnswerValueThe value was carried over from a SearchAnswerValue triggered by a previous query (go/search-answer-values). For example: U: Movies with Tom Cruise. [Movies(actor=/m/tom_cruise)] G: Tom Cruise’s movies include Top Gun, The Mummy, and 52 others. U: Reviews for the second one. [Reviews(movie=/m/the_mummy)] The “movie” argument in the last query would have a provenance of SEARCH_ANSWER_VALUE.EventIdMessage
metadataValueIndexEach SearchAnswerValue can have a primary value and a list of metadata values. If this index is set, this value was pulled from the metadata value at this index, otherwise it was pulled from the primary value.KnowledgeAnswersIntentQueryArgumentProvenanceSearchAnswerValueThe value was carried over from a SearchAnswerValue triggered by a previous query (go/search-answer-values). For example: U: Movies with Tom Cruise. [Movies(actor=/m/tom_cruise)] G: Tom Cruise’s movies include Top Gun, The Mummy, and 52 others. U: Reviews for the second one. [Reviews(movie=/m/the_mummy)] The “movie” argument in the last query would have a provenance of SEARCH_ANSWER_VALUE.integer
textThe display text of this answer value. It’s taken from the search answer value display text if present, or the canonical name if it’s an entity.KnowledgeAnswersIntentQueryArgumentProvenanceSearchAnswerValueThe value was carried over from a SearchAnswerValue triggered by a previous query (go/search-answer-values). For example: U: Movies with Tom Cruise. [Movies(actor=/m/tom_cruise)] G: Tom Cruise’s movies include Top Gun, The Mummy, and 52 others. U: Reviews for the second one. [Reviews(movie=/m/the_mummy)] The “movie” argument in the last query would have a provenance of SEARCH_ANSWER_VALUE.String
valueIndexThe index of the SearchAnswerValue where this value was pulled from.KnowledgeAnswersIntentQueryArgumentProvenanceSearchAnswerValueThe value was carried over from a SearchAnswerValue triggered by a previous query (go/search-answer-values). For example: U: Movies with Tom Cruise. [Movies(actor=/m/tom_cruise)] G: Tom Cruise’s movies include Top Gun, The Mummy, and 52 others. U: Reviews for the second one. [Reviews(movie=/m/the_mummy)] The “movie” argument in the last query would have a provenance of SEARCH_ANSWER_VALUE.integer
gaiaIdThe gaia id for the entity (person or plus page).KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeString
expressionStatusStatus indicating whether the user has completely expressed the semantics of the argument.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeNlpSemanticParsingExpressionStatus
deprecatedSupportingMidA list of mids that “support” this argument in voting, i.e., results that support these mids will be treated as if they support the argument. This field has been deprecated in favor of related_entity. b/27363861KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(String)
onDeviceAnnotationSignalsAdditional signals for on-device annotations.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQueryOnDeviceAnnotationSignals
ungroundedValueTypeType of ungrounded argument. It is exclusively used when simple_value.ungrounded_value is populated.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersValueType
isIntentgenAnnotationWhether this argument was annotated by Intentgen QUIK model (go/intentgen-quik)KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
locationClassificationScoreConfidence score of this argument being a location.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangefloat
allowedFuzzyMatchFor this argument, backend performed fuzzy match.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
isEvalDataHeuristicSet when the eval_data was not derived at parsing time, but heuristically determined by matching the ArgumentValue to an annotation/query fragment.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
supportTransferSignalsSupport Transfer signals for this entity.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQuerySupportTransferSignals
deprecatedFreebaseTypeIf the literal.obj_type of the argument value is ID (Entity), this represents freebase types of the entity in this argument.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(String)
rawQueryTextA copy of the span of canonical (raw) parser input text corresponding to this annotation.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeString
isEnumSet when the argument has an enum value – a normalized_string_type from the intent catalog.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
supportTransferRulesgo/stbr supportthis is anKnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(LogsSemanticInterpretationIntentQuerySupportTransferRule)
qrefInterpretationIndexThe index of the QueryJoin interpretation from which this annotation is taken. We copy over the value given by nlp.semantic_parsing.annotators.QrefAnnotator. The value will be “-1” if the annotation is coming from low confidence Qref annotations. NOTE – this is generated from as QRef’s interetation_number.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeinteger
relatednessSignalsRelatedness Matrix signals about this argument, e.g., query_popularity.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQueryRelatednessSignals
locationTypeThe type category for the location stored in this Argument, if it exists.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeString
mergedImpliedEntityList of QRef implied entities merged into this entity during parsing. Clients should not rely on the order, as it is derivation-dependent.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(KnowledgeAnswersIntentQueryImpliedEntity)
multipleHorizontalListSelectionMatchesWhether there were multiple equally good matches from horizontal_list_selection.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
midEquivalentToCollectionFor collection arguments, it is useful to save what was the original mid that qref annotated. For example, if the collection is /collection/films, we’ll have the mid for /en/film here (/m/02vxn).KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeString
saftSignalsSignals derived from SAFT.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQuerySaftSignals
relatedEntityList of entities that are semantically related to the argument as well as details of the relationship.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(NlpSemanticParsingRelatedEntity)
personalEntityPersonal entities are compound entities made up of entities and their attributes, where the entities can be compound too. E.g., “my father’s mother” can have a summary node annotation of “Mother(Father(Myself))”KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(KnowledgeAnswersIntentQueryPersonalEntity)
resolvedFromPronounWhether this argument was resolved from a pronoun mention in the query. Eg: [how old was obama when *he* became president]KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
chainIdOne or more ChainIds from a ChainAnnotation whose “organization_mid” matches the MID. As of 2021-01 multiple chain_ids may be specified if the organization for MID controls multiple chains. See go/chains-lckp-robust-triggering for motivation.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(LocalsearchChainId)
addedByCloseAnswersWhether this argument was added by CloseAnswers in Postref. This bit is used to mark the corresponding interpretation/intent query as such by setting is_close_interpretation bit.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
locationEntity location information (latitude/longitude) from freebase.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeGeostorePointProto
groundingSignalsKnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQueryGroundingSignals
personalQrefReferenceScoreThe confidence (in [0, 1]) that the annotation is a reference that implies another entity (e.g., “my hotel” in “navigate to my hotel” is a reference to an explicit hotel from the user’s hotel reservations).KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangenumber
mediaEntitySignalsSignals about the media entity for this argument.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQueryMediaEntitySignals
collectionMembershipIf the literal.obj_type of the argument value is ID (Entity), this represents the collection that the entity in this argument is a member of.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(KnowledgeAnswersIntentQueryCollectionMembership)
locationMarkersSignalsThe usual semantic role associated with the signal from lightweight tokens attached to this argument span.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQueryLocationMarkersSignals
sourceWhat added this argument.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeString
clusterInfoIf the literal.obj_type of the argument value is ID (Entity), this stores cluster scoring information for that entity, if the entity belongs to a cluster.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeQualityViewsExtractionClusterInfo
qrefConfidenceScoreThe QRef confidence score for an entity argument.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangenumber
isGenieAnnotationWhether this annotation was propagated as part of a Genie rewrite (go/genie-aqua).KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
resolvedFromContextWhether this argument was resolved through context from a previous query. Examples: obama -> “he” is resolved from the Obama entity starbucks -> Q2 is resolved from the list of shopsKnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
valueSourceWhat added the argument value.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeString
webrefListSourceThis represents which list entities index refers to.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeString
isDefaultValueIf true, the value of the argument is populated with the default value specified by the system if the value can’t be inferred from the input query. In IntentConfig case, the default value is specified by using IntentConfig.slot.default_value.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
parsedDueToExperimentExperiment ID for experiments that were used to parse this FunctionCall. Empty indicates no experiments used.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(String)
facetIf this slot was transformed from or could be transformed to a facet on a categorical, that information is stored here.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersFacetParsing
isNimbleAnnotationWhether this argument was annotated by nimble (go/nimble-annotator)KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
fromSymbolAnnotationWhether the argument entity comes from a graphic symbol annotation. This is later used as a heuristic for poor web result quality.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
entityNumberSignals about what other entities this entity implies / is implied by. This is useful for grounding. Example: b/138388207: suppressing song intents if the artist entity doesn’t link to the song title. This value specifies the order of annotations in a QRef annotation chain so they can refer to each other.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeinteger
copleySourceTypeListContains the source and type information related to a personal entity, for example if it is a hotel or a restaurant (type) and if it comes from Gmail, Calendar, etc. (source).KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeCopleySourceTypeList
webrefEntitiesIndexWebref entity index for this argument, necessary for interpreting the relationship structure, and the list to index into. Specifically we need this to understand qref implications since they edges are represented with entity indexes.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeinteger
entityRelationshipSignals about what other entities this entity implies / is implied by. This is useful for grounding. Example: b/138388207: suppressing song intents if the artist entity doesn’t link to the song title.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(NlpSemanticParsingQRefAnnotationEntityRelationship)
muninSignalsSignals derived from Munin Function call annotations.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQueryMuninSignals
shoppingIdsEquivalent shopping ids for the argument.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQueryShoppingIds
responseMeaningSignalsKnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQueryResponseMeaningSignalsResponseMeaningSignals
contextResolutionHow this argument was resolved through context from a previous query. Examples: obama -> “he” is resolved from the Obama entity starbucks -> Q2 is resolved from the list of shops (Attentional Entities)KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeString
annotationLayerSignalsSignals to facilitate orchestration of TUIG annotations.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeKnowledgeAnswersIntentQueryAnnotationLayerSignals
annotatedRelationshipRelationships between entitiesKnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(LogsSemanticInterpretationIntentQueryWebrefEntityRelationship)
personalQrefResolutionScoreThe confidence (in [0, 1]) that the annotation was created on an implicit mention (e.g., “my hotel”) as opposed to an explicit mention (e.g., “the westin copley square”).KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangenumber
resultSupportThe list of result supports for this Argument.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(UniversalsearchNewPackerKnowledgeResultSupport)
isAUngroundedTypeOfIf the argument is entity, the ungrounded type the entity is. For example, the entity argument is /m/0p83l (Jasmine), the value of this field should be “Plant” if it is present.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeString
oysterIdThe oyster feature id. NOTE: As of Mar 2017, the cell ID field of the feature ID might not be set. See http://b/35447230#comment10KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeGeostoreFeatureIdProto
provenanceInformation about where the value of this argument came from. For example, it could have been explicitly provided in the query, pulled in from the previous state, or pulled from attentional entities.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangelist(KnowledgeAnswersIntentQueryArgumentProvenance)
fromManualSymbolAnnotationWhether the argument entity comes from a manual graphic symbol annotation. This is later used as a heuristic for poor web result quality.KnowledgeAnswersIntentQueryArgumentSignalsA message representing the signals associated with an argument. NEXT ID TO USE: 66 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58&rcl=322925428. LINT.IfChangeboolean
complexQueriesRewriteCustom type used by Complex Queries. This is populated based on the output of the RPC to the Complex Queries Boq node.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42QualityGenieComplexQueriesComplexQueriesOutputRewrite
audioKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsMediaAudio
appAnnotationDevice actions custom types.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingAppAnnotation
calendarReferenceKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42QualityQrewriteCalendarReference
scalarValueA scalar value with optional unit; used ONLY for resolved values after grounding.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42KnowledgeAnswersIntentQueryScalarValue
componentReferenceComponent reference between WebrefEntity and Mention. This should only ever be set in argument values in WebrefEntities (e.g. in a QueryJoin). The processing expectation is that the value including the component reference is discarded altogether and replaced by reference target. Use QueryJoinToMeaningStructConverter to perform the replacement. An example value parallel to this reference may exist, but it’s meant purely for human consumption and should not be used.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42RepositoryWebrefComponentReference
timerProductivity custom types. Team: go/productivity-assistance.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42QualityActionsTimer
moneyRepresents: money expressions (e.g. 25$). Annotated by: number subgrammar.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsMoneyMoney
dateTime*** Opaque types that are likely to become fully supported: *** Represents: date and time expressions. Annotated by: datetime subgrammar.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingDatetimeDateTime
productivityListItemKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42AssistantProductivityListItem
funcall*** Fully supported types *** An argument can also be a function call.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42KnowledgeAnswersIntentQueryFunctionCall
deviceIdDeviceId custom types. Details in go/reply-broadcastKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42AssistantApiCoreTypesDeviceId
recurrenceRepresents: intervals of recurrence for repeated tasks. See go/recurrence-subgrammar Annotated by: recurrence subgrammar.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsRecurrence
shoppingOfferShopping custom types. See go/sopa-attentional.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsShoppingAssistantOffer
sensitiveValueSensitive value, see go/sensitive-intents and go/a4w-multi-turn-dialogKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42KnowledgeAnswersIntentQuerySensitiveArgumentValueGuard
shoppingMerchantKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsShoppingAssistantMerchant
deviceUserIdentityDeviceUserIdentity custom types. Details in go/reply-broadcastKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42AssistantApiCoreTypesDeviceUserIdentity
locationRepresents: location expressions. Annotated by: location subgrammar.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingLocalLocation
shoppingProductKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsShoppingAssistantProduct
calendarEventCalendar custom types. Details in go/cal-ref.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42AssistantApiCoreTypesCalendarEvent
mediaKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsMediaMediaAnnotation
homeAutomationDeviceHomeAutomation custom types. Details in go/smarthome_with_monastery.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42AssistantVerticalsHomeautomationProtoHomeAutomationDevice
shoppingProductExpressionKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsShoppingAssistantProductExpression
simpleValueWhen literal is a datetime, it’s really just an ISO 8601 datetime string. This case will eventually be replaced with the date_time field, which is more expressive and can also represent recurrences, ranges, etc. Likewise, simple_value will replace the other types of simple values that literal is currently being used to represent.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42KnowledgeAnswersIntentQuerySimpleValue
sensitivityArgument level query sensitivities. 1) Statically defined Sensitivity is copied from IntentSlot at serving time so it can be propagated along with FunctionCall to places where the Intent Catalog is not available. See go/sensitive-intents for details. 2) For the same reason, contextual sensitivites (eg., from AttentionalEntity mentions) are populated here too. See go/tagging-sensitive-ae for details.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42list(KnowledgeAnswersSensitivitySensitivity)
durationRepresents: duration expressions (e.g. 5 minutes). Annotated by: datetime subgrammar.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingDatetimeDuration
onDeviceOnDevice custom types. Device on which an intent should be fulfilled. Differs semantically from device fields used by Media and HomeAutomation: this is annotated by the on_device subgrammar, and will not output any metadata beyond what the subgrammar outputs. See go/on_device_induction_quality.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsOnDevice
messageNotificationCustom type used by tap-to-read for embedding a MessageNotification message in a GetMessageContent intent.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42AssistantApiCoreTypesMessageNotification
coreferenceA value that is a coreference or variable binding to some other part of the tree. See go/mrf-variables.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42KnowledgeAnswersIntentQueryCoreference
narrativeNewsProviderCustom type used by NarrativeNews. This is populated by the narrative news provider annotator, and it differs semantically from a mid for a news brand in that it doesn’t refer to the field of widely known news brands but rather but to the specific audio news RSS feeds that the narrative news feature serves. (There is of course substantial overlap between those two concepts)KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsNarrativeNewsNewsProvider
reminderKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42QualityActionsReminder
deviceMedia custom types. For example use, see go/valyrian-media-dd.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsMediaCastDeviceAnnotation
calendarEventWrapperDetails in go/multi-account-event-representation.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42AssistantApiCoreTypesCalendarEventWrapper
numberRepresents: number expressions. Annotated by: number subgrammar.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingNumberNumber
shoppingStoreKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsShoppingAssistantStore
aogSlotCustom type used by actions-on-google in-dialog queries. See go/3p-custom-intents-wrt-meaning-catalogKnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingProtoActionsOnGoogleAogSlot
personalIntelligenceEntityEntity parsed from manual grammar interpretation in the Personal Intelligence domain.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingPersonalIntelligenceEntity
personRepresents: structured person names, including common names and personal contacts. Annotated by: go/person-subgrammar.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingModelsPersonPerson
timezoneRepresents: timezone expressions (e.g. Eastern Daylight Time). Annotated by: datetime subgrammar.KnowledgeAnswersIntentQueryArgumentValueA message representing the value of an argument. All types in the “value” oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42NlpSemanticParsingDatetimeTimeZone
attributeIdKnowledgeAnswersIntentQueryAttributeSignalContains an attribute id and it’s completion score.String
scoreKnowledgeAnswersIntentQueryAttributeSignalContains an attribute id and it’s completion score.number
collectionIdHuman readable id of the collection.KnowledgeAnswersIntentQueryCollectionMembershipA message representing the collection membership of an entity.String
collectionMidIdentifier of the collection, usually a MID (/m/xyz or /g/zyw).KnowledgeAnswersIntentQueryCollectionMembershipA message representing the collection membership of an entity.String
collectionScoreThe collection score for a entity.KnowledgeAnswersIntentQueryCollectionMembershipA message representing the collection membership of an entity.number
scoreDifferent types of scores for the collection. Each score type has at most one score.KnowledgeAnswersIntentQueryCollectionMembershipA message representing the collection membership of an entity.list(KnowledgeAnswersIntentQueryCollectionScore)
scoreTypeKnowledgeAnswersIntentQueryCollectionScoreString
scoreValueKnowledgeAnswersIntentQueryCollectionScorenumber
idKnowledgeAnswersIntentQueryConceptInfoConcept provides meaning semantics captured in a continuous space, as opposed to MRF. go/concepts-roofshot.ConceptsConceptId
dataEpochIdConcepts data epoch used to annotate the queries.KnowledgeAnswersIntentQueryConceptSignalsSignal data for associated Concepts (go/concept-roofshot).integer
argPathA coreference is represented by an argument path starting from the root of the whole tree to the referenced value.KnowledgeAnswersIntentQueryCoreferenceA message representing a coreferenced value defined elsewhere in the meaning struct.KnowledgeAnswersIntentQueryArgPath
additionalAnnotationDataStores any additional data which is required only at the intent fulfilment phase.KnowledgeAnswersIntentQueryCustomVehicleActionArgumentAnnotatorSignalsSignals associated with CustomVehicleActionArgumentAnnotator annotations.map
argumentA list of arguments of this function call.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangelist(KnowledgeAnswersIntentQueryArgument)
catalogVersionThe corresponding meaning catalog version that was used to generate this FunctionCall.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeString
conceptInfoInformation about the corresponding Concept for this MRF Expression. For more details see go/concepts-roofshot.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersIntentQueryConceptInfo
contextualSensitivityContextual Sensitivity (go/contextual-sensitivity) metadata indicating that a policy- or privacy- sensitive conversation context (previous queries, rewritten user queries, and previous system responses, like attentional entities) is used to generate this FunctionCall. This needs propagation (1) from Interp to DialogIntentState (DIS) (see b/148479837) and (2) from QRewrite/QUS down to Assistant Server’s memory finalizer. One can use knowledge/answers/sensitivity/sensitivity_reader.h to parse this proto. NOTE(b/149091449): This is part of the migration of contextual sensitivity protos from Interp sensitivity extension. (nlp::semantic_parsing::sensitivity) to this proto field. See the bug to track the migration progress and for more details.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangelist(KnowledgeAnswersSensitivitySensitivity)
enabledRemodelingsContains data about which remodelings are being used for this funcall. For more information see go/meaning-remodeling-framework.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeNlpMeaningMeaningRemodelingControl
ignoredTokensA list of token lists that were ignored during parsing because they are known context phrases for this interpretation. For example, for query [tell me how tall height of Obama really], assuming “tell me”, “tall”, “of”, “really” are explained and thus ignored, with corresponding prior 0.9, 0.8, 0.7, 0.6, following ignored tokens will be populated: { ignored_tokens { token { ngram: “tell me”, prior: 0.9} score: 0.9 } ignored_tokens { token { ngram: “tall”, prior: 0.8} token { ngram: “of”, prior: 0.7} score: 0.56 // currently score = prior1 * prior2 * … * prior N } ignored_tokens { token { ngram: “really”, prior: 0.6} score: 0.6 } } These tokens can serve two purpose: 1) debug info to show why an interpretation is generated; 2) carry the signals for downstream usage. Note: This field is under active development, and significant changes could happen. Please contact porky-pig@ if you want to use it.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangelist(KnowledgeAnswersIntentQueryTokens)
keyThe primary key for this FunctionCall. Note: This is still under development and not available for general use. Contact meaning-platform-eng@ for questions.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersMeaningSchemaKey
markerThe marker specifies the purpose of this meaning struct / function call: Is it asking a question, and if yes, for which slot(s)? Is it a command, statement, etc? This corresponds to a (very coarse) notion of dialog acts. In the absence of this field, it will be inferred using the following algorithm (subject to marker applicability rules specified in marker.proto, see also go/requested-slots): 1) Use the underlying Meaning Schema’s default marker, if applicable. 2) Assume that the Meaning Struct is polar or a statement. The presence of a marker will affect the value type of this function call.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersMarker
modifiersA flattened representation of all intent modifiers that apply to this function call.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersIntentModifiers
nameName of this function call. The name must be present. If it is omitted, the FunctionCall is not well-formed.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeString
sensitivityIntent level query sensitivity (go/sensitive-intents). This metadata comes directly from Intent Catalog, indicating a single-shot query sensitivity without putting context into considerations. Therefore, this requires a one-to-one match with each intent registered in Intent Catalog.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersSensitivitySensitivity
signalsSignals at the function call levelKnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangeKnowledgeAnswersIntentQueryFunctionCallSignals
unexplainedTokensA list of tokens that were ignored during parsing that cannot be explained by context phrases.KnowledgeAnswersIntentQueryFunctionCallA message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChangelist(KnowledgeAnswersIntentQueryTokens)
intentAnnotationSourcesKnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39list(String)
expressionStatusStatus indicating whether the user has completely expressed their intended semantics. (See go/streaming-nlu-fulfilment-protocol-v1 for more info. )KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39NlpSemanticParsingExpressionStatus
attributeSignalsThe attributes from which this intent was generated during execution of AttributeSignalsProvider. |attribute_signals| is only populated for single entity funcalls.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39list(KnowledgeAnswersIntentQueryAttributeSignal)
isRefinedMeaningWhether the FunctionCall is created as a refined_meaning in resolution. Downstream code will look at this field to see if it needs to create a new refined QueryInterpretation.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39boolean
argumentComposingMidThe argument mid that was used to compose the entity for a concept interpretation, along with the intent_composing_mid (one of the intent’s equivalent MIDs).KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39String
roleKnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39String
isCloseInterpretationWhether the interpretation was generated using similar queries in POSTREF. In case POSTREF_AQUA generated the same entity-attribute interpretation, this is still set to true.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39boolean
prefulfillmentSignalsAll the input signals to the Prefulfillment Ranker.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39AssistantPrefulfillmentRankerPrefulfillmentSignals
dedupedFuncallsFunctionCall-s that this funcall was deduped against.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39list(KnowledgeAnswersIntentQueryFunctionCall)
localSignalsInformation about Local results to be used in the Packer for Local Categorical derived intent deduplication and conformance.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39KnowledgeAnswersIntentQueryLocalSignals
isDisambiguationIntentDenotes whether this is a sub-intent of an ambiguous SystemUncertain intent go/intent-disambiguation.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39boolean
intentProvenanceInformation about where the value of this intent came from. For example, it could have been explicitly provided in the query, pulled in from the previous dialog state, or pulled from previous queries.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39list(KnowledgeAnswersIntentQueryArgumentProvenance)
highConfidenceUsed to indicate that an interpretation is high confidence and triggers different voting behavior. This bit should only be set for verticals. DEPRECATED. Use confidence_level instead.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39boolean
conceptEntityMidAn entity that represents the concept of an entity-attribute intent by being composed of an intent equivalent MID and the argument MID.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39String
selectedByPrefulfillmentRankingIdentifies whether the Prefulfillment Ranker selected this intent for emission. This is needed temporarily while migrating intent emitters from ACE to QUS/PFR. See go/pfr-intent-emitter for more infoKnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39boolean
freefolksTriggerKnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39String
conceptSignalsInformation about the corresponding Concept attached to the FunctionCall. go/concept-roofshot.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39KnowledgeAnswersIntentQueryConceptSignals
groundingSignalsGrounding signals for ranking/filtering, as well as whether to use Grounding Box and PGRP in AnswersRewriter. See comment on GroundingSignals for details.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39KnowledgeAnswersIntentQueryGroundingSignals
refxSummaryNodeIdThe id of the summary node if this funcall represents an mdvc interpretationKnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39String
signalsFallbackIntentsAdditional intents to be used for intent scoring. This field must only be populated when we cannot find a single unified intent. For example, when we compute signals for a LocalEntities function call, this means we could not find a unified intent to capture all the local results. In this case, we add a fallback intent for each local result (e.g. GeoSchool, GeoRestaurant, and GeoBank if those are the results we show).KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39list(KnowledgeAnswersIntentQuerySignalComputationFallbackIntent)
isDisambiguationCardIntentDenotes whether this is an intent being fulfilled from user tapping a disambiguation card. More info in go/cardea-deck.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39boolean
prefulfillmentRankingScoreIdentifies a score, determined before fulfillment but after grounding. Written by the Prefulfillment Ranker, and used as a signal for ACE Ranking.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39number
isNeuralCategoricalInterpretationWhether the interpretation was generated from the neural categorical parser.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39boolean
parsedDueToExperimentExperiments that caused this FunctionCall to parse, without which this would not have parsed.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39list(String)
referentialResolutionDescribes how this intent was resolved via external data (either elsewhere in the query, or in a previous query).KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39KnowledgeAnswersDialogReferentialResolution
intentComposingMidAn intent_relevant_mid that was used to compose the entity for a concept interpretation, along with argument_composing_mid (the question’s argument MID).KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39String
shoppingIdsEquivalent shopping ids for the function call.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39KnowledgeAnswersIntentQueryShoppingIds
responseMeaningSignalsSignal data from SRM generation. Solely used internally. See: go/srm-design.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39KnowledgeAnswersIntentQueryResponseMeaningSignalsResponseMeaningSignals
osrpJourneyTagA tag to annotate user’s journey (e.g., JourneyFollowCampusUpdates). This will be used for Journey OSRP demo (go/josrp-sprint). !!NOTE!! This field is reserved for Journey OSRP demo, and will be deprecated shortly after its completion. DO NOT USE.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39String
parsingSignalsParsing signals for ranking/filtering.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39KnowledgeAnswersIntentQueryParsingSignals
resultSupportThe list of result supports for this FunctionCall.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39list(UniversalsearchNewPackerKnowledgeResultSupport)
intentRelevantMidKG mids of entities that represent this intent. These entities are seen as equivalent to the Intent definition, and are specified in the Intent Catalog as relevant_mid.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39list(String)
usesPrefulfillmentRankerIdentifies whether this intent intends to be scored and pruned by the prefulfillment ranker after intent-generation.KnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39boolean
isUiCompositionIntentDenotes this is a sub-intent used for composing an Assistant UI response. The assistant dialog should output ui_composition_shelf in the SystemResponse if it can fulfill the intent. More info in go/davinci-design and go/davinci-di-fulfillmentKnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39boolean
confidenceLevelKnowledgeAnswersIntentQueryFunctionCallSignalsNext ID: 39String
addedByGroundingKnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14boolean
groundabilityScoreScore indicating how grounded the intent is, populated by the Grounding Box, used by the pre-fulfillment ranker, see http://go/prefulfillment-ranker.KnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14float
numConstraintsSum of the number of constraints used by the Grounding Box to ground each variable.KnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14float
numConstraintsSatisfiedSum of the number of constraints satisfied for each variable. Depending on the match score for a constraint, this number can be fractional and is in the range [0, num_constraints].KnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14float
numGroundableArgsNumber of groundable arguments in the parsed intent.KnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14float
numGroundedArgsNumber of arguments that got actually grounded.KnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14float
numVariablesNumber of arguments, possibly nested, that the Grounding Box tried to ground.KnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14float
numVariablesGroundedNumber of arguments, possibly nested, that the Grounding Box was able to ground. This includes ambiguously grounded arguments.KnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14float
pgrpOutputFormatPGRP outputs PROD_INTENT_FACTORY intent format by default. See go/intent-conversion-locations-in-sage. Experimental flags can change or make PGRP output additional intents formatted for PORTMON_FULFILLMENT (e.g. with RDs). This is used by the PortMon/ARM dark launch (go/arm-dark-launch-infra). Longer term, this will be replaced by DGS system-internal transformations (go/if-dgs).KnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14String
provenanceKnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14String
sentimentKnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14String
usesGroundingBoxIf true, then GroundingBox and PGRP are used in AnswersRewriter to process the intent. Other post-processing steps, including IGDP, are adjusted accordingly. Note this will be removed once GroundingBox is fully launched and all prod traffic goes through it. Before that happens, each IG that needs to go through GB and PGRP (post GB ranking pruning) will need to explicitly set this field to true. See http://go/gb-impl and http://go/gb-post-ranker-pruner for details.KnowledgeAnswersIntentQueryGroundingSignalsGrounding-related signals to be propagated down stream. Next ID: 14boolean
idKnowledgeAnswersIntentQueryIdentifierIdentifiers are references to a specific entity of a specified type, such as a TIMER_ID XXX. For more backround and uses see go/grounding-common-ids.String
idTypeKnowledgeAnswersIntentQueryIdentifierIdentifiers are references to a specific entity of a specified type, such as a TIMER_ID XXX. For more backround and uses see go/grounding-common-ids.String
annotatedSpanA copy of the span of canonical (raw) parser input text corresponding to this annotation. Copied from QRefAnnotation.annotated_span.KnowledgeAnswersIntentQueryImpliedEntitySignals for $QRefImpliedEntities that are merged into entity arguments during parsing.String
evalDataThis field is used inside Aqua for evaluation purposes.KnowledgeAnswersIntentQueryImpliedEntitySignals for $QRefImpliedEntities that are merged into entity arguments during parsing.NlpSemanticParsingAnnotationEvalData
isUngroundedValueTODO (b/143536264): Create a new ImpliedTokens message and remove this. Whether the implied entity is ungrounded value, set to true when the entity doesn’t have a KG mid.KnowledgeAnswersIntentQueryImpliedEntitySignals for $QRefImpliedEntities that are merged into entity arguments during parsing.boolean
midThe KG mid of the implied entity.KnowledgeAnswersIntentQueryImpliedEntitySignals for $QRefImpliedEntities that are merged into entity arguments during parsing.String
qrefConfidenceScoreThe QRef confidence (in [0, 1]) of the entity being correctly annotated.KnowledgeAnswersIntentQueryImpliedEntitySignals for $QRefImpliedEntities that are merged into entity arguments during parsing.number
shoppingIdsAll ShoppingIds for this implied entity that need to be copied to IntentQuery (FunctionCall) if this implied entity is used in intent generation. See go/iql-shopping-ids for details.KnowledgeAnswersIntentQueryImpliedEntitySignals for $QRefImpliedEntities that are merged into entity arguments during parsing.KnowledgeAnswersIntentQueryShoppingIds
iqlEncodingVersionThe version of encoder for the IQL FunctionCalls. We bump up the version when, but not limited to, we change how an IQL is converted to a byte array, or the change of byte compression algorithm.KnowledgeAnswersIntentQueryIndexingIQLAttachmentMustang/Kgraph attachment to encode IQL expressions annotated by Webref, Pianno, and other applications. This is currently a prototype implementation. The attachment is not yet output in production. Please contact simonz@ for more info. The planned use-cases include: – Pianno page-level intents (go/pianno-design). – Compound entity representations (go/compounds-in-refx). See go/iql-in-wma for more details about IQL attachment and its encoding design. Next available tag: 5integer
iqlFuncallsA compressed byte array that represents IQL FunctionCalls. A list of IQL FunctionCalls are first encoded as a byte array. The byte array is then compressed. For more details on the encoding, see go/iql-in-wma.KnowledgeAnswersIntentQueryIndexingIQLAttachmentMustang/Kgraph attachment to encode IQL expressions annotated by Webref, Pianno, and other applications. This is currently a prototype implementation. The attachment is not yet output in production. Please contact simonz@ for more info. The planned use-cases include: – Pianno page-level intents (go/pianno-design). – Compound entity representations (go/compounds-in-refx). See go/iql-in-wma for more details about IQL attachment and its encoding design. Next available tag: 5String
piannoConfidenceScoreE2The Pianno confidence scores of all intents of the IQL FunctionCalls. For space reasons this is stored as a [0, 100] integer that represents the confidence up to two decimal points (fixed point). Convert it to confidence_score using the following formula: float pianno_confidence_score = pianno_confidence_score_e2 / 100.0f It should have the same number of elements as the IQL expressions after decoding. For non-Pianno top level intents, this score is 0.KnowledgeAnswersIntentQueryIndexingIQLAttachmentMustang/Kgraph attachment to encode IQL expressions annotated by Webref, Pianno, and other applications. This is currently a prototype implementation. The attachment is not yet output in production. Please contact simonz@ for more info. The planned use-cases include: – Pianno page-level intents (go/pianno-design). – Compound entity representations (go/compounds-in-refx). See go/iql-in-wma for more details about IQL attachment and its encoding design. Next available tag: 5list(integer)
piannoIqlBitmapA bit map indicating if the intents in the IQL FunctionCalls are top level intents for Pianno (go/pianno). This is a repeated field. In the event of more than 32 intents, the first uint32/ represents the 1st to the 32nd intents, and the second uint32 represents/ the 33rd to the 64th intents, and so on. Within each uint32, the bits are in reversed order, i.e. the right-most bit of the first uint32 indicating if the first intent in IQL expressions is a top level intent for Pianno. The prevailing (unused) bits of the last uint32 are filled with 0s.KnowledgeAnswersIntentQueryIndexingIQLAttachmentMustang/Kgraph attachment to encode IQL expressions annotated by Webref, Pianno, and other applications. This is currently a prototype implementation. The attachment is not yet output in production. Please contact simonz@ for more info. The planned use-cases include: – Pianno page-level intents (go/pianno-design). – Compound entity representations (go/compounds-in-refx). See go/iql-in-wma for more details about IQL attachment and its encoding design. Next available tag: 5list(integer)
gcidIntentGeo intents corresponding to the gcids obtained from the Local result.KnowledgeAnswersIntentQueryLocalResultSignalsA message that stores signals relating to a Local result.list(String)
salientTermSetSalient terms associated with this Local result based on the result gcids.KnowledgeAnswersIntentQueryLocalResultSignalsA message that stores signals relating to a Local result.QualitySalientTermsSalientTermSet
localResultSignalsSignals relating to each Local result.KnowledgeAnswersIntentQueryLocalSignalsA message that stores information about Local results to be used in the Packer for Local Categorical derived intent deduplication and conformance.list(KnowledgeAnswersIntentQueryLocalResultSignals)
minSalientTermSimilarityMinimum salient term similarity between Local results.KnowledgeAnswersIntentQueryLocalSignalsA message that stores information about Local results to be used in the Packer for Local Categorical derived intent deduplication and conformance.number
typeThe type of the lightweight token match.KnowledgeAnswersIntentQueryLocationMarkersSignalsSignals from LightweightToken. The span for an argument may have been extended to include lightweight token markers such as FROM or TO. This signal provides the semantics for the range extension.String
artistTitleFor songs, this is the name of the primary artist, i.e. “Shallow” would “Lady Gaga” set.KnowledgeAnswersIntentQueryMediaEntitySignalsSignals about the media entity.String
nameName of the media entity, i.e. “Lady Gaga”.KnowledgeAnswersIntentQueryMediaEntitySignalsSignals about the media entity.String
isIsolatedIf the modifier is only a good soft modifier by itself, then we would trigger only if it’s the only modifierKnowledgeAnswersIntentQueryMuninSignalsSignals derived from Munin Function call annotations.boolean
softModifierCollectionSignals for $ListQueryRuleWithSoftModifier. Collections allowed by the soft modifier.KnowledgeAnswersIntentQueryMuninSignalsSignals derived from Munin Function call annotations.list(String)
textIsGeneratedIf true, the text for this argument did not come from the query, but was generated somehow else.KnowledgeAnswersIntentQueryMuninSignalsSignals derived from Munin Function call annotations.boolean
annotationSourceWhere the annotation has been read from.KnowledgeAnswersIntentQueryNimbleAnnotationSignalsSignals associated with NimbleAnnotator annotations.String
typeA client-controlled identifier that the client can use to distinguish between different sets of annotations.KnowledgeAnswersIntentQueryNimbleAnnotationSignalsSignals associated with NimbleAnnotator annotations.String
versionVersion identifier used to isolate different clients from each other. A client should intersect this list of versions with the ones the client is interested in, and use the annotation if the intersection is non-empty.KnowledgeAnswersIntentQueryNimbleAnnotationSignalsSignals associated with NimbleAnnotator annotations.list(String)
provenanceProvenance of the annotator. Equivalent to the `provenance` field in OnDeviceParserInput::AnnotationInfo. This is used to map from AnnotationInfo to nlp_sage.ScoredAnnotation, since nlp_sage.ScoredAnnotation doesn’t have a native `provenance` field. Note in the (very) long term, we’d like to replace ScoredAnnotation with Argument altogether.KnowledgeAnswersIntentQueryOnDeviceAnnotationSignalsSignals coming from on-device annotators.String
calibratedParsingScoreA parsing score that is independently calibrated by each parser/IG, used by pre-fulfillment ranker, see http://go/prefulfillment-ranker.KnowledgeAnswersIntentQueryParsingSignalsParsing-related signals. Only horizontal signals should appear directly as fields on this message. Each domain should create their own extension for anything that they need to propagate down stream from AQUA. Note that this proto is not the same as the Superroot proto ParsingSignals (http://google3/knowledge/proto/scoring-signals.proto), which is a Superroot-specific signal used in Scoring. Next ID: 7float
effectiveArgSpanLengthThe total effective length of the spans for the arguments used to construct the parse. May include vertical specific adjustments. Eg: For the query [delete my 7 p.m. alarm called chicken] and intent Delete_alarm(alarm_object=RD(category=AlarmObject( label=”chicken”, trigger_time_datetime=<< 7 PM >>))), the effective argument span is “7 p.m.” + “chicken” (total length of 13).KnowledgeAnswersIntentQueryParsingSignalsParsing-related signals. Only horizontal signals should appear directly as fields on this message. Each domain should create their own extension for anything that they need to propagate down stream from AQUA. Note that this proto is not the same as the Superroot proto ParsingSignals (http://google3/knowledge/proto/scoring-signals.proto), which is a Superroot-specific signal used in Scoring. Next ID: 7number
inQueryMaxEffectiveArgSpanLengthThis is a cross-intent feature which is calculated by iterating all intent candidates. This feature should be populated in post-IG stage (before GB).KnowledgeAnswersIntentQueryParsingSignalsParsing-related signals. Only horizontal signals should appear directly as fields on this message. Each domain should create their own extension for anything that they need to propagate down stream from AQUA. Note that this proto is not the same as the Superroot proto ParsingSignals (http://google3/knowledge/proto/scoring-signals.proto), which is a Superroot-specific signal used in Scoring. Next ID: 7number
qrewriteCallPathInfoFingerprintThis proto holds the fingerprint of the call path info of QRewrite client (e.g. the QUS’s phase like “RBT”,”QBT”; the QUS’s candidate type like “Identity”; and the ACE’s candidate type like “FuzzyMatcher”).KnowledgeAnswersIntentQueryParsingSignalsParsing-related signals. Only horizontal signals should appear directly as fields on this message. Each domain should create their own extension for anything that they need to propagate down stream from AQUA. Note that this proto is not the same as the Superroot proto ParsingSignals (http://google3/knowledge/proto/scoring-signals.proto), which is a Superroot-specific signal used in Scoring. Next ID: 7String
sourceThe parser that calibrated the parsing score below.KnowledgeAnswersIntentQueryParsingSignalsParsing-related signals. Only horizontal signals should appear directly as fields on this message. Each domain should create their own extension for anything that they need to propagate down stream from AQUA. Note that this proto is not the same as the Superroot proto ParsingSignals (http://google3/knowledge/proto/scoring-signals.proto), which is a Superroot-specific signal used in Scoring. Next ID: 7String
attributeIdAttribute ID of a personal_summary_node_child.KnowledgeAnswersIntentQueryPersonalEntityA message encapsulating all “/collection/personal_memory” annotations from QRef annotator. These annotations are present in personal_summary_node_child proto field of input QRefAnnotation proto. NEXT ID TO USE: 5String
entityRelationshipKnowledgeAnswersIntentQueryPersonalEntityA message encapsulating all “/collection/personal_memory” annotations from QRef annotator. These annotations are present in personal_summary_node_child proto field of input QRefAnnotation proto. NEXT ID TO USE: 5list(KnowledgeAnswersIntentQueryPersonalEntityEntityRelationship)
freebaseMidThe mid of the entity in freebase associated with this span.KnowledgeAnswersIntentQueryPersonalEntityA message encapsulating all “/collection/personal_memory” annotations from QRef annotator. These annotations are present in personal_summary_node_child proto field of input QRefAnnotation proto. NEXT ID TO USE: 5String
personalEntityChildEvery PersonalEntity might itself rescursively contain related Personal Entities, e.g. for, “my father’s mother” a parent Personal Entity for ‘Mother()’ contains a child Personal Entity of the form ‘Mother(Myself)’.KnowledgeAnswersIntentQueryPersonalEntityA message encapsulating all “/collection/personal_memory” annotations from QRef annotator. These annotations are present in personal_summary_node_child proto field of input QRefAnnotation proto. NEXT ID TO USE: 5list(KnowledgeAnswersIntentQueryPersonalEntity)
entityIndexThe index of the other entity in the relationship.KnowledgeAnswersIntentQueryPersonalEntityEntityRelationshipThe relationship information from QRef. Only included if the QRefAnnotator is initialised with include_annotated_relationships.integer
linkPropertyNameNames of the relationship links.KnowledgeAnswersIntentQueryPersonalEntityEntityRelationshipThe relationship information from QRef. Only included if the QRefAnnotator is initialised with include_annotated_relationships.list(String)
scoreNumeric value associated with each annotation within the Qref servlet output.KnowledgeAnswersIntentQueryQrefAnnotationSignalsSignals associated with Qref annotations.float
trustedNameConfidenceTrusted name confidence signal https://g3doc.corp.google.com/repository/webref/preprocessing/names/tnc_classifier/README.mdKnowledgeAnswersIntentQueryQrefAnnotationSignalsSignals associated with Qref annotations.float
queryPopularityKnowledgeAnswersIntentQueryRelatednessSignalsRelatedness Matrix signals for FunctionCall Arguments.number
youtubeViewsKnowledgeAnswersIntentQueryRelatednessSignalsRelatedness Matrix signals for FunctionCall Arguments.String
answersValueGenderKnowledgeAnswersIntentQueryResponseMeaningSignalsAnswersHeaderSignalsString
numAnswersKnowledgeAnswersIntentQueryResponseMeaningSignalsAnswersHeaderSignalsString
answersHeaderSignalsSignals that are used to generate answers header.KnowledgeAnswersIntentQueryResponseMeaningSignalsResponseMeaningSignalsSRM signal data. Properties here should be nonsemantic. Semantic properties should be modeled directly in the SRM.KnowledgeAnswersIntentQueryResponseMeaningSignalsAnswersHeaderSignals
propertyValueKnowledgeAnswersIntentQueryResponseMeaningSignalsResponseMeaningSignalsSRM signal data. Properties here should be nonsemantic. Semantic properties should be modeled directly in the SRM.list(FreebasePropertyValue)
responseMeaningApplicationThe intended application this response meaning is used for. It is intended for downstream dispatching.KnowledgeAnswersIntentQueryResponseMeaningSignalsResponseMeaningSignalsSRM signal data. Properties here should be nonsemantic. Semantic properties should be modeled directly in the SRM.String
entityTypeKnowledgeAnswersIntentQuerySaftSignalsSignals derived from overlapping saft annotations.String
isHeadOfIntentKnowledgeAnswersIntentQuerySaftSignalsSignals derived from overlapping saft annotations.boolean
isVerbSaft often marks verbs as head of intent and we may want to ignore those.KnowledgeAnswersIntentQuerySaftSignalsSignals derived from overlapping saft annotations.boolean
numberKnowledgeAnswersIntentQuerySaftSignalsSignals derived from overlapping saft annotations.String
doubleValueKnowledgeAnswersIntentQueryScalarValueA message representing a scalar numeric value with optional unitsfloat
unitTypeKnowledgeAnswersIntentQueryScalarValueA message representing a scalar numeric value with optional unitsString
categoryName of the subgrammar category this annotation is associated with.KnowledgeAnswersIntentQuerySemanticAnnotationSignalsSignals associated with nlp_ig::v1::SemanticAnnotator.String
domainName of the subgrammar domain.KnowledgeAnswersIntentQuerySemanticAnnotationSignalsSignals associated with nlp_ig::v1::SemanticAnnotator.String
featuresKnowledgeAnswersIntentQuerySemanticAnnotationSignalsSignals associated with nlp_ig::v1::SemanticAnnotator.list(KnowledgeAnswersIntentQuerySemanticAnnotationSignalsFeature)
scoreNumeric value associated with each subgrammar annotation. Used for in-domain ranking inside the Aqua Analyzer. This field is not guaranteed to be in any range. Furthermore, this field should never be compared for annotations with differing ‘domain’ value. The field is included here for making the Aqua Analyzer work with subgrammar annotations that have been generated in a different Aqua Analyzer (typically by TUIG SemanticAnnotationServlet). TL;DR: Consumers of this message are STRONGLY DISCOURAGED from using this field.KnowledgeAnswersIntentQuerySemanticAnnotationSignalsSignals associated with nlp_ig::v1::SemanticAnnotator.float
nameKnowledgeAnswersIntentQuerySemanticAnnotationSignalsFeatureAqua features exported from a subgrammar. Primarily added here for External Subgrammar Annotations to work. See go/esa-exported-features for details. NOTE: Feature names can change and the existence of any feature is not guaranteed. Get in touch with ig-eng@ before using these features.String
valueKnowledgeAnswersIntentQuerySemanticAnnotationSignalsFeatureAqua features exported from a subgrammar. Primarily added here for External Subgrammar Annotations to work. See go/esa-exported-features for details. NOTE: Feature names can change and the existence of any feature is not guaranteed. Get in touch with ig-eng@ before using these features.float
doNotUseDebugOnlyDecryptedValueDecrypted and deserialized contents of |encrypted_value|. This field should never be populated in prod. This is only provided for easier human inspection when using dev builds (dev keys are public).KnowledgeAnswersIntentQuerySensitiveArgumentValueGuardKnowledgeAnswersIntentQueryArgumentValue
encryptedValueEncrypted protobuffer of type ArgumentValue.KnowledgeAnswersIntentQuerySensitiveArgumentValueGuardString
aspectClusterIdsA shopping aspect cluster id. These are attributes mined from mentions in web articles.KnowledgeAnswersIntentQueryShoppingIdsAdditional shopping identifiers related to an entity or IQL function call. This must be passed along to the shopping backend (go/o4) to aid in fulfillment. Because the shopping data models do not always line up 1-1 with KG entities and are not always reconciled with each other, the message may contain multiple ids. Next id: 8 LINT.IfChangelist(String)
brandEntityIdBrand entity id. Brands are fully reconciled with KG entities so there should never be ambiguity as to which brand applies (those would be separate MIDs).KnowledgeAnswersIntentQueryShoppingIdsAdditional shopping identifiers related to an entity or IQL function call. This must be passed along to the shopping backend (go/o4) to aid in fulfillment. Because the shopping data models do not always line up 1-1 with KG entities and are not always reconciled with each other, the message may contain multiple ids. Next id: 8 LINT.IfChangeString
bxCategoryIdsA category in the shopping browseonomy, a taxonomy of product types that can be found at go/bx. This field is expected to contain the deepest node in the browseonomy that the intent or argument pertains to, which may be an internal node. It does not contain the entire path of categories.KnowledgeAnswersIntentQueryShoppingIdsAdditional shopping identifiers related to an entity or IQL function call. This must be passed along to the shopping backend (go/o4) to aid in fulfillment. Because the shopping data models do not always line up 1-1 with KG entities and are not always reconciled with each other, the message may contain multiple ids. Next id: 8 LINT.IfChangelist(integer)
measuresKnowledgeAnswersIntentQueryShoppingIdsAdditional shopping identifiers related to an entity or IQL function call. This must be passed along to the shopping backend (go/o4) to aid in fulfillment. Because the shopping data models do not always line up 1-1 with KG entities and are not always reconciled with each other, the message may contain multiple ids. Next id: 8 LINT.IfChangelist(KnowledgeAnswersIntentQueryShoppingIdsMeasureValue)
merchantIdsList of merchant customer account IDs associated with a merchant entity in KG. NOTE: Soon to be deprecated, see go/merchant_mids_in_indexer designKnowledgeAnswersIntentQueryShoppingIdsAdditional shopping identifiers related to an entity or IQL function call. This must be passed along to the shopping backend (go/o4) to aid in fulfillment. Because the shopping data models do not always line up 1-1 with KG entities and are not always reconciled with each other, the message may contain multiple ids. Next id: 8 LINT.IfChangelist(String)
merchantSourceIdsA shopping merchant source id, i.e. the key used to identify Shopping Merchants as they are imported into KG. For reference, these IDs are populated in: * CommerceDB under BusinessIdentification.knowledge_graph.source_id * KG using the /shopping/merchant/id predicateKnowledgeAnswersIntentQueryShoppingIdsAdditional shopping identifiers related to an entity or IQL function call. This must be passed along to the shopping backend (go/o4) to aid in fulfillment. Because the shopping data models do not always line up 1-1 with KG entities and are not always reconciled with each other, the message may contain multiple ids. Next id: 8 LINT.IfChangelist(String)
tagIdsMoka attributes of a product. This includes color tags but currently not brand. We allow the possibility for multiple tag ids, as multiple Moka tag ids may map to the same mid, and we may not be able to find a single matching Moka tag. Also, cross-category Moka colors intentionally map a single color mentioned in the query to an expansion of many tags representing points in LAB color space (although this representation is expected to change).KnowledgeAnswersIntentQueryShoppingIdsAdditional shopping identifiers related to an entity or IQL function call. This must be passed along to the shopping backend (go/o4) to aid in fulfillment. Because the shopping data models do not always line up 1-1 with KG entities and are not always reconciled with each other, the message may contain multiple ids. Next id: 8 LINT.IfChangelist(String)
facetIdKnowledgeAnswersIntentQueryShoppingIdsMeasureValueA measured value of a product (e.g. Hard drive size = 1 TB). The value is measured in the facet’s base unit. This does not necessarily match the unit expressed by the user in the query. The exact unit is known to the O4 server and is used in fulfillment.String
valueKnowledgeAnswersIntentQueryShoppingIdsMeasureValueA measured value of a product (e.g. Hard drive size = 1 TB). The value is measured in the facet’s base unit. This does not necessarily match the unit expressed by the user in the query. The exact unit is known to the O4 server and is used in fulfillment.float
intentThe intent name of the fallback intent.KnowledgeAnswersIntentQuerySignalComputationFallbackIntentA message representing an intent to use for intent scoring if the root intent is invalid.String
boolValueKnowledgeAnswersIntentQuerySimpleValueA message representing a simple literal value.boolean
doubleValueKnowledgeAnswersIntentQuerySimpleValueA message representing a simple literal value.float
identifierKnowledgeAnswersIntentQuerySimpleValueA message representing a simple literal value.KnowledgeAnswersIntentQueryIdentifier
intValueKnowledgeAnswersIntentQuerySimpleValueA message representing a simple literal value.String
stringValueKnowledgeAnswersIntentQuerySimpleValueA message representing a simple literal value.String
ungroundedValueUngrounded value contains the part of the query (or web snippet, etc.) that was not understood. For more information on this field, see the “Ungrounded value” item in the table of contents of go/iql-v1KnowledgeAnswersIntentQuerySimpleValueA message representing a simple literal value.String
supportTransferSourceEntities that transferred support to this entity (mids).KnowledgeAnswersIntentQuerySupportTransferSignalsSignals indicating whether this entity received or transferred support (and from which entities).list(String)
supportTransferTargetEntities that received support from this entity (mids).KnowledgeAnswersIntentQuerySupportTransferSignalsSignals indicating whether this entity received or transferred support (and from which entities).list(String)
evalDataThis field is used inside Aqua and outside Aqua for identifying the token indices and/or byte offsets of this Token.KnowledgeAnswersIntentQueryTokenA token represents an ngram with relevant information about it. If the token is a context phrase, it will have a prior score associated with it. The prior is computed via knowledge/answers/query_generalization/ word_prior/word_prior_from_examples_lib.cc, and ranges between 0 and 1. Stopwords and intent tokens (primary and component) have a score of 1.0.NlpSemanticParsingAnnotationEvalData
ngram|ngram| should be populated with a string from the raw query, not the normalized tokens. E.g. The ngram in the ignored token for the Height intent on the query [Height of barack obama], will be “Height”. The ngram in the ignored token for the Videos intent on the query [vidéos] will be “vidéos”.KnowledgeAnswersIntentQueryTokenA token represents an ngram with relevant information about it. If the token is a context phrase, it will have a prior score associated with it. The prior is computed via knowledge/answers/query_generalization/ word_prior/word_prior_from_examples_lib.cc, and ranges between 0 and 1. Stopwords and intent tokens (primary and component) have a score of 1.0.String
parsedDueToExperimentExperiments that caused this Token to parse, without which this would not have parsed.KnowledgeAnswersIntentQueryTokenA token represents an ngram with relevant information about it. If the token is a context phrase, it will have a prior score associated with it. The prior is computed via knowledge/answers/query_generalization/ word_prior/word_prior_from_examples_lib.cc, and ranges between 0 and 1. Stopwords and intent tokens (primary and component) have a score of 1.0.list(String)
priorKnowledgeAnswersIntentQueryTokenA token represents an ngram with relevant information about it. If the token is a context phrase, it will have a prior score associated with it. The prior is computed via knowledge/answers/query_generalization/ word_prior/word_prior_from_examples_lib.cc, and ranges between 0 and 1. Stopwords and intent tokens (primary and component) have a score of 1.0.number
provenanceKnowledgeAnswersIntentQueryTokenA token represents an ngram with relevant information about it. If the token is a context phrase, it will have a prior score associated with it. The prior is computed via knowledge/answers/query_generalization/ word_prior/word_prior_from_examples_lib.cc, and ranges between 0 and 1. Stopwords and intent tokens (primary and component) have a score of 1.0.String
provenanceIdUnique identifiers for the provenance of this token, for example, NLP Repository Example IDs.KnowledgeAnswersIntentQueryTokenA token represents an ngram with relevant information about it. If the token is a context phrase, it will have a prior score associated with it. The prior is computed via knowledge/answers/query_generalization/ word_prior/word_prior_from_examples_lib.cc, and ranges between 0 and 1. Stopwords and intent tokens (primary and component) have a score of 1.0.list(String)
provenanceLanguageKnowledgeAnswersIntentQueryTokenA token represents an ngram with relevant information about it. If the token is a context phrase, it will have a prior score associated with it. The prior is computed via knowledge/answers/query_generalization/ word_prior/word_prior_from_examples_lib.cc, and ranges between 0 and 1. Stopwords and intent tokens (primary and component) have a score of 1.0.String
synonymsKnowledgeAnswersIntentQueryTokenA token represents an ngram with relevant information about it. If the token is a context phrase, it will have a prior score associated with it. The prior is computed via knowledge/answers/query_generalization/ word_prior/word_prior_from_examples_lib.cc, and ranges between 0 and 1. Stopwords and intent tokens (primary and component) have a score of 1.0.list(KnowledgeAnswersIntentQueryTokenSynonym)
scoreScore for this group of tokens is currently product of priors.KnowledgeAnswersIntentQueryTokensTokens includes a list of tokens, with an aggregated score of the priors of the tokens, if any.number
tokenKnowledgeAnswersIntentQueryTokensTokens includes a list of tokens, with an aggregated score of the priors of the tokens, if any.list(KnowledgeAnswersIntentQueryToken)
sourceKnowledgeAnswersIntentQueryTokenSynonymA TokenSynonym contains information about synonyms of a Token’s ngram. The synonyms were the ones used during parsing for token explanation in place of the original ngrams. Example 1: [present population of nyc] We can generate interpretation kc:/location/statistical_region:population by converting “present” to its synonym “current”, which is a context phrase for the intent. The ngram for this token would be “present” and the string “current” would be stored in synonym_ngram. Example 2: [nys important cities] We can generate interpretation kc:/location/us_state:cities by converting “important” to its synonym “major” or its synonym “biggest”, because both “major cities” and “biggest cities” are attribute phrases for the intent. In this case, the ngram in this Token is “important cities”, and the token_synonyms (specifically, the synonym_ngram field) would store “major cities” and “biggest cities”, since those are the actual synonym ngrams that match the attribute phrases. For context phrases, we generally should have only one matched_squery_synonyms, since we try to find the best synonyms to use using the context phrase score. However, for attribute phrase we don’t really have enough info to determine which synonym is better if they both trigger the same intent, and hence we will propagate both synonyms.String
synonymNgramKnowledgeAnswersIntentQueryTokenSynonymA TokenSynonym contains information about synonyms of a Token’s ngram. The synonyms were the ones used during parsing for token explanation in place of the original ngrams. Example 1: [present population of nyc] We can generate interpretation kc:/location/statistical_region:population by converting “present” to its synonym “current”, which is a context phrase for the intent. The ngram for this token would be “present” and the string “current” would be stored in synonym_ngram. Example 2: [nys important cities] We can generate interpretation kc:/location/us_state:cities by converting “important” to its synonym “major” or its synonym “biggest”, because both “major cities” and “biggest cities” are attribute phrases for the intent. In this case, the ngram in this Token is “important cities”, and the token_synonyms (specifically, the synonym_ngram field) would store “major cities” and “biggest cities”, since those are the actual synonym ngrams that match the attribute phrases. For context phrases, we generally should have only one matched_squery_synonyms, since we try to find the best synonyms to use using the context phrase score. However, for attribute phrase we don’t really have enough info to determine which synonym is better if they both trigger the same intent, and hence we will propagate both synonyms.String
slotNamesKnowledgeAnswersIntersectTypelist(String)
commandKnowledgeAnswersMarkerA Marker specifies a Meaning Expression’s (i.e. intent FunctionCall) purpose. NOTE: Markers always impact go/intent-resolution semantics.KnowledgeAnswersMarkerCommand
openQuestionKnowledgeAnswersMarkerA Marker specifies a Meaning Expression’s (i.e. intent FunctionCall) purpose. NOTE: Markers always impact go/intent-resolution semantics.KnowledgeAnswersMarkerOpenQuestion
polarQuestionKnowledgeAnswersMarkerA Marker specifies a Meaning Expression’s (i.e. intent FunctionCall) purpose. NOTE: Markers always impact go/intent-resolution semantics.KnowledgeAnswersMarkerPolarQuestion
stateOfAffairsKnowledgeAnswersMarkerA Marker specifies a Meaning Expression’s (i.e. intent FunctionCall) purpose. NOTE: Markers always impact go/intent-resolution semantics.KnowledgeAnswersMarkerStateOfAffairs
slotKeyNote: This is still under development and not available for general use. Contact meaning-platform-eng@ for questions.KnowledgeAnswersMarkerOpenQuestionIndicates a question, requesting the value of a specified slot. Not applicable if the requested slot simultaneously appears as an argument. See go/requested-slots for details. Next ID: 3KnowledgeAnswersMeaningSchemaSlotKey
slotNameOne or multiple slots may be requested by the marker. See go/mrf-multiple-output-slots for details on requesting multiple output slots.KnowledgeAnswersMarkerOpenQuestionIndicates a question, requesting the value of a specified slot. Not applicable if the requested slot simultaneously appears as an argument. See go/requested-slots for details. Next ID: 3list(String)
deprecatedVersionThe version has been changed to be defined as a horizontal version on the entire meaning catalog instead of per-schema.KnowledgeAnswersMeaningSchemaKeyThe primary key for an intent. Next ID: 3String
midThe minted MID for an intent.KnowledgeAnswersMeaningSchemaKeyThe primary key for an intent. Next ID: 3String
midThe minted MID for the slot. This ID uniquely identifies the slot globally.KnowledgeAnswersMeaningSchemaSlotKeyThe primary key for a MeaningSchema slot. Next ID: 3 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, please update Argument.SlotKey. LINT.IfChangeString
uniqueIdA stable unique ID for this intent minted from go/uniqueid. NOTE: This is considered a private field used only for internal Intent Catalog purposes (i.e. as a source ID for generating this intent’s associated MID). Additionally, this field is only populated on the schema. TODO (b/168907943): Move “unique_id” out of MeaningSchemaSlotKey proto message. Note: Please do not use this field. It is going to be moved out of this proto message.KnowledgeAnswersMeaningSchemaSlotKeyThe primary key for a MeaningSchema slot. Next ID: 3 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the “ThenChange”, please update Argument.SlotKey. LINT.IfChangeString
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersMeasurementTypeA MeasurementType configures a value that consists of a measurement. The expected value should have a number and a mid representing the unit. Note: this is currently only used for attribute answer value types. Configuration intent slot as measurement is yet to be supported (or instead we should universally use SemanticType).NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersMeasurementTypeA MeasurementType configures a value that consists of a measurement. The expected value should have a number and a mid representing the unit. Note: this is currently only used for attribute answer value types. Configuration intent slot as measurement is yet to be supported (or instead we should universally use SemanticType).NlpMeaningMeaningRemodelings
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersNormalizedStringTypeA NormalizedStringType configures a value that is one of the listed normalized_values. An arbitrary mapping from input strings to normalized_values can be specified in the local intent config. Only alphabetical strings can be used as normalized_values. This type should NOT be used for: – Mids, ids, dates, or other structured data. Use an annotator instead, and address any quality issues at the annotator level. – Simplifying grammar rules. If you are not using the normalized_values in your question semantics, you should remove the slot. Use additional query_examples instead.NlpMeaningComponentSpecificContracts
normalizedValueKnowledgeAnswersNormalizedStringTypeA NormalizedStringType configures a value that is one of the listed normalized_values. An arbitrary mapping from input strings to normalized_values can be specified in the local intent config. Only alphabetical strings can be used as normalized_values. This type should NOT be used for: – Mids, ids, dates, or other structured data. Use an annotator instead, and address any quality issues at the annotator level. – Simplifying grammar rules. If you are not using the normalized_values in your question semantics, you should remove the slot. Use additional query_examples instead.list(String)
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersNormalizedStringTypeA NormalizedStringType configures a value that is one of the listed normalized_values. An arbitrary mapping from input strings to normalized_values can be specified in the local intent config. Only alphabetical strings can be used as normalized_values. This type should NOT be used for: – Mids, ids, dates, or other structured data. Use an annotator instead, and address any quality issues at the annotator level. – Simplifying grammar rules. If you are not using the normalized_values in your question semantics, you should remove the slot. Use additional query_examples instead.NlpMeaningMeaningRemodelings
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersNumberTypeA NumberType configures a value whose type is intended to be numeric.NlpMeaningComponentSpecificContracts
keepAsStringIf true, the semantics of the NumberType argument are retained as a string, rather than being converted to a float-type object. This option is particularly useful in cases where leading 0s in the user input are meaningful, e.g. for zip codes or sports jersey numbers. For the user- specified value “01”, for instance, the PathQuery semantics will be: def $Slot “01”KnowledgeAnswersNumberTypeA NumberType configures a value whose type is intended to be numeric.boolean
rangeConstraintRange constraint limits the set of numbers accepted by this type. The constraint applies to all subtypes. Currently, this constraint is only enforced in Loose Parser.KnowledgeAnswersNumberTypeA NumberType configures a value whose type is intended to be numeric.KnowledgeAnswersRangeConstraint
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersNumberTypeA NumberType configures a value whose type is intended to be numeric.NlpMeaningMeaningRemodelings
subTypesub_type is a list of the NumberSubTypes which are accepted. If the list is empty, that means all numeric or ordinal values are accepted. If multiple values are specified, then this value accepts any of the sub_types in the list.KnowledgeAnswersNumberTypeA NumberType configures a value whose type is intended to be numeric.list(String)
aogTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueAogType
appAnnotationTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueAppAnnotationType
audioTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueAudioType
calendarEventTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueCalendarEventType
calendarEventWrapperTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueCalendarEventWrapperType
calendarReferenceTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueCalendarReferenceType
complexQueriesRewriteTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueComplexQueriesRewriteType
componentReferenceTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueComponentReferenceIndexType
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32NlpMeaningComponentSpecificContracts
deviceIdTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueDeviceIdType
deviceTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueDeviceType
deviceUserIdentityTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueDeviceUserIdentityType
homeAutomationDeviceTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueHomeAutomationDeviceType
locationTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueLocationType
mediaTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueMediaType
messageNotificationTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueMessageNotificationType
moneyTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueMoneyType
narrativeNewsProviderTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueNewsProviderType
onDeviceTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueOnDeviceType
personTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaquePersonType
personalIntelligenceEntityTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaquePersonalIntelligenceEntityType
productivityListItemTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueProductivityListItemType
recurrenceTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueRecurrenceType
reminderTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueReminderType
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32NlpMeaningMeaningRemodelings
shoppingMerchantTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueShoppingMerchantType
shoppingOfferTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueShoppingOfferType
shoppingProductExpressionTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueShoppingProductExpressionType
shoppingProductTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueShoppingProductType
shoppingStoreTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueShoppingStoreType
timerTypeKnowledgeAnswersOpaqueTypeNote: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal ‘features’ like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32KnowledgeAnswersOpaqueTimerType
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersPlexityRequirementPlexity is a conceptual distinction between viewing something (a slot filler, for example) as a single individual, or as a complex concept consisting of multiple individuals or subparts. Note that plexity is not the same as (or correlated with) either grammatical number or with distributive and collective interpretations of the slot. The PlexityRequirement proto and Plexity enum are defined outside ValueType as we may move the plexity specification to a different place in the intent protos in future.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersPlexityRequirementPlexity is a conceptual distinction between viewing something (a slot filler, for example) as a single individual, or as a complex concept consisting of multiple individuals or subparts. Note that plexity is not the same as (or correlated with) either grammatical number or with distributive and collective interpretations of the slot. The PlexityRequirement proto and Plexity enum are defined outside ValueType as we may move the plexity specification to a different place in the intent protos in future.NlpMeaningMeaningRemodelings
simplePlexitySimple plexity: the slot’s filler must allow the specified plexity value, for example it must contain multiple individuals if the plexity is MULTIPLEX.KnowledgeAnswersPlexityRequirementPlexity is a conceptual distinction between viewing something (a slot filler, for example) as a single individual, or as a complex concept consisting of multiple individuals or subparts. Note that plexity is not the same as (or correlated with) either grammatical number or with distributive and collective interpretations of the slot. The PlexityRequirement proto and Plexity enum are defined outside ValueType as we may move the plexity specification to a different place in the intent protos in future.String
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersPolarQuestionTypeA special type representing a polar question.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersPolarQuestionTypeA special type representing a polar question.NlpMeaningMeaningRemodelings
maxKnowledgeAnswersRangeConstraintKnowledgeAnswersRangeConstraintRangeEndpoint
minKnowledgeAnswersRangeConstraintKnowledgeAnswersRangeConstraintRangeEndpoint
isExclusiveIf true, then this endpoint’s value is not included in the range.KnowledgeAnswersRangeConstraintRangeEndpointboolean
valueThe value of this endpointKnowledgeAnswersRangeConstraintRangeEndpointfloat
slotNameKnowledgeAnswersSameTypeString
allowAllIf true, is compatible with a schema whose answer_type is any semantic_type including empty (since by default schemas return themselves as semantic_types (b/211438997). This is used primarily for slot composition. Example: for the slot name: Operand type { semantic_type { allow_all: true } entity_type {} } * An entity_type or a schema with answer_type ‘entity_type’ can fill Operand. * A schema with either (a) no answer_type or (b) answer_type with !semantic_type.names().empty() can fill Operand * A schema with answer_type ‘date’ CAN NOT fill Operand. Note that when there is an explicit answer_type, the ‘self’ semantic_type is not considered.KnowledgeAnswersSemanticTypeA SemanticType configures a value determined by another source, in particular another intent or a semantic frame. See go/unifying-intents and go/framery.boolean
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersSemanticTypeA SemanticType configures a value determined by another source, in particular another intent or a semantic frame. See go/unifying-intents and go/framery.NlpMeaningComponentSpecificContracts
includesContainingIntentDetermines whether or not the meaning schema that contains this semantic_type conforms to a function call with the name and arguments taken from the meaning schema. As it refers to the “containing_intent”, this field should only be set in a semantic_type declared in an intent’s type_members field. The behavior of this field is undefined in other cases, for example, declaring the type of an intent slot. On Assistant, we use meaning schemas for argument types to represent both function call values as well as a reusable tool to host other argument values (opaque types, normalized strings, subsets of entities) across intents. Teams need this information to run conformance checks and annotate new data. Example: If the intents below are in the intent catalog, then: – Intent(slot=”some string”) is conformant, because Type has string_type{} in its type_members. – Intent(slot=Type()) is not conformant, because Type has set semantic_type.includes_containing_intent to false. – Intent(slot=SubType()) is conformant, because type_members is not inherited. { id: “Intent” slot: { name: “slot” type: { semantic_type { name: “Type” }} } } { id: “Type” type_members { string_type{} semantic_type { includes_containing_intent: false } } } { id: “SubType” parent { id: “Type” relationship_type: SUBTYPE } }KnowledgeAnswersSemanticTypeA SemanticType configures a value determined by another source, in particular another intent or a semantic frame. See go/unifying-intents and go/framery.boolean
nameNames of valid sources of the semantics (for example: a frame or an intent).KnowledgeAnswersSemanticTypeA SemanticType configures a value determined by another source, in particular another intent or a semantic frame. See go/unifying-intents and go/framery.list(String)
nameContractsLike `name_remodelings`, but for ComponentSpecificContracts instead of remodelings.KnowledgeAnswersSemanticTypeA SemanticType configures a value determined by another source, in particular another intent or a semantic frame. See go/unifying-intents and go/framery.list(NlpMeaningSemanticTypeNameComponentSpecificContracts)
nameRemodelingsContains data about current schema remodelings at the SemanticType name level. The “name” field contains all possible semantic type names and “semantic_type_name_remodelings” acts as an overlay to determine which ones to surface based on which schema remodeling IDs are requested. For more information see go/meaning-remodeling-framework.KnowledgeAnswersSemanticTypeA SemanticType configures a value determined by another source, in particular another intent or a semantic frame. See go/unifying-intents and go/framery.list(NlpMeaningSemanticTypeNameMeaningRemodelings)
remodelingsContains data about current schema remodelings at this ValueType lev©el. For more information see go/meaning-remodeling-framework.KnowledgeAnswersSemanticTypeA SemanticType configures a value determined by another source, in particular another intent or a semantic frame. See go/unifying-intents and go/framery.NlpMeaningMeaningRemodelings
policyNameOptional cannery policy name. If it presents then Intent Scrubber will use the corresponding Cannery rule for argument scrubbing and redaction instead. It should only be used for existing complex argment value types such as HomeAutomationDevice.KnowledgeAnswersSensitivityArgumentEvalPolicyPolicy controlling argument level eval.String
redactQuerySpanRedact corresponding span of the string query.KnowledgeAnswersSensitivityArgumentEvalPolicyPolicy controlling argument level eval.boolean
replacementCustomized replacement phrase, if missing ${ArgumentName}_REDACTED is used as default.KnowledgeAnswersSensitivityArgumentEvalPolicyPolicy controlling argument level eval.String
scrubArgumentValueScrub argument value and signals before saving to eval storage. If not set, 1) inherit the policy from the outer argument if there is one (for nested intents); 2) finally default to type based scrubbing: see go/argument-type-scrubbing.KnowledgeAnswersSensitivityArgumentEvalPolicyPolicy controlling argument level eval.boolean
argumentKnowledgeAnswersSensitivityInstructionInstructions (eg., logging, disambiguation, ads serving) of handling a sensitive intent and its data. LINT.IfChange NextId: 8KnowledgeAnswersSensitivityInstructionArgument
intentKnowledgeAnswersSensitivityInstructionInstructions (eg., logging, disambiguation, ads serving) of handling a sensitive intent and its data. LINT.IfChange NextId: 8KnowledgeAnswersSensitivityInstructionIntent
legacyAssistantSensitivityThis field is for backward compatibility.KnowledgeAnswersSensitivityInstructionInstructions (eg., logging, disambiguation, ads serving) of handling a sensitive intent and its data. LINT.IfChange NextId: 8SearchPolicyRankableSensitivity
multiAccountAllowedControls whether a top-level intent is multi-account approved. NLU will do go/cross-account-understanding only for intents with this bit on. Also, this bit should be propagated to user turn Attentionl Entities to extend protection of cross-account data to next turns. In principle fulfillment services (e.g., Monastery) should only dispatch such intents to multi-account approved fulfillers (schemas), at least when the user has a linked dasher account. The Assistant runtime policy engine should treat a query as dasher data if 1) this bit is true in the string redaction, and 2) the user has a linked dasher account, and apply a more restrictive rule for whitelisting, regardless of the actual account provenance in Sensitivity. Example: [User logged in to their personal gmail account.] Q1: “Schedule a meeting tiltled okr review at 3pm”. Assistant: “Should I scheduled it on your [email protected] account?” Q2: “No, add it to my [email protected] account.” We don’t know Q1 is dasher data until Q2. To prevent leaking of Q1 to non-dasher approved binaries, this bit should be used as a proactive measure. It might introduce some over-triggering (e.g., user says “Yes” in Q2), but is much better than blindly treating every query as dasher, not considering whether it actually triggers any multi-account capable intents or not (see b/164420114 for example).KnowledgeAnswersSensitivityInstructionInstructions (eg., logging, disambiguation, ads serving) of handling a sensitive intent and its data. LINT.IfChange NextId: 8boolean
previousQueryKnowledgeAnswersSensitivityInstructionInstructions (eg., logging, disambiguation, ads serving) of handling a sensitive intent and its data. LINT.IfChange NextId: 8KnowledgeAnswersSensitivityInstructionPreviousQuery
evalKnowledgeAnswersSensitivityInstructionArgumentSlot/Argument level instructions.KnowledgeAnswersSensitivityArgumentEvalPolicy
loggingKnowledgeAnswersSensitivityInstructionArgumentSlot/Argument level instructions.KnowledgeAnswersSensitivityLoggingPolicy
servingKnowledgeAnswersSensitivityInstructionArgumentSlot/Argument level instructions.KnowledgeAnswersSensitivityServingPolicy
storageKnowledgeAnswersSensitivityInstructionArgumentSlot/Argument level instructions.KnowledgeAnswersSensitivityStoragePolicy
evalKnowledgeAnswersSensitivityInstructionIntentIntent level instructions apply to the entire intent and all its argument values.KnowledgeAnswersSensitivityIntentEvalPolicy
footprintsKnowledgeAnswersSensitivityInstructionIntentIntent level instructions apply to the entire intent and all its argument values.KnowledgeAnswersSensitivityMyActivityPolicy
loggingKnowledgeAnswersSensitivityInstructionIntentIntent level instructions apply to the entire intent and all its argument values.KnowledgeAnswersSensitivityLoggingPolicy
servingKnowledgeAnswersSensitivityInstructionIntentIntent level instructions apply to the entire intent and all its argument values.KnowledgeAnswersSensitivityServingPolicy
storageKnowledgeAnswersSensitivityInstructionIntentIntent level instructions apply to the entire intent and all its argument values.KnowledgeAnswersSensitivityStoragePolicy
loggingKnowledgeAnswersSensitivityInstructionPreviousQueryInstructions for knowledge_context.PreviousQuery. See go/apps-userdata-guidelines.KnowledgeAnswersSensitivityLoggingPolicy
servingKnowledgeAnswersSensitivityInstructionPreviousQueryInstructions for knowledge_context.PreviousQuery. See go/apps-userdata-guidelines.KnowledgeAnswersSensitivityServingPolicy
storageKnowledgeAnswersSensitivityInstructionPreviousQueryInstructions for knowledge_context.PreviousQuery. See go/apps-userdata-guidelines.KnowledgeAnswersSensitivityStoragePolicy
allArgumentsPolicy for all arguments, so no need to repeat on every argument.KnowledgeAnswersSensitivityIntentEvalPolicyPolicy controlling intent level eval.KnowledgeAnswersSensitivityArgumentEvalPolicy
enabledControls whether to enabled limited logging (rpc whitelisting + GWS log query redaction) if the intent wins post-fulfillment ranking.KnowledgeAnswersSensitivityIntentEvalPolicyPolicy controlling intent level eval.boolean
nestedIntentOnlyThe eval policy won’t apply if the annotated intent is a root. This check is majorly to prevent calling IntentScrubber halfway from InterpretationScrubber via nested intents.KnowledgeAnswersSensitivityIntentEvalPolicyPolicy controlling intent level eval.boolean
scrubEntireIntentScrub entire intent before saving to eval storage, leaving only intent name and sensitivity info.KnowledgeAnswersSensitivityIntentEvalPolicyPolicy controlling intent level eval.boolean
scrubArgumentValueThe contents of the argument value should be scrubbed before being written to logs.KnowledgeAnswersSensitivityLoggingPolicyPolicies controlling the logging.boolean
scrubContextIf this is set to true, this Sensitivity’s presence will result in QRewrite to enable AS logging to scrub any discourse context.KnowledgeAnswersSensitivityLoggingPolicyPolicies controlling the logging.boolean
myActivityRedactedActionKnowledgeAnswersSensitivityMyActivityPolicyPolicy controlling MyActivity.String
myActivityRedactionKeyThis field will be translated by footprints and is used to describe the content that was redacted that will be displayed to the user in MyActivity.KnowledgeAnswersSensitivityMyActivityPolicyPolicy controlling MyActivity.String
accountProvenanceUsed to annotate the provenace of cross-account personal data. See go/cross-account-understanding. Sensitivity could be annotated at query, intent, and argument levels. Query and intent could have data from multiple accounts, so this field is repeated. A sensitive knowledge_context.PreviousQuery might be dropped to prevent leaking cross-account data via Genie rewrite. For arguments, the best practice is to not blend multi-account data, and this field should be treated as singular to make ownership clear. When publishing attentional entities, contextual NLU might drop an argument that contains data from a different account for data protection. Mixing multi-account data in one argument will cause data from the primary account to be dropped altogether, which is an unnecessary quality loss.KnowledgeAnswersSensitivitySensitivityCanonical representation of query sensitivites. See go/sensitive-intents for more details.list(QualityQrewriteAccountProvenance)
instructionInstruction of handling sensitive intent/argument data. Can be specified in Intent Catalog.KnowledgeAnswersSensitivitySensitivityCanonical representation of query sensitivites. See go/sensitive-intents for more details.KnowledgeAnswersSensitivityInstruction
sourceThis should be systematically added without requiring the feature developers to add a source. This is for debug purpose as to whether the Sensitivity’s trace/path included any of landmark code path helpful for tracing back the sensitivity sources. One should add a new source when one sees fits. It’s chronological order as to which source is added first. One should not manually add a source. The same source can be repeated if the Sensitivity object went through the same code path twice.KnowledgeAnswersSensitivitySensitivityCanonical representation of query sensitivites. See go/sensitive-intents for more details.list(String)
typeSensitivity type. See the enum definition below.KnowledgeAnswersSensitivitySensitivityCanonical representation of query sensitivites. See go/sensitive-intents for more details.String
enableRpcWhitelistIf this is set to true, QRewrite will enable RPC Whitelist to be applied in Assistant Server and Genie Rewriter.KnowledgeAnswersSensitivityServingPolicyPolicies controlling RPC Whitelist at serving time.boolean
encryptArgumentValueThe contents of the argument value should be encrypted before being written to a persistent storage (even if the storage has short time-to-live). No-op when specified at intent level.KnowledgeAnswersSensitivityStoragePolicyPolicies controlling the storage.boolean
encryptFieldCandidateValueTermIf true, triggers encryption of |value_term| [1] and move into |sensitive_value_term|. This is useful to support finer grain encryption controls for disambiguation, where the broader |encrypt_argument_value| is too restrictive. In particular, when we know that the values being disambiguated are non-sensitive (e.g. opaque event IDs), but the value_terms are sensitive (e.g. event titles), it can be helpful for debugging purposes to circulate the value unencrypted. This policy only has an effect when configured at argument-level. It has no effect in Intent or PreviousQuery stanzas. See go/delete-event-disambiguation-redaction-v2 for context and usage. [1]cs/s:quality.dialog_manager.IntentStateSignals.FieldCandidate.value_termKnowledgeAnswersSensitivityStoragePolicyPolicies controlling the storage.boolean
encryptQueryAnnotationDataIf this is set true, we encrypt QueryAnnotationDataProto prior to writing it to Footprint ASSISTANT_EPHEMERAL corpus. This enables restricting ACL to the data.KnowledgeAnswersSensitivityStoragePolicyPolicies controlling the storage.boolean
scrubAuxiliaryFieldsInConversationSnapshotIf this is set to true, the following fields in ConversationSnapshot are scrubbed: * circulated_state.squery * spoken_query * All client_op arguments |from_assistant| interactionsKnowledgeAnswersSensitivityStoragePolicyPolicies controlling the storage.boolean
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersStateOfAffairsTypeA special type representing a StateOfAffairs. Currently (as of 2021Q2) this is duplicative with semantic_type { name: “StateOfAffairs” } but we (mrf-team) will encourage clients to migrate to this new type.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersStateOfAffairsTypeA special type representing a StateOfAffairs. Currently (as of 2021Q2) this is duplicative with semantic_type { name: “StateOfAffairs” } but we (mrf-team) will encourage clients to migrate to this new type.NlpMeaningMeaningRemodelings
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersStringTypeA StringType configures a value whose type is intended to be arbitrary text.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersStringTypeA StringType configures a value whose type is intended to be arbitrary text.NlpMeaningMeaningRemodelings
singleTokenIf true, this value will match a single token. If false, this value will match any nonzero number of tokens.KnowledgeAnswersStringTypeA StringType configures a value whose type is intended to be arbitrary text.boolean
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersTimeZoneTypeA TimeZoneType configures a value whose type is a timezone.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersTimeZoneTypeA TimeZoneType configures a value whose type is a timezone.NlpMeaningMeaningRemodelings
componentSpecificContractsContains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance.KnowledgeAnswersTrackingNumberTypeA TrackingNumberType configures a value whose type is a TrackingNumber.NlpMeaningComponentSpecificContracts
remodelingsContains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework.KnowledgeAnswersTrackingNumberTypeA TrackingNumberType configures a value whose type is a TrackingNumber.NlpMeaningMeaningRemodelings
slotNamesKnowledgeAnswersUnionTypelist(String)
anyTypeThis type is meant to accept “any” type and allow any and all composition. As such, it should not be used for any composition algorithms, e.g. in Loose Parser. See more detailed discussion at go/any-type-in-mrf. This type may appear on an answer_type, implying that the output of that Meaning Schema is allowed to nest in any other slot. However, support for this is NOT implemented in Loose Parser due to risk of overcomposition, but the MRF Conformance checker allows for this. If you are thinking of using this, please contact mrf-team@.KnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersAnyType
attributeTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersAttributeType
booleanTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersBooleanType
collectionTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersCollectionType
compoundTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersCompoundType
dateTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersDateType
dependencyTypeUsed for configuring dynamic types to allow for type transparency. See: go/type-dependenciesKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersDependencyType
durationTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersDurationType
entityTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersEntityType
inputCompositionConfigWhen specified on a slot’s type, restricts composition based on the enum value. This does not mean anything when the value type is to be interpreted as an output_type.KnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeString
measurementTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersMeasurementType
normalizedStringTypeNote that normalized_string_type is NOT supported in the loose parser. A slot with this type will cause the intent to not be parsed.KnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersNormalizedStringType
numberTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersNumberType
opaqueTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersOpaqueType
plexityRequirementKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersPlexityRequirement
polarQuestionTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersPolarQuestionType
semanticTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersSemanticType
stateOfAffairsTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersStateOfAffairsType
stringTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersStringType
timezoneTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersTimeZoneType
trackingNumberTypeKnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangeKnowledgeAnswersTrackingNumberType
viewSpecificNumberTypesLINT.IfChange Contract-specific typing (go/view-based-options-for-valuetype). NOTE: To facilitate writing macros for view-specific filtering, all view-specific fields should be named with the format “view_specific_${singular_field}s” — e.g., for the singular field |number_type|, the view-specific repeated field is |view_specific_number_types|. LINT.ThenChange( //depot/google3/nlp/meaning/remodel/meaning_remodeling_utils.cc:ViewSpecificTypes, //depot/google3/nlp/meaning/analyzer/checks/component_specific_contracts_checks.cc:ViewSpecificTypes)KnowledgeAnswersValueTypeSpecifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: “integer_only_slot” type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChangelist(KnowledgeAnswersNumberType)
daysA day of month, 1-31. If present, year and month must be present as well, and must form a valid date.KnowledgeGraphDateTimeProtointeger
hoursHour of the day, 0-23KnowledgeGraphDateTimeProtointeger
microsecondsMicrosecond, in the interval [0, 999999]. If present, seconds have to be present as well.KnowledgeGraphDateTimeProtointeger
minutesMinute, 0-59. If present, hours have to be present as well.KnowledgeGraphDateTimeProtointeger
monthsA month, 1-12. If present, year must be present as well.KnowledgeGraphDateTimeProtointeger
secondsSecond, in the interval [0, 60], where 60 is an exceptional value reserved for leap seconds. If present, minutes have to be present as well.KnowledgeGraphDateTimeProtointeger
tzOffsetTimezone offset in seconds (can be positive/negative). If present, hours have to be present as well If absent, we expect the time above to be in local time (a.k.a. civil time, go/httat#civil_time).KnowledgeGraphDateTimeProtoString
yearsA year.KnowledgeGraphDateTimeProtointeger
predicateObjspredicate_objs.pred should be unique within the list.KnowledgeGraphNestedStructA nested struct is a recursive tree structure for storing a set of triples. more info can be found at go/nested-struct-primerlist(KnowledgeGraphNestedStructPredicateObjs)
objsKnowledgeGraphNestedStructPredicateObjslist(KnowledgeGraphTripleObj)
predKnowledgeGraphNestedStructPredicateObjsString
predThe qualifier pred must be a qualifier property defined in KG schema as applying to the predicate of the triple this qualifier is attached to.KnowledgeGraphQualifierA qualifier represents an extra piece of context about an assertion/fact. See go/qualifiers-in-kg for more details.String
valueKnowledgeGraphQualifierA qualifier represents an extra piece of context about an assertion/fact. See go/qualifiers-in-kg for more details.KnowledgeGraphTripleObj
qualifiersKnowledgeGraphQualifierSetA QualifierSet represents a grouping of qualifiers that together with an SPO make up a logical assertion or fact. One triple can contain multiple qualifier sets and thus represent several different assertions about the same SPO.list(KnowledgeGraphQualifier)
isNegationIf is_negation is set to true then this triple is considered a statement that the fact is false. This allows for the storage of both what we know to be true and what we know to be false.KnowledgeGraphTripleA Triple is a representation of data with a Subject, a Predicate, and an Object, For example: (Triple, IS-A, “data representation”). Triples are a very good representation of data where the relationship between data points is significant, because the Object of a Triple can be the Subject of another Triple: (Triple, HAS-A, Subject) (Subject, IS-A, “Term of a proposition”) The ease with which Triples can represent relationships makes them an excellent candidate for representing graphs. Next id: 21boolean
objobj is the value of a relationship.KnowledgeGraphTripleA Triple is a representation of data with a Subject, a Predicate, and an Object, For example: (Triple, IS-A, “data representation”). Triples are a very good representation of data where the relationship between data points is significant, because the Object of a Triple can be the Subject of another Triple: (Triple, HAS-A, Subject) (Subject, IS-A, “Term of a proposition”) The ease with which Triples can represent relationships makes them an excellent candidate for representing graphs. Next id: 21KnowledgeGraphTripleObj
predpred is an arbitrary node id representing the predicate (name) of a graph relationship.KnowledgeGraphTripleA Triple is a representation of data with a Subject, a Predicate, and an Object, For example: (Triple, IS-A, “data representation”). Triples are a very good representation of data where the relationship between data points is significant, because the Object of a Triple can be the Subject of another Triple: (Triple, HAS-A, Subject) (Subject, IS-A, “Term of a proposition”) The ease with which Triples can represent relationships makes them an excellent candidate for representing graphs. Next id: 21String
provenanceKnowledgeGraphTripleA Triple is a representation of data with a Subject, a Predicate, and an Object, For example: (Triple, IS-A, “data representation”). Triples are a very good representation of data where the relationship between data points is significant, because the Object of a Triple can be the Subject of another Triple: (Triple, HAS-A, Subject) (Subject, IS-A, “Term of a proposition”) The ease with which Triples can represent relationships makes them an excellent candidate for representing graphs. Next id: 21list(KnowledgeGraphTripleProvenance)
qualifierSetsWARNING: This is currently defined for experimentation purposes only. Please do not set. Data set in this field will not be published to any systems downstream of Livegraph. Together with the SPO of this triple, each qualifier set here represents a different logical assertion/fact.KnowledgeGraphTripleA Triple is a representation of data with a Subject, a Predicate, and an Object, For example: (Triple, IS-A, “data representation”). Triples are a very good representation of data where the relationship between data points is significant, because the Object of a Triple can be the Subject of another Triple: (Triple, HAS-A, Subject) (Subject, IS-A, “Term of a proposition”) The ease with which Triples can represent relationships makes them an excellent candidate for representing graphs. Next id: 21list(KnowledgeGraphQualifierSet)
subsub is an arbitrary node id representing the source entity of a graph relationship.KnowledgeGraphTripleA Triple is a representation of data with a Subject, a Predicate, and an Object, For example: (Triple, IS-A, “data representation”). Triples are a very good representation of data where the relationship between data points is significant, because the Object of a Triple can be the Subject of another Triple: (Triple, HAS-A, Subject) (Subject, IS-A, “Term of a proposition”) The ease with which Triples can represent relationships makes them an excellent candidate for representing graphs. Next id: 21String
boolValueKnowledgeGraphTripleObjboolean
datetimeValueKnowledgeGraphTripleObjKnowledgeGraphDateTimeProto
doubleValueKnowledgeGraphTripleObjfloat
durationValuesecondsKnowledgeGraphTripleObjString
idValueAn id representing an entity (mid or hrid)KnowledgeGraphTripleObjString
int64ValueKnowledgeGraphTripleObjString
localeThe language code for the object value. It must be a BCP 47-compliant language tag (b/10005172). See also go/kg-data-l10n.KnowledgeGraphTripleObjString
nestedStructValueKnowledgeGraphTripleObjKnowledgeGraphNestedStruct
protoValueKnowledgeGraphTripleObjKnowledgeGraphTripleObjProto
s2cellIdKnowledgeGraphTripleObjString
stringValueA UTF-8 string value to be used for the following expected schema types: – /type/rawstring – /type/text – /type/keyKnowledgeGraphTripleObjString
uint64ValueKnowledgeGraphTripleObjString
uriValueA UTF-8 string value to be used for expected type /type/uri – b/68760994.KnowledgeGraphTripleObjString
dataThe encoded proto data.KnowledgeGraphTripleObjProtoString
descriptorFullNameThe full name of the proto descriptor, such as ‘music.AlbumSummary’.KnowledgeGraphTripleObjProtoString
accessRequiredSpecifies the contract or legal visibility required to see the Triple. See go/kg-triple-level-access-controls for details and background. Note that we use an int32 here so that we won’t lose values when decoding on a stale binary. The int32 references to the enum storage_graph_bfg.Triple.Provenance.AccessRequirement.KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.integer
creatorHistorically, this field was used to encode the Freebase User ID, Google username, or Google MDB group that was responsible for the pipeline that is producing this data. However, there is currently no horizontal validation in place, and as of Q3 2018, this field is used essentially as a free-form string by multiple data providers. NOTE: Do not use this field in new pipelines without first consulting with the OWNERS of this proto.KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.String
datasetMidThe dataset which asserted this data. Must be a valid mid. See go/kg-provenanceKnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.String
isSupportingDataIndicates that the corresponding data is supporting evidence for reconciliation only, and is *not* an assertion that should be visible to other systems or to external users. Note that this also means that no provenances indicating supporting data will be visible in the composed graph. Please see go/supporting-kg-triples-design-doc for additional details and background.KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.boolean
lgMetadataInternal metadata used by Livegraph and possibly other horizontal KG infra systems. This is not part of the logical triple or its provenance, and contents may not be visible downstream of LG.KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.StorageGraphBfgLivegraphProvenanceMetadata
policyMetadataMetadata specifying data governance policies. This information will be processed and enforced in KE systems. For more context, see go/ke-triple-dg-policy-and-metadata. WARNING: This field is WIP and please do not populate it without consulting ke-data-governance@.KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.StorageGraphBfgPolicyMetadata
processAn identifier for the process that asserted this triple.KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.String
restrictionsKnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.list(String)
sourceCategoryUsed to measure impact of 3P contributions. See go/ke-metrics.KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.String
sourceDocIdThe websearch doc_id of the source_url. Used in conjunction with source_category for measuring 3P contributions.KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.String
sourceUrlIf the triple was extracted from the web, the source URL where the assertion was found. Used for citation if needed (see restrictions field below).KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.String
spiiCertificationA fact about potentially sensitive personal info (http://what/SPII) can be “certified” iff it meets specific requirements. See go/kg-spii-certification for details.KnowledgeGraphTripleProvenanceMessage containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.StorageGraphBfgSpiiCertification
featureId(Mandatory) Oyster ID.KnowledgeVerticalsWeatherProtoUserSpecifiedLocationA user specified location to trigger weather for a specific location. Also it can be generalized for other verticals.GeostoreFeatureIdProto
latLng(Mandatory) Coordinates of the location for which weather is requested.KnowledgeVerticalsWeatherProtoUserSpecifiedLocationA user specified location to trigger weather for a specific location. Also it can be generalized for other verticals.GoogleTypeLatLng
locationNameThe name to display. If specified it will override the formatted address of “feature_id”.KnowledgeVerticalsWeatherProtoUserSpecifiedLocationA user specified location to trigger weather for a specific location. Also it can be generalized for other verticals.String
midMID corresponding to the location from feature_id.KnowledgeVerticalsWeatherProtoUserSpecifiedLocationA user specified location to trigger weather for a specific location. Also it can be generalized for other verticals.String
timezoneThe timezone to display the current conditions observation time. Optional and will override the timezone of “feature_id”.KnowledgeVerticalsWeatherProtoUserSpecifiedLocationA user specified location to trigger weather for a specific location. Also it can be generalized for other verticals.String
CountryCodeFor Courts, the country the court is in. For Statues,? 3 leter country code ISO 3166 alpha2LegalCitationString
ParseTypeLegalCitationinteger
StateState or province of the court or statue (if applicable) What standard?LegalCitationString
TypeDocTypeLegalCitationinteger
courtdocumentLegalCitationLegalCitationCourtDocument
lawLegalCitationLegalCitationLaw
ArguedBeforeOne entry per judge who listened to the case in this courtLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.list(LegalPerson)
ArguedDateLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.LegalDate
CertiorariCourtNameFor an appeal, the name of the lower court that sent this up Abbreviation form? Verbose form?LegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.String
CertiorariRelationshipLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.integer
CourtTermUsually the name of a month. Not sure really what it means.LegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.String
DecidedDateVarious dates related to the generation of document most of these are opinion-centricLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.LegalDate
FiledDateLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.LegalDate
MemoIDNot sure what this is. But I’ve seen it.LegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.String
ModifiedDateLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.LegalDate
SyllabusA summary of the document or a syllabus for this documentLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.String
courtLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.LegalCitationCourtDocumentCourt
opinioninfoLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.list(LegalCitationCourtDocumentOpinionInfo)
perdocketinfoLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.list(LegalCitationCourtDocumentPerDocketInfo)
pubLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.list(LegalCitationCourtDocumentPub)
unknowndateLegalCitationCourtDocumentInformation about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.list(LegalCitationCourtDocumentUnknownDate)
DisplayNameThe name of the court to be displayed to users.LegalCitationCourtDocumentCourtString
LevelMaybe be redundant with the Name. We can remove this later if we don’t find it useful. Court LevelLegalCitationCourtDocumentCourtinteger
NameCourt id for matching records; “name” is a historic misnomer.LegalCitationCourtDocumentCourtString
OriginalNameThe name of the court as taken directly from the source documentLegalCitationCourtDocumentCourtString
namecomponentLegalCitationCourtDocumentCourtlist(LegalCitationCourtDocumentCourtNameComponent)
TextLegalCitationCourtDocumentCourtNameComponentThe name broken down into its various components, such as core court, state, and districtString
TypeLegalCitationCourtDocumentCourtNameComponentThe name broken down into its various components, such as core court, state, and districtinteger
BenchLegalCitationCourtDocumentOpinionInfoA variety of opinions may be published as a single document. We have one OpinionInfo for each opinion About the “CONCURRING” opinion type: It means that a judge “concurs” to the conclusion (judegment) of the majority of the court, however, he may not agree with the argument in the primary opinion. If multiple judges “concur” or “dissent” the primary opinion, then one judge delivers their opinion, and other judges are said to “join” him.integer
DeliveredByif Type == PER_CURIAM, then DeliveredBy is unnecessary since it is delivered by the full court. Who delivered the opinion?LegalCitationCourtDocumentOpinionInfoA variety of opinions may be published as a single document. We have one OpinionInfo for each opinion About the “CONCURRING” opinion type: It means that a judge “concurs” to the conclusion (judegment) of the majority of the court, however, he may not agree with the argument in the primary opinion. If multiple judges “concur” or “dissent” the primary opinion, then one judge delivers their opinion, and other judges are said to “join” him.LegalPerson
JoinedByWho agrees with the opinionLegalCitationCourtDocumentOpinionInfoA variety of opinions may be published as a single document. We have one OpinionInfo for each opinion About the “CONCURRING” opinion type: It means that a judge “concurs” to the conclusion (judegment) of the majority of the court, however, he may not agree with the argument in the primary opinion. If multiple judges “concur” or “dissent” the primary opinion, then one judge delivers their opinion, and other judges are said to “join” him.LegalPerson
TypeOpinionTypeLegalCitationCourtDocumentOpinionInfoA variety of opinions may be published as a single document. We have one OpinionInfo for each opinion About the “CONCURRING” opinion type: It means that a judge “concurs” to the conclusion (judegment) of the majority of the court, however, he may not agree with the argument in the primary opinion. If multiple judges “concur” or “dissent” the primary opinion, then one judge delivers their opinion, and other judges are said to “join” him.integer
DocketIDAn alpha-numeric (usually, mostly numeric) string used to identify the case by the courtLegalCitationCourtDocumentPerDocketInfoInformation associated with a docket. Note that multiple dockets can be combined and argued as one and produce a single opinionString
PetitionerWho is bringing the action? (X in X vs. Y)LegalCitationCourtDocumentPerDocketInfoInformation associated with a docket. Note that multiple dockets can be combined and argued as one and produce a single opinionlist(LegalPerson)
PetitionerCounselWho represents the petitioner?LegalCitationCourtDocumentPerDocketInfoInformation associated with a docket. Note that multiple dockets can be combined and argued as one and produce a single opinionlist(LegalPerson)
RespondentWho is responding to the action? (Y in X vs. Y)LegalCitationCourtDocumentPerDocketInfoInformation associated with a docket. Note that multiple dockets can be combined and argued as one and produce a single opinionlist(LegalPerson)
RespondentCounselWho represents the respondent?LegalCitationCourtDocumentPerDocketInfoInformation associated with a docket. Note that multiple dockets can be combined and argued as one and produce a single opinionlist(LegalPerson)
TopicThe “in re” or “matter of” field.LegalCitationCourtDocumentPerDocketInfoInformation associated with a docket. Note that multiple dockets can be combined and argued as one and produce a single opinionString
PagePage numberLegalCitationCourtDocumentPubString
ParagraphParagraph numberLegalCitationCourtDocumentPubString
ReporterThe publisher of the opinion. For example, ‘U.S.’ – United States Reports ‘S. Ct.’ – Supreme Court Reporter ‘L. Ed. 2d’ – Lawyers Edition Second SeriesLegalCitationCourtDocumentPubString
VolumeFor documents published by a court reporter. Vendor/Media neutral citations will probably not have this.LegalCitationCourtDocumentPubinteger
YearThis is the publication year. In many citations, there is one year listed and it is typically the year the opinion was handed down. For example: Roe v. Wade, 410 U.S. 113 (1973) Occasionally, the publication year of the reporter is included. This happens typically when the law reporter volume numbers are numbered within a calendar year. For example, Swiss Bank Corp. v. Air Canada, [1988] 1 F.C. 71. It some (most?) areas, publication date is denoted by [] while opinion date is denoted by ().LegalCitationCourtDocumentPubinteger
DateLegalCitationCourtDocumentUnknownDateDates that we didn’t fully parse, so we don’t know exactly what they are, but we are keeping in case it’s all we have.LegalDate
DescriptionLegalCitationCourtDocumentUnknownDateDates that we didn’t fully parse, so we don’t know exactly what they are, but we are keeping in case it’s all we have.String
RevisionDateLegalCitationLawLegalDate
StatusLawStatusLegalCitationLawinteger
TypeLawTypeLegalCitationLawinteger
collectionnameLegalCitationLawLegalCitationLawCollectionName
levelLegalCitationLawlist(LegalCitationLawLevel)
NormalizedLegalCitationLawCollectionNamethis is used to store information about law collections Normalized is the normalized name for the law (e.g., USC for USCA and USCS) Source is the text that represents the law in the citationString
SourceLegalCitationLawCollectionNamethis is used to store information about law collections Normalized is the normalized name for the law (e.g., USC for USCA and USCS) Source is the text that represents the law in the citationString
DepthA counter that specifies the depth of the level in the parseLegalCitationLawLevelLaw have tree-like sturcture (title, section, etc), but the levels and their names are not fixed. e.g., we could have: US Constitution -> Article 3 -> Section 4, OR, US Code -> Title 12 -> Chapter 6 -> Sub-chapter I -> Section 602, OR, US Code -> Title 10 -> Sub-title A -> Part 2 -> Chapter 32 -> Section 523. We use a repeated group to represent this structure. NOTE: Always insert higher levels before lower levels,integer
LevelTypeNormalized“SECTION, TITLE, PART, etc.”LegalCitationLawLevelLaw have tree-like sturcture (title, section, etc), but the levels and their names are not fixed. e.g., we could have: US Constitution -> Article 3 -> Section 4, OR, US Code -> Title 12 -> Chapter 6 -> Sub-chapter I -> Section 602, OR, US Code -> Title 10 -> Sub-title A -> Part 2 -> Chapter 32 -> Section 523. We use a repeated group to represent this structure. NOTE: Always insert higher levels before lower levels,String
LevelTypeSourceText“Section, Sect., §, etc”LegalCitationLawLevelLaw have tree-like sturcture (title, section, etc), but the levels and their names are not fixed. e.g., we could have: US Constitution -> Article 3 -> Section 4, OR, US Code -> Title 12 -> Chapter 6 -> Sub-chapter I -> Section 602, OR, US Code -> Title 10 -> Sub-title A -> Part 2 -> Chapter 32 -> Section 523. We use a repeated group to represent this structure. NOTE: Always insert higher levels before lower levels,String
LevelTypeStringdeprecatedLegalCitationLawLevelLaw have tree-like sturcture (title, section, etc), but the levels and their names are not fixed. e.g., we could have: US Constitution -> Article 3 -> Section 4, OR, US Code -> Title 12 -> Chapter 6 -> Sub-chapter I -> Section 602, OR, US Code -> Title 10 -> Sub-title A -> Part 2 -> Chapter 32 -> Section 523. We use a repeated group to represent this structure. NOTE: Always insert higher levels before lower levels,String
NameThe name of the chapter/section/etc.LegalCitationLawLevelLaw have tree-like sturcture (title, section, etc), but the levels and their names are not fixed. e.g., we could have: US Constitution -> Article 3 -> Section 4, OR, US Code -> Title 12 -> Chapter 6 -> Sub-chapter I -> Section 602, OR, US Code -> Title 10 -> Sub-title A -> Part 2 -> Chapter 32 -> Section 523. We use a repeated group to represent this structure. NOTE: Always insert higher levels before lower levels,String
TypedeprecatedLegalCitationLawLevelLaw have tree-like sturcture (title, section, etc), but the levels and their names are not fixed. e.g., we could have: US Constitution -> Article 3 -> Section 4, OR, US Code -> Title 12 -> Chapter 6 -> Sub-chapter I -> Section 602, OR, US Code -> Title 10 -> Sub-title A -> Part 2 -> Chapter 32 -> Section 523. We use a repeated group to represent this structure. NOTE: Always insert higher levels before lower levels,integer
Value“3”, “42(a)”, etcLegalCitationLawLevelLaw have tree-like sturcture (title, section, etc), but the levels and their names are not fixed. e.g., we could have: US Constitution -> Article 3 -> Section 4, OR, US Code -> Title 12 -> Chapter 6 -> Sub-chapter I -> Section 602, OR, US Code -> Title 10 -> Sub-title A -> Part 2 -> Chapter 32 -> Section 523. We use a repeated group to represent this structure. NOTE: Always insert higher levels before lower levels,String
DayLegalDateinteger
MonthLegalDateinteger
YearLegalDateinteger
DescriptionLegalPersonString
LastNameLegalPersonString
OtherNamesLegalPersonString
discretizedAestheticsScoreAesthetics score discretized into range [0, 100].LensDiscoveryStyleAestheticsScoreSignalsAesthetics score of a style image. Check http://go/styleai-indexing-g3doc#aesthetic-model for more details about the Style AI Aesthetics Model.integer
versionLensDiscoveryStyleAestheticsScoreSignalsAesthetics score of a style image. Check http://go/styleai-indexing-g3doc#aesthetic-model for more details about the Style AI Aesthetics Model.String
x1LensDiscoveryStyleBoundingBoxBounding box with absolute integer coordinates.integer
x2LensDiscoveryStyleBoundingBoxBounding box with absolute integer coordinates.integer
y1LensDiscoveryStyleBoundingBoxBounding box with absolute integer coordinates.integer
y2LensDiscoveryStyleBoundingBoxBounding box with absolute integer coordinates.integer
discretizedFaceVisibilityScoreThe visibility of the face of the most iconic person in the image discretized into range [0, 100].LensDiscoveryStylePersonAttributesThis message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11integer
discretizedFemaleConfidenceLensDiscoveryStylePersonAttributesThis message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11integer
discretizedMaleConfidenceMale and female confidence scores are discretized into the [0, 100] range.LensDiscoveryStylePersonAttributesThis message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11integer
discretizedPredictedAgeAge prediction is rounded to the first decimal place and multiplied by 10 (e.g. 12.3 -> 123). *** Not populated in Amarna for legal reasons. ***LensDiscoveryStylePersonAttributesThis message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11integer
discretizedVisualSaliencyScoreThe area ratio of the most iconic person to the whole image discretized into range [0, 100].LensDiscoveryStylePersonAttributesThis message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11integer
personBoundingBoxBounding box of the most iconic person in the image.LensDiscoveryStylePersonAttributesThis message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11LensDiscoveryStyleBoundingBox
personVisibilityScoresLensDiscoveryStylePersonAttributesThis message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11LensDiscoveryStylePersonAttributesPersonVisibilityScores
predictedAgeBucketBucketed version of the predicted age.LensDiscoveryStylePersonAttributesThis message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11String
versionLensDiscoveryStylePersonAttributesThis message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11String
discretizedPersonVisibilityScoreA measure of the visibility of the most iconic person between [0, 100], derived by combining all label predictions by the Person Visibility model according to go/person-visibility-formula. Higher values indicate greater visibility while lower values indicate lesser visibility.LensDiscoveryStylePersonAttributesPersonVisibilityScoresinteger
personVisibilityPredictionsRepeated for # of PersonVisibility types.LensDiscoveryStylePersonAttributesPersonVisibilityScoreslist(LensDiscoveryStylePersonAttributesPersonVisibilityScoresPersonVisibilityPrediction)
discretizedIconicPersonVisibilityConfidenceConfidence score of the visibility type prediction discretized into range [0, 100].LensDiscoveryStylePersonAttributesPersonVisibilityScoresPersonVisibilityPredictioninteger
iconicPersonVisibilityTypeClassification of how much of the body of the most iconic person in the image is visible.LensDiscoveryStylePersonAttributesPersonVisibilityScoresPersonVisibilityPredictionString
detectedPersonsInformation of all detected people in the image, sorted by decreasing size of the bounding box. We store a maximum of 10 detected people.LensDiscoveryStylePersonDetectionSignalsThis message holds bounding boxes of detected people in the image. Next ID: 3list(LensDiscoveryStylePersonDetectionSignalsDetectedPerson)
versionLensDiscoveryStylePersonDetectionSignalsThis message holds bounding boxes of detected people in the image. Next ID: 3String
boundingBoxBounding box of the detected person.LensDiscoveryStylePersonDetectionSignalsDetectedPersonHolds information about a detected person in the image.LensDiscoveryStyleBoundingBox
styleImageTypePredictionsRepeated for # of StyleImageType types.LensDiscoveryStyleStyleImageTypeSignalsPrediction of a style image type: Stage, Stock, Street or Outfits. Check http://go/styleai-indexing-g3doc#style-image-type-classifier for more details about the Style AI Style Image Type Classifier.list(LensDiscoveryStyleStyleImageTypeSignalsStyleImageTypePrediction)
versionLensDiscoveryStyleStyleImageTypeSignalsPrediction of a style image type: Stage, Stock, Street or Outfits. Check http://go/styleai-indexing-g3doc#style-image-type-classifier for more details about the Style AI Style Image Type Classifier.String
discretizedStyleImageTypeConfidenceStyle image type confidence discretized into range [0, 100].LensDiscoveryStyleStyleImageTypeSignalsStyleImageTypePredictioninteger
styleImageTypePredicted style image type.LensDiscoveryStyleStyleImageTypeSignalsStyleImageTypePredictionString
headerListSnippetResponseData to generate the list snippets UI.ListSnippetResponseRow
isTableShould list be formatted as a table?ListSnippetResponseData to generate the list snippets UI.boolean
rowListSnippetResponseData to generate the list snippets UI.list(ListSnippetResponseRow)
totalRowsThe number of rows annotated in the doc, of which ‘row’ is a subset.ListSnippetResponseData to generate the list snippets UI.integer
columnListSnippetResponseRowlist(String)
categoryThe category associated with this chain, currently only used for subchains.LocalsearchChainIdAn unique identification of a chain. The following are the possible chain id forms: 1) prominent_entity_id only: The entity uniquely represents a chain, which may have multiple sitechunks. 2) sitechunk only: The sitechunk uniquely represents a chain while the chain currently does not have an entity in KG. 3) prominent_entity_id + sitechunk: The chain could be represented by the entity, but not merged at last, and the sitechunks represents the chain better. 4) prominent_entity_id + category: There are multiple subchains for the prominent entity, and category is used to differentiate subchains. NOTE: the size and complexity of the ChainId proto has implications in the serving system and should be thoughtfully kept under control.String
prominentEntityIdThe Knowledge Graph (KG) entity of the chain, found and used in chain mining.LocalsearchChainIdAn unique identification of a chain. The following are the possible chain id forms: 1) prominent_entity_id only: The entity uniquely represents a chain, which may have multiple sitechunks. 2) sitechunk only: The sitechunk uniquely represents a chain while the chain currently does not have an entity in KG. 3) prominent_entity_id + sitechunk: The chain could be represented by the entity, but not merged at last, and the sitechunks represents the chain better. 4) prominent_entity_id + category: There are multiple subchains for the prominent entity, and category is used to differentiate subchains. NOTE: the size and complexity of the ChainId proto has implications in the serving system and should be thoughtfully kept under control.String
sitechunkThe website sitechunk/domain that is owned by the chain.LocalsearchChainIdAn unique identification of a chain. The following are the possible chain id forms: 1) prominent_entity_id only: The entity uniquely represents a chain, which may have multiple sitechunks. 2) sitechunk only: The sitechunk uniquely represents a chain while the chain currently does not have an entity in KG. 3) prominent_entity_id + sitechunk: The chain could be represented by the entity, but not merged at last, and the sitechunks represents the chain better. 4) prominent_entity_id + category: There are multiple subchains for the prominent entity, and category is used to differentiate subchains. NOTE: the size and complexity of the ChainId proto has implications in the serving system and should be thoughtfully kept under control.String
actionTypeThe action type of this action metadata.LocalsearchProtoInternalFoodOrderingActionMetadata* Proto representing the metadata associated with food ordering internal action. Next ID: 13String
hasPrimarilyFoodIntentIf true, it indicates that the merchant has a primarily food intent. This field will only be set when enable_food_gcid_strict_check in FoodOrderingRestrictionProto is true, see go/togo-unified:overlapping-for-le. See go/togo-unified-gcid for how this is calculated.LocalsearchProtoInternalFoodOrderingActionMetadata* Proto representing the metadata associated with food ordering internal action. Next ID: 13boolean
isOutOfOperationalHoursIf set, indicates that the food ordering service is out of operational hours. This could only be populated if the request explicitly asks for ignore_operational_hours in request (universalsearch/rpc/geo/food_ordering_restriction.proto). Design doc: go/fo-persistent-v1.LocalsearchProtoInternalFoodOrderingActionMetadata* Proto representing the metadata associated with food ordering internal action. Next ID: 13boolean
isWhitelistedExternalRestaurantWhen true, indicates that this is a whitelisted restaurant from a first party (but non FO) partner, i.e. a merchant from the orderig app, who is Google owned first party food ordering platform. Design doc: go/onboard-mavn-to-fo. Tracking bug: b/150331855LocalsearchProtoInternalFoodOrderingActionMetadata* Proto representing the metadata associated with food ordering internal action. Next ID: 13boolean
nextOpeningTimeNext opening time when the food ordering service will be available. This is only present if the unavailability reason is OUT_OF_OPERATIONAL_HOURS.LocalsearchProtoInternalFoodOrderingActionMetadata* Proto representing the metadata associated with food ordering internal action. Next ID: 13DateTime
onlyOrderAheadServicesAvailableIndicates whether only order ahead services are available. Order ahead services allow only to place order for future and ASAP order can not be placed via them.LocalsearchProtoInternalFoodOrderingActionMetadata* Proto representing the metadata associated with food ordering internal action. Next ID: 13boolean
serviceInfoAggregated service information by service type. Each service type would only have one ServiceInfo. Optional.LocalsearchProtoInternalFoodOrderingActionMetadata* Proto representing the metadata associated with food ordering internal action. Next ID: 13list(LocalsearchProtoInternalFoodOrderingActionMetadataServiceInfo)
supportedServiceTypeFood ordering service type.LocalsearchProtoInternalFoodOrderingActionMetadata* Proto representing the metadata associated with food ordering internal action. Next ID: 13String
unavailabilityReasonReason for unavailability of internal food ordering action. This is only present when FOPA is unavailable for a particular restaurant. When this is set, all other fields in this proto will not be populated. Note(fo-search): If there are log only partners and this particular restaurant is only supported because of log only partners, this field will not be set to NOT_INTEGRATED_WITH_FOPA.LocalsearchProtoInternalFoodOrderingActionMetadata* Proto representing the metadata associated with food ordering internal action. Next ID: 13String
availablePartnerIdAvailable partner’s id.LocalsearchProtoInternalFoodOrderingActionMetadataAvailablePartnerInfoIncludes all partners that are either open now or supporting order ahead.String
logOnlyIndicates whether the partner is log only.LocalsearchProtoInternalFoodOrderingActionMetadataAvailablePartnerInfoIncludes all partners that are either open now or supporting order ahead.boolean
availablePartnerInfoInformation about Food Ordering partner, which is used for whitelisting the partner in Food Ordering entry points such as Placesheet.LocalsearchProtoInternalFoodOrderingActionMetadataServiceInfolist(LocalsearchProtoInternalFoodOrderingActionMetadataAvailablePartnerInfo)
maxWaitTimeSecMaximum max_wait_time in second.LocalsearchProtoInternalFoodOrderingActionMetadataServiceInfoString
minDeliveryFeeOnly present for delivery case, service fee is not included.LocalsearchProtoInternalFoodOrderingActionMetadataServiceInfoGoogleTypeMoney
minWaitTimeSecMinimum min_wait_time in second.LocalsearchProtoInternalFoodOrderingActionMetadataServiceInfoString
serviceTypeFood ordering service type. Please note that only ServiceType.PICKUP and ServiceType.DELIVERY are valid values for this field.LocalsearchProtoInternalFoodOrderingActionMetadataServiceInfoString
addressLocalWWWInfoNext Id: 36list(LocalWWWInfoAddress)
brickAndMortarStrengthLocalWWWInfoNext Id: 36float
clusterLocalWWWInfoNext Id: 36list(LocalWWWInfoCluster)
docidLocalWWWInfoNext Id: 36String
geotopicalityInformation about geo locations, rather than individual businesses.LocalWWWInfoNext Id: 36RepositoryAnnotationsGeoTopicality
hoursLocalWWWInfoNext Id: 36list(LocalWWWInfoOpeningHours)
isLargeChainDoes this LocalWWWInfo represent a widely-distributed chain?LocalWWWInfoNext Id: 36boolean
isLargeLocalwwwinfoLocalWWWInfoNext Id: 36boolean
phoneLocalWWWInfoNext Id: 36list(LocalWWWInfoPhone)
siteSiblingsThese are per-document signals independent of any particular address.LocalWWWInfoNext Id: 36integer
urlThese are for convenience during intermediate data processing, and should be cleared before the data gets into doc-joins.LocalWWWInfoNext Id: 36String
wrapptorItemLocalWWWInfoNext Id: 36list(LocalWWWInfoWrapptorItem)
addrFprintLocalWWWInfoAddressThese are the addresses, phone numbers, and opening hours related to this document, or the local businesses mentioned on this document. We currently populate these fields from web extractions, i.e, from the data present explicitly on the document, but in future, they can also be filled with data coming from the local index. We populate addresses and phone numbers only if there are <= 4 addresses and phone numbers on the document, respectively. This is primarily for space reasons.String
addressLocalWWWInfoAddressThese are the addresses, phone numbers, and opening hours related to this document, or the local businesses mentioned on this document. We currently populate these fields from web extractions, i.e, from the data present explicitly on the document, but in future, they can also be filled with data coming from the local index. We populate addresses and phone numbers only if there are <= 4 addresses and phone numbers on the document, respectively. This is primarily for space reasons.GeostoreAddressProto
latE7LocalWWWInfoAddressThese are the addresses, phone numbers, and opening hours related to this document, or the local businesses mentioned on this document. We currently populate these fields from web extractions, i.e, from the data present explicitly on the document, but in future, they can also be filled with data coming from the local index. We populate addresses and phone numbers only if there are <= 4 addresses and phone numbers on the document, respectively. This is primarily for space reasons.integer
lngE7LocalWWWInfoAddressThese are the addresses, phone numbers, and opening hours related to this document, or the local businesses mentioned on this document. We currently populate these fields from web extractions, i.e, from the data present explicitly on the document, but in future, they can also be filled with data coming from the local index. We populate addresses and phone numbers only if there are <= 4 addresses and phone numbers on the document, respectively. This is primarily for space reasons.integer
addrFprintLocalWWWInfoClusterString
annotationConfidenceConfidence score for business mention annotations which is copied from LocalEntityAnnotations::location_confidence.LocalWWWInfoClusternumber
clusterdocidLocalWWWInfoClusterString
clusteridLocalWWWInfoClusterString
confidenceProbability that this is the authority page of the business. Same as LocalListing.authority_page_probability, only set for pages with page_type_flags & AUTHORITY.LocalWWWInfoClusternumber
featureTypeFeature type for this listing, from LocalListing::info::related_feature. A geostore::FeatureProto::TypeCategory. Intended primarily to indicate POI-ness (i.e., TYPE_ESTABLISHMENT_POI).LocalWWWInfoClusterinteger
hoursOpening hours for the business, from Local attributes and/or extracted annotations.LocalWWWInfoClusterGeostoreTimeScheduleProto
hoursSourceLocalWWWInfoClusterString
includeInIndexLocalWWWInfoClusterboolean
isPlusboxTODO(local-universal) Consider deleting is_plusbox once the new scheme that uses make_plusbox_visible rolled out.LocalWWWInfoClusterboolean
latitudeE6LocalWWWInfoClusterinteger
levelDEPRECATED / NO LONGER WRITTEN. URL path level from actual references to this webpage.LocalWWWInfoClusterinteger
longitudeE6LocalWWWInfoClusterinteger
makePlusboxVisibleA hint for frontend to decide whether this plusbox should be visible or not.LocalWWWInfoClusterboolean
menuUrlMenu link for the business. Currently only comes from Local attributes.LocalWWWInfoClusterlist(String)
pageTypeFlagsType of the web reference.LocalWWWInfoClusterinteger
phoneFprintLocalWWWInfoClusterString
phoneNumberLocalWWWInfoClusterTelephoneNumber
postalAddressLocalWWWInfoClusterPostalAddress
relevanceDEPRECATED / NO LONGER WRITTEN. How relevant the webpage is to the business (clustering distance). Same as LocalListing::Reference.relevance. Typically only set for pages with (page_type_flags & WEB_EXTRACTION && !AUTHORITY).LocalWWWInfoClusternumber
showInSnippetsLocalWWWInfoClusterboolean
sourceLocalWWWInfoClusterlist(String)
titleLocalWWWInfoClusterString
hoursLocalWWWInfoOpeningHoursPopulated from StoreHoursAnnotations.GeostoreTimeScheduleProto
hoursFprintLocalWWWInfoOpeningHoursPopulated from StoreHoursAnnotations.String
phoneFprintLocalWWWInfoPhoneString
phoneNumberLocalWWWInfoPhoneTelephoneNumber
addrFprintLocalWWWInfoWrapptorItemA single WrapptorItem, with a business name, an address and a phone number. We keep only the fingerprints of address and phone number. The full address and phone protos will be elsewhere within LocalWWWInfo.String
bizNameLocalWWWInfoWrapptorItemA single WrapptorItem, with a business name, an address and a phone number. We keep only the fingerprints of address and phone number. The full address and phone protos will be elsewhere within LocalWWWInfo.String
phoneFprintLocalWWWInfoWrapptorItemA single WrapptorItem, with a business name, an address and a phone number. We keep only the fingerprints of address and phone number. The full address and phone protos will be elsewhere within LocalWWWInfo.String
countryThe country to crawl the country from, defaults to the default non-specified crawling node (which is interpreted by most web-servers as USA). When specified, the crawling will fetch the document from a node in that country instead.LogsProtoIndexingCrawlerIdCrawlerIdProtoProto-representation of the Crawler-ID in Web-Search (Alexandria-Scope). The string-representation (covered in //indexing/crawler_id/scope/alexandria/crawler_id.h) and the proto-representation are identical in meaning. For more information in regard to the crawler_id, please look at //depot/google3/indexing/crawler_id Used within the following components: – WebMirror: To understand the parsed crawler-ID and apply attributes within their own tables. – Serving : to identify the crawler-ID within the GenericSearchResponse, which implies being stored in the MDU and returned by ascorer to Superroot. – QSessions: To store the crawler-ID in all logged events for analysis. The default values represent the ’empty string’ crawler-ID for the Alexandria-scope.String
deviceTypeThe device type, which maps into the useragent to be set when initiating the fetch-request, e.g. desktop-googlebot vs. smartphone-googlebot.LogsProtoIndexingCrawlerIdCrawlerIdProtoProto-representation of the Crawler-ID in Web-Search (Alexandria-Scope). The string-representation (covered in //indexing/crawler_id/scope/alexandria/crawler_id.h) and the proto-representation are identical in meaning. For more information in regard to the crawler_id, please look at //depot/google3/indexing/crawler_id Used within the following components: – WebMirror: To understand the parsed crawler-ID and apply attributes within their own tables. – Serving : to identify the crawler-ID within the GenericSearchResponse, which implies being stored in the MDU and returned by ascorer to Superroot. – QSessions: To store the crawler-ID in all logged events for analysis. The default values represent the ’empty string’ crawler-ID for the Alexandria-scope.String
indexGrowthExptTypeSpecifies whether the document is a duplicated document from the index growth experiment, detailed at go/indexsize_exp, defaults to not in any experiment.LogsProtoIndexingCrawlerIdCrawlerIdProtoProto-representation of the Crawler-ID in Web-Search (Alexandria-Scope). The string-representation (covered in //indexing/crawler_id/scope/alexandria/crawler_id.h) and the proto-representation are identical in meaning. For more information in regard to the crawler_id, please look at //depot/google3/indexing/crawler_id Used within the following components: – WebMirror: To understand the parsed crawler-ID and apply attributes within their own tables. – Serving : to identify the crawler-ID within the GenericSearchResponse, which implies being stored in the MDU and returned by ascorer to Superroot. – QSessions: To store the crawler-ID in all logged events for analysis. The default values represent the ’empty string’ crawler-ID for the Alexandria-scope.String
languageThe language being set by the crawler. Defaults to UNKNOWN_LANGUAGE which indicates to not apply an accept-language header on the FetchRequest. When a language is specified, on crawling this language is converted into an accept-language header (e.g. GERMAN -> “Accept-language: de”). Script variations, e.g. ZH-HANS vs. ZH-HANT, are handled as different enum values (e.g. CHINESE vs. CHINESE_T).LogsProtoIndexingCrawlerIdCrawlerIdProtoProto-representation of the Crawler-ID in Web-Search (Alexandria-Scope). The string-representation (covered in //indexing/crawler_id/scope/alexandria/crawler_id.h) and the proto-representation are identical in meaning. For more information in regard to the crawler_id, please look at //depot/google3/indexing/crawler_id Used within the following components: – WebMirror: To understand the parsed crawler-ID and apply attributes within their own tables. – Serving : to identify the crawler-ID within the GenericSearchResponse, which implies being stored in the MDU and returned by ascorer to Superroot. – QSessions: To store the crawler-ID in all logged events for analysis. The default values represent the ’empty string’ crawler-ID for the Alexandria-scope.String
languageCodeLanguage-code used for identifying the locale of the document. ‘language’ and ‘country’ above are used for web-based documents, representing the detected language of the document and the country it was crawled from. The language code here, however, rather represents an artifical language_code applied to manually translated webpages (e.g. feeds), for instance for the pidgin-usecase. They are limited to the set of III-codes being supported by the client, yet are beyond the enum in ‘language’, e.g. to support variants of English across different countries.LogsProtoIndexingCrawlerIdCrawlerIdProtoProto-representation of the Crawler-ID in Web-Search (Alexandria-Scope). The string-representation (covered in //indexing/crawler_id/scope/alexandria/crawler_id.h) and the proto-representation are identical in meaning. For more information in regard to the crawler_id, please look at //depot/google3/indexing/crawler_id Used within the following components: – WebMirror: To understand the parsed crawler-ID and apply attributes within their own tables. – Serving : to identify the crawler-ID within the GenericSearchResponse, which implies being stored in the MDU and returned by ascorer to Superroot. – QSessions: To store the crawler-ID in all logged events for analysis. The default values represent the ’empty string’ crawler-ID for the Alexandria-scope.String
aggregateFlagsLogsSemanticInterpretationIntentQueryEntityLinkMetadataLogs version of the repository_webref.EntityLinkMetadata proto Used to represent QRef implicationsLogsSemanticInterpretationIntentQueryLinkKindFlags
kindInfoLogsSemanticInterpretationIntentQueryEntityLinkMetadataLogs version of the repository_webref.EntityLinkMetadata proto Used to represent QRef implicationslist(LogsSemanticInterpretationIntentQueryLinkKindInfo)
clusterLogsSemanticInterpretationIntentQueryLinkKindFlagsLogs version of the repository_webref.LinkKindFlags proto Used to represent QRef implications Next available tag: 8String
geoContainmentLogsSemanticInterpretationIntentQueryLinkKindFlagsLogs version of the repository_webref.LinkKindFlags proto Used to represent QRef implications Next available tag: 8String
implicationLogsSemanticInterpretationIntentQueryLinkKindFlagsLogs version of the repository_webref.LinkKindFlags proto Used to represent QRef implications Next available tag: 8String
latentEntityLogsSemanticInterpretationIntentQueryLinkKindFlagsLogs version of the repository_webref.LinkKindFlags proto Used to represent QRef implications Next available tag: 8String
mdvcLogsSemanticInterpretationIntentQueryLinkKindFlagsLogs version of the repository_webref.LinkKindFlags proto Used to represent QRef implications Next available tag: 8String
propertyLogsSemanticInterpretationIntentQueryLinkKindFlagsLogs version of the repository_webref.LinkKindFlags proto Used to represent QRef implications Next available tag: 8String
resolutionHas not been useful since at least 2015 (before this was logged).LogsSemanticInterpretationIntentQueryLinkKindFlagsLogs version of the repository_webref.LinkKindFlags proto Used to represent QRef implications Next available tag: 8String
flagsLogsSemanticInterpretationIntentQueryLinkKindInfoLogs version of the repository_webref.LinkKindInfo proto Used to represent QRef implicationsLogsSemanticInterpretationIntentQueryLinkKindFlags
kcLinkNameNot set for a while.LogsSemanticInterpretationIntentQueryLinkKindInfoLogs version of the repository_webref.LinkKindInfo proto Used to represent QRef implicationsString
topicPropertyNameLogsSemanticInterpretationIntentQueryLinkKindInfoLogs version of the repository_webref.LinkKindInfo proto Used to represent QRef implicationsString
allowWildcardIntentsLogsSemanticInterpretationIntentQuerySupportTransferRuleLogs version of the repository_webref.SupportTransferRule proto Non-logs version supports go/stbrboolean
domainLogsSemanticInterpretationIntentQuerySupportTransferRuleLogs version of the repository_webref.SupportTransferRule proto Non-logs version supports go/stbrString
isReverseLinkLogsSemanticInterpretationIntentQuerySupportTransferRuleLogs version of the repository_webref.SupportTransferRule proto Non-logs version supports go/stbrboolean
mentionsOnlyLogsSemanticInterpretationIntentQuerySupportTransferRuleLogs version of the repository_webref.SupportTransferRule proto Non-logs version supports go/stbrboolean
supportShareLogsSemanticInterpretationIntentQuerySupportTransferRuleLogs version of the repository_webref.SupportTransferRule proto Non-logs version supports go/stbrboolean
targetCollectionLogsSemanticInterpretationIntentQuerySupportTransferRuleLogs version of the repository_webref.SupportTransferRule proto Non-logs version supports go/stbrString
userCountryLogsSemanticInterpretationIntentQuerySupportTransferRuleLogs version of the repository_webref.SupportTransferRule proto Non-logs version supports go/stbrString
userLanguageLogsSemanticInterpretationIntentQuerySupportTransferRuleLogs version of the repository_webref.SupportTransferRule proto Non-logs version supports go/stbrString
entityIndexLogsSemanticInterpretationIntentQueryWebrefEntityRelationshipLogs version of the repository_webref.WebrefEntityRelationship proto Used to represent QRef implicationsinteger
linkMetadataLogsSemanticInterpretationIntentQueryWebrefEntityRelationshipLogs version of the repository_webref.WebrefEntityRelationship proto Used to represent QRef implicationsLogsSemanticInterpretationIntentQueryEntityLinkMetadata
linkWeightLogsSemanticInterpretationIntentQueryWebrefEntityRelationshipLogs version of the repository_webref.WebrefEntityRelationship proto Used to represent QRef implicationsnumber
entryLongStructuredSnippetAn experimental long snippet. The protocol allows any permutation of headers and plain text paragraphs, but typical responses are just paragraphs or alternating headers and paragraphs.list(LongStructuredSnippetEntry)
headerIs this a header or normal paragraph?LongStructuredSnippetEntryboolean
textThe text of the header or paragraph.LongStructuredSnippetEntryString
shortcutContactTypeMajelContactInformationShortcutInformationThe information on whether the contact is related to an app shortcut. Next ID: 2String
isAlleyAffixAn affix that indicates an alley. Alleys are unnamed, numbered routes that are always linked to a “parent street”. As these parent streets can be named e.g. “7th street” and alleys might be referred to as “7th alley”, we need to be able to distinguish those affixes. For more details about alleys see go/vn-alley-geocoding.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isCommonWordCommon words E.g.: center, park, etc.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isDeconstructibleWhether this special word is part of a name without a separator (like e.g. suffix “strasse” in Freigutstrasse).MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isDirectionalModifierDirectional modifier. E.g.: north, south, etc.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isDistanceMarkerAn affix that indicates distance marker on a route, e.g., ‘km’.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isForbiddenWordWhether geo paths are forbidden to contain this word.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isHouseIdIdentifierA keyword for a house id.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isIntersectionConnectorIntersection. E.g.: and, at, corner.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isLandmarkIdentifierAn affix that indicates a landmark, e.g. “opposite”, “near” etc.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isLanguageIndicatorLanguage indicator. E.g.: platz in German, straat in Dutch.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isNameSynonymWhether this is a name synonym and should be allowed to be matched on when searching (that is, added to the retrieval query with the name/ prefix).MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isNotForLegacyStreetNumberDetectionTerms which are not allowed to be used by the legacy street number detection.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isNotOptionalizableTerms which are not allowed to be treated as optional.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isNumberNumbers. E.g.: 1, one, 2, two.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isNumberSuffixE.g. suffixes in French: bis, ter.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isOptionalIs this special word optional?MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isOrdinalNumberE.g.: 1st, first.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isPenalizedIfMissingOptional terms that should not geocode by themselves.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isPersonalTitlePersonal titles (e.g. doctor, professor, general, etc.)MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isStopWordE.g.: the, in, near, where.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
isStreetNumberIdentifierA keyword that denotes a street number, e.g. “number”, “unit” etc.MapsQualitySpecialWordsFlagsFlags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. — Next available id: 22 —boolean
alternateAlternate versions of this canonical form. This is mainly abbreviations of the canonical form e.g. “St”, “NE”, etc. This should be present as it is used in the specified language with the correct capitalization, accents, etc. in UTF-8.MapsQualitySpecialWordsProtoThe goal of the special words are to: – Canonicalize the user query by rewriting abbreviations into the canonical version that is indexed. – Figure out at index time for each element which tokens are important. We use this to decide if an address component is matched or not. For instance in “1600 Pennsylvania Ave NW” since “NW” is recognised as a directional (and “Ave” is recognised as a street visible type), “Pennsylvania” becomes the name and you can’t match this street by just specifying “avenue” or “NW”.list(String)
canonicalCanonical versions: the version which is in oyster. This should be present as it is used in the specified language with the correct capitalization, accents, etc. in UTF-8. The canonical can be a single or a multi-token string. There can be several canonicals, e.g. “center” and “centre” in English.MapsQualitySpecialWordsProtoThe goal of the special words are to: – Canonicalize the user query by rewriting abbreviations into the canonical version that is indexed. – Figure out at index time for each element which tokens are important. We use this to decide if an address component is matched or not. For instance in “1600 Pennsylvania Ave NW” since “NW” is recognised as a directional (and “Ave” is recognised as a street visible type), “Pennsylvania” becomes the name and you can’t match this street by just specifying “avenue” or “NW”.list(String)
countryIf empty, apply this rule to any country. Otherwise, a list of ISO 3166-1 alpha-2 (2-letter uppercase) country codes that this description applies to.MapsQualitySpecialWordsProtoThe goal of the special words are to: – Canonicalize the user query by rewriting abbreviations into the canonical version that is indexed. – Figure out at index time for each element which tokens are important. We use this to decide if an address component is matched or not. For instance in “1600 Pennsylvania Ave NW” since “NW” is recognised as a directional (and “Ave” is recognised as a street visible type), “Pennsylvania” becomes the name and you can’t match this street by just specifying “avenue” or “NW”.list(String)
flagsBoolean flags indicating what type of special word this is.MapsQualitySpecialWordsProtoThe goal of the special words are to: – Canonicalize the user query by rewriting abbreviations into the canonical version that is indexed. – Figure out at index time for each element which tokens are important. We use this to decide if an address component is matched or not. For instance in “1600 Pennsylvania Ave NW” since “NW” is recognised as a directional (and “Ave” is recognised as a street visible type), “Pennsylvania” becomes the name and you can’t match this street by just specifying “avenue” or “NW”.MapsQualitySpecialWordsFlags
languageThe III language code of the language that this description applies to. No language means that this applies worldwide. This could be useful for codes like country codes or airport codes or for displayed language neutral icons. A special word with a language code here also applies to the regional variants of that language (e.g. “en” applies to “en-GB” and “en-US” as well).MapsQualitySpecialWordsProtoThe goal of the special words are to: – Canonicalize the user query by rewriting abbreviations into the canonical version that is indexed. – Figure out at index time for each element which tokens are important. We use this to decide if an address component is matched or not. For instance in “1600 Pennsylvania Ave NW” since “NW” is recognised as a directional (and “Ave” is recognised as a street visible type), “Pennsylvania” becomes the name and you can’t match this street by just specifying “avenue” or “NW”.list(String)
positionMapsQualitySpecialWordsProtoThe goal of the special words are to: – Canonicalize the user query by rewriting abbreviations into the canonical version that is indexed. – Figure out at index time for each element which tokens are important. We use this to decide if an address component is matched or not. For instance in “1600 Pennsylvania Ave NW” since “NW” is recognised as a directional (and “Ave” is recognised as a street visible type), “Pennsylvania” becomes the name and you can’t match this street by just specifying “avenue” or “NW”.String
visibleTypeIdvisible_type_id from VisibleTypeProto for visible types converted to the special words. For original special words this field is empty.MapsQualitySpecialWordsProtoThe goal of the special words are to: – Canonicalize the user query by rewriting abbreviations into the canonical version that is indexed. – Figure out at index time for each element which tokens are important. We use this to decide if an address component is matched or not. For instance in “1600 Pennsylvania Ave NW” since “NW” is recognised as a directional (and “Ave” is recognised as a street visible type), “Pennsylvania” becomes the name and you can’t match this street by just specifying “avenue” or “NW”.list(String)
areaFractionThe area of the region as a fraction of the image. The value is in the range (0, 1).MediaIndexBoundingboxStores coordinates corresponding to the dimensions of the box surrounding the region of interest. Coordinates may be normalized or absolute depending on the implementation and signal corresponding to this field.number
xmaxMediaIndexBoundingboxStores coordinates corresponding to the dimensions of the box surrounding the region of interest. Coordinates may be normalized or absolute depending on the implementation and signal corresponding to this field.number
xminMediaIndexBoundingboxStores coordinates corresponding to the dimensions of the box surrounding the region of interest. Coordinates may be normalized or absolute depending on the implementation and signal corresponding to this field.number
ymaxMediaIndexBoundingboxStores coordinates corresponding to the dimensions of the box surrounding the region of interest. Coordinates may be normalized or absolute depending on the implementation and signal corresponding to this field.number
yminMediaIndexBoundingboxStores coordinates corresponding to the dimensions of the box surrounding the region of interest. Coordinates may be normalized or absolute depending on the implementation and signal corresponding to this field.number
customSourceThe custom source should only be a-z[0-9] dashes, underscores, and colons. Special characters should be avoided.MediaIndexEntityFieldPackages entity id and score together for a given source.String
entityIdMediaIndexEntityFieldPackages entity id and score together for a given source.String
quantizedScoreMediaIndexEntityFieldPackages entity id and score together for a given source.String
sourceMediaIndexEntityFieldPackages entity id and score together for a given source.String
previewFrameZeroVariantMediaIndexFrameIdentifierIdentifier for frames associated with a video.MediaIndexFrameIdentifierPreviewFrameZeroVariant
timestampMsOffset of the frame from the beginning of the video (in milliseconds).MediaIndexFrameIdentifierIdentifier for frames associated with a video.integer
previewLengthMediaIndexFrameIdentifierPreviewFrameZeroVariantThis variant defines the frame to be the first frame of the video’s generated preview.String
xtagListAll xtags used in the generation of the preview. The same frame generated from the same preview with different xtags will likely have different bytes (such as, for example, resulting from a different aspect ratio).MediaIndexFrameIdentifierPreviewFrameZeroVariantThis variant defines the frame to be the first frame of the video’s generated preview.MediaIndexXtagList
boundingBoxThe bounding box corresponding to the region.MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14MediaIndexBoundingbox
entityFieldsDetected Entities found within this region.MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14list(MediaIndexEntityField)
labelsThe labels associated with the region encoded as a SparseFloatVector to facilitate dot product computation during sorting. The columns are the fingerprints of the labels and the values are the corresponding confidence scores. The vector is L2 normalized.MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14MediaIndexSparseFloatVector
primiApparelFeaturesV2PRIMI Apparel Features v2 embedding and tokens.MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14String
primiApparelTokensV2MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14list(String)
primiGenericFeaturesV25PRIMI Generic Features v2.5 embedding and tokens.MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14String
primiGenericTokensV25MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14list(String)
starburstFeaturesV4Starburst v4 embedding and tokens.MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14String
starburstFeaturesV5Starburst v5 embedding and tokens.MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14String
starburstTokensV4MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14list(String)
starburstTokensV5MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14list(String)
starburstV4MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14ImageContentStarburstVersionGroup
starburstV5MediaIndexRegionMetadata associated with a region in an image. NEXT_ID: 14ImageContentStarburstVersionGroup
columnsParallel arrays of column / value. Exactly one of those columns vector should be set. Columns must be in monotonically increasing order.MediaIndexSparseFloatVectorlist(String)
columnsInt16MediaIndexSparseFloatVectorString
columnsInt32MediaIndexSparseFloatVectorlist(integer)
columnsInt64Columns are fixed integers, used for accelerated parse.MediaIndexSparseFloatVectorlist(String)
columnsInt8MediaIndexSparseFloatVectorString
valuesMediaIndexSparseFloatVectorlist(number)
domainScoresMediaIndexVideoCentroidData about the behavior of the video across the pages it is embedded in.list(MediaIndexVideoCentroidDomainScore)
domainThe domain this score was generated for.MediaIndexVideoCentroidDomainScoreSee go/video-centroid-domain-score.String
numDocsNumber of pages from the domain used to generate this DomainScore.MediaIndexVideoCentroidDomainScoreSee go/video-centroid-domain-score.integer
scoreIn general, lower scores indicate the video is appearing on more diverse pages.MediaIndexVideoCentroidDomainScoreSee go/video-centroid-domain-score.number
centroidMediaIndexVideoCoreSignalsCore signals for video content corpus which will be fetched for every query. If a signal is required only for a subset of search queries then it should be added as a separate field in the schema.MediaIndexVideoCentroid
videoFramesMediaIndexVideoCoreSignalsCore signals for video content corpus which will be fetched for every query. If a signal is required only for a subset of search queries then it should be added as a separate field in the schema.list(MediaIndexVideoFrame)
docidThe canonical docid of the frame.MediaIndexVideoFrameData about a frame associated with the video.String
frameIdentifierMediaIndexVideoFrameData about a frame associated with the video.MediaIndexFrameIdentifier
regionsMetadata associated with regions within this frame.MediaIndexVideoFrameData about a frame associated with the video.list(MediaIndexRegion)
starburstFeaturesV4Starburst v4 embedding and tokens.MediaIndexVideoFrameData about a frame associated with the video.String
starburstTokensV4Note: due to the migration to Golden7-source Starburst v4 embedding, no starburst_tokens_v4 will be provided in video content corpus (go/video-content-corpus). But this field is kept in case other purposes may still use it in the proto.MediaIndexVideoFrameData about a frame associated with the video.list(String)
thumbnailTypeSet of available thumbnail types for this frame. Should be valid image_base.ThumbnailType values (enumerated at http://google3/image/base/thumbnail-type.proto).MediaIndexVideoFrameData about a frame associated with the video.list(String)
videoFramesMediaIndexVideoFramesData about multiple video frames associated with the video.list(MediaIndexVideoFrame)
nameNames are all stored case-sensitive, and no case-folding is done for comparisons.MediaIndexXtagString
valueThe value associated with this Xtag. Values are all stored case-sensitive, and no case-folding is done for comparisons.MediaIndexXtagString
xtagsMediaIndexXtagListXtagList — a collection of Xtag instances with unique names. This would be associated with one specific piece of content.list(MediaIndexXtag)
flagsMobilePerDocDataNote: This message is also in the RTUpdate protocol buffer.integer
mobileurlDEPRECATED: Url of the mobile version of the document. This is set during canonicalization if we do not know that the Web url also serves the mobile version.MobilePerDocDataNote: This message is also in the RTUpdate protocol buffer.String
transcodedPageScoreDEPRECATED: The transcoded page quality repesented in 7-bits range from 0 to 127.MobilePerDocDataNote: This message is also in the RTUpdate protocol buffer.integer
presentWhether the field (data field or pointer) is defined.MultiscaleFieldPresenceDefines the presence of a field. This can help distinguish between empty vs. not-present annotations.boolean
wellDefinedMultiscaleFieldPresenceDefines the presence of a field. This can help distinguish between empty vs. not-present annotations.String
implicitLengthIf the layer is not materialized but things point into it, this gives the effective length.MultiscaleLayerPresenceDefines the presence of a layer (previously called “scale”).integer
presentWhether the layer is present.MultiscaleLayerPresenceDefines the presence of a layer (previously called “scale”).boolean
indexThe index of the node that this pointer points to.MultiscalePointerIndexPointer to a single node in a target scale. `pointer.Index` fields should be annotated with a `(pointer.to)` annotation, indicating what scale they point at.integer
limitThe exclusive end index for the span of nodes that this pointer points to — i.e., one plus the index of the last node in the span. Must be greater than or equal to `start`. If equal to `start`, then the target span is empty.MultiscalePointerSpanPointer to a contiguous range of nodes in a target scale. `pointer.Span` fields should be annotated with a `(pointer.to)` annotation, indicating what scale they point at.integer
startThe inclusive start index for the span of nodes that this pointer points to — i.e., the index of the first node in the span.MultiscalePointerSpanPointer to a contiguous range of nodes in a target scale. `pointer.Span` fields should be annotated with a `(pointer.to)` annotation, indicating what scale they point at.integer
nameName corresponds to the names in WebChooserScorer::FeatureNames.MustangReposWwwSnippetsCandidateFeatureCandidateFeature contains a pair of feature name and score for a snippet candidate.String
scoreMustangReposWwwSnippetsCandidateFeatureCandidateFeature contains a pair of feature name and score for a snippet candidate.number
headerThe texts of header and listing items.MustangReposWwwSnippetsOrganicListSnippetResponseData to generate the list preview for organic list snippets.String
headerTitleRedundancyThe ratio of header tokens covered by title.MustangReposWwwSnippetsOrganicListSnippetResponseData to generate the list preview for organic list snippets.number
headerUsedInSnippetIf the header being used in organic snippet.MustangReposWwwSnippetsOrganicListSnippetResponseData to generate the list preview for organic list snippets.boolean
itemsMustangReposWwwSnippetsOrganicListSnippetResponseData to generate the list preview for organic list snippets.list(String)
originalTotalItemsThe number of items in the original list.MustangReposWwwSnippetsOrganicListSnippetResponseData to generate the list preview for organic list snippets.integer
radishScoreThe score of the radish signal.MustangReposWwwSnippetsOrganicListSnippetResponseData to generate the list preview for organic list snippets.number
dataSourceTypedata_source_type corresponds to the ChosenSnippet::SnippetType enum.MustangReposWwwSnippetsSnippetCandidateThis message contains features for candidates at the chooser level. For each snippet candidate, we also log the final score as the last candidate feature.integer
featuresMustangReposWwwSnippetsSnippetCandidateThis message contains features for candidates at the chooser level. For each snippet candidate, we also log the final score as the last candidate feature.list(MustangReposWwwSnippetsCandidateFeature)
textMustangReposWwwSnippetsSnippetCandidateThis message contains features for candidates at the chooser level. For each snippet candidate, we also log the final score as the last candidate feature.String
browserWidthBrowser width.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.integer
candidatesFeatures for snippets candidates, generated by both old and new scorer. Currently only features for chosen candidate is generated.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.list(MustangReposWwwSnippetsSnippetCandidate)
displaySnippetSnippet features for the final chosen snippet. This field is firstly populated by Muppet, and then overwriten by Superroot if SnippetBrain is triggered.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.QualityPreviewRanklabSnippet
documentLanguagelocale of the document.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.String
originalQueryTermCoveragesOriginal query term coverage in titles and / or snippets.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.QualityPreviewSnippetQueryTermCoverageFeatures
queryLanguagelocale of the query,MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.String
snippetDataSourceTypeSnippet data source.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.integer
snippetQueryTermCoverageQuery term coverage in snippets.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.number
snippetsSnippet features for Muppet snippet candidates. In production, only the data for chosen snippet will be recorded.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.list(QualityPreviewRanklabSnippet)
titleDataSourceTypeTitle data source.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.integer
titleQueryTermCoverageQuery term coverage in titles.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.number
titleSnippetQueryTermCoverageQuery term coverage in titles and snippets.MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.number
titlesPer-candidate title features for ranklab models, sorted from the best candidate to the worst candidate (i.e., the first element is the actually selected title).MustangReposWwwSnippetsSnippetsRanklabFeaturesThis is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like ‘snippet_features_snippet_data_source_type’.list(QualityPreviewRanklabTitle)
boldedIs the rendered token bolded (insided )MustangSnippetsRenderedTokenTidbit token rendered in generating snippet/title.boolean
byteOffsetBeginByte offset range in the rendered text that corresponds to this token. [byte_offset_begin, byte_offset_end) inclusiveMustangSnippetsRenderedTokenTidbit token rendered in generating snippet/title.integer
byteOffsetEndexclusiveMustangSnippetsRenderedTokenTidbit token rendered in generating snippet/title.integer
sectionSection and TokenPos of the token.MustangSnippetsRenderedTokenTidbit token rendered in generating snippet/title.String
tokenPosMustangSnippetsRenderedTokenTidbit token rendered in generating snippet/title.String
idrequiredNetFabricRpcVirtualNetworkIdGlobally unique identifier for a virtual network.integer
componentSpecificContractsNlpMeaningComponentSpecificContractsA Component-Specific Contract is a proto message that can be placed on various elements of the MeaningCatalog (intent schemas, slots, types) that signals whether that element is part of the contract for a given component. go/contract-based-conformancelist(String)
deletionThis field can be set to true to indicate that the associated part of the schema is being deleted as part of the remodeling.NlpMeaningMeaningRemodelingboolean
idThe remodeling ID. Each remodeling has a unique ID that is used to associate changes with that remodeling.NlpMeaningMeaningRemodelingString
remodelingIdNlpMeaningMeaningRemodelingControlThis is the FunctionCall counterpart to the “MeaningRemodelings” structure. When present, it is used for typechecking the FunctionCall against the schema with the remodelings enabled.list(String)
remodelingNlpMeaningMeaningRemodelingsThis proto will be added as a field to part of a schema to indicate it is being remodeled.list(NlpMeaningMeaningRemodeling)
componentSpecificContractsNlpMeaningSemanticTypeNameComponentSpecificContractsComponent-Specific Contract for SemanticTypes, which are atomic string values (and thus can’t have a ComponentSpecificContracts message attached to them). go/contract-based-conformanceNlpMeaningComponentSpecificContracts
nameSemantic type name.NlpMeaningSemanticTypeNameComponentSpecificContractsComponent-Specific Contract for SemanticTypes, which are atomic string values (and thus can’t have a ComponentSpecificContracts message attached to them). go/contract-based-conformanceString
nameSemantic type name.NlpMeaningSemanticTypeNameMeaningRemodelingsAssociates remodeling data with a semantic type name.String
remodelingsNlpMeaningSemanticTypeNameMeaningRemodelingsAssociates remodeling data with a semantic type name.NlpMeaningMeaningRemodelings
infoAnnotation for this phrase.NlpSaftAnnotatedPhraseRepresentation of a phrase in the document with a particular annotation. Provides the ability to annotate arbitrary spans in the document. This is intended for representing spans that SAFT does NOT consider to be mentions of entities within a SAFT document.Proto2BridgeMessageSet
phraseContains start and end pointers to the token array for this span.NlpSaftAnnotatedPhraseRepresentation of a phrase in the document with a particular annotation. Provides the ability to annotate arbitrary spans in the document. This is intended for representing spans that SAFT does NOT consider to be mentions of entities within a SAFT document.NlpSaftPhrase
childAn arbitrary number of children, ordered from left to right; empty for preterminals. Represented via indices into Document.constituency_node.NlpSaftConstituencyNodeConstituency parse tree node with tokens as the leaf nodes.list(integer)
labelThe label of the current node.NlpSaftConstituencyNodeConstituency parse tree node with tokens as the leaf nodes.String
phraseA phrase that contains information about the span and the (optional) head token. For terminal nodes the head of the phrase holds the word.NlpSaftConstituencyNodeConstituency parse tree node with tokens as the leaf nodes.NlpSaftPhrase
relationRelations between entities in the document.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftRelation)
annotationsGeneric annotations.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36Proto2BridgeMessageSet
contentageAge of the content of the document. For details, see: quality/historical/shingle/signals/contentage.proto The format has been translated to a canonical timestamp (seconds since epoch).NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
bylineDateDocument’s byline date, if available: this is the date that will be shown in the snippets in web search results. It is stored as the number of seconds since epoch. See segindexer/compositedoc.protoNlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
dateDocument anchor date in YYYYMMDDhhmmss format.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
entityEntities in the document.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftEntity)
semanticNodeThe semantic nodes for the document represent arbitrary types of higher-level abstractions beyond entity mention coreference and binary relations between entities. These may include: n-ary relations, semantic frames or events. The semantic nodes for a document are the nodes in a directed acyclic graph, with an adjacency list representation.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftSemanticNode)
lastSignificantUpdateLast significant update of the page content, in the same format as the contentage field, and also derived from ContentAge.last_significant_update in quality/historical/shingle/signals/contentage.proto.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
tokenTokenization of the document.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftToken)
measureMeasures in the documents. This covers both time expressions as well as physical quantities.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftMeasure)
hyperlinkThe hyperlinks in the document. Multiple hyperlinks are sorted in left-to-right order.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftHyperlink)
annotatedPhraseAnnotated phrases in the document that are not semantically well-defined mentions of entities.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftAnnotatedPhrase)
contentFirstseenStores minimum of first time google successfully crawled a document, or indexed the document with contents (i.e, not roboted). It is stored as the number of seconds since epoch. See quality/historical/signals/firstseen/firstseen.protoNlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
contentTypeOptional document content_type (from webutil/http/content-type.proto). Used for setting the content_type when converting the SAFT Document to a CompositeDoc. Will be inferred if not given here.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36integer
entityLabelEntity labels used in this document. This field is used to define labels for the Entity::entity_type_probability field, which contains corresponding probabilities. WARNING: This field is deprecated. go/saft-replace-deprecated-entity-typeNlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(String)
httpHeadersHTTP header for document. If the HTTP headers field is set it should be the complete header including the HTTP status line and the trailing cr/nl. HTTP headers are not required to be valid UTF-8. Per the HTTP/1.1 Syntax (RFC7230) standard, non-ASCII octets should be treated as opaque data.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
topicNlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftDocumentTopic)
docidIdentifier for document.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
languageDocument language (default is English). This field’s value maps cleanly to the i18n.languages.Language proto enum (i18n::languages::Language in C++).NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36integer
textRaw text contents of document. (In docjoin attachments from the SAFT goldmine annotator this field will be empty.)NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
traceWhether to enable component tracing during analysis of this document. See http://go/saft-tracing for details.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36boolean
goldenFlag for indicating that the document is a gold-standard document. This can be used for putting additional weight on human-labeled documents in contrast to automatically labeled annotations.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36boolean
focusEntityFocus entity. For lexicon articles, like Wikipedia pages, a document is often about a certain entity. This is the local entity id of the focus entity for the document.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36integer
constituencyRootThe root node of the constituency tree for each sentence. If non-empty, the list of roots will be aligned with the sentences in the document. Note that some sentences may not have been parsed for various reasons; these sentences will be annotated with placeholder “stub parses”. For details, see //nlp/saft/components/constituents/util/stub-parse.h.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(integer)
authorDocument author(s).NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(String)
syntacticDateDocument’s syntactic date (e.g. date explicitly mentioned in the URL of the document or in the document title). It is stored as the number of seconds since epoch. See quality/timebased/syntacticdate/proto/syntactic-date.protoNlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
urlSource document URL.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
privacySensitiveTrue if this document contains privacy sensitive data. When the document is transferred in RPC calls the RPC should use SSL_PRIVACY_AND_INTEGRITY security level.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36boolean
subsectionSub-sections for document for dividing a document into volumes, parts, chapters, sections, etc.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftDocument)
constituencyNodeConstituency parse tree nodes for the sentences in this document.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36list(NlpSaftConstituencyNode)
rpcErrorTrue if some RPC which touched this document had an error.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36boolean
titleOptional document title.NlpSaftDocumentA document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36String
nameTopic name or identifier.NlpSaftDocumentTopicDocument topic(s).String
scoreTopic score.NlpSaftDocumentTopicDocument topic(s).number
antecedentAntecedent for entity. This is used to make coreference chains before the mentions in the document are grouped by entity.NlpSaftEntityNamed entities in the document.integer
entityTypeEntity type (e.g. PER, ORG, LOC). WARNING: This field is deprecated. go/saft-replace-deprecated-entity-typeNlpSaftEntityNamed entities in the document.String
entityTypeProbabilityProbability distribution over entity types. These values correspond to Document.entity_label values: doc.entity[e].entity_type_probability[n] is the probability that the correct label for doc.entity[e] is doc.entity_label[n]. These probabilities sum to 1.0 (with possible rounding error). WARNING: This field is deprecated. go/saft-replace-deprecated-entity-typeNlpSaftEntityNamed entities in the document.list(float)
genderGender for entity.NlpSaftEntityNamed entities in the document.String
infoApplication-specific information about this entity.NlpSaftEntityNamed entities in the document.Proto2BridgeMessageSet
mentionMentions of the entity in the document.NlpSaftEntityNamed entities in the document.list(NlpSaftMention)
nameRepresentative entity name.NlpSaftEntityNamed entities in the document.String
profileProfile for entity.NlpSaftEntityNamed entities in the document.NlpSaftEntityProfile
referentReferent information for discourse context entities that are not mentioned in the document. These can be merged with mentioned entities during analysis if they are deemed to be coreferent. Entities with referents should not have any mentions if they do not corefer with anything. For example, when adding context entities to an input document prior to SAFT analysis, those entities should have a referent and no mentions.NlpSaftEntityNamed entities in the document.NlpSaftReferent
representativeMentionRepresentative mention, as an index into mention.NlpSaftEntityNamed entities in the document.integer
salienceScore indicating the saliency (centrality) of this entity to the document.NlpSaftEntityNamed entities in the document.float
typeEntity types of the entity. These can include SAFT types (/saft/location, /saft/art, /saft/other/living_thing, etc), collections types (/collection/tv_personalities, /collection/statistical_regions, etc), and more. This refers to the type of the entity itself: in “She is on TV”, “She” refers to a specific actor, with type “/collection/tv_personalities”. Cf. Mention.Type, which is the type of the referring mention.NlpSaftEntityNamed entities in the document.list(NlpSaftEntityType)
alternateNlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.list(NlpSaftEntityProfileAlternate)
annotationsGeneric annotations.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.Proto2BridgeMessageSet
attributeList of attributes for the entity.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.list(NlpSaftEntityProfileAttribute)
canonicalNameCanonical entity name.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
collectionScoreTypeNlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
disambiguationDisambiguation phrase. The combination of entity name and disambiguation phrase should be unique within the corpus.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
embeddingEntity embeding vector, representing the entity in a dense low-dimensional embedding space.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.list(number)
frameProfile frame in binary SLING encoding.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
genderGender of the entity.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
idUnique global id for entity.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
identifierExternal identifiers for entity.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.list(NlpSaftIdentifier)
keywordNlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.list(NlpSaftEntityProfileKeyword)
midFreebase MID for entity. This field should be the same as FREEBASE_MID identifier for the entity profile.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
nameRepresentative name for entity.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
nameLanguageLanguage for the name and disambiguation.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.integer
natureNature of the entity.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
referenceNlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.list(NlpSaftEntityProfileReference)
relatedNlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.list(NlpSaftEntityProfileRelated)
typeEntity type.NlpSaftEntityProfileAn entity profile contains a summary of the information about a single unique entity. Next available index: 46.String
countNlpSaftEntityProfileAlternateAlternative names for entity.integer
formsee nlp/saft/resolution/name-form.h for valuesNlpSaftEntityProfileAlternateAlternative names for entity.integer
frameframe in SLING encodingNlpSaftEntityProfileAlternateAlternative names for entity.String
languageNlpSaftEntityProfileAlternateAlternative names for entity.integer
nameNlpSaftEntityProfileAlternateAlternative names for entity.String
sources(1 << SRC_DEFAULT)NlpSaftEntityProfileAlternateAlternative names for entity.integer
boolValueBoolean attribute value, e.g. for IsDeceased.NlpSaftEntityProfileAttributeboolean
floatValueDouble attribute value, e.g. for height/weight.NlpSaftEntityProfileAttributefloat
intValueInteger attribute value, e.g. IntId(“April”).NlpSaftEntityProfileAttributeString
languageLanguage, in case the attribute value is a string.NlpSaftEntityProfileAttributeinteger
typeString name of the type of attribute, e.g. /birth/dateNlpSaftEntityProfileAttributeString
typeIdAny id of the type of the attribute, e.g. IntId(/birth/date)NlpSaftEntityProfileAttributeinteger
valueString attribute value, e.g. “April 2010” or “3,235,121”.NlpSaftEntityProfileAttributeString
valueTypeThe type of the value.NlpSaftEntityProfileAttributeString
countNlpSaftEntityProfileKeywordKeywords and key phrases for entity.integer
languageNlpSaftEntityProfileKeywordKeywords and key phrases for entity.integer
scoreScore associated with the keyword. For fine-grained types this is a probability.NlpSaftEntityProfileKeywordKeywords and key phrases for entity.float
termNlpSaftEntityProfileKeywordKeywords and key phrases for entity.String
typeNlpSaftEntityProfileKeywordKeywords and key phrases for entity.String
docidNlpSaftEntityProfileReferenceReferences to entity.String
entityNlpSaftEntityProfileReferenceReferences to entity.integer
countNumber of occurrences.NlpSaftEntityProfileRelatedRelated entities.integer
inverseInverse relations can be marked in a bidirectional graph.NlpSaftEntityProfileRelatedRelated entities.boolean
relationIdOptional integer id for the relation.NlpSaftEntityProfileRelatedRelated entities.integer
relationIdentifierOptional external identifier for the relation.NlpSaftEntityProfileRelatedRelated entities.NlpSaftIdentifier
scoreScore for related entity, i.e. p(e->r | e).NlpSaftEntityProfileRelatedRelated entities.number
targetIdProfile id of related entity.NlpSaftEntityProfileRelatedRelated entities.String
targetIdentifierOptional external identifier for the target entity.NlpSaftEntityProfileRelatedRelated entities.NlpSaftIdentifier
targetNameName of related entity.NlpSaftEntityProfileRelatedRelated entities.String
typeType of relation.NlpSaftEntityProfileRelatedRelated entities.String
basedOnMentionThis field can be used to specify if the entity type has been annotated or predicted from a specific mention of the entity. However, the entity type does still apply to the entity as a whole, and not just a specific mention.NlpSaftEntityTypeA generic type description for an entity.integer
domainA domain name for the set that this particular type belongs to.NlpSaftEntityTypeA generic type description for an entity.String
infoApplication-specific information about this entity type.NlpSaftEntityTypeA generic type description for an entity.Proto2BridgeMessageSet
nameThe type name, like “/saft/person”. See README.entity-types for the inventory of SAFT type tags.NlpSaftEntityTypeA generic type description for an entity.String
scoreA score for this type.NlpSaftEntityTypeA generic type description for an entity.number
anchorTextClean anchor text (no HTML markup).NlpSaftHyperlinkA link on an HTML page.String
byteEndnote: inclusiveNlpSaftHyperlinkA link on an HTML page.integer
byteStartbegin/end options are for goldmine AnnotationsFinder to locate the offsets of saft tokens. Start is inclusive by default and end is marked. The indices of the first and last byte covered by the hyperlink.NlpSaftHyperlinkA link on an HTML page.integer
phraseThe indices of the first and last token covered by the hyperlink.NlpSaftHyperlinkA link on an HTML page.NlpSaftPhrase
url(Absolute) URL that the links to.NlpSaftHyperlinkA link on an HTML page.String
domainDomain for the identifier.NlpSaftIdentifierExternal identifier. An external identifier is a persistent identifier for an object within a domain.String
idIdentifier within domain.NlpSaftIdentifierExternal identifier. An external identifier is a persistent identifier for an object within a domain.String
byteEndnote: inclusiveNlpSaftLabeledSpanA generic span, possibly with an associated label. The span may be defined by either byte-level or token-level boundaries.integer
byteStartThe indices of the first and last byte covered by the span.NlpSaftLabeledSpanA generic span, possibly with an associated label. The span may be defined by either byte-level or token-level boundaries.integer
labelThe label associated with the span.NlpSaftLabeledSpanA generic span, possibly with an associated label. The span may be defined by either byte-level or token-level boundaries.String
labelScoresOptionally stores alternative labels with associated scores for the span.NlpSaftLabeledSpanA generic span, possibly with an associated label. The span may be defined by either byte-level or token-level boundaries.map
scoreA score associated with the span.NlpSaftLabeledSpanA generic span, possibly with an associated label. The span may be defined by either byte-level or token-level boundaries.number
tokenEndnote: inclusiveNlpSaftLabeledSpanA generic span, possibly with an associated label. The span may be defined by either byte-level or token-level boundaries.integer
tokenStartThe indices of the first and last token covered by the span.NlpSaftLabeledSpanA generic span, possibly with an associated label. The span may be defined by either byte-level or token-level boundaries.integer
labeledSpanNlpSaftLabeledSpansA list of labeled spans of the same type.list(NlpSaftLabeledSpan)
canonicalCanonical value for measurement.NlpSaftMeasureMeasures in the documents. This covers both time expressions as well as physical quantities.float
granularityGranularity for measurement.NlpSaftMeasureMeasures in the documents. This covers both time expressions as well as physical quantities.float
infoApplication-specific information about this measure.NlpSaftMeasureMeasures in the documents. This covers both time expressions as well as physical quantities.Proto2BridgeMessageSet
phrasePhrase containing the measure.NlpSaftMeasureMeasures in the documents. This covers both time expressions as well as physical quantities.NlpSaftPhrase
typeNlpSaftMeasureMeasures in the documents. This covers both time expressions as well as physical quantities.String
unitNlpSaftMeasureMeasures in the documents. This covers both time expressions as well as physical quantities.String
valueMeasurement value and unit.NlpSaftMeasureMeasures in the documents. This covers both time expressions as well as physical quantities.String
confidenceEstimate of the confidence that this mention is in the correct cluster. Zero means this mention is probably in the wrong cluster, 1 means this mention is probably in the correct cluster. See nlp/saft/components/coreference/coreference-confidence.h for details about what “correct cluster” might mean.NlpSaftMentionMentions of the entity in the document.float
infoApplication-specific information about this mention.NlpSaftMentionMentions of the entity in the document.Proto2BridgeMessageSet
kindNlpSaftMentionMentions of the entity in the document.String
nestingRelationNlpSaftMentionMentions of the entity in the document.String
phrasePhrase for the mention.NlpSaftMentionMentions of the entity in the document.NlpSaftPhrase
resolutionMention-level resolution. This is used for encoding the meaning of the mention rather than the entity. For example, definite references and appositions are resolved to the mid for the concept rather than the entity.NlpSaftMentionMentions of the entity in the document.NlpSaftMentionResolution
roleNlpSaftMentionMentions of the entity in the document.String
typeNlpSaftMentionMentions of the entity in the document.String
profileProfile for mention information.NlpSaftMentionResolutionMention resolution for encoding the concept id (e.g. mid) for a mention.NlpSaftEntityProfile
typeNlpSaftMentionResolutionMention resolution for encoding the concept id (e.g. mid) for a mention.String
attrValueA list of morphology attribute-value pairs.NlpSaftMorphologyMessage that stores information about the morphology of a token.list(String)
endNlpSaftPhraseA document phrase marks a range of tokens in a document as a phrase. The indices are token positions in the document.integer
facetNlpSaftPhraseA document phrase marks a range of tokens in a document as a phrase. The indices are token positions in the document.String
headThe head token in the phrase is the id of the top-most token within the phrase. It either has an arc from outside the phrase going to it, or it is a root token of the sentence. A value of -1 indicates that the head has not yet been computed for the phrase (not the same semantics as the head of a token!). Note that even when it is uniquely defined, there is no guarantee that the head is set for entities and measurements within a document: you may need to explicitly compute it.NlpSaftPhraseA document phrase marks a range of tokens in a document as a phrase. The indices are token positions in the document.integer
startFirst and last token in the phrase. The phrase goes from start to end (inclusive).NlpSaftPhraseA document phrase marks a range of tokens in a document as a phrase. The indices are token positions in the document.integer
distanceDistance of this referent from the markables in the Document. Smaller values imply that the referent is more accessible to be an antecedent for a markable in the Document. The expectation is that this field would increase with every new Document in which this referent is not mentioned.NlpSaftReferentA referent contains information about what a discourse context entity is referring to. It acts like a canonical mention of the entity.float
explicitnessNlpSaftReferentA referent contains information about what a discourse context entity is referring to. It acts like a canonical mention of the entity.String
infoApplication-specific information about this referent.NlpSaftReferentA referent contains information about what a discourse context entity is referring to. It acts like a canonical mention of the entity.Proto2BridgeMessageSet
phraseEntity name phrase. The phrase indices are relative to the token array above. The phrase should normally cover all the tokens in the name and the head must be set to be the head token of the name.NlpSaftReferentA referent contains information about what a discourse context entity is referring to. It acts like a canonical mention of the entity.NlpSaftPhrase
prominenceProminence score for referent. This is roughly equivalent to the number of previous mentions of the referent.NlpSaftReferentA referent contains information about what a discourse context entity is referring to. It acts like a canonical mention of the entity.float
roleNlpSaftReferentA referent contains information about what a discourse context entity is referring to. It acts like a canonical mention of the entity.String
tokenTokenized representation for the canonical name of the referent entity.NlpSaftReferentA referent contains information about what a discourse context entity is referring to. It acts like a canonical mention of the entity.list(NlpSaftToken)
identifierExternal identifier for relation.NlpSaftRelationRelations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11NlpSaftIdentifier
infoApplication-specific information about this relation.NlpSaftRelationRelations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11Proto2BridgeMessageSet
kindNlpSaftRelationRelations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11String
mentionMentions of the relation in the document.NlpSaftRelationRelations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11list(NlpSaftRelationMention)
scoreRelation score.NlpSaftRelationRelations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11number
sourceSource and target entity indices. These are indices into the entity array in the document. If this is an attribute relation the target is the index of a measure in the document.NlpSaftRelationRelations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11integer
targetNlpSaftRelationRelations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11integer
typeRelation type.NlpSaftRelationRelations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11String
typeIdRelation type id.NlpSaftRelationRelations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11integer
infoApplication-specific information about this relation mention.NlpSaftRelationMentionMentions of relations in the document. A relation mention is between a mention of the source entity and a mention of the target entity.Proto2BridgeMessageSet
phrasePhrase in the document that indicates the relation mention.NlpSaftRelationMentionMentions of relations in the document. A relation mention is between a mention of the source entity and a mention of the target entity.NlpSaftPhrase
sourceSource and target mention indices. These are indices into the mention arrays for their respective entities. The target is not used for attributes.NlpSaftRelationMentionMentions of relations in the document. A relation mention is between a mention of the source entity and a mention of the target entity.integer
sourceInfoThe info of the source models or systems of the relation mention.NlpSaftRelationMentionMentions of relations in the document. A relation mention is between a mention of the source entity and a mention of the target entity.list(String)
targetNlpSaftRelationMentionMentions of relations in the document. A relation mention is between a mention of the source entity and a mention of the target entity.integer
arcThe arcs from this node. For example, if this node is the root of a subgraph representing a predicate-argument structure, this node will typically refer to the predicate, and there will typically be one arc per argument.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23list(NlpSaftSemanticNodeArc)
confidenceConfidence score for the annotation.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23number
descriptionHuman-readable description of the information in the subgraph represented by this node. This field is only meant for display purposes.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23String
entityThe entity and mention fields specify a unique entity mention referred to by this semantic node.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23integer
implicitIndicates whether the semantic node is not explicit (grounded) in the text (e.g. pro-drop for a text author or an implicit predicate node for interpreting a compound noun), rather than any explicit phrase or text inside the document.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23boolean
infoApplication-specific information about this node.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23Proto2BridgeMessageSet
kindEncodes the kind of this node and, possibly, the entire subgraph rooted at this node. For example, if this node represents a predicate-argument structure in PropBank, then this node’s kind will be PROPBANK, its phrase field will be set to correspond to the span of tokens corresponding to the predicate (such as a verb) and it will have one arc per argument. If the kind is MONOTONIC this node corresponds to a semantic graph node, and arcs correspond to semantic graph edges outgoing from the node. If the kind field is not set, then this node is not directly connected to any type system. In such a case, this node may still optionally have a concrete “payload” in the form of references to an entity mention, measure or span of tokens (Phrase) in a SAFT document. The values or existence of the kind field need not be identical in any subgraph. For example, even if this node’s kind field is not set, it may still be the destination node of an arc from some other node whose kind field is set.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23String
measureThe index of the measure referred to by this semantic node.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23integer
mentionNlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23integer
phrasePhrase (span of text) for this node. This field does not need to be set, but if it is, this node has a textual “payload” corresponding to the specified token span. For example, if this node is the root of a subgraph corresponding to a predicate-argument structure, then the phrase field will be set to be the span of tokens corresponding to the predicate (e.g., a verb).NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23NlpSaftPhrase
typeArbitrary type string for this semantic node, or for the subgraph rooted at this node. This type string might come from an external resource, type system or ontology that contains a predefined set of types.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23String
valueArbitrary value string for this semantic node.NlpSaftSemanticNodeSemantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23String
descriptionHuman-readable description of this arc’s type (for display purposes).NlpSaftSemanticNodeArcAn arc contained by a source node pointing to a destination node in a directed acyclic graph.String
implicitIndicates the arc is for an implicit semantic relation between nodes, for example one that does not correspond to a grammatical relation in the text.NlpSaftSemanticNodeArcAn arc contained by a source node pointing to a destination node in a directed acyclic graph.boolean
infoApplication-specific information about this arc.NlpSaftSemanticNodeArcAn arc contained by a source node pointing to a destination node in a directed acyclic graph.Proto2BridgeMessageSet
semanticNodeIndex of the semantic node pointed to by this arc.NlpSaftSemanticNodeArcAn arc contained by a source node pointing to a destination node in a directed acyclic graph.integer
typeArc type (akin to an edge label, or semantic operator).NlpSaftSemanticNodeArcAn arc contained by a source node pointing to a destination node in a directed acyclic graph.String
breakLevelNlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.String
breakSkippedTextWhether the break skipped over non-tag text (excluding script/style).NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.boolean
categoryCoarse-grained word category for token. See README.categories for category inventory.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.String
endNlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.integer
headHead of this token in the dependency tree: the id of the token which has an arc going to this one. If it is the root token of a sentence, then it is set to -1.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.integer
infoAnnotation for this token.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.Proto2BridgeMessageSet
labelLabel for dependency relation between this token and its head. See README.labels for label inventory.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.String
lemmaWord lemma. This is only filled if the lemma is different from the word form.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.String
morphMorphology information.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.NlpSaftMorphology
scriptCodeA string representation (typically four letters, sometimes longer) of the token’s Unicode script code, based on BCP 47/CLDR, capitalized according to ISO 15924. See i18n/identifiers/scriptcode.h for details.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.String
start[start, end] describe the inclusive byte range of the UTF-8 encoded token in document.text. End gives the index of the last byte, which may be a UTF-8 continuation byte, and the length in bytes is end – start + 1. begin/end options are for goldmine AnnotationsFinder to locate the offsets of saft tokens. Start is inclusive by default and end is marked.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.integer
tagPart-of-speech tag for token. See README.tags for tag inventory.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.String
tagConfidenceConfidence score for the tag prediction — should be interpreted as a probability estimate that the tag is correct.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.number
textPropertiesNlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.integer
wordToken word form. This may not be identical to the original. For example, in goldmine annotation we do UTF-8 normalization and punctuation normalization. The punctuation normalization includes inferring the directionality of straight doublequotes — that is, we map ” to open quote (“) or close quote (”), and sometimes we get it wrong. SAFT processing in other contexts (such as queries in qrewrite) involves different normalizations.NlpSaftTokenA document token marks a span of bytes in the document text as a token or word. Next available index: 16.String
analyzedTextAll the text in this article, separated into Sections and Paragraphs. See nlp_sciencelit.ScaleSetExtensions for the extensions to ScaleSet used.NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19NlxDataSchemaScaleSet
articleIdNlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19list(NlpSciencelitArticleId)
citationAll references from this article (Bibliography).NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19list(NlpSciencelitCitationData)
earliestPubDateThe result of selecting the earliest date from various metadata (PMC, PubMed Metadata, scholar citations).NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19String
metadataNlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19NlpSciencelitArticleMetadata
nonAbstractWordCountNlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19String
parsedFromPath of the source document from which this was parsed.NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19String
pubDateAll dates from the PMC article metadata Year/Mon/Day.NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19list(NlpSciencelitPubDate)
referencedBlockAll figure captions within this article.NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19list(NlpSciencelitReferencedBlock)
scholarCitationCitation for this article.NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19ScienceCitation
scholarDocumentDocJoins with full text article.NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19list(CompositeDoc)
scholarSignalMay also add the Scholar index signal information:NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19ScienceIndexSignal
sourceSource of this article data (e.g., PubMed, scholar index, other source.).NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19String
titleNlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19String
wordCountNumber of words in the entire article and everywhere outside of abstract sections.NlpSciencelitArticleDataA copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19String
idNlpSciencelitArticleIdArticle IDs associated with an article (e.g., PMID, DOI, PMC).String
idTypeNlpSciencelitArticleIdArticle IDs associated with an article (e.g., PMID, DOI, PMC).String
abstractAbstract of article from metadata.NlpSciencelitArticleMetadataNext available ID: 20.NlpSciencelitTokenizedText
articleIdNlpSciencelitArticleMetadataNext available ID: 20.list(NlpSciencelitArticleId)
authorAuthor of article.NlpSciencelitArticleMetadataNext available ID: 20.list(NlpSciencelitAuthor)
datasetDatasets referenced from this article.NlpSciencelitArticleMetadataNext available ID: 20.list(NlpSciencelitDataset)
dateStrMost recent date YYYY-MM-DD.NlpSciencelitArticleMetadataNext available ID: 20.String
deletedCitation for flagged for deletion by source.NlpSciencelitArticleMetadataNext available ID: 20.boolean
headingMesh Terms.NlpSciencelitArticleMetadataNext available ID: 20.list(NlpSciencelitMeshHeading)
issueNlpSciencelitArticleMetadataNext available ID: 20.String
journalTitle of journal. For books: Journal = Publisher Volume = CollectionNlpSciencelitArticleMetadataNext available ID: 20.String
languageNlpSciencelitArticleMetadataNext available ID: 20.String
lastRevisedDateStrLast entry revision date YYYY-MM-DD.NlpSciencelitArticleMetadataNext available ID: 20.String
metadataSourceNlpSciencelitArticleMetadataNext available ID: 20.list(String)
parsedFromSource Pubmed/Medline XML file.NlpSciencelitArticleMetadataNext available ID: 20.String
pmidPMID of article (for non-pubmed data, this is the docid).NlpSciencelitArticleMetadataNext available ID: 20.String
publicationTypeNlpSciencelitArticleMetadataNext available ID: 20.list(NlpSciencelitPublicationType)
scamRestrictTokensOptional ScaM restrict tokens to be added to all GFVs generated from this article’s data.NlpSciencelitArticleMetadataNext available ID: 20.ResearchScamV3Restrict
titleTitle of article.NlpSciencelitArticleMetadataNext available ID: 20.String
urlURL(s) for the document. If possible, order by decreasing desirability.NlpSciencelitArticleMetadataNext available ID: 20.list(String)
volumeNlpSciencelitArticleMetadataNext available ID: 20.String
firstNameNlpSciencelitAuthorString
lastNameNlpSciencelitAuthorString
articleIdNlpSciencelitCitationDataNext available ID: 8list(NlpSciencelitArticleId)
authorNlpSciencelitCitationDataNext available ID: 8list(NlpSciencelitAuthor)
externalLinkNlpSciencelitCitationDataNext available ID: 8String
fullTextNlpSciencelitCitationDataNext available ID: 8String
referenceReference used in text (e.g., PMC rid).NlpSciencelitCitationDataNext available ID: 8String
scholarCitationScholar citation information from scholar index.NlpSciencelitCitationDataNext available ID: 8ScienceCitation
titleOptional information about the publication.NlpSciencelitCitationDataNext available ID: 8String
associationNlpSciencelitDatasetString
datasetMetadataNlpSciencelitDatasetResearchScienceSearchReconciledMetadata
meshDescriptorNlpSciencelitMeshHeadingA full Mesh Heading containing a descriptor and optionally multiple qualifiers. https://www.nlm.nih.gov/bsd/licensee/elements_descriptions.html#meshheadinglistNlpSciencelitSubjectHeading
meshQualifierNlpSciencelitMeshHeadingA full Mesh Heading containing a descriptor and optionally multiple qualifiers. https://www.nlm.nih.gov/bsd/licensee/elements_descriptions.html#meshheadinglistlist(NlpSciencelitSubjectHeading)
dateStrNlpSciencelitPubDatePubdate extracted from PMC article metadata.String
pubType“ppub” for a print ISSN and “epub” for an electronic ISSN.NlpSciencelitPubDatePubdate extracted from PMC article metadata.String
nameDisplay name for the publication type, e.g. “Journal Article”NlpSciencelitPublicationTypeString
uiMeSH unique identifiers for publication types, e.g. “D016428”NlpSciencelitPublicationTypeString
captionCaption tokens – all text in the caption other than the block.NlpSciencelitReferencedBlockData associate with the ReferencesBlock. Next available ID: 5NlpSciencelitTokenizedText
referenceReference used from the text to point to this figure.NlpSciencelitReferencedBlockData associate with the ReferencesBlock. Next available ID: 5String
titleTitle tokens – these come from a block within a caption.NlpSciencelitReferencedBlockData associate with the ReferencesBlock. Next available ID: 5NlpSciencelitTokenizedText
typeType of figure (table, figure, etc.).NlpSciencelitReferencedBlockData associate with the ReferencesBlock. Next available ID: 5String
scamQueryEncodingThe query encoding sent to scam for retrieval.NlpSciencelitRetrievalQueryEncodingDebugInfoResearchScamGenericFeatureVector
articleDataOnly set if RequestOptions.debug_return_article_data is true.NlpSciencelitRetrievalSearchResultDebugInfoReturned by Delver API in SearchResult.debug_info.NlpSciencelitArticleData
goldDocidNlpSciencelitRetrievalSearchResultDebugInfoReturned by Delver API in SearchResult.debug_info.list(String)
goldSnippetsNlpSciencelitRetrievalSearchResultDebugInfoReturned by Delver API in SearchResult.debug_info.list(String)
isGoldNot set by server; only used by evals.NlpSciencelitRetrievalSearchResultDebugInfoReturned by Delver API in SearchResult.debug_info.boolean
rerankingScoreSee SearchResultInternal.reranking_score.NlpSciencelitRetrievalSearchResultDebugInfoReturned by Delver API in SearchResult.debug_info.number
reverseRerankingOrderSee SearchResultInternal.reverse_reranking_order.NlpSciencelitRetrievalSearchResultDebugInfoReturned by Delver API in SearchResult.debug_info.integer
sectionIrScoreSee SearchResultInternal.section_ir_score.NlpSciencelitRetrievalSearchResultDebugInfoReturned by Delver API in SearchResult.debug_info.map
queryEncodingNlpSciencelitRetrievalSearchResultSetDebugInfoOptionally returned by Delver API in the response’s debug_info field.NlpSciencelitRetrievalQueryEncodingDebugInfo
scamResponseNlpSciencelitRetrievalSearchResultSetDebugInfoOptionally returned by Delver API in the response’s debug_info field.ResearchScamQueryResponse
goldHighlightSentenceIndicesWhich highlights have sentence overlap with gold snippets. Not ordered. Might only be set for the first gold highlight.NlpSciencelitRetrievalSnippetDebugInfoReturned by Delver API in Snippet.debug_info.list(integer)
highlightIdxToOverlapMap of highlight index to best overlap with any gold snippet [0,1].NlpSciencelitRetrievalSnippetDebugInfoReturned by Delver API in Snippet.debug_info.map
highlightIdxToSentenceOverlapMap of highlight index to best overlap with any gold sentence [0,1].NlpSciencelitRetrievalSnippetDebugInfoReturned by Delver API in Snippet.debug_info.map
isGoldNot set by server; only used by certain evals. Might only be set for the first gold snippet.NlpSciencelitRetrievalSnippetDebugInfoReturned by Delver API in Snippet.debug_info.boolean
offsetWithinSectionByte index of text within the full section text (or within title).NlpSciencelitRetrievalSnippetDebugInfoReturned by Delver API in Snippet.debug_info.integer
sectionIndexSection within the document. -1 if title.NlpSciencelitRetrievalSnippetDebugInfoReturned by Delver API in Snippet.debug_info.integer
sectionIrScoreIR score of the section the snippet is coming from.NlpSciencelitRetrievalSnippetDebugInfoReturned by Delver API in Snippet.debug_info.number
snippetBleuScoreBLEU score for the entire snippet.NlpSciencelitRetrievalSnippetDebugInfoReturned by Delver API in Snippet.debug_info.number
idNlpSciencelitSubjectHeadingA subject heading from MeshString
majorTopicNlpSciencelitSubjectHeadingA subject heading from Meshboolean
termNlpSciencelitSubjectHeadingA subject heading from MeshString
textNlpSciencelitTokenizedTextTokenized text with optional original representation.String
tokenNlpSciencelitTokenizedTextTokenized text with optional original representation.list(String)
additionalSpansAdditional spans after the first. Empty in all additional_spans.NlpSemanticParsingAnnotationEvalDataAnnotators whose semantics are represented via a protocol message should add to that message a field or extension of this type and set it using Annotator::PopulateAnnotationEvalData to enable span-based evaluation metrics in training. Evaluation is done based on token spans. The byte span aligns with the token span and is used when saving examples. Background: In some settings, the examples used to induce/train a grammar do not specify complete semantics of an annotation. For example, some examples that come from Ewok specify only the span associated with each annotation. This message allows evaluation metrics to test the span by embedding it in the semantics. LINT.IfChangelist(NlpSemanticParsingAnnotationEvalData)
numBytesNlpSemanticParsingAnnotationEvalDataAnnotators whose semantics are represented via a protocol message should add to that message a field or extension of this type and set it using Annotator::PopulateAnnotationEvalData to enable span-based evaluation metrics in training. Evaluation is done based on token spans. The byte span aligns with the token span and is used when saving examples. Background: In some settings, the examples used to induce/train a grammar do not specify complete semantics of an annotation. For example, some examples that come from Ewok specify only the span associated with each annotation. This message allows evaluation metrics to test the span by embedding it in the semantics. LINT.IfChangeinteger
numTokensNlpSemanticParsingAnnotationEvalDataAnnotators whose semantics are represented via a protocol message should add to that message a field or extension of this type and set it using Annotator::PopulateAnnotationEvalData to enable span-based evaluation metrics in training. Evaluation is done based on token spans. The byte span aligns with the token span and is used when saving examples. Background: In some settings, the examples used to induce/train a grammar do not specify complete semantics of an annotation. For example, some examples that come from Ewok specify only the span associated with each annotation. This message allows evaluation metrics to test the span by embedding it in the semantics. LINT.IfChangeinteger
startByteByte position within the utterance. Safe to use across different components of the NLU stack as long as said components have access to the same query.NlpSemanticParsingAnnotationEvalDataAnnotators whose semantics are represented via a protocol message should add to that message a field or extension of this type and set it using Annotator::PopulateAnnotationEvalData to enable span-based evaluation metrics in training. Evaluation is done based on token spans. The byte span aligns with the token span and is used when saving examples. Background: In some settings, the examples used to induce/train a grammar do not specify complete semantics of an annotation. For example, some examples that come from Ewok specify only the span associated with each annotation. This message allows evaluation metrics to test the span by embedding it in the semantics. LINT.IfChangeinteger
startTokenToken position. This is cleared when normalizing examples for storage because tokenization changes over time. DO NOT use these two fields across components that use different tokenizations.NlpSemanticParsingAnnotationEvalDataAnnotators whose semantics are represented via a protocol message should add to that message a field or extension of this type and set it using Annotator::PopulateAnnotationEvalData to enable span-based evaluation metrics in training. Evaluation is done based on token spans. The byte span aligns with the token span and is used when saving examples. Background: In some settings, the examples used to induce/train a grammar do not specify complete semantics of an annotation. For example, some examples that come from Ewok specify only the span associated with each annotation. This message allows evaluation metrics to test the span by embedding it in the semantics. LINT.IfChangeinteger
appInfoThe app_info is to store specific information about installed/uninstalled apps annotated by app annotator servlet. It contains app name, package name, confidence, and source.NlpSemanticParsingAppAnnotationThe App annotator annotates potential app name in the parser’s input and outputs the proto with the details about app(s).list(QualityActionsAppInfo)
allowPersonalallow_personal determines if personal datetimes are allowed to be used in the resolution of the personal datetime. If allow_personal is false and a personal date exists, the entire parse will be thrown out.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.boolean
dayNlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.integer
deleted11Deprecated fields. Do NOT use.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
holidayseason, quarters and holidays will be soon handled as fetched relative datetimes and will be removed from the AbsoluteDateTime message.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.NlpSemanticParsingDatetimeHoliday
hourTime is 24-hour military time.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.integer
hourStateNote: This is marked as deprecated as we are moving into explicit parses using the `meridiem` field, and leave the inference over implicit parses to the grounding/resolution libraries.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
isBc|is_bc| is true if and only the date is Before Christ/Common Era. If |is_bc| is true, only year is meaningful in this proto, as Gregorian calendar is only meaningful for A.D. date/times.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.boolean
meridiemFor expressions such as “am”, “pm”. Note: the name “meridiem” has been taken by a field in message ResolutionProperties. Examples: * “9 am”: point { hour: 9 meridiem: AM hour_state: UNAMBIGUOUS }NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
minuteNlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.integer
modifierFor expressions such as “around 2 pm”.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
monthNlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
nonGregorianDateIf present then: 1) the incoming non-Gregorian datetime will be converted to Gregorian. 2) exported DateTimeProperty fields will contain the converted Gregorian datetime. 3) DateTimeProperty.source_calendar will be set to the calendar-system that was used to specify the non-Gregorian date.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.NlpSemanticParsingDatetimeNonGregorianDate
partialSecondNlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.float
propertiesNlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.NlpSemanticParsingDatetimeDateTimeProperty
quarterNlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
rangeModifierModifier that return the appropriate subrange. For more information, see the description of RangeOfDateTimeModifier. Example: * *early* 2020 * *early* on March 20th When a point have a range_modifier field, the resolution library will expand the point into the widest range in contains. For example, in the case of a single date point like “April 22nd, 2022”, the point will be transformed into a range with: – “begin: April 22nd 2022 00:00:00h” – “end: April 22nd 2022 23:59:59h” The modifier will then be applied over that range.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
seasonNlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
secondNlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.integer
timezoneA string representation of the timezone information, see i18n/identifiers/timezones.{h,cc}.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
weekdayThe |weekday| field is populated to indicate that a day-of-the-week is explicitly mentioned in an absolute date utterance, such as [Tuesday, July 6th, 2021]. Note that when a day-of-the-week is included in other, non-absolute-date expressions, such as [on Tuesday], then this this field is not populated (and in fact an AbsoluteDateTime is not used at all.) Note: This field is populated only when the original expression contains a day-of-the-week. It is not populated by the grounding library to indicate that the date happens to be a Tuesday. Examples: * “Tuesday, July 6th 2021” –> the day of the week is part of an absolute date expression, so this field is populated: point { year: 2021 month: JULY day: 6 weekday: TUESDAY } * “on Tuesday” –> the day of the week is not part of an absolute date expression, so it is interpreted as a relative datetime: relative { fetched { target { weekday: TUESDAY } } }NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.String
yearDate.NlpSemanticParsingDatetimeAbsoluteDateTimeAbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.integer
dateTypeNlpSemanticParsingDateTimeAnnotationExample: “Remind me to go to the store on (Friday) (9am)” would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It’s possible for Friday to be one of several upcoming Friday’s, so start_date is a repeated field. Next ID: 10String
endDateNlpSemanticParsingDateTimeAnnotationExample: “Remind me to go to the store on (Friday) (9am)” would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It’s possible for Friday to be one of several upcoming Friday’s, so start_date is a repeated field. Next ID: 10list(String)
endTimeNlpSemanticParsingDateTimeAnnotationExample: “Remind me to go to the store on (Friday) (9am)” would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It’s possible for Friday to be one of several upcoming Friday’s, so start_date is a repeated field. Next ID: 10list(String)
endWeekdayNlpSemanticParsingDateTimeAnnotationExample: “Remind me to go to the store on (Friday) (9am)” would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It’s possible for Friday to be one of several upcoming Friday’s, so start_date is a repeated field. Next ID: 10String
rawTextNlpSemanticParsingDateTimeAnnotationExample: “Remind me to go to the store on (Friday) (9am)” would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It’s possible for Friday to be one of several upcoming Friday’s, so start_date is a repeated field. Next ID: 10String
startDateNOTE: None of these are co-indexed. If the query is ‘morning’, there could be multiple start_time’s, start_date’s, end_date’s, and end_time’s, and they do not correspond to one another in any structured way.NlpSemanticParsingDateTimeAnnotationExample: “Remind me to go to the store on (Friday) (9am)” would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It’s possible for Friday to be one of several upcoming Friday’s, so start_date is a repeated field. Next ID: 10list(String)
startTimeNlpSemanticParsingDateTimeAnnotationExample: “Remind me to go to the store on (Friday) (9am)” would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It’s possible for Friday to be one of several upcoming Friday’s, so start_date is a repeated field. Next ID: 10list(String)
startWeekdayNlpSemanticParsingDateTimeAnnotationExample: “Remind me to go to the store on (Friday) (9am)” would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It’s possible for Friday to be one of several upcoming Friday’s, so start_date is a repeated field. Next ID: 10String
timeTypeNlpSemanticParsingDateTimeAnnotationExample: “Remind me to go to the store on (Friday) (9am)” would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It’s possible for Friday to be one of several upcoming Friday’s, so start_date is a repeated field. Next ID: 10String
compositionElementFor temporal expressions that consist of components with different types, the elements in the composition are nested according to the order they should be grounded/resolved. For example, “tomorrow at 8am” has a relative component [tomorrow] and an absolute datetime component [8am] so the annotation will be represented in the following way, indicating that the relative datetime for tomorrow should be grounded first, and then resolve the actual 8am point for that given date: point { hour: 8 hour_state: UNAMBIGUOUS properties { time_format: AM_PM_TOKEN } } composition_element { relative { fetched { ordinal: 1 target { unit: DAY } base_type: CURRENT_DATETIME } } grounding_stage: UNGROUNDED } grounding_stage: UNGROUNDED_COMPOSITION The composition_element field will be populated only when the grounding_stage is set to UNGROUNDED_COMPOSITION and it will hold the nested DateTime value for the rest the compositional expression. More details in: go/datetime-resolution-decoupling.NlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.NlpSemanticParsingDatetimeDateTime
deleted7Deprecated fields. Do NOT use.NlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.boolean
deleted8NlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.boolean
evalDataThis field of the DateTime message should not in general be used by outside clients of the grammar. It is intended to be used internally in Aqua for evaluation purposes. The rationale is that token counts depend on the particular tokenization used in Aqua which may be different from the one used by the client and may change from time to time. Outside clients should not create a dependency on the current tokenization used in Aqua.NlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.NlpSemanticParsingAnnotationEvalData
groundingStageNlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.String
pointNlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.list(NlpSemanticParsingDatetimeAbsoluteDateTime)
propertiesNlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.NlpSemanticParsingDatetimeResolutionProperties
rangeNote that there is a difference between this scenario and an ambiguous date/time expression. The latter is resolved to multiple proto messages, not multiple values within one proto message. To be concrete, consider “Monday” in “Monday football”. It is ambiguous and can be reasonably resolved to “Monday last week,” “Monday this week” and “Monday next week.” The 3 values are represented as 3 separate DateTime messages, not 3 values within one DateTime message.NlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.list(NlpSemanticParsingDatetimeRange)
recurrentNlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.NlpSemanticParsingDatetimeRecurrent
relativeNlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.NlpSemanticParsingDatetimeRelativeDateTime
spanSee comments of Span.NlpSemanticParsingDatetimeDateTimeThe top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, “Mondays in April, 2014” may have 4 correct dates.NlpSemanticParsingDatetimeSpan
dateFormatNlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13String
expandYearToCurrentNlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13boolean
hourStatusNlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13String
inferredDateValueNlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13String
metadataNote: this may be changed to a repeated field in the future.NlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13String
personalReferenceMetadataMetadata about the personal reference if the date was generated from a personal reference.NlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13CopleyPersonalReferenceMetadata
relationToReferenceNlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13String
relativeExpresses the relative DateTime query that gave rise to these grounded semantics.NlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13NlpSemanticParsingDatetimeRelativeDateTime
sourceCalendarNlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13String
sourceTypeListIf the annotation was created by using personal data, we record the provenance for that data here.NlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13CopleySourceTypeList
timeFormatNlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13list(String)
timezoneIsExplicitTrue iff the timezone value in AbsoluteDateTime is explicit in the annotated text or not. In the following examples the timezone is explicit: Query Timezone ————————– ——– 10pst Pacific Standard Time 10 utc UTC 10 sydney time Australia Eastern TimeNlpSemanticParsingDatetimeDateTimePropertyDateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13boolean
evalDataThis field of the Duration message should not in general be used by outside clients of the grammar. It is intended to be used internally in Aqua for evaluation purposes. The rationale is that token counts depend on the particular tokenization used in Aqua which may be different from the one used by the client and may change from time to time. Outside clients should not create a dependency on the current tokenization used in Aqua.NlpSemanticParsingDatetimeDurationTo represent unanchored durations – the length of a date/time expression not related to calendar in local context. E.g., “play first (DURATION: 5 minutes) of Yellow Submarine”, “it takes (DURATION: more than 3 days) to finish.” In contrast, queries like: “wake me up in 5 minutes” will be resolved to a AbsoluteDateTime since the query indicates that the reference is now. A duration can be turned into a range if either end is anchored.NlpSemanticParsingAnnotationEvalData
modifierFor expressions such as “about 2 hrs”.NlpSemanticParsingDatetimeDurationTo represent unanchored durations – the length of a date/time expression not related to calendar in local context. E.g., “play first (DURATION: 5 minutes) of Yellow Submarine”, “it takes (DURATION: more than 3 days) to finish.” In contrast, queries like: “wake me up in 5 minutes” will be resolved to a AbsoluteDateTime since the query indicates that the reference is now. A duration can be turned into a range if either end is anchored.String
quantityNlpSemanticParsingDatetimeDurationTo represent unanchored durations – the length of a date/time expression not related to calendar in local context. E.g., “play first (DURATION: 5 minutes) of Yellow Submarine”, “it takes (DURATION: more than 3 days) to finish.” In contrast, queries like: “wake me up in 5 minutes” will be resolved to a AbsoluteDateTime since the query indicates that the reference is now. A duration can be turned into a range if either end is anchored.NlpSemanticParsingDatetimeQuantity
spanSee comments of Span.NlpSemanticParsingDatetimeDurationTo represent unanchored durations – the length of a date/time expression not related to calendar in local context. E.g., “play first (DURATION: 5 minutes) of Yellow Submarine”, “it takes (DURATION: more than 3 days) to finish.” In contrast, queries like: “wake me up in 5 minutes” will be resolved to a AbsoluteDateTime since the query indicates that the reference is now. A duration can be turned into a range if either end is anchored.NlpSemanticParsingDatetimeSpan
holidayNlpSemanticParsingDatetimeEventThis message is defined to be a representation of events that could interact with datetimes expressions through composition by shifting or fetching. For “native” datetime events like sunset, sunrise, etc the type is enough, but this should be extended as needed to represent richer event information.String
moonEventNlpSemanticParsingDatetimeEventThis message is defined to be a representation of events that could interact with datetimes expressions through composition by shifting or fetching. For “native” datetime events like sunset, sunrise, etc the type is enough, but this should be extended as needed to represent richer event information.NlpSemanticParsingDatetimeMoonEventInfo
sunEventNlpSemanticParsingDatetimeEventThis message is defined to be a representation of events that could interact with datetimes expressions through composition by shifting or fetching. For “native” datetime events like sunset, sunrise, etc the type is enough, but this should be extended as needed to represent richer event information.String
typeNlpSemanticParsingDatetimeEventThis message is defined to be a representation of events that could interact with datetimes expressions through composition by shifting or fetching. For “native” datetime events like sunset, sunrise, etc the type is enough, but this should be extended as needed to represent richer event information.String
baseTypeNlpSemanticParsingDatetimeFetchedRelativeDateTimeFor a more detailed presentation on what’s a fetching operation, see go/datetime-meaning-schemas. Examples to illustrate how the proto is used: I. Fetching day-of-weeks: a) query: “1st 2 Mondays of April” proto: ordinal: 1 target {weekday: MONDAY} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last Monday of April” proto: ordinal: 1 ordinal: -1 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next Monday” proto: ordinal: 1 target {weekday: MONDAY} d) query: “last 2 Mondays” proto: ordinal: -1 count: 2 target {weekday: MONDAY} e) query: “this Monday” proto: ordinal: 0 target {weekday: MONDAY} f) query: “the monday after next” proto: ordinal: 2 target {weekday: MONDAY} g) query: “third Monday in April” proto: ordinal: 3 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the monday before last” proto: ordinal: -2 target {weekday: MONDAY} i) query: “the second to the last monday in April” proto: ordinal: -2 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} II. Fetching date/time unit: a) query: “1st 2 weeks of April” proto: ordinal: 1 target {unit: WEEK} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last week of April” proto: ordinal: 1 ordinal: -1 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next year” proto: ordinal: 1 target {unit: YEAR} d) query: “last 2 weeks” proto: ordinal: -1 count: 2 target {unit: WEEK} e) query: “this month” proto: ordinal: 0 target {unit: MONTH} f) query: “the week after next” proto: ordinal: 2 target {unit: WEEK} g) query: “third week in April” proto: ordinal: 3 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the week before last” proto: ordinal: -2 target {unit: WEEK} i) query: “the second to the last week in April” proto: ordinal: -2 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} Next field: 9String
countHow many to fetch (e.g. [next weekend] vs. [next two weeks])NlpSemanticParsingDatetimeFetchedRelativeDateTimeFor a more detailed presentation on what’s a fetching operation, see go/datetime-meaning-schemas. Examples to illustrate how the proto is used: I. Fetching day-of-weeks: a) query: “1st 2 Mondays of April” proto: ordinal: 1 target {weekday: MONDAY} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last Monday of April” proto: ordinal: 1 ordinal: -1 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next Monday” proto: ordinal: 1 target {weekday: MONDAY} d) query: “last 2 Mondays” proto: ordinal: -1 count: 2 target {weekday: MONDAY} e) query: “this Monday” proto: ordinal: 0 target {weekday: MONDAY} f) query: “the monday after next” proto: ordinal: 2 target {weekday: MONDAY} g) query: “third Monday in April” proto: ordinal: 3 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the monday before last” proto: ordinal: -2 target {weekday: MONDAY} i) query: “the second to the last monday in April” proto: ordinal: -2 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} II. Fetching date/time unit: a) query: “1st 2 weeks of April” proto: ordinal: 1 target {unit: WEEK} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last week of April” proto: ordinal: 1 ordinal: -1 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next year” proto: ordinal: 1 target {unit: YEAR} d) query: “last 2 weeks” proto: ordinal: -1 count: 2 target {unit: WEEK} e) query: “this month” proto: ordinal: 0 target {unit: MONTH} f) query: “the week after next” proto: ordinal: 2 target {unit: WEEK} g) query: “third week in April” proto: ordinal: 3 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the week before last” proto: ordinal: -2 target {unit: WEEK} i) query: “the second to the last week in April” proto: ordinal: -2 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} Next field: 9integer
metadataCan be used to tag relative datetime expressions with metadata information in the grammar.NlpSemanticParsingDatetimeFetchedRelativeDateTimeFor a more detailed presentation on what’s a fetching operation, see go/datetime-meaning-schemas. Examples to illustrate how the proto is used: I. Fetching day-of-weeks: a) query: “1st 2 Mondays of April” proto: ordinal: 1 target {weekday: MONDAY} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last Monday of April” proto: ordinal: 1 ordinal: -1 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next Monday” proto: ordinal: 1 target {weekday: MONDAY} d) query: “last 2 Mondays” proto: ordinal: -1 count: 2 target {weekday: MONDAY} e) query: “this Monday” proto: ordinal: 0 target {weekday: MONDAY} f) query: “the monday after next” proto: ordinal: 2 target {weekday: MONDAY} g) query: “third Monday in April” proto: ordinal: 3 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the monday before last” proto: ordinal: -2 target {weekday: MONDAY} i) query: “the second to the last monday in April” proto: ordinal: -2 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} II. Fetching date/time unit: a) query: “1st 2 weeks of April” proto: ordinal: 1 target {unit: WEEK} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last week of April” proto: ordinal: 1 ordinal: -1 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next year” proto: ordinal: 1 target {unit: YEAR} d) query: “last 2 weeks” proto: ordinal: -1 count: 2 target {unit: WEEK} e) query: “this month” proto: ordinal: 0 target {unit: MONTH} f) query: “the week after next” proto: ordinal: 2 target {unit: WEEK} g) query: “third week in April” proto: ordinal: 3 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the week before last” proto: ordinal: -2 target {unit: WEEK} i) query: “the second to the last week in April” proto: ordinal: -2 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} Next field: 9String
ordinalEncodes expressions like next (+1), last (-1), after next (+2), this (0).NlpSemanticParsingDatetimeFetchedRelativeDateTimeFor a more detailed presentation on what’s a fetching operation, see go/datetime-meaning-schemas. Examples to illustrate how the proto is used: I. Fetching day-of-weeks: a) query: “1st 2 Mondays of April” proto: ordinal: 1 target {weekday: MONDAY} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last Monday of April” proto: ordinal: 1 ordinal: -1 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next Monday” proto: ordinal: 1 target {weekday: MONDAY} d) query: “last 2 Mondays” proto: ordinal: -1 count: 2 target {weekday: MONDAY} e) query: “this Monday” proto: ordinal: 0 target {weekday: MONDAY} f) query: “the monday after next” proto: ordinal: 2 target {weekday: MONDAY} g) query: “third Monday in April” proto: ordinal: 3 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the monday before last” proto: ordinal: -2 target {weekday: MONDAY} i) query: “the second to the last monday in April” proto: ordinal: -2 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} II. Fetching date/time unit: a) query: “1st 2 weeks of April” proto: ordinal: 1 target {unit: WEEK} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last week of April” proto: ordinal: 1 ordinal: -1 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next year” proto: ordinal: 1 target {unit: YEAR} d) query: “last 2 weeks” proto: ordinal: -1 count: 2 target {unit: WEEK} e) query: “this month” proto: ordinal: 0 target {unit: MONTH} f) query: “the week after next” proto: ordinal: 2 target {unit: WEEK} g) query: “third week in April” proto: ordinal: 3 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the week before last” proto: ordinal: -2 target {unit: WEEK} i) query: “the second to the last week in April” proto: ordinal: -2 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} Next field: 9list(integer)
rangeThe restriction range on which fetching is operated, e.g., “April” in “first Tuesday in/of April.” If this field is missing, the operation is done relative to the base_type (or if not given, to the query’s reference datetime). When the fetching operation is performed relative to a reference time point, positive ordinal values represent upcoming instances from the reference point, negative ordinal values represent previous instances from the reference point. Similarly, ordinal=0 represents a reference to the “current instance”, which may vary depending on the target. E.g. “this week” is simply defined as the week range that contains the current reference time point, but “this ” can be ambiguous and its resolution will depend on language/locale conventions (“this monday” in some languages refers to the closest upcoming instance of Monday, while in other languages it represents the Monday instance within the current week).NlpSemanticParsingDatetimeFetchedRelativeDateTimeFor a more detailed presentation on what’s a fetching operation, see go/datetime-meaning-schemas. Examples to illustrate how the proto is used: I. Fetching day-of-weeks: a) query: “1st 2 Mondays of April” proto: ordinal: 1 target {weekday: MONDAY} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last Monday of April” proto: ordinal: 1 ordinal: -1 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next Monday” proto: ordinal: 1 target {weekday: MONDAY} d) query: “last 2 Mondays” proto: ordinal: -1 count: 2 target {weekday: MONDAY} e) query: “this Monday” proto: ordinal: 0 target {weekday: MONDAY} f) query: “the monday after next” proto: ordinal: 2 target {weekday: MONDAY} g) query: “third Monday in April” proto: ordinal: 3 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the monday before last” proto: ordinal: -2 target {weekday: MONDAY} i) query: “the second to the last monday in April” proto: ordinal: -2 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} II. Fetching date/time unit: a) query: “1st 2 weeks of April” proto: ordinal: 1 target {unit: WEEK} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last week of April” proto: ordinal: 1 ordinal: -1 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next year” proto: ordinal: 1 target {unit: YEAR} d) query: “last 2 weeks” proto: ordinal: -1 count: 2 target {unit: WEEK} e) query: “this month” proto: ordinal: 0 target {unit: MONTH} f) query: “the week after next” proto: ordinal: 2 target {unit: WEEK} g) query: “third week in April” proto: ordinal: 3 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the week before last” proto: ordinal: -2 target {unit: WEEK} i) query: “the second to the last week in April” proto: ordinal: -2 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} Next field: 9NlpSemanticParsingDatetimeRange
rangeModifierModifier that return the appropriate subrange. For more information, see the description of RangeOfDateTimeModifier. Example: * *early* next week * *late* next MondayNlpSemanticParsingDatetimeFetchedRelativeDateTimeFor a more detailed presentation on what’s a fetching operation, see go/datetime-meaning-schemas. Examples to illustrate how the proto is used: I. Fetching day-of-weeks: a) query: “1st 2 Mondays of April” proto: ordinal: 1 target {weekday: MONDAY} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last Monday of April” proto: ordinal: 1 ordinal: -1 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next Monday” proto: ordinal: 1 target {weekday: MONDAY} d) query: “last 2 Mondays” proto: ordinal: -1 count: 2 target {weekday: MONDAY} e) query: “this Monday” proto: ordinal: 0 target {weekday: MONDAY} f) query: “the monday after next” proto: ordinal: 2 target {weekday: MONDAY} g) query: “third Monday in April” proto: ordinal: 3 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the monday before last” proto: ordinal: -2 target {weekday: MONDAY} i) query: “the second to the last monday in April” proto: ordinal: -2 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} II. Fetching date/time unit: a) query: “1st 2 weeks of April” proto: ordinal: 1 target {unit: WEEK} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last week of April” proto: ordinal: 1 ordinal: -1 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next year” proto: ordinal: 1 target {unit: YEAR} d) query: “last 2 weeks” proto: ordinal: -1 count: 2 target {unit: WEEK} e) query: “this month” proto: ordinal: 0 target {unit: MONTH} f) query: “the week after next” proto: ordinal: 2 target {unit: WEEK} g) query: “third week in April” proto: ordinal: 3 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the week before last” proto: ordinal: -2 target {unit: WEEK} i) query: “the second to the last week in April” proto: ordinal: -2 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} Next field: 9String
relativeRangeIf the underlying range comes from a relative datetime expression, encode the expression here instead.NlpSemanticParsingDatetimeFetchedRelativeDateTimeFor a more detailed presentation on what’s a fetching operation, see go/datetime-meaning-schemas. Examples to illustrate how the proto is used: I. Fetching day-of-weeks: a) query: “1st 2 Mondays of April” proto: ordinal: 1 target {weekday: MONDAY} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last Monday of April” proto: ordinal: 1 ordinal: -1 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next Monday” proto: ordinal: 1 target {weekday: MONDAY} d) query: “last 2 Mondays” proto: ordinal: -1 count: 2 target {weekday: MONDAY} e) query: “this Monday” proto: ordinal: 0 target {weekday: MONDAY} f) query: “the monday after next” proto: ordinal: 2 target {weekday: MONDAY} g) query: “third Monday in April” proto: ordinal: 3 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the monday before last” proto: ordinal: -2 target {weekday: MONDAY} i) query: “the second to the last monday in April” proto: ordinal: -2 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} II. Fetching date/time unit: a) query: “1st 2 weeks of April” proto: ordinal: 1 target {unit: WEEK} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last week of April” proto: ordinal: 1 ordinal: -1 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next year” proto: ordinal: 1 target {unit: YEAR} d) query: “last 2 weeks” proto: ordinal: -1 count: 2 target {unit: WEEK} e) query: “this month” proto: ordinal: 0 target {unit: MONTH} f) query: “the week after next” proto: ordinal: 2 target {unit: WEEK} g) query: “third week in April” proto: ordinal: 3 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the week before last” proto: ordinal: -2 target {unit: WEEK} i) query: “the second to the last week in April” proto: ordinal: -2 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} Next field: 9NlpSemanticParsingDatetimeResolutionProperties
targetThe target to be fetched. This could be a named day-of-week or month (e.g., “Monday”, “April”), or a date/time unit (e.g., “day”, “week”, “month”).NlpSemanticParsingDatetimeFetchedRelativeDateTimeFor a more detailed presentation on what’s a fetching operation, see go/datetime-meaning-schemas. Examples to illustrate how the proto is used: I. Fetching day-of-weeks: a) query: “1st 2 Mondays of April” proto: ordinal: 1 target {weekday: MONDAY} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last Monday of April” proto: ordinal: 1 ordinal: -1 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next Monday” proto: ordinal: 1 target {weekday: MONDAY} d) query: “last 2 Mondays” proto: ordinal: -1 count: 2 target {weekday: MONDAY} e) query: “this Monday” proto: ordinal: 0 target {weekday: MONDAY} f) query: “the monday after next” proto: ordinal: 2 target {weekday: MONDAY} g) query: “third Monday in April” proto: ordinal: 3 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the monday before last” proto: ordinal: -2 target {weekday: MONDAY} i) query: “the second to the last monday in April” proto: ordinal: -2 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} II. Fetching date/time unit: a) query: “1st 2 weeks of April” proto: ordinal: 1 target {unit: WEEK} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: “1st and last week of April” proto: ordinal: 1 ordinal: -1 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: “next year” proto: ordinal: 1 target {unit: YEAR} d) query: “last 2 weeks” proto: ordinal: -1 count: 2 target {unit: WEEK} e) query: “this month” proto: ordinal: 0 target {unit: MONTH} f) query: “the week after next” proto: ordinal: 2 target {unit: WEEK} g) query: “third week in April” proto: ordinal: 3 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: “the week before last” proto: ordinal: -2 target {unit: WEEK} i) query: “the second to the last week in April” proto: ordinal: -2 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} Next field: 9NlpSemanticParsingDatetimeTargetToFetch
nonFixedThere are 3 types of holidays supported by the datetime subgrammar: 1) NonFixedHolidayEnum: e.g., “easter”, “chinese new year”. 2) FetchedRelativeDateTime: e.g., “Thanksgiving” => [4th Thursday of November] 3) HolidayByMonthDay: e.g., “xmas” => [December 25] Each holiday of the first type is resolved by a C++ function; the 2nd and 3rd type of holidays are mapped to AbsoluteDateTime and FetchedRelativeDateTime, respectively, in grammar and are not needed to be represented in proto.NlpSemanticParsingDatetimeHolidayList of holidays that are not fixed absolute or relative dates on the Gregorian calendar.String
phaseNlpSemanticParsingDatetimeMoonEventInfoString
typeNlpSemanticParsingDatetimeMoonEventInfoString
chineseMonthNlpSemanticParsingDatetimeNonGregorianDateNon-Gregorian dates are similar to AbsoluteDateTime, but use non-Gregorian calendars.String
dayThe day is the offset within the month, same as in Gregorian calendars.NlpSemanticParsingDatetimeNonGregorianDateNon-Gregorian dates are similar to AbsoluteDateTime, but use non-Gregorian calendars.integer
hebrewMonthNlpSemanticParsingDatetimeNonGregorianDateNon-Gregorian dates are similar to AbsoluteDateTime, but use non-Gregorian calendars.String
islamicMonthNlpSemanticParsingDatetimeNonGregorianDateNon-Gregorian dates are similar to AbsoluteDateTime, but use non-Gregorian calendars.String
yearThe year is relative to the calendar (e.g. 5777 for Hebrew calendar).NlpSemanticParsingDatetimeNonGregorianDateNon-Gregorian dates are similar to AbsoluteDateTime, but use non-Gregorian calendars.integer
modifierFor internal use – DateTime subgrammar users should look at Duration.modifier. = MORE in [3 more days].NlpSemanticParsingDatetimeQuantityString
number= 3 in “3 milliseconds”.NlpSemanticParsingDatetimeQuantityfloat
numberSpanThis field keeps the span info of the number element in a quantity expression, which is useful for downstream components to obtain the number annotations inside a quantity when necessary.NlpSemanticParsingDatetimeQuantityNlpSemanticParsingAnnotationEvalData
symbolicQuantityQuantities are typically converted into milliseconds, regardless of the units the user used. Sometimes this loses crucial information, e.g., “5 days” vs “5 nights”. When quantities are converted to milliseconds, ‘symbolic_quantity’ will contain the sequence of units that the user actually supplied. This can be more than one element in cases like “one minute and 30 seconds”. In cases where ‘symbolic_quantity’ has more than one element, THERE IS NO GUARANTEED ORDER between elements.NlpSemanticParsingDatetimeQuantitylist(NlpSemanticParsingDatetimeQuantity)
unit= MILLISECOND in “3 milliseconds”.NlpSemanticParsingDatetimeQuantityString
beginDeprecated fields. Do NOT use.NlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.NlpSemanticParsingDatetimeAbsoluteDateTime
beginRelativeNlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.NlpSemanticParsingDatetimeRelativeDateTime
durationif |duration| is set, one field from start or finish must be populated, but not both. |exclusive| value is still relevant to decide if the endpoints of the range are included in the range (value defined in the start/finish fields as well as the datetime value resulting of offseting the duration over the given range endpoint).NlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.NlpSemanticParsingDatetimeQuantity
endNlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.NlpSemanticParsingDatetimeAbsoluteDateTime
endRelativeNlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.NlpSemanticParsingDatetimeRelativeDateTime
exclusiveNlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.boolean
finishNlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.NlpSemanticParsingDatetimeDateTime
fuzzyRangeNlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.String
metadataNlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.String
propertiesNlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.NlpSemanticParsingDatetimeResolutionProperties
rangeModifierModifier that return the appropriate subrange. For more information, see the description of RangeOfDateTimeModifier. Example: * *late* morningNlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.String
start|start| and |finish| are inclusive unless exclusive field is true. the values in start and finish can be an absolute point, a relative or another range. Recurrences and repeated values are not expected/allowed.NlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.NlpSemanticParsingDatetimeDateTime
symbolicValueThe field is set if the range is the result of resolving/grounding a relative datetime expression referring to a part of the day. E.g. “morning”, “afternoon”, “evening”, “night”, “tonight”, etc.NlpSemanticParsingDatetimeRangeRange has 4 use cases: 1. with an explicit begin and an explicit end, e.g. “from Monday to Wednesday.” Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in “first Monday of this month”, “this month” is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as “morning” or “evening.” 4. with a relative begin and a relative end, e.g. “from yesterday to next Monday.” Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.String
countRestrictionHow many times it repeats.NlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.integer
exceptionAn arbitrary exception to the recurrence. This can be an absolute point, a relative, a range or a recurrent expression. Examples: * “every Tuesday except for July 13th 2021” * “every Tuesday except for July 13th and November 2nd” * “every second Monday except during the summer” * “everyday except Thursdays” * “every Friday, except from October 1st to October 22nd”NlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.list(NlpSemanticParsingDatetimeDateTime)
frequency|frequency| is used to represent the frequency of the recurrence over a given recurrent period. E.g. “twice a week”, “once a month”. An unknown frequency is represented with 0, as in just “repeating”.NlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.integer
metadataNlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.String
period|period| and |unit| specify how often |start_point| or |start_range| repeats. |period| should not be 0.NlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.integer
rangeRestrictionNlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.NlpSemanticParsingDatetimeRange
relativeRangeRestrictionNlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.NlpSemanticParsingDatetimeRelativeDateTime
restrictionA recurrent expression can be restricted by either a datetime |restriction| or |count_restriction| below. The restriction datetime can be expressed as an explicit range a relative datetime expression, a datetime point or a recurrent datetime. E.g. “every monday [next month]”, “every second tuesday [this year]”, etc. If |period| is > 0 and |restriction| is not set, repeat indefinitely. Note that this can support recurrent expressions as |restriction| as well. For example in the expression “every monday on [every other month]” where [every other month] is a restriction expressed as a recurrent datetime.NlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.NlpSemanticParsingDatetimeDateTime
start|start| is used to represent the starting points, ranges or relative datetims in a recurrent expression, for example: “every morning”, (range) “everyday at 5 pm”, (point) “every second monday” (relative) |start| should never contain a recurrent element.NlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.list(NlpSemanticParsingDatetimeDateTime)
startPointDO NOT USE: deprecated fields soon to be removed.NlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.list(NlpSemanticParsingDatetimeAbsoluteDateTime)
startRangeNlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.list(NlpSemanticParsingDatetimeRange)
startRelativeNlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.list(NlpSemanticParsingDatetimeRelativeDateTime)
targetThe target to be fetched. This could be a named day-of-week or month (e.g., “Monday”, “April”), or a date/time unit (e.g., “day”, “week”, “month”).NlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.NlpSemanticParsingDatetimeTargetToFetch
timeInterval|time_interval| is a time amount or duration, used to described the time interval between the instances of the recurrence. (e.g. “every 3 hours”, “every 35 minutes”, “every 2 months and 15 days”, etc)NlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.NlpSemanticParsingDatetimeQuantity
unitNlpSemanticParsingDatetimeRecurrentexpressions: “every Monday after December 1” “every morning starting from this Friday”. Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., “every monday in the next 3 months”, “… at 11:00am every Monday for 4 times” the grammar will resolve it to a finite number of |range|s. Next available ID: 17.String
fetchedNlpSemanticParsingDatetimeRelativeDateTimeThis provides a semi-abstract description for relative datetime expressions. – ShiftedRelativeDateTime encodes datetimes that arise from before/after expressions (e.g. [three days ago], [2 days after March 1st]). – FetchedRelativeDateTime encodes expressions that are retrieval-type statements (e.g. [next weekend], [the last two Mondays]). Next field: 5NlpSemanticParsingDatetimeFetchedRelativeDateTime
metadataNlpSemanticParsingDatetimeRelativeDateTimeThis provides a semi-abstract description for relative datetime expressions. – ShiftedRelativeDateTime encodes datetimes that arise from before/after expressions (e.g. [three days ago], [2 days after March 1st]). – FetchedRelativeDateTime encodes expressions that are retrieval-type statements (e.g. [next weekend], [the last two Mondays]). Next field: 5String
modifierWhen a relative datetime which resolves into a range is being used as the endpoint of a range (begin_relative/end_relative), its begin/end will be taken accordingly unless this modifier indicates the opposite: begin_relative with relative range and modifier == AFTER means that its end will be taken as the beginning of the resulting range. Similarly, end_relative with a relative range and modifier == BEFORE means that its begin will be taken as the end of the resulting range. E.g. “after next month” will be a range with a begin_relative that will take the end of “next month” as its starting point (exclusive). values other than AFTER and BEFORE in the specific conditions explained here will be ignored and have no effect in the resolution of RelativeDateTimes.NlpSemanticParsingDatetimeRelativeDateTimeThis provides a semi-abstract description for relative datetime expressions. – ShiftedRelativeDateTime encodes datetimes that arise from before/after expressions (e.g. [three days ago], [2 days after March 1st]). – FetchedRelativeDateTime encodes expressions that are retrieval-type statements (e.g. [next weekend], [the last two Mondays]). Next field: 5String
shiftedNlpSemanticParsingDatetimeRelativeDateTimeThis provides a semi-abstract description for relative datetime expressions. – ShiftedRelativeDateTime encodes datetimes that arise from before/after expressions (e.g. [three days ago], [2 days after March 1st]). – FetchedRelativeDateTime encodes expressions that are retrieval-type statements (e.g. [next weekend], [the last two Mondays]). Next field: 5NlpSemanticParsingDatetimeShiftedRelativeDateTime
meridiemSimple enum container for exporting meridiem mentions. Note: this is marked as deprecated as we are moving to properly parse expressions with explicit meridiem information.NlpSemanticParsingDatetimeResolutionPropertiesEncapsulates metadata about the query span resolved here.String
metadataEncodes whether the datetime was phrased in a specific way, see enum above.NlpSemanticParsingDatetimeResolutionPropertiesEncapsulates metadata about the query span resolved here.String
relativeExpresses the relative DateTime query that gave rise to these grounded semantics.NlpSemanticParsingDatetimeResolutionPropertiesEncapsulates metadata about the query span resolved here.NlpSemanticParsingDatetimeRelativeDateTime
baseThe base could be an absolute datetime point for example: “March 1”, a relative datetime point, for example: “2 days before March 1” or a symbolic base type, for example: CURRENT_DATETIME. This could also be used to combine EXPLICIT_PRONOUN with the actual value of that reference being setup as a datetime point in base or relative_baseNlpSemanticParsingDatetimeShiftedRelativeDateTimeNlpSemanticParsingDatetimeAbsoluteDateTime
baseTypeNlpSemanticParsingDatetimeShiftedRelativeDateTimeString
metadataCan be used to tag relative datetime expressions with metadata information in the grammar.NlpSemanticParsingDatetimeShiftedRelativeDateTimeString
relativeBaseNlpSemanticParsingDatetimeShiftedRelativeDateTimeNlpSemanticParsingDatetimeResolutionProperties
shiftAmountNlpSemanticParsingDatetimeShiftedRelativeDateTimeNlpSemanticParsingDatetimeQuantity
shiftPastIf true, shifting to the past; if false, shifting to the future.NlpSemanticParsingDatetimeShiftedRelativeDateTimeboolean
numBytesNlpSemanticParsingDatetimeSpanThe byte offset and text of a span.integer
startByte0-based start byte offset of the span.NlpSemanticParsingDatetimeSpanThe byte offset and text of a span.integer
textThe text of the span: a substring of ParserInput’s canonical_input.NlpSemanticParsingDatetimeSpanThe byte offset and text of a span.String
eventNlpSemanticParsingDatetimeTargetToFetchNext field: 9NlpSemanticParsingDatetimeEvent
fuzzyRangeNlpSemanticParsingDatetimeTargetToFetchNext field: 9String
monthNlpSemanticParsingDatetimeTargetToFetchNext field: 9String
quarterNlpSemanticParsingDatetimeTargetToFetchNext field: 9String
referenceNlpSemanticParsingDatetimeTargetToFetchNext field: 9String
seasonNlpSemanticParsingDatetimeTargetToFetchNext field: 9String
unitUnnamed target: “week”, “month” etc. E.g., “1st week of April”.NlpSemanticParsingDatetimeTargetToFetchNext field: 9String
weekdayNamed target: only one of the following is expected.NlpSemanticParsingDatetimeTargetToFetchNext field: 9list(String)
timezoneNlpSemanticParsingDatetimeTimeZoneString
entitySourcesIndicates backends from which parts of an entity were retrieved.NlpSemanticParsingEntitySourceDatalist(String)
statusNlpSemanticParsingExpressionStatusStatus indicating whether the user has finished expressing their intended semantics during a streaming interaction. Semantics are partially expressed when later, unprompted user input is expected to modify the semantics. Future inputs are typically additional speech or continued modification of argument text in form field. These inputs can trigger modifications including adding arguments, changing the intent, or modifying existing arguments. Sensing this status can be done both directly and indirectly. Fluid Actions directly detects this status as the user moves between, or enters and leaves, argument form fields. Understanding indirectly detects this status by the pace of the user’s speech, the semantics of the language, and the user’s intonation. See go/streaming-nlu-fulfilment-protocol-v1 for details about how it is used in the Streaming NLU Fulfillment protocol.String
textCompletenessProbabilityCompleteness probability as calculated by the parser’s completeness layer.NlpSemanticParsingExpressionStatusStatus indicating whether the user has finished expressing their intended semantics during a streaming interaction. Semantics are partially expressed when later, unprompted user input is expected to modify the semantics. Future inputs are typically additional speech or continued modification of argument text in form field. These inputs can trigger modifications including adding arguments, changing the intent, or modifying existing arguments. Sensing this status can be done both directly and indirectly. Fluid Actions directly detects this status as the user moves between, or enters and leaves, argument form fields. Understanding indirectly detects this status by the pace of the user’s speech, the semantics of the language, and the user’s intonation. See go/streaming-nlu-fulfilment-protocol-v1 for details about how it is used in the Streaming NLU Fulfillment protocol.number
typeApplied amenity constraints. Nothing should be inferred about the ordering of the values in this field.NlpSemanticParsingLocalAmenitiesA list of amenity constraints. There is an implicit AND relationship between the different constraints.list(String)
elementNlpSemanticParsingLocalBasicLocationConceptually this describes one location. Technically, this is a sequence of location elements with the intention that at least one element in the sequence is an actual location (rather than a modifier).list(NlpSemanticParsingLocalLocationElement)
bankNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
hardwareStoreNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
hotelAlso youth hostels, guest houses, etc.NlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
busStopNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
telecomNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
vehicleTypeAll of the vehicle types serviced by this business or business category. e.g. VEHICLE_TYPE_RAIL and VEHICLE_TYPE__BUS for “transit stop”. This allows downstream to serve different result types for transit station categories in different languages. e.g. In en-US “train station” seeks both railway station and subway station results. But the equivalent word in French/Italian/German seeks only railway stations.NlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangelist(String)
venueStadiums, theaters, cinemas, etc.NlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
hospitalNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
hairdresserNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
transitOperatorOperator of a transit line, e.g., “MTA”, “BART”, “CTA”, etc.NlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
transitLineA particular line in a transit system, e.g., “3 train”, “Red Line”, “Cirle Line”, etc.NlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
universityAlso collegesNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
subwayStationNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
trainStationNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
cuisineGcidIf the element implies a cuisine type then we include the gcid string when available. Currently this happens for BUSINESS_CATEGORY type. The field is repeated to model categories like “mandarin buffet restaurant” with multiple cuisine gcid’s: mandarin_restaurant and buffet_restaurant.NlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangelist(String)
soupKitchenNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
shoppingCenterNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
toyStoreNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
parkingNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
drugDropOffNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
sportStoreNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
petStoreNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
emergencyThis field is used to determine the emergency type of the element, which is specified by the grammar parse in (http://cs/file:googledata/localsearch/quality/grammar/local_patterns.asciipb). e.g. “coronavirus_treatment_locations” TODO(b/151330576) Deprecate the emergency field and replace with normal triggering.NlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeString
restaurantAlso bars and cafesNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
transitStationThe different types of transit station business types will be used to figure out which vehicle types to use when querying Tripfinder’s SearchStations service. The stations in that backend seem to be divided into HEAVY_RAIL, SUBWAY, and TRAM. There isn’t a very reliable division between intercity rail and commuter rail — Amtrak, LIRR, PATH, and NJ Transit are all classified as HEAVY_RAIL. That’s why in these types we make a distinction between train and subway, and not train and muni_rail, (unlike TransitMode in the TravelAction proto).NlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
electricVehicleChargingStationNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
groceryStoreNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
departmentStoreNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
gasStationNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
electronicStoreNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
airportNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
airlineNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
clothingStoreNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
qrefTransitStationThis is used for transit stations annotated by QRef. The transit_station business_type above is only used for business categories, and therefore is used downstream to find nearby stations rather than a particular station, and so cannot be present in a Location that is a specific station from QRef. For these cases, this business_type is used instead. e.g. “grand central” “millbrae station” “union station” will have business_type qref_transit_stationNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
foodPantryNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
schoolPre-k to high schoolNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
pharmacyNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
retailNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
bikeSharingStationNlpSemanticParsingLocalBusinessTypeA high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChangeboolean
chainIdsSpecifies which parent chain mids to filter by.NlpSemanticParsingLocalChainMemberConstraintChainMemberConstraint for chain filtering enabled queries.list(String)
joinerNlpSemanticParsingLocalCompoundLocationNlpSemanticParsingLocalJoiner
location1NlpSemanticParsingLocalCompoundLocationNlpSemanticParsingLocalLocation
location2If location_2 is absent, it should likely be interpreted as an implicit “here”. For example, “nearest Starbucks” will be represented as a compound location with “Starbucks” as location_1, “nearest” as the joiner, and empty location_2.NlpSemanticParsingLocalCompoundLocationNlpSemanticParsingLocalLocation
contactContact as a location.NlpSemanticParsingLocalContactLocationContact information for the |contact_location| field in LocationElement.NlpSemanticParsingModelsCommunicationRecipient
contactTypeThe type of contact address (home, work, etc).NlpSemanticParsingLocalContactLocationContact information for the |contact_location| field in LocationElement.NlpSemanticParsingModelsCommunicationPhoneType
cuisineGcidNlpSemanticParsingLocalCuisineConstraintConstraint for cuisine type, such as “chinese”, “italian”, “thai”, “burgers”, etc.String
connectorTypeNlpSemanticParsingLocalEvChargingStationConnectorConstraintString
paymentNetworkMidNlpSemanticParsingLocalEvChargingStationPaymentConstraintString
chargingSpeedNlpSemanticParsingLocalEvChargingStationSpeedConstraintThere is an implicit AND relation if multiple EVCS constraint types are specified.String
nonSpecificValueTrue for values like “a few”.NlpSemanticParsingLocalExtentboolean
unitsNlpSemanticParsingLocalExtentString
unitsStringString representation, e.g., for debug.NlpSemanticParsingLocalExtentString
valueFor approximate values such as “a few” or “several”, we populate |value| with a specific numeric value which is a generous (i.e., high) interpretation of the text, and we set |non_specific_value| to true.NlpSemanticParsingLocalExtentfloat
valueStringCan hold numbers as well as “a few”.NlpSemanticParsingLocalExtentString
gcidGCID – with the ‘gcid:’ prefix.NlpSemanticParsingLocalGcidConstraintString
networkNlpSemanticParsingLocalHealthInsuranceConstraintConstraint for the health insurance network of a provider.String
hotelBasic accommodation types.NlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
seasideResortNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
extendedStayHotelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
suiteNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
vacationApartmentNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
resortNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
guesthouseNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
villaNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
vacationHouseNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
beachResortNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
campsiteNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
otherAny other lodging related type.NlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
japaneseInnWithHotSpringNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
cabinOther accommodation types.NlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
ecoHotelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
innNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
skiResortNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
commonLodgingHouseNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
golfResortNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
loveHotelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
capsuleHotelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
chaletNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
hostelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
castleHotelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
bedAndBreakfastNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
motelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
guestRanchNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
wellnessAndSpaAccommodationNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
vacationRentalVacation rental accommodation types.NlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
safariLodgeNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
houseboatNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
youthHostelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
japaneseInnJapanese accommodation types.NlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
lodgingNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
businessHotelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
cottageNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
servicedApartmentNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
pensionNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
giteNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
boutiqueHotelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
condoHotelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
conventionHotelNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
casinoAccommodationNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
lodgeNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
allInclusiveResortBasic accommodation types variations.NlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
farmstayNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
mountainHutNlpSemanticParsingLocalHotelTypeHotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48boolean
commodityStrengthWhether a location is a commodity (distance is an important metric), neutral or non-commodity (distance is not important). Commodity locations are “atm”, “gas station”, etc. Non-commodity locations are “restaurant”, “hotel”, etc, and all others are neutral. The value is 1 for commodity queries, 0 for non-commodity queries, no-value for neutral queries (when the field doesn’t exist in the grammar). The reason it is a float is to prepare for future changes when we expand the signal value from discrete classes to a score, and the score will be in the range of [0,1].NlpSemanticParsingLocalHyperReliableDataMessage containing information about hyper-reliable categories. go/local-hyper-reliablenumber
gcidsynsOverrideNlpSemanticParsingLocalHyperReliableDataMessage containing information about hyper-reliable categories. go/local-hyper-reliablelist(NlpSemanticParsingLocalHyperReliableDataGCIDSynsOverride)
hyperReliableNlpSemanticParsingLocalHyperReliableDataMessage containing information about hyper-reliable categories. go/local-hyper-reliableboolean
retrievalGcidsCategories used for retrieval and used in Artemis diversity tiers as restricts. See https://ariane.googleplex.com/launch/190585 for details.NlpSemanticParsingLocalHyperReliableDataMessage containing information about hyper-reliable categories. go/local-hyper-reliablelist(String)
gcidScoreNlpSemanticParsingLocalHyperReliableDataGCIDSynsOverrideSet only when hyper_reliable is true. These are gcids and scores for hyper-reliable categories in ariane/182060. These are overridden for a few hyper-reliable categories, and may not be present everywhere.number
hyperReliableGcidNlpSemanticParsingLocalHyperReliableDataGCIDSynsOverrideSet only when hyper_reliable is true. These are gcids and scores for hyper-reliable categories in ariane/182060. These are overridden for a few hyper-reliable categories, and may not be present everywhere.String
airportNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
bankNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
chargingStationNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
gasStationNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
gymNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
hairSalonNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
hospitalNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
hotelNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
laundromatNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
movieTheaterNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
postOfficeNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
spaNlpSemanticParsingLocalImplicitLocalCategoryFlags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13boolean
numBytesNlpSemanticParsingLocalJoinerinteger
numBytesForConversionNlpSemanticParsingLocalJoinerinteger
startByteThe raw input span corresponding to this joiner.NlpSemanticParsingLocalJoinerinteger
startByteForConversionByte data added for conversion between this proto and IntentQuery in LooseParser. Must not be used for downstream triggering.NlpSemanticParsingLocalJoinerinteger
textThe original joiner string from the tokenized query. Particularly important if the type is OTHER.NlpSemanticParsingLocalJoinerString
typeNlpSemanticParsingLocalJoinerString
featureIdNlpSemanticParsingLocalLocalResultIdThis message holds all info the local assistant team will need to lookup a LocalResult in search.GeostoreFeatureIdProto
geocodingAddressThe full address of the result. This should be a verbose address string that geocodes reliably.NlpSemanticParsingLocalLocalResultIdThis message holds all info the local assistant team will need to lookup a LocalResult in search.String
kgMidThe knowledge graph reference of the result.NlpSemanticParsingLocalLocalResultIdThis message holds all info the local assistant team will need to lookup a LocalResult in search.String
positionThe position of the result.NlpSemanticParsingLocalLocalResultIdThis message holds all info the local assistant team will need to lookup a LocalResult in search.GeostorePointProto
rectThe position of the result, if it can’t be expressed as a pointproto.NlpSemanticParsingLocalLocalResultIdThis message holds all info the local assistant team will need to lookup a LocalResult in search.GeostoreRectProto
basicLocationExactly one of the location types should be populated.NlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()NlpSemanticParsingLocalBasicLocation
compoundLocationNlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()NlpSemanticParsingLocalCompoundLocation
contactLocationDEPRECATED. Instead, use LocationElement.contact_location.NlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()NlpSemanticParsingLocalContactLocation
isMergedTrue if the location is merged, for example by CombineLocationsFn.NlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()boolean
locationConstraintThe constraint includes various constraints on the location such as amenities, price range, ratings, or attributes such as new, cheap, etc. These constraints are a part of the location but are not modeled as location elements and are not included in the location text. The (debatable) motivation is that they do not stand on their own and are not an intrinsic part of the location. Note on texts and spans. For a location such as “kid friendly hotels with an indoor pool” we expect to get a basic location with a single location element and two constraints: – For the location element: – Both text and span match “hotels” – For the first constraint: – Both text and span match “kid friendly” – For the second constraint: – Both text and span match “indoor pool” – For the full location: – text: “hotels” – span covers “kid friendly hotels with an indoor pool”NlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()list(NlpSemanticParsingLocalLocationConstraint)
numBytesNlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()integer
resolvedLocalResultA LocalResult corresponding to the location the user specified, populated by local dialog (generally following a search). This field will only be set if the location is unambiguous, possibly following a series of disambiguation turns of dialog.NlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()QualityDialogManagerLocalResult
startByteThe span, in the raw input, which corresponds to this location, expressed as a byte offset and byte size. This allows the extraction of the location string as it appears in the raw text.NlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()integer
textA string representation of the location. Depending on the annotators and the location itself the string may represent the raw query, the pre-processed query, or something else. As a non-trivial example, for [target address mountain view] we will generate the text “target mountain view” without “address”. We make a best-effort to come up with a good string, but make no formal guarantees. You should never present this text directly to outside users.NlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()String
userSpecifiedLocationA location info including featureId and lat/lng that uniquely identifies the location the user specified.NlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()KnowledgeVerticalsWeatherProtoUserSpecifiedLocation
vicinityLocationNlpSemanticParsingLocalLocationThere are a few types of locations: – Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., “Mountain View CA 94040” may be the sequence “Mountain View” (an actual location), “CA” (an actual location, and “94040” (a numeric modifier). – Compound locations: these are two locations combined by a joiner. E.g., “Target in Mountain View CA 94040” has the joiner “in” and two basic locations (“Target”, and “Mountain View CA 94040”). Note that the definition is recursive, e.g., “Parking garage near Target in Mountain View”. – Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., “within 1 hour of Palo Alto”, “10 blocks from Union Square”, “a few miles from here”. Next ID: 14 LINT.IfChange()NlpSemanticParsingLocalVicinityLocation
amenitiesLINT.IfChangeNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalAmenities
chainMemberNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalChainMemberConstraint
cuisineNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalCuisineConstraint
evcsConnectorConstraintUsed for populating ElectricVehicleConnectorRefinement from QBF go/evcs-qbf-connectorNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalEvChargingStationConnectorConstraint
evcsPaymentConstraintUsed for populating ElectricVehiclePaymentRefinement from QBF go/evcs-qbf-paymentNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalEvChargingStationPaymentConstraint
evcsSpeedConstraintNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalEvChargingStationSpeedConstraint
gcidConstraintUsed for GCID filter. Unlike other grammar, for now this is populated in Superroot (currently based on QBLD classification, and an allowlist of GCID).NlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalGcidConstraint
healthInsuranceUsed for health insurance filter populator.NlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalHealthInsuranceConstraint
hyperReliableDataSome constraints are also hyper-reliable, such as [brunch] and [coffee].NlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalHyperReliableData
menuItemNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalMenuItem
newNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.boolean
numBytesNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.integer
open24HoursNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.boolean
priceNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalPriceConstraint
qualityNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalQualityConstraint
roomsNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalRoomConstraint
scalableAttributeNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalScalableAttribute
serviceNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalServiceConstraint
startByteThe span, in the raw input, which corresponds to this constraint, expressed as a byte offset and byte size.NlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.integer
textNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.String
ungroundedConstraintExperimental, may change.NlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.boolean
unspecifiedUsed to remove all constraints, e.g. [forget all the filters]NlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.boolean
vaccineTypeUsed for vaccine refinement: go/covid-vaccine-refinement.NlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.String
visitHistoryNlpSemanticParsingLocalLocationConstraintAll the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.NlpSemanticParsingLocalVisitHistoryConstraint
aliasIconFor elements with a NICKNAME alias location, this field will hold all matching alias icons, which are used in search to resolve the location.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangelist(PersonalizationMapsAliasIcon)
aliasLocationThe following fields (alias_location, qref_location, and saft_location) should have at most one non-empty value between them.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeString
businessTypeSet only when type is BUSINESS_NAME or BUSINESS_CATEGORY.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeNlpSemanticParsingLocalBusinessType
contactLocationNlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeNlpSemanticParsingLocalContactLocation
dialogReferentsThis will hold semantics from the dialog_referents subgrammar with offsets and indices relating to a list of results shown to the user. This field is repeated while in the future we could support multiple item list selection. i.e. [the starbucks] where multiple entries in the results will be indicated hereNlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangelist(NlpSemanticParsingModelsDialogReferentsDialogReferents)
directionalModifierSet only when type is DIRECTIONAL_MODIFIER.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeString
genericLocationDEPRECATED. See basic_location.element.type == LOCATION_REFERENT to determine this instead. Populated by a type VISITED local action, this field is used to indicate a location element is a general-case $PT_visited_location string.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeboolean
hotelTypeSet only when business_type is hotel.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeNlpSemanticParsingLocalHotelType
hyperReliableDataNlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeNlpSemanticParsingLocalHyperReliableData
implicitLocalCategoryNlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeNlpSemanticParsingLocalImplicitLocalCategory
localResultIdA field used to store the ID of a specific location entity, especially one not extracted via QRef. For example, – a location selected by the users via a dialog follow-up query like [the second one]. Will only be populated in the LocalSemanticsServlet, not in the grammar. – a location resolved based on a full search, e.g., following the geocoding step for a directions query. This field is also used by NoramlizeLocationForFingerprinting as the canonical place to store FeatureIds.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeNlpSemanticParsingLocalLocalResultId
numBytesNlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeinteger
numberRepresents zip codes, street numbers, etc. that were detected directly by the grammar (and not, e.g., by QRef). DEPRECATED. We ran into problems with zip codes having leading zeroes. Now we store numbers only in the text field.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeinteger
personalReferenceLocationA collection of QRefAnnotations repesenting Reference and Resolution data for Personal References. See go/copley-local and go/copley-annotator.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeNlpSemanticParsingPersonalReferenceAnnotation
qrefLocationNlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeNlpSemanticParsingQRefAnnotation
saftLocationNlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeNlpSemanticParsingSaftMentionAnnotation
sourceNlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeString
startByteThe byte span, in the raw query, which corresponds to this location element.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeinteger
textA string representation of the location element. Typical, this field will be populated by the MakeLocationElementFn semantic function with the substring of the raw_query defined by start_byte and num_bytes. However, the field can also be populated explicitly in the grammar, in which case MakeLocationElementFn leaves it alone.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeString
transitLineNumberTrain number associated with /collection/geo/transit_line. Populated when user requests specific instance of a transit line. For example, long distance trains in India have two numbers for each train, one for up direction and other for down. And user use these numbers in queries along with name to specify the specific trip of the train. More details in go/number-transit-line-queries.NlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeString
typeNlpSemanticParsingLocalLocationElementNext ID: 26 LINT.IfChangeString
menuItemIdThis ID corresponds to the name of the menu item in the query. For example [restaurants that serve thai curry] has menu_item_id = “thai curry”.NlpSemanticParsingLocalMenuItemSpecifies intent that corresponds to a menu item which is used as a location constraint, e.g. [restaurants that serve thai curry] or as a standalone categorical element, e.g. [thai curry].String
cheapNlpSemanticParsingLocalPriceConstraintboolean
currencyCodeThe currency codes are expected to be string from the list in i18n/identifiers/currencycode.*NlpSemanticParsingLocalPriceConstraintString
expensiveNlpSemanticParsingLocalPriceConstraintboolean
maxPriceNlpSemanticParsingLocalPriceConstraintfloat
minPriceNlpSemanticParsingLocalPriceConstraintfloat
moderatelyPricedNlpSemanticParsingLocalPriceConstraintboolean
unspecifiedThe user mentioned something about price, but didn’t mention a specific constraint. This is used to indicate an intent to remove all price constraints, in queries like [forget the price].NlpSemanticParsingLocalPriceConstraintboolean
bestNlpSemanticParsingLocalQualityConstraintQuality constraints about the establishment. In the future we can add to this message Zagat ratings, user reviews, etc. Next ID: 6.boolean
highlyRatedNlpSemanticParsingLocalQualityConstraintQuality constraints about the establishment. In the future we can add to this message Zagat ratings, user reviews, etc. Next ID: 6.boolean
starTypeNlpSemanticParsingLocalQualityConstraintQuality constraints about the establishment. In the future we can add to this message Zagat ratings, user reviews, etc. Next ID: 6.String
starsNlpSemanticParsingLocalQualityConstraintQuality constraints about the establishment. In the future we can add to this message Zagat ratings, user reviews, etc. Next ID: 6.NlpSemanticParsingLocalStarRatings
unspecifiedThe user mentioned something about quality, but didn’t mention a specific constraint. This is used to indicate an intent to remove all quality constraints, in queries like [forget the rating].NlpSemanticParsingLocalQualityConstraintQuality constraints about the establishment. In the future we can add to this message Zagat ratings, user reviews, etc. Next ID: 6.boolean
minNumBathroomsIt is possible to have fractional bathrooms.NlpSemanticParsingLocalRoomConstraintConstraints for the occupancy of a hotel or vacation rental.float
minNumBedroomsNlpSemanticParsingLocalRoomConstraintConstraints for the occupancy of a hotel or vacation rental.integer
attributeIdNlpSemanticParsingLocalScalableAttributeSpecifies intent that corresponds to a scalable attribute. This may be used as a location constraint, e.g. [restaurants with outdoor seating] or as a standalone categorical element, e.g. [happy hour] or [happy hour ny]. See go/scalable-attributes for details about scalable attributes. NOTE(oksana): LocalCategoryReliable grammar over-rides a few scalable attribute queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChange This ID corresponds to the id field in //geostore/attributes/proto/config.proto:AttributeConfigProto This field holds the human readable ID for the KG topic that represents the attribute. Example: “/geo/type/establishment_poi/serves_breakfast”String
serviceTypeNlpSemanticParsingLocalServiceConstraintString
fiveNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
fourNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
fourAndAHalfNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
oneNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
oneAndAHalfNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
orFewerNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
orMoreIf this field is set, exactly one of the star classes above should be set, and the interpretation should be that at least that many stars should be present.NlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
threeNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
threeAndAHalfNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
twoNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
twoAndAHalfNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
unspecifiedNlpSemanticParsingLocalStarRatingsStar ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for “three star or four star hotel” both three and four would be set to true. Next Available ID: 13.boolean
baseIf the base is missing then clients should assume that it implicitly means “here”. E.g., “within five miles” really means “within five miles from here”NlpSemanticParsingLocalVicinityLocationNlpSemanticParsingLocalLocation
connectorThe text between the extent and the base, e.g., for “50 miles from here” the connector is “from”.NlpSemanticParsingLocalVicinityLocationString
extentNlpSemanticParsingLocalVicinityLocationNlpSemanticParsingLocalExtent
visitedTypeNlpSemanticParsingLocalVisitHistoryConstraintConstraint for visited, as in if a location has been visited before.String
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsCommunicationPhoneTypeThe type of contact (mobile, home, work, etc). NOTE: Unfortunately the name of this message is a misnomer. Contact type would be a better name.NlpSemanticParsingAnnotationEvalData
isAnnotatedFromTextWhether the annotation is from $Text.NlpSemanticParsingModelsCommunicationPhoneTypeThe type of contact (mobile, home, work, etc). NOTE: Unfortunately the name of this message is a misnomer. Contact type would be a better name.boolean
normalizedTextNormalized (canonicalized) text, e.g. “mobile”.NlpSemanticParsingModelsCommunicationPhoneTypeThe type of contact (mobile, home, work, etc). NOTE: Unfortunately the name of this message is a misnomer. Contact type would be a better name.String
originalTextOriginal text in query, e.g. “cell”.NlpSemanticParsingModelsCommunicationPhoneTypeThe type of contact (mobile, home, work, etc). NOTE: Unfortunately the name of this message is a misnomer. Contact type would be a better name.String
rawTextDEPRECATED. Used original_text instead.NlpSemanticParsingModelsCommunicationPhoneTypeThe type of contact (mobile, home, work, etc). NOTE: Unfortunately the name of this message is a misnomer. Contact type would be a better name.String
calendarEventNlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.AssistantApiCoreTypesCalendarEvent
calendarEventWrapperNlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.AssistantApiCoreTypesCalendarEventWrapper
contactContact details (e.g. gaia_id, phone, etc). Replaces ‘focus_name’ above.NlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.NlpSemanticParsingModelsPersonPerson
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.NlpSemanticParsingAnnotationEvalData
isAnnotatedFromTextNlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.boolean
nameAnnotationSourceDeprecated in favor of recipient.contact.name_annotation_source.NlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.String
numberAnnotationSourceNlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.String
rawTextNOTE: for CONTACT recipient, this is *NOT* the real raw text of the recipient span of historical reasons. Major differences includes: – stripping possessive suffix, e.g. “John’s” -> “John” – stripping prefix/suffix/title, e.g. “Mr. John” -> “John” – uninflect name for languages like Russian, e.g. “Андрею” -> “Андрей” Currently this is the same as .contact.name, and is used as the string shown to the user on clientside UI. If you’re looking for real raw text, use .contact.raw_textNlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.String
recipientTypeNlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.String
relationshipA reference to a person by relationship name. eg. my father.NlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.NlpSemanticParsingModelsCommunicationRelationshipArgument
sensitiveNumBytesNlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.integer
sensitiveStartByteThe beginning and end of the recipient name that should be removed before logging.NlpSemanticParsingModelsCommunicationRecipientIt can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.integer
aliasThe alias of the relationship in the query, e.g. “mom”.NlpSemanticParsingModelsCommunicationRelationshipArgumentA relationship contact.String
canonicalThe canonical format of the relationship, e.g. “Mother”.NlpSemanticParsingModelsCommunicationRelationshipArgumentA relationship contact.String
canonicalLexicalMidMid for an entity that has lexical data (a LexiconEntry). See https://g3doc.corp.google.com/nlp/generation/g3doc/lexical_data.md for for more information about lexical data. This is the canonical mid for this entity (eg. it would be /m/0lbxz for “mother” in EN even if user referred to “mom”).NlpSemanticParsingModelsCommunicationRelationshipArgumentA relationship contact.String
deviceNameThe name of the device (Nexus 5, Nexus 10, etc).NlpSemanticParsingModelsDeviceThe device to perform an action. Both device_type and device_name are optional and they can coexist: [on my phone]: device_type = PHONE [on my nexus 4]: device_name = “nexus 4” [on my nexus phone]: device_type = PHONE, device_name = “nexus”NlpSemanticParsingModelsDeviceName
deviceTypeThe type of the device (phone, tablet, watch, etc).NlpSemanticParsingModelsDeviceThe device to perform an action. Both device_type and device_name are optional and they can coexist: [on my phone]: device_type = PHONE [on my nexus 4]: device_name = “nexus 4” [on my nexus phone]: device_type = PHONE, device_name = “nexus”String
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsDeviceNameThe name of the device (Nexus 5, Nexus 10, etc).NlpSemanticParsingAnnotationEvalData
rawTextNlpSemanticParsingModelsDeviceNameThe name of the device (Nexus 5, Nexus 10, etc).String
evalDataNlpSemanticParsingModelsDialogReferentsDialogReferentsWill be used by dialog_referent subgrammar to emit types annotations from DialogReferentsAnnotator and $DialogReferentOrdinal rules.NlpSemanticParsingAnnotationEvalData
fieldThe field mentioned in the user’s utterance, if any.NlpSemanticParsingModelsDialogReferentsDialogReferentsWill be used by dialog_referent subgrammar to emit types annotations from DialogReferentsAnnotator and $DialogReferentOrdinal rules.NlpSemanticParsingModelsDialogReferentsListSelection
indexUsed for a grammar mention of an index.NlpSemanticParsingModelsDialogReferentsDialogReferentsWill be used by dialog_referent subgrammar to emit types annotations from DialogReferentsAnnotator and $DialogReferentOrdinal rules.integer
nextRepresents a tied referent in a different field of the same labelNlpSemanticParsingModelsDialogReferentsDialogReferentsWill be used by dialog_referent subgrammar to emit types annotations from DialogReferentsAnnotator and $DialogReferentOrdinal rules.NlpSemanticParsingModelsDialogReferentsDialogReferents
selectionThe requested value(s) for selection from a list of alternatives.NlpSemanticParsingModelsDialogReferentsDialogReferentsWill be used by dialog_referent subgrammar to emit types annotations from DialogReferentsAnnotator and $DialogReferentOrdinal rules.list(NlpSemanticParsingModelsDialogReferentsListSelection)
taskMentionSet when the user’s utterance refers to the (an) overall task/goal of the dialog (e.g. “the meeting starts at 10 am” mentions the goal, “meeting”). The field is repeated in case the user ambiguously identifies a task (two tasks named ‘meeting’).NlpSemanticParsingModelsDialogReferentsDialogReferentsWill be used by dialog_referent subgrammar to emit types annotations from DialogReferentsAnnotator and $DialogReferentOrdinal rules.list(NlpSemanticParsingModelsDialogReferentsListSelection)
evalDataNlpSemanticParsingModelsDialogReferentsListSelectionRepresents the user’s selection from a list of alternatives.NlpSemanticParsingAnnotationEvalData
idA unique identifier that is the canonical value for the chosen list item. If we are selecting among fields, this is the field_id specified in the corresponding DialogField.NlpSemanticParsingModelsDialogReferentsListSelectionRepresents the user’s selection from a list of alternatives.String
looseOffsetRestrictionIf true, semantic function should look at watch actions in the following display entity if the first one is not playable. This is useful for “Play it” on entity page.NlpSemanticParsingModelsDialogReferentsListSelectionRepresents the user’s selection from a list of alternatives.boolean
offsetThe offset within the list, if know. If the list of values wasn’t known (e.g. from the discourse context) then the offset is a zero-based mapping of the ordinal value of the selection (“first one” maps to zero; “last one” to minus one).NlpSemanticParsingModelsDialogReferentsListSelectionRepresents the user’s selection from a list of alternatives.integer
rawTextWhen the user selects a list value by name then this is the matched text from the utterance. Note that, if the list of values is known, then the aqua annotator should have mapped it to an offset.NlpSemanticParsingModelsDialogReferentsListSelectionRepresents the user’s selection from a list of alternatives.String
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaAlbumTitleExample: “The White Album”NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaAlbumTitleExample: “The White Album”NlpSemanticParsingAnnotationEvalData
favoriteIf true, indicates the user wants their favorite album. Like [play my favorite album my Eminem]NlpSemanticParsingModelsMediaAlbumTitleExample: “The White Album”boolean
firstIf true, indicates the user wants the first album. Like [play adele’s first album]NlpSemanticParsingModelsMediaAlbumTitleExample: “The White Album”boolean
isFromFastPathIs annotated by Nimble for the media Fast Path.NlpSemanticParsingModelsMediaAlbumTitleExample: “The White Album”boolean
latestIf true, indicates the user wants the latest album. Like, [play adele’s latest album]NlpSemanticParsingModelsMediaAlbumTitleExample: “The White Album”boolean
playMoreMore from this album.NlpSemanticParsingModelsMediaAlbumTitleExample: “The White Album”boolean
qrefNlpSemanticParsingModelsMediaAlbumTitleExample: “The White Album”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “The White Album.”NlpSemanticParsingModelsMediaAlbumTitleExample: “The White Album”String
albumNlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaAlbumTitle
artistNlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaMusicArtist
bookLike an audio book. “Listen to (moby dick) audiobook”NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaBook
dateTimeA date time constraint for audio entity, for example, “jazz station 1980”.NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingDatetimeDateTime
episodeConstraintConstraining the query to some detail about the episode. Example: “listen to episode (13) of this american life with (mike birbiglia)” would have the 2 constraints in parens.NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22list(NlpSemanticParsingModelsMediaEpisodeConstraint)
gameSoundtrack or theme song (see score_type param that indicates whether the user refers to a soundtrack or a theme song) of the game. “Play soundtrack from (Deus Ex Human Revolution)”.NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaGame
genericMusicNlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaGenericMusic
genreNlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaMusicGenre
movieSoundtrack or theme song (see score_type param that indicates whether the user refers to a soundtrack or a theme song) of the movie. E.g. “Play (Let It Go) from (Disney’s Frozen)”NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaMovie
newsTopicNews topic. “Listen to news about (Ukraine)”NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaNewsTopic
noExplicitAudioTrue when the query does not contains an explict audio name. E.g. When user says “play” or “listen to”.NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22boolean
playlistNlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaMusicPlaylist
podcastPodcast feeds. “Listen to (This American Life)”NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaPodcast
radioNlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaRadio
radioNetworkE.g. “play NPR radio”, “Play BBC radio”.NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaRadioNetwork
rawTextThe query for backends to use in search. e.g. for an user query of “play kids song video on tv” from assistant, this field would be “kids song”. Note: there is no guarantee this field is populated; when it is not, backends should fall back to “raw_text” fields in song, artist, album etc.NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22String
scoreTypeIf any of movie, game or tv show fields is populated this field indicates specific score type requested in the query. E.g. for [play soundtrack from frozen] this field is SOUNDTRACK, for [play frozen song] this field is THEME_SONG.NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22String
seasonConstraintConstraining the query to some detail about the season. Example: “listen to season 2 of serial”NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaSeasonConstraint
songNlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaSong
tagOptional tags associated with how the media entity should be played. For example, this can be set to SEED_RADIO to signify that the user wants to play a radio station seeded by the entity.NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22list(String)
tvShowSoundtrack or theme song (see score_type param that indicates whether the user refers to a soundtrack or a theme song) of the tv show. E.g. “Play soundtrack from (Friends)”.NlpSemanticParsingModelsMediaAudioRepresents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song’s identity. For instance, if no fields are set, then this represents “some song.” If only the music_artist is set, then it represents “some song by the specified music_artist.” Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22NlpSemanticParsingModelsMediaTVShow
audiobookMidThe MID of the audiobook entity (/book/book_edition).NlpSemanticParsingModelsMediaAudiobookInfoMetadata for an audiobook.String
authorsNlpSemanticParsingModelsMediaAudiobookInfoMetadata for an audiobook.list(String)
bookMidThe MID of the book entity (/book/book) which this audiobook is associated with.NlpSemanticParsingModelsMediaAudiobookInfoMetadata for an audiobook.String
narratorsNlpSemanticParsingModelsMediaAudiobookInfoMetadata for an audiobook.list(String)
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaBookExample: “East of Eden”NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaBookExample: “East of Eden”NlpSemanticParsingAnnotationEvalData
isAnnotatedFromTextAnnotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.NlpSemanticParsingModelsMediaBookExample: “East of Eden”boolean
latestIf true, indicates the user wants the latest book. Like, [play Dan Brown’s latest book]NlpSemanticParsingModelsMediaBookExample: “East of Eden”boolean
qrefNlpSemanticParsingModelsMediaBookExample: “East of Eden”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “East of Eden”NlpSemanticParsingModelsMediaBookExample: “East of Eden”String
castDeviceSourceNlpSemanticParsingModelsMediaCastDeviceAnnotationMedia device. Like, Chromecast, TV or Chirp. When emitted from the cast_device domain, you should expect it to be one of 3 different forms: 1) Personal Device: The annotation comes from a device we found in the user’s home. device_id and name should be set, cast_device_type is set if device type is mentioned in query. e.g. “Dima’s Pineapple Chirp” device_id: FOOBAR name: “Dima’s Pineapple” cast_device_type: CHIRP 2) Common Device Name: The annotation comes from a model of the common names of user’s device. name and cast_device_type should be set but device_id will not be. cast_device_type can be UNKNOWN. e.g. “John’s Living Room” name: “John’s Living Room” cast_device_type: UNKNOWN 3) Device Type: The annotation comes from a model of common cast device types. Only cast_device_type will be set. e.g. “TV” or “chromecast” cast_device_type: CHROMECAST Next ID: 9String
castDeviceTypeThis field is populated when the user says [play X on $cast_device] and we know the type of $cast_device but cannot identify the exact device.NlpSemanticParsingModelsMediaCastDeviceAnnotationMedia device. Like, Chromecast, TV or Chirp. When emitted from the cast_device domain, you should expect it to be one of 3 different forms: 1) Personal Device: The annotation comes from a device we found in the user’s home. device_id and name should be set, cast_device_type is set if device type is mentioned in query. e.g. “Dima’s Pineapple Chirp” device_id: FOOBAR name: “Dima’s Pineapple” cast_device_type: CHIRP 2) Common Device Name: The annotation comes from a model of the common names of user’s device. name and cast_device_type should be set but device_id will not be. cast_device_type can be UNKNOWN. e.g. “John’s Living Room” name: “John’s Living Room” cast_device_type: UNKNOWN 3) Device Type: The annotation comes from a model of common cast device types. Only cast_device_type will be set. e.g. “TV” or “chromecast” cast_device_type: CHROMECAST Next ID: 9String
creationTimestampMsThe timestamp that the device is linked with the user in milliseconds. This is inherited from the corresponding assistant DeviceSettings as is.NlpSemanticParsingModelsMediaCastDeviceAnnotationMedia device. Like, Chromecast, TV or Chirp. When emitted from the cast_device domain, you should expect it to be one of 3 different forms: 1) Personal Device: The annotation comes from a device we found in the user’s home. device_id and name should be set, cast_device_type is set if device type is mentioned in query. e.g. “Dima’s Pineapple Chirp” device_id: FOOBAR name: “Dima’s Pineapple” cast_device_type: CHIRP 2) Common Device Name: The annotation comes from a model of the common names of user’s device. name and cast_device_type should be set but device_id will not be. cast_device_type can be UNKNOWN. e.g. “John’s Living Room” name: “John’s Living Room” cast_device_type: UNKNOWN 3) Device Type: The annotation comes from a model of common cast device types. Only cast_device_type will be set. e.g. “TV” or “chromecast” cast_device_type: CHROMECAST Next ID: 9String
deviceIdDEPRECATED: Please use device_identifier instead.NlpSemanticParsingModelsMediaCastDeviceAnnotationMedia device. Like, Chromecast, TV or Chirp. When emitted from the cast_device domain, you should expect it to be one of 3 different forms: 1) Personal Device: The annotation comes from a device we found in the user’s home. device_id and name should be set, cast_device_type is set if device type is mentioned in query. e.g. “Dima’s Pineapple Chirp” device_id: FOOBAR name: “Dima’s Pineapple” cast_device_type: CHIRP 2) Common Device Name: The annotation comes from a model of the common names of user’s device. name and cast_device_type should be set but device_id will not be. cast_device_type can be UNKNOWN. e.g. “John’s Living Room” name: “John’s Living Room” cast_device_type: UNKNOWN 3) Device Type: The annotation comes from a model of common cast device types. Only cast_device_type will be set. e.g. “TV” or “chromecast” cast_device_type: CHROMECAST Next ID: 9String
deviceIdentifierThe identification of the device. This field is populated when the user says [play X on $device_name] and $device_name matches one of the devices linked to user’s account. } oneof Media DeviceNlpSemanticParsingModelsMediaCastDeviceAnnotationMedia device. Like, Chromecast, TV or Chirp. When emitted from the cast_device domain, you should expect it to be one of 3 different forms: 1) Personal Device: The annotation comes from a device we found in the user’s home. device_id and name should be set, cast_device_type is set if device type is mentioned in query. e.g. “Dima’s Pineapple Chirp” device_id: FOOBAR name: “Dima’s Pineapple” cast_device_type: CHIRP 2) Common Device Name: The annotation comes from a model of the common names of user’s device. name and cast_device_type should be set but device_id will not be. cast_device_type can be UNKNOWN. e.g. “John’s Living Room” name: “John’s Living Room” cast_device_type: UNKNOWN 3) Device Type: The annotation comes from a model of common cast device types. Only cast_device_type will be set. e.g. “TV” or “chromecast” cast_device_type: CHROMECAST Next ID: 9AssistantApiCoreTypesDeviceId
nameNlpSemanticParsingModelsMediaCastDeviceAnnotationMedia device. Like, Chromecast, TV or Chirp. When emitted from the cast_device domain, you should expect it to be one of 3 different forms: 1) Personal Device: The annotation comes from a device we found in the user’s home. device_id and name should be set, cast_device_type is set if device type is mentioned in query. e.g. “Dima’s Pineapple Chirp” device_id: FOOBAR name: “Dima’s Pineapple” cast_device_type: CHIRP 2) Common Device Name: The annotation comes from a model of the common names of user’s device. name and cast_device_type should be set but device_id will not be. cast_device_type can be UNKNOWN. e.g. “John’s Living Room” name: “John’s Living Room” cast_device_type: UNKNOWN 3) Device Type: The annotation comes from a model of common cast device types. Only cast_device_type will be set. e.g. “TV” or “chromecast” cast_device_type: CHROMECAST Next ID: 9String
quantificationThis field is populated when the user metioned quantification in the query. E.g., “2” or “all”.NlpSemanticParsingModelsMediaCastDeviceAnnotationMedia device. Like, Chromecast, TV or Chirp. When emitted from the cast_device domain, you should expect it to be one of 3 different forms: 1) Personal Device: The annotation comes from a device we found in the user’s home. device_id and name should be set, cast_device_type is set if device type is mentioned in query. e.g. “Dima’s Pineapple Chirp” device_id: FOOBAR name: “Dima’s Pineapple” cast_device_type: CHIRP 2) Common Device Name: The annotation comes from a model of the common names of user’s device. name and cast_device_type should be set but device_id will not be. cast_device_type can be UNKNOWN. e.g. “John’s Living Room” name: “John’s Living Room” cast_device_type: UNKNOWN 3) Device Type: The annotation comes from a model of common cast device types. Only cast_device_type will be set. e.g. “TV” or “chromecast” cast_device_type: CHROMECAST Next ID: 9NlpSemanticParsingModelsMediaQuantification
currencyCodeContains the standard code for the given type of currency. The value must represent a valid i18n_identifiers::CurrencyCode.NlpSemanticParsingModelsMediaCostRepresents a localized price. Next ID: 3String
priceContains the price in a particular currency.NlpSemanticParsingModelsMediaCostRepresents a localized price. Next ID: 3float
actionTypeThe type of the deeplink. Sometimes the deeplink is not only used for playing media, but also used for other actions. For example, the deeplink could be for playing a movie trailer from YouTube or recording a movie from YouTube TV.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18String
blacklistedCountryThe upper-case, III country code, e.g., “US”, in which the deeplink cannot play. For possible values, see: google3/i18n/identifiers/regioncode.h google3/java/com/google/i18n/identifiers/RegionCode.java For details on converting to and from ISO country codes, see http://iii-howto#GettingCanonRegionCodes.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18list(String)
countryThe upper-case, III country code, e.g., “US”, in which the deeplink can play. If unset or has “earth” (b/72566951), means the deeplink can be used world-wide except in |blacklisted_country| list. For possible values, see: google3/i18n/identifiers/regioncode.h google3/java/com/google/i18n/identifiers/RegionCode.java For details on converting to and from ISO country codes, see http://iii-howto#GettingCanonRegionCodes.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18list(String)
deeplinkDeeplink to the media. This deeplink is meant to be send to the provider app on available platforms without any modifications. Required.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18String
deeplinkForExecutionSome providers give us an opaque, unstable deeplink to use at execution-time. E.g. see http://go/collab-ranking-nl-uri#heading=h.ndmdfw388tk3 Such a deeplink is not useful for logging, caching, comparing to other candidate deeplinks, etc. So most fulfillment code will want the traditional, stable deeplink that can be interpreted, parsed, cached, etc (found in the “deeplink” field, above). But this opaque, unstable deeplink (if non-empty) must be included in the music initiation clientop.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18String
incompatibleWithCredentialsIndicate whether the deeplink is compatible with credentials. If true, CCS will not send the credentials to cast app. Currently this field is only used for voice-follow on cases on smart displays.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18boolean
offerList of offers that allow user to access the deeplink, that is if the list contains PREMIUM_SUBSCRIPTION and BASIC_SUBSCRIPTION users that have either premium or basic subscription can use the deeplink. If the list is empty it means that there are no subscription restrictions.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18list(String)
paidOfferDetailThis field is only used when “offer” includes a PAY_PER_USE. When “offer” includes a PAY_PER_USE, paid_offer_detail will contain offers for BUY and RENT offer_types with associated cost info.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18list(NlpSemanticParsingModelsMediaPaidOfferDetail)
platformList of platforms that support the deeplink. If the list is empty it means that there are no platform restrictions.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18list(String)
scoreDocument scores which are used for ranking action links. Document scores might come from CDOC in Raffia or other indexing systems. For example, for web pages, the score shows how likely the web page (composite doc) which generated this link refers to the given entity or how close a particular entity is with the given composite doc. For the larger design, please see go/ma_dedup. For PACIFIC_COLLAB_RANKING deeplink, the score is the normalized confidence score returned by partner for fulfillment candidate. For pivot candidates, the score is calculated with the index of the alternative results.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18float
subscriptionPackageNameName of subscription packages which are granted access to this deeplink. This is to match exactly the end users authentication system. This is to be used if the offer is BASIC_SUBSCRIPTION or PREMIUM_SUBSCRIPTION. There can be multiple packages — the user needs only to authenticate with a single package. For more information please see: go/subscription-packageNlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18list(String)
tagTags associated with the content played by this deeplink. In the common case, the deeplink is supposed to specify a music entity within the provider’s inventory, and the provider app should decide the actual content based on the user’s account profile (e.g., for a deeplink to an artist, playing tracks from the artist or similar artists, and for a song, playing the official album recording of the song). But in some cases, the deeplink belong to special content. For example, for an artist a seed radio based on the artist, and a live or karaoke version of a song. We use this field to mark such special content types.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18list(String)
validTimeWindowA time window in which the deeplink is valid. If not set, the deeplink is considered valid.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18NlpSemanticParsingModelsMediaDeeplinkInfoTimeWindow
vuiIdDEPRECATED: This field is ignored by understanding and fulfillment.NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18String
youtubeDeeplinkInfoAdditional info specific to YouTube Deeplink (if applicable).NlpSemanticParsingModelsMediaDeeplinkInfoProvider deeplink and associated metadata, in particular restrictions on platform and user’s subscription. Next ID: 18NlpSemanticParsingModelsMediaYouTubeDeeplinkInfo
endTimestampTime in seconds since epoch.NlpSemanticParsingModelsMediaDeeplinkInfoTimeWindowRepresents a time window expressed as a time range.String
startTimestampTime in seconds since epoch.NlpSemanticParsingModelsMediaDeeplinkInfoTimeWindowRepresents a time window expressed as a time range.String
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaDescriptionExample: “the episode with all of the comedians”. A free-form text description of a media.NlpSemanticParsingAnnotationEvalData
rawTextNlpSemanticParsingModelsMediaDescriptionExample: “the episode with all of the comedians”. A free-form text description of a media.String
absoluteIndexThe absolute index of the episode. 1 is the first element and -1 is the last element in the sequence, -2 is the second-to-last element, and so on. Examples: “first episode” => 1 “3rd episode” => 3 “last episode” => -1NlpSemanticParsingModelsMediaEpisodeConstraintExample: “latest” would constrain the episode to a certain ordinal.integer
dateTimeDate/time of the message. This could be an absolute date/time (e.g. find my message from monday) or a date/time range (e.g. find my message in the past four hours). This constrains *when* the episode came out.NlpSemanticParsingModelsMediaEpisodeConstraintExample: “latest” would constrain the episode to a certain ordinal.NlpSemanticParsingDatetimeDateTime
descriptionA description of the episode. Example: For the query: [listen to this american life about cars] the description would be “cars”NlpSemanticParsingModelsMediaEpisodeConstraintExample: “latest” would constrain the episode to a certain ordinal.NlpSemanticParsingModelsMediaDescription
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaEpisodeConstraintExample: “latest” would constrain the episode to a certain ordinal.NlpSemanticParsingAnnotationEvalData
rawTextNlpSemanticParsingModelsMediaEpisodeConstraintExample: “latest” would constrain the episode to a certain ordinal.String
relativeIndexThe relative index of the episode. Examples: “previous episode” => -1 “current episode” => 0 “next episode” => 1NlpSemanticParsingModelsMediaEpisodeConstraintExample: “latest” would constrain the episode to a certain ordinal.integer
bandThe broadcast band used by the radio station.NlpSemanticParsingModelsMediaFrequencyDefines a frequency for a terrestrial radio station. For instance, 99.1 FM, 730 AM, etc. Next ID: 4String
valueFrequency in MHz (for FM) and KHz (for AM).NlpSemanticParsingModelsMediaFrequencyDefines a frequency for a terrestrial radio station. For instance, 99.1 FM, 730 AM, etc. Next ID: 4float
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaGameExample: “Deus Ex Human Revolution”NlpSemanticParsingAnnotationEvalData
isAnnotatedFromTextAnnotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.NlpSemanticParsingModelsMediaGameExample: “Deus Ex Human Revolution”boolean
qrefNlpSemanticParsingModelsMediaGameExample: “Deus Ex Human Revolution”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “Deus Ex Human Revolution”NlpSemanticParsingModelsMediaGameExample: “Deus Ex Human Revolution”String
annotationListAnnotations from custom media annotator. Deprecated – generic music deeplinks should be added to the Provider config, not to the grammar.NlpSemanticParsingModelsMediaGenericMusicExample: “my library”, “some music”.NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaGenericMusicExample: “my library”, “some music”.NlpSemanticParsingAnnotationEvalData
newMusicNew music.NlpSemanticParsingModelsMediaGenericMusicExample: “my library”, “some music”.boolean
rawTextRequired, corresponds to the raw text, like “my tracks”NlpSemanticParsingModelsMediaGenericMusicExample: “my library”, “some music”.String
typeNlpSemanticParsingModelsMediaGenericMusicExample: “my library”, “some music”.String
latitudeThe latitude in degrees. It must be in the range [-90.0, +90.0].NlpSemanticParsingModelsMediaLatLngAn object representing a latitude/longitude pair. More info in https://cs.corp.google.com/piper///depot/google3/google/type/latlng.protofloat
longitudeThe longitude in degrees. It must be in the range [-180.0, +180.0].NlpSemanticParsingModelsMediaLatLngAn object representing a latitude/longitude pair. More info in https://cs.corp.google.com/piper///depot/google3/google/type/latlng.protofloat
artistNameName of the artist (if applicable). Used for songs and albums.NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17String
audiobookInfoAdditional info specific to an audiobook (if applicable).NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17NlpSemanticParsingModelsMediaAudiobookInfo
contentTypeType of the media content. This field is not always populated, but only when this annotation is used to represent an individual media item, e.g., when it is the value of an intent argument storing a media object to play.NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17String
imageImages of the media.NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17list(AssistantApiCoreTypesImage)
nameName of the media. Required.NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17String
newsInfoAdditional info specific to a news audio/video stream (if applicable).NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17NlpSemanticParsingModelsMediaNewsInfo
personalDataIngestionEngineThe personal ingestion engine.NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17String
playlistVisibilityVisibility setting of the retrieved playlist.NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17String
podcastInfoAdditional info specific to podcast stream (if applicable).NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17NlpSemanticParsingModelsMediaPodcastInfo
primaryEntityMidNlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17String
providerInfoList of providers and their deeplinks.NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17list(NlpSemanticParsingModelsMediaMediaProviderInfo)
purchaseInfoPurchase info for purchased or preordered movies, episodes, seasons, tv shows.NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17NlpSemanticParsingModelsMediaPurchaseInfo
radioInfoOnly one of these fields should be set depending on the type of the content. oneof content_specific_info { Additional info specific to a radio station (if applicable).NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17NlpSemanticParsingModelsMediaRadioInfo
rentalInfoRental info for rented movies.NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17NlpSemanticParsingModelsMediaRentalInfo
sourceNlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17String
youtubePlaylistInfoAdditional info specific to YouTube playlist (if applicable).NlpSemanticParsingModelsMediaMediaAnnotationAnnotation for media entities. Next ID: 17NlpSemanticParsingModelsMediaYouTubePlaylistInfo
annotationNlpSemanticParsingModelsMediaMediaAnnotationListList of MediaAnnotation. Media annotators should use the MediaAnnotationList to annotate spans instead of MediaAnnotation. This prevents exponential explosion of interpretations (consider [play $song by $artist on $device]) and allows us to have simpler tests for grammar.list(NlpSemanticParsingModelsMediaMediaAnnotation)
deeplinkInfoDeeplinks provided by the provider. If empty it indicates that the media is unavailable with the provider, e.g. due to country restrictions or limited catalog.NlpSemanticParsingModelsMediaMediaProviderInfoA media provider and the deeplinks provided by the provider. MediaProviderInfo is an abstraction for topics of multiple media related KG types under /base/mediaasset domain and /media_common. It’s often eligible for topics of media related KG types like /broadcast/radio_station, /film/film, /music/artist, /music/album, /music/recording_cluster, /music/recording, /tv/tv_program, etc. See go/media-pq for design details. Next ID: 6list(NlpSemanticParsingModelsMediaDeeplinkInfo)
kgProviderKeyThe unique and reverse unique provider enumerator in KG (e.g., “ORANGE_SPAIN” for /g/11h6nkfyrm). It is more stable than the KG mid. See go/kema-api#keys. Some mids cannot have the enumerator property due to historical reason (e.g., multiple media providers were created for iTunes and only “”/g/11fhyxjwt5” has provider enumerator as “ITUNES_NEW” in KG). These entities need to have hard-coded key (e.g., “/m/019g58” has key “ITUNES”) kept outside of KG.NlpSemanticParsingModelsMediaMediaProviderInfoA media provider and the deeplinks provided by the provider. MediaProviderInfo is an abstraction for topics of multiple media related KG types under /base/mediaasset domain and /media_common. It’s often eligible for topics of media related KG types like /broadcast/radio_station, /film/film, /music/artist, /music/album, /music/recording_cluster, /music/recording, /tv/tv_program, etc. See go/media-pq for design details. Next ID: 6String
mediaIdMedia ID of a MediaItem in a MediaBrowseTree (MBT). This field is used to play a specific media item from MBT using playFromMediaId API.NlpSemanticParsingModelsMediaMediaProviderInfoA media provider and the deeplinks provided by the provider. MediaProviderInfo is an abstraction for topics of multiple media related KG types under /base/mediaasset domain and /media_common. It’s often eligible for topics of media related KG types like /broadcast/radio_station, /film/film, /music/artist, /music/album, /music/recording_cluster, /music/recording, /tv/tv_program, etc. See go/media-pq for design details. Next ID: 6String
providerMidThe machine ID (MID) of the media provider.NlpSemanticParsingModelsMediaMediaProviderInfoA media provider and the deeplinks provided by the provider. MediaProviderInfo is an abstraction for topics of multiple media related KG types under /base/mediaasset domain and /media_common. It’s often eligible for topics of media related KG types like /broadcast/radio_station, /film/film, /music/artist, /music/album, /music/recording_cluster, /music/recording, /tv/tv_program, etc. See go/media-pq for design details. Next ID: 6String
providerNameThe name of the media provider.NlpSemanticParsingModelsMediaMediaProviderInfoA media provider and the deeplinks provided by the provider. MediaProviderInfo is an abstraction for topics of multiple media related KG types under /base/mediaasset domain and /media_common. It’s often eligible for topics of media related KG types like /broadcast/radio_station, /film/film, /music/artist, /music/album, /music/recording_cluster, /music/recording, /tv/tv_program, etc. See go/media-pq for design details. Next ID: 6String
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaMovieExample: “Casablanca”NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaMovieExample: “Casablanca”NlpSemanticParsingAnnotationEvalData
isAnnotatedFromTextAnnotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.NlpSemanticParsingModelsMediaMovieExample: “Casablanca”boolean
isFromFastPathIs annotated by Nimble for the media Fast Path.NlpSemanticParsingModelsMediaMovieExample: “Casablanca”boolean
providerMetadataNlpSemanticParsingModelsMediaMovieExample: “Casablanca”list(NlpSemanticParsingModelsMediaProviderMetadata)
qrefNlpSemanticParsingModelsMediaMovieExample: “Casablanca”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “Casablanca”NlpSemanticParsingModelsMediaMovieExample: “Casablanca”String
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaMusicArtistExample: “The Beatles”NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaMusicArtistExample: “The Beatles”NlpSemanticParsingAnnotationEvalData
favoriteIf true, indicates the user wants their favorite album. Like [play my favorite album my Eminem]NlpSemanticParsingModelsMediaMusicArtistExample: “The Beatles”boolean
isFromFastPathIs annotated by Nimble for the media Fast Path.NlpSemanticParsingModelsMediaMusicArtistExample: “The Beatles”boolean
playMoreMore from this artist.NlpSemanticParsingModelsMediaMusicArtistExample: “The Beatles”boolean
qrefNlpSemanticParsingModelsMediaMusicArtistExample: “The Beatles”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “The Beatles”NlpSemanticParsingModelsMediaMusicArtistExample: “The Beatles”String
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaMusicGenreExample: “British Invasion”NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaMusicGenreExample: “British Invasion”NlpSemanticParsingAnnotationEvalData
playMoreMore from this genre.NlpSemanticParsingModelsMediaMusicGenreExample: “British Invasion”boolean
qrefNlpSemanticParsingModelsMediaMusicGenreExample: “British Invasion”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “British Invasion”NlpSemanticParsingModelsMediaMusicGenreExample: “British Invasion”String
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaMusicPlaylistExample: “gym playlist”NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaMusicPlaylistExample: “gym playlist”NlpSemanticParsingAnnotationEvalData
isAnnotatedFromTextAnnotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.NlpSemanticParsingModelsMediaMusicPlaylistExample: “gym playlist”boolean
longtailMoodIf the model is confident that this is a bizarre long-tail mood-based playlist, it can send a signal to downstream systems (that might do things like generate random music) Example: * [play music for brushing my teeth with the lights off on tuesday] This is pretty much an ‘easter egg’ — it is not critical.NlpSemanticParsingModelsMediaMusicPlaylistExample: “gym playlist”boolean
normalizedTextOptional, some canonical name for the playlist.NlpSemanticParsingModelsMediaMusicPlaylistExample: “gym playlist”String
qrefNeeded for proto conformance in Semantic Parsing.NlpSemanticParsingModelsMediaMusicPlaylistExample: “gym playlist”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “80s remix” (tokenized)NlpSemanticParsingModelsMediaMusicPlaylistExample: “gym playlist”String
specialNlpSemanticParsingModelsMediaMusicPlaylistExample: “gym playlist”String
docidThe docid of the news result from News360 backend.NlpSemanticParsingModelsMediaNewsInfoString
newsContentTypeIndicates how the type of the news result.NlpSemanticParsingModelsMediaNewsInfoString
publicationTimePublication time of the news, in seconds (unix epoch).NlpSemanticParsingModelsMediaNewsInfoAssistantApiTimestamp
publisherThe publisher of the news.NlpSemanticParsingModelsMediaNewsInfoString
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaNewsTopicExample: “ukraine” in a query like “read me news about Ukraine”NlpSemanticParsingAnnotationEvalData
rawTextNlpSemanticParsingModelsMediaNewsTopicExample: “ukraine” in a query like “read me news about Ukraine”String
costRepresents the price of this offer according to the locale and region.NlpSemanticParsingModelsMediaPaidOfferDetailRepresents BUY and RENT offers and associated cost info. Next ID: 3list(NlpSemanticParsingModelsMediaCost)
paidOfferTypeSpecifies the type of offer.NlpSemanticParsingModelsMediaPaidOfferDetailRepresents BUY and RENT offers and associated cost info. Next ID: 3String
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaPodcastExample: “This American Life”NlpSemanticParsingAnnotationEvalData
isAnnotatedFromTextAnnotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.NlpSemanticParsingModelsMediaPodcastExample: “This American Life”boolean
normalizedTextOptional, some canonical name for the playlist.NlpSemanticParsingModelsMediaPodcastExample: “This American Life”String
qrefNlpSemanticParsingModelsMediaPodcastExample: “This American Life”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “this american life”NlpSemanticParsingModelsMediaPodcastExample: “This American Life”String
clusterIdAn internal identifier for the wernicke database that identifies a cluster of multiple sources for a particular podcast.NlpSemanticParsingModelsMediaPodcastInfoString
episodeGuidGUID of the given podcast episode.NlpSemanticParsingModelsMediaPodcastInfoString
feedUrlThe url for the rss feed providing this podcast.NlpSemanticParsingModelsMediaPodcastInfoString
podcastRecsFeaturesPodcast recommendations features. These features are used to train models for reranking podcast recommendations. Full list of features: http://shortn/_bg6NvzYs6F This won’t be sent to clients. It will only be annotated for crust resultsNlpSemanticParsingModelsMediaPodcastInfoSuperrootPodcastsRecommendationsPodcastRecsFeatures
titleNlpSemanticParsingModelsMediaPodcastInfoString
deeplinkUrlURL like https://www.netflix.com/title/70305883 — this is used as a deeplink to play the video.NlpSemanticParsingModelsMediaProviderMetadataProvider metadata associated with video.String
providerMidProvider MID.NlpSemanticParsingModelsMediaProviderMetadataProvider metadata associated with video.String
orderTypeNlpSemanticParsingModelsMediaPurchaseInfoString
purchaseTimestampSecThe time at which the item is purchased.NlpSemanticParsingModelsMediaPurchaseInfoString
lexicalNlpSemanticParsingModelsMediaQuantificationThe quantification of device(s) in the query. For example, “three speakers”, “all TVs”, etc. Usually, we should have either lexical field or number field. However, there are some special words which we will set both fields. For example, “all 3” will have the semantic: {lexical=ALL, number=3}. Note that “both” is simply modeled as {lexical=ALL}.String
numberNumerical quantification. E.g., “three speakers”.NlpSemanticParsingModelsMediaQuantificationThe quantification of device(s) in the query. For example, “three speakers”, “all TVs”, etc. Usually, we should have either lexical field or number field. However, there are some special words which we will set both fields. For example, “all 3” will have the semantic: {lexical=ALL, number=3}. Note that “both” is simply modeled as {lexical=ALL}.integer
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaRadioExample: “107.7 the bone”NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaRadioExample: “107.7 the bone”NlpSemanticParsingAnnotationEvalData
favoriteIf true, indicates the user wants their favorite radio station to be played. Ex: [play my favorites on radio]NlpSemanticParsingModelsMediaRadioExample: “107.7 the bone”boolean
frequencyThis proto may only be partially filled depending on the query. ## Some examples (all of them have open_intent): ## | Query |radio.raw_text|radio.frequency.band|radio.frequency.value| |[play kqed fm]| [kqed fm] | [fm] | N/A | |[play 88.5 fm]| [88.5 fm] | [fm] | 88.5 | | [play 88.5 | [88.5] | N/A | 88.5 | ## | [play fm] | [fm] | [fm] | N/A |NlpSemanticParsingModelsMediaRadioExample: “107.7 the bone”NlpSemanticParsingModelsMediaFrequency
isAnnotatedFromTextAnnotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.NlpSemanticParsingModelsMediaRadioExample: “107.7 the bone”boolean
isFromFastPathIs annotated by Nimble for the media Fast Path.NlpSemanticParsingModelsMediaRadioExample: “107.7 the bone”boolean
qrefNlpSemanticParsingModelsMediaRadioExample: “107.7 the bone”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “107.7”NlpSemanticParsingModelsMediaRadioExample: “107.7 the bone”String
frequencyFrequency of the terrestrial radio station.NlpSemanticParsingModelsMediaRadioInfoMetadata for a radio station (both terrestrial and internet). Next ID: 4NlpSemanticParsingModelsMediaFrequency
locationLocation of the radio station.NlpSemanticParsingModelsMediaRadioInfoMetadata for a radio station (both terrestrial and internet). Next ID: 4NlpSemanticParsingModelsMediaLatLng
popularityPopularity of the radio station. This will be used in ranking of the radio stations. This value should be between 0 (least popular) and 5 (most popular).NlpSemanticParsingModelsMediaRadioInfoMetadata for a radio station (both terrestrial and internet). Next ID: 4float
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaRadioNetworkExample: “npr”, “bbc”, etc.NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaRadioNetworkExample: “npr”, “bbc”, etc.NlpSemanticParsingAnnotationEvalData
qrefNlpSemanticParsingModelsMediaRadioNetworkExample: “npr”, “bbc”, etc.NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “npr”NlpSemanticParsingModelsMediaRadioNetworkExample: “npr”, “bbc”, etc.String
activatePeriodSecTime period for users to continue watching.NlpSemanticParsingModelsMediaRentalInfoString
grantPeriodSecTime period for users to begin watching.NlpSemanticParsingModelsMediaRentalInfoString
purchaseTimestampSecThe time at which the item is purchased.NlpSemanticParsingModelsMediaRentalInfoString
validUntilTimestampSecTime until which ownership is grantedNlpSemanticParsingModelsMediaRentalInfoString
absoluteIndexThe absolute index of the season. 1 is the first element and -1 is the last element in the sequence, -2 is the second-to-last element, and so on. Examples: “first season” => 1 “3rd season” => 3 “last season” => -1NlpSemanticParsingModelsMediaSeasonConstraintExample: “season 2” of serialinteger
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaSeasonConstraintExample: “season 2” of serialNlpSemanticParsingAnnotationEvalData
rawTextNlpSemanticParsingModelsMediaSeasonConstraintExample: “season 2” of serialString
relativeIndexThe relative index of the season. Examples: “previous season” => -1 “current season” => 0 “next season” => 1NlpSemanticParsingModelsMediaSeasonConstraintExample: “season 2” of serialinteger
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaSongExample: “Hey Jude”NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaSongExample: “Hey Jude”NlpSemanticParsingAnnotationEvalData
favoriteIf true, indicates the user wants their favorite album. Like [play my favorite song]NlpSemanticParsingModelsMediaSongExample: “Hey Jude”boolean
firstIf true, indicates the user wants the first song. Like [play adele’s first song]NlpSemanticParsingModelsMediaSongExample: “Hey Jude”boolean
isAnnotatedFromTextAnnotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.NlpSemanticParsingModelsMediaSongExample: “Hey Jude”boolean
isFromFastPathIs annotated by Nimble for the media Fast Path.NlpSemanticParsingModelsMediaSongExample: “Hey Jude”boolean
latestIf true, indicates the user wants the latest song. Like, [play adele’s latest song]NlpSemanticParsingModelsMediaSongExample: “Hey Jude”boolean
qrefOptional, indicates this reference came from QRef.NlpSemanticParsingModelsMediaSongExample: “Hey Jude”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “Hey Jude.”NlpSemanticParsingModelsMediaSongExample: “Hey Jude”String
annotationListAnnotations from custom media annotator.NlpSemanticParsingModelsMediaTVShowExample: “Breaking Bad”NlpSemanticParsingModelsMediaMediaAnnotationList
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsMediaTVShowExample: “Breaking Bad”NlpSemanticParsingAnnotationEvalData
isFromFastPathIs annotated by Nimble for the media Fast Path.NlpSemanticParsingModelsMediaTVShowExample: “Breaking Bad”boolean
providerMetadataNlpSemanticParsingModelsMediaTVShowExample: “Breaking Bad”list(NlpSemanticParsingModelsMediaProviderMetadata)
qrefNlpSemanticParsingModelsMediaTVShowExample: “Breaking Bad”NlpSemanticParsingQRefAnnotation
rawTextRequired, corresponds to the raw text, like “Breaking Bad”NlpSemanticParsingModelsMediaTVShowExample: “Breaking Bad”String
clickTrackingIdSee go/yt-clicktracking. Serialized youtube.api.innertube.InnerTubeClickTrackingProto.NlpSemanticParsingModelsMediaYouTubeDeeplinkInfoProvide the deeplink information specific to YouTube PMAs. Next ID: 3String
uploaderChannelIdFor YouTube Channels, by default the deeplink is set to be the playlist of all uploads from the channel. This field is used for YouTube in-app browse when we need the YouTube channel’s main page url. We will use the uploader_channel_id to construct the needed channel deeplink.NlpSemanticParsingModelsMediaYouTubeDeeplinkInfoProvide the deeplink information specific to YouTube PMAs. Next ID: 3String
numVidsPlayableInWoodstockCount of videos in the YouTube playlist that are playable in WoodStock. For performance reasons the maximum value this field can reach is capped, see: kMaxVideosPerPlaylistForSearchMetadata.NlpSemanticParsingModelsMediaYouTubePlaylistInfoString
videoCountTotal number of videos present in the retrieved playlist.NlpSemanticParsingModelsMediaYouTubePlaylistInfointeger
freebaseMidKG Currency midNlpSemanticParsingModelsMoneyCurrencyString
amountNlpSemanticParsingModelsMoneyMoneyRepresent a money quantityNlpSemanticParsingNumberNumber
currencyNlpSemanticParsingModelsMoneyMoneyRepresent a money quantityNlpSemanticParsingModelsMoneyCurrency
dataAnnotation data for the provider.NlpSemanticParsingModelsNarrativeNewsNewsProviderCorresponds to an entry in our hand-curated Nimble table of providers.QualityActionsNewsProviderAnnotationData
evalDataRequired, but should only be used inside Aqua and must not be used by outside clients!!NlpSemanticParsingModelsNarrativeNewsNewsProviderCorresponds to an entry in our hand-curated Nimble table of providers.NlpSemanticParsingAnnotationEvalData
rawTextNlpSemanticParsingModelsNarrativeNewsNewsProviderCorresponds to an entry in our hand-curated Nimble table of providers.String
deviceThe device(s) to perform an action.NlpSemanticParsingModelsOnDeviceOnDevice describes the device(s) to perform an action. This message type can be imported in action messages as an argument.list(NlpSemanticParsingModelsDevice)
alternativeNameInfoAlternative names like “John” for “Joan”, with info such as RecognitionAlternateSource indicating where is it from.NlpSemanticParsingModelsPersonPersonlist(QualityQrewriteAlternativeNameInfo)
alternativeNamesAlternative names, e.g., names with similar pronunciation, Kathy and Cathy.NlpSemanticParsingModelsPersonPersonlist(String)
annotationSourceNlpSemanticParsingModelsPersonPersonlist(String)
contactDataContact metadata. Only available for personal contact.NlpSemanticParsingModelsPersonPersonlist(QualityQrewritePersonalContactData)
evalDataRequired, but should only be used inside Aqua. Must not be used by outside clients!!NlpSemanticParsingModelsPersonPersonNlpSemanticParsingAnnotationEvalData
isPersonGroupReferenceIndicates whether $Person is used for person-group reference. If true, then the PersonalContactData in repeated contact_data field probably correspond to a group of different persons, where $Person is used to represent family, kids, parents, etc.NlpSemanticParsingModelsPersonPersonboolean
isPersonalContactWhether the person is from personal contacts (e.g. Focus contacts or device contacts) or the person is constructed from a Gaia profile visible to the user (e.g. via Family Service).NlpSemanticParsingModelsPersonPersonboolean
nameThe name of the person without normalizations, preserves casing of the raw text, but removes possible prefix/suffix. For example: raw_text: “Mr. John” normalized_text: “john” name: “John” raw_text: “Tüll” normalized_text: “tuell” name: “Tüll”NlpSemanticParsingModelsPersonPersonString
normalizedTextNormalized text produced by annotator. Some annotators generate a normalized version to help better match with contact list.NlpSemanticParsingModelsPersonPersonString
pkgSemanticsContains information about a Copley Person reference (go/copley-people). Note that this contains no information about the resolved people (e.g. names, phone numbers) but only about the user’s reference. Resolution metadata is stored in contact_data.pkg_person.NlpSemanticParsingModelsPersonPersonNlpSemanticParsingQRefAnnotation
rawTextNlpSemanticParsingModelsPersonPersonString
dailyPatternOptional. Specifies when in the day the task should occur. Applies to all frequencies DAILY and greater. If absent, the repeating tasks are considered “all day” type.NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.NlpSemanticParsingModelsRecurrenceDailyPattern
evalDataThis field of the Recurrence message should not in general be used by outside clients of the grammar. It is intended to be used internally in Aqua for evaluation purposes. The rationale is that token counts depend on the particular tokenization used in Aqua which may be different from the one used by the client and may change from time to time. Outside clients should not create a dependency on the current tokenization used in Aqua.NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.NlpSemanticParsingAnnotationEvalData
everyMultiplier on the frequency of the recurrence. Use this to specify patterns that recur every X days, months, years, etc. Example: [remind me to call mom every 2nd week]. Default is 1 (every day, every month, every year). Floating point numbers are understood and rounded to the nearest integer. E.g. “every 2.8 months” => (every 3)NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.integer
frequencyRequired. The high-level frequency of the recurrence.NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.String
monthlyPatternSpecify a monthly recurrence. Valid and required for MONTHLY frequencies only.NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.NlpSemanticParsingModelsRecurrenceMonthlyPattern
numInstancesInFrequencyHow many times the task should be repeated within the frequency interval. Floating point numbers are understood and rounded to the nearest integer. E.g. “3.8 times per week” => (num_instances_in_frequency 4)NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.integer
recurrenceEndRequired. The end condition for the recurrence.NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.NlpSemanticParsingModelsRecurrenceRecurrenceEnd
recurrenceStartRequired. The start of the recurrence.NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.NlpSemanticParsingModelsRecurrenceRecurrenceStart
timeOptional time included with some types of recurrence phrases, such as “every morning”.NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.NlpSemanticParsingDatetimeDateTime
weeklyPatternSpecify a weekly recurrence. Valid and required for WEEKLY frequencies only.NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.NlpSemanticParsingModelsRecurrenceWeeklyPattern
yearlyPatternSpecify a yearly recurrence. Valid only for YEARLY frequencies.NlpSemanticParsingModelsRecurrenceRecurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.NlpSemanticParsingModelsRecurrenceYearlyPattern
dayPeriodNlpSemanticParsingModelsRecurrenceDailyPatternPattern for when in the day the repeating task should trigger. Applies to all frequencies greater than or equal to DAILY. Exactly one of the containing fields should be set (i.e. a specific time or period).NlpSemanticParsingDateTimeAnnotation
timeOfDayNlpSemanticParsingModelsRecurrenceDailyPatternPattern for when in the day the repeating task should trigger. Applies to all frequencies greater than or equal to DAILY. Exactly one of the containing fields should be set (i.e. a specific time or period).NlpSemanticParsingDateTimeAnnotation
lastDaySpecial flag to indicate the last day of the month, equivalent to setting month_day to -1. Deprecated, use month_day=-1 instead.NlpSemanticParsingModelsRecurrenceMonthlyPatternPattern for a MONTHLY recurrence. A MONTHLY recurrence may be specified in four different ways. These fields should be set in a mutually exclusive way, i.e.: ((month_day OR last_day) XOR (week_day AND (week_day_number OR last_week))) 1. Absolute days of the month (i.e. the 1st and 15th) or relative day from the end of the month (i.e. -1 for last day, -2 for second-to-last day). Set month_day. 2. [Deprecated] Relative last day of the month. Represented as a boolean since the last absolute day number is dependent on the month. This is just a short-cut for month_day=-1 and is deprecated. Set last_day=true. 3. The nth (or nth-last) specific weekday of the month. For example, the 3rd Wednesday of the month. This represents the 3rd instance of a Wednesday of the month, regardless of what weekday the month started on. It does not necessarily mean the Wednesday on the 3rd week of the month. 4. [Deprecated] The last specific weekday of the month. For example, the last Thursday of the month. This is a short-cut for week_day_number=-1.boolean
lastWeekSpecial flag to indicate a week_day in the last week of the month, as this cannot be captured by week_day_number. Deprecated, use week_day_number=-1 instead.NlpSemanticParsingModelsRecurrenceMonthlyPatternPattern for a MONTHLY recurrence. A MONTHLY recurrence may be specified in four different ways. These fields should be set in a mutually exclusive way, i.e.: ((month_day OR last_day) XOR (week_day AND (week_day_number OR last_week))) 1. Absolute days of the month (i.e. the 1st and 15th) or relative day from the end of the month (i.e. -1 for last day, -2 for second-to-last day). Set month_day. 2. [Deprecated] Relative last day of the month. Represented as a boolean since the last absolute day number is dependent on the month. This is just a short-cut for month_day=-1 and is deprecated. Set last_day=true. 3. The nth (or nth-last) specific weekday of the month. For example, the 3rd Wednesday of the month. This represents the 3rd instance of a Wednesday of the month, regardless of what weekday the month started on. It does not necessarily mean the Wednesday on the 3rd week of the month. 4. [Deprecated] The last specific weekday of the month. For example, the last Thursday of the month. This is a short-cut for week_day_number=-1.boolean
monthDayAbsolute day of the month (if positive) or relative day from the end of the month (if negative). Example: 2nd and 20th of the month [2, 20]. Example: Last day of the month [-1]. Positive values should correspond to actual calendar day number (indexing starts at 1).NlpSemanticParsingModelsRecurrenceMonthlyPatternPattern for a MONTHLY recurrence. A MONTHLY recurrence may be specified in four different ways. These fields should be set in a mutually exclusive way, i.e.: ((month_day OR last_day) XOR (week_day AND (week_day_number OR last_week))) 1. Absolute days of the month (i.e. the 1st and 15th) or relative day from the end of the month (i.e. -1 for last day, -2 for second-to-last day). Set month_day. 2. [Deprecated] Relative last day of the month. Represented as a boolean since the last absolute day number is dependent on the month. This is just a short-cut for month_day=-1 and is deprecated. Set last_day=true. 3. The nth (or nth-last) specific weekday of the month. For example, the 3rd Wednesday of the month. This represents the 3rd instance of a Wednesday of the month, regardless of what weekday the month started on. It does not necessarily mean the Wednesday on the 3rd week of the month. 4. [Deprecated] The last specific weekday of the month. For example, the last Thursday of the month. This is a short-cut for week_day_number=-1.list(integer)
weekDayFor capturing the nth weekday of the month. Use together with week_day_number or last_week to specify n.NlpSemanticParsingModelsRecurrenceMonthlyPatternPattern for a MONTHLY recurrence. A MONTHLY recurrence may be specified in four different ways. These fields should be set in a mutually exclusive way, i.e.: ((month_day OR last_day) XOR (week_day AND (week_day_number OR last_week))) 1. Absolute days of the month (i.e. the 1st and 15th) or relative day from the end of the month (i.e. -1 for last day, -2 for second-to-last day). Set month_day. 2. [Deprecated] Relative last day of the month. Represented as a boolean since the last absolute day number is dependent on the month. This is just a short-cut for month_day=-1 and is deprecated. Set last_day=true. 3. The nth (or nth-last) specific weekday of the month. For example, the 3rd Wednesday of the month. This represents the 3rd instance of a Wednesday of the month, regardless of what weekday the month started on. It does not necessarily mean the Wednesday on the 3rd week of the month. 4. [Deprecated] The last specific weekday of the month. For example, the last Thursday of the month. This is a short-cut for week_day_number=-1.String
weekDayNumberThe nth occurrence of week_day to match. I.e. For 3rd Wednesday of the month, week_day = WEDNESDAY and week_day_number = 3. Values beyond the end of the month are skipped. If negative, this is interpreted as the nth-to-last occurrence of the week day in the month. I.e. for last Thursday of the month, week_day = THURSDAY and week_day_number = -1.NlpSemanticParsingModelsRecurrenceMonthlyPatternPattern for a MONTHLY recurrence. A MONTHLY recurrence may be specified in four different ways. These fields should be set in a mutually exclusive way, i.e.: ((month_day OR last_day) XOR (week_day AND (week_day_number OR last_week))) 1. Absolute days of the month (i.e. the 1st and 15th) or relative day from the end of the month (i.e. -1 for last day, -2 for second-to-last day). Set month_day. 2. [Deprecated] Relative last day of the month. Represented as a boolean since the last absolute day number is dependent on the month. This is just a short-cut for month_day=-1 and is deprecated. Set last_day=true. 3. The nth (or nth-last) specific weekday of the month. For example, the 3rd Wednesday of the month. This represents the 3rd instance of a Wednesday of the month, regardless of what weekday the month started on. It does not necessarily mean the Wednesday on the 3rd week of the month. 4. [Deprecated] The last specific weekday of the month. For example, the last Thursday of the month. This is a short-cut for week_day_number=-1.integer
autoRenewShould be used in cases where the size of the recurrence is infinite (no end date specified), in which case we rely on an offline process to extend. Set by server only, setting it on a new recurrence will throw an exception.NlpSemanticParsingModelsRecurrenceRecurrenceEndThe end of the recurrence can be represented in one of three ways. 1. An abstract DateTime. (inclusive) 2. An absolute timestamp, in milliseconds from UTC epoch. 3. A number of occurrences. Exactly one of the fields [end_date_time, end_millis, num_occurrences] in this message must be set. Repeating tasks for which the user did not specify an end date are automatically given a reasonable end conditions by the system and auto_renew will be set to true. Similarly, if the user- provided end date is too far in the future to reasonably create all instances, the server will set an auto_renew_until end condition.boolean
autoRenewUntilUsed in cases where the recurrence is too large to create in a single transaction. In this case we create a manageable number of instances initially and rely on an offline process to continually extend the recurrence until this date. Set by server only, setting it on a new recurrence will throw an exception.NlpSemanticParsingModelsRecurrenceRecurrenceEndThe end of the recurrence can be represented in one of three ways. 1. An abstract DateTime. (inclusive) 2. An absolute timestamp, in milliseconds from UTC epoch. 3. A number of occurrences. Exactly one of the fields [end_date_time, end_millis, num_occurrences] in this message must be set. Repeating tasks for which the user did not specify an end date are automatically given a reasonable end conditions by the system and auto_renew will be set to true. Similarly, if the user- provided end date is too far in the future to reasonably create all instances, the server will set an auto_renew_until end condition.NlpSemanticParsingDateTimeAnnotation
endDateTimeNlpSemanticParsingModelsRecurrenceRecurrenceEndThe end of the recurrence can be represented in one of three ways. 1. An abstract DateTime. (inclusive) 2. An absolute timestamp, in milliseconds from UTC epoch. 3. A number of occurrences. Exactly one of the fields [end_date_time, end_millis, num_occurrences] in this message must be set. Repeating tasks for which the user did not specify an end date are automatically given a reasonable end conditions by the system and auto_renew will be set to true. Similarly, if the user- provided end date is too far in the future to reasonably create all instances, the server will set an auto_renew_until end condition.NlpSemanticParsingDateTimeAnnotation
endMillisDeprecated – prefer end_date_time.absolute_time_ms.NlpSemanticParsingModelsRecurrenceRecurrenceEndThe end of the recurrence can be represented in one of three ways. 1. An abstract DateTime. (inclusive) 2. An absolute timestamp, in milliseconds from UTC epoch. 3. A number of occurrences. Exactly one of the fields [end_date_time, end_millis, num_occurrences] in this message must be set. Repeating tasks for which the user did not specify an end date are automatically given a reasonable end conditions by the system and auto_renew will be set to true. Similarly, if the user- provided end date is too far in the future to reasonably create all instances, the server will set an auto_renew_until end condition.String
numOccurrencesNote that auto-renewing is not supported in conjunction with num_occurrences. Therefore we impose a hard limit of 1000 when using this field.NlpSemanticParsingModelsRecurrenceRecurrenceEndThe end of the recurrence can be represented in one of three ways. 1. An abstract DateTime. (inclusive) 2. An absolute timestamp, in milliseconds from UTC epoch. 3. A number of occurrences. Exactly one of the fields [end_date_time, end_millis, num_occurrences] in this message must be set. Repeating tasks for which the user did not specify an end date are automatically given a reasonable end conditions by the system and auto_renew will be set to true. Similarly, if the user- provided end date is too far in the future to reasonably create all instances, the server will set an auto_renew_until end condition.integer
startDateTimeOnly the year/month/day portion are used to find the start date of the recurrence. To specify a time or period of each instance, use DailyPattern.NlpSemanticParsingModelsRecurrenceRecurrenceStartThe start of the recurrence can be represented either as a DateTime or a timestamp in milliseconds from UTC epoch. Exactly one of the fields of this message must be set.NlpSemanticParsingDateTimeAnnotation
startMillisDeprecated – prefer start_date_time.absolute_time_ms.NlpSemanticParsingModelsRecurrenceRecurrenceStartThe start of the recurrence can be represented either as a DateTime or a timestamp in milliseconds from UTC epoch. Exactly one of the fields of this message must be set.String
weekDaySet of weekdays the recurrence applies to.NlpSemanticParsingModelsRecurrenceWeeklyPatternPattern for a WEEKLY recurrence. You must specify at least one week_day.list(String)
weeklyPatternEndNlpSemanticParsingModelsRecurrenceWeeklyPatternPattern for a WEEKLY recurrence. You must specify at least one week_day.String
weeklyPatternStartNlpSemanticParsingModelsRecurrenceWeeklyPatternPattern for a WEEKLY recurrence. You must specify at least one week_day.String
monthlyPatternThe monthly pattern to recur.NlpSemanticParsingModelsRecurrenceYearlyPatternPattern for a YEARLY recurrence. A YEARLY recurrence is specified using a monthly pattern and a set of months the pattern applies to. Some examples: “Every January 16” : monthly_pattern { month_day = 16; } year_month = JANUARY; “Last day of every April and August” : monthly_pattern { last_day = true; } year_month = APRIL, AUGUSTNlpSemanticParsingModelsRecurrenceMonthlyPattern
yearMonthThe months of the year to apply the pattern.NlpSemanticParsingModelsRecurrenceYearlyPatternPattern for a YEARLY recurrence. A YEARLY recurrence is specified using a monthly pattern and a set of months the pattern applies to. Some examples: “Every January 16” : monthly_pattern { month_day = 16; } year_month = JANUARY; “Last day of every April and August” : monthly_pattern { last_day = true; } year_month = APRIL, AUGUSTlist(String)
midNlpSemanticParsingModelsShoppingAssistantBrandPhraseA brand can be any combination of text or mid.String
rawTextNlpSemanticParsingModelsShoppingAssistantBrandPhraseA brand can be any combination of text or mid.String
evalDataThis field should not be used by clients of the grammar. It is intended to be used internally in Aqua for metric and regression tests.NlpSemanticParsingModelsShoppingAssistantMerchantA merchant that sells products.NlpSemanticParsingAnnotationEvalData
localMerchantIdMerchant Center identifier for LIA merchants.NlpSemanticParsingModelsShoppingAssistantMerchantA merchant that sells products.String
mcidNlpSemanticParsingModelsShoppingAssistantMerchantA merchant that sells products.list(NlpSemanticParsingModelsShoppingAssistantMerchantMerchantCenterId)
merchantIdMerchant Center identifier for GSX merchants. Deprecated: use MerchantCenterId.NlpSemanticParsingModelsShoppingAssistantMerchantA merchant that sells products.list(String)
midOptional. Knowledge Graph identifier for the merchant.NlpSemanticParsingModelsShoppingAssistantMerchantA merchant that sells products.String
nameA name for the merchant. Example: WalmartNlpSemanticParsingModelsShoppingAssistantMerchantA merchant that sells products.String
idNlpSemanticParsingModelsShoppingAssistantMerchantMerchantCenterIdNote: A merchant may have multiple merchant center ids, and each one can have multiple purposes. The existing fields merchant_id, local_merchant_id fields are not enough to capture this. Instead we will have a repeated field name mcid with this structure.String
isGsxNlpSemanticParsingModelsShoppingAssistantMerchantMerchantCenterIdNote: A merchant may have multiple merchant center ids, and each one can have multiple purposes. The existing fields merchant_id, local_merchant_id fields are not enough to capture this. Instead we will have a repeated field name mcid with this structure.boolean
isLocalNlpSemanticParsingModelsShoppingAssistantMerchantMerchantCenterIdNote: A merchant may have multiple merchant center ids, and each one can have multiple purposes. The existing fields merchant_id, local_merchant_id fields are not enough to capture this. Instead we will have a repeated field name mcid with this structure.boolean
isPlaNlpSemanticParsingModelsShoppingAssistantMerchantMerchantCenterIdNote: A merchant may have multiple merchant center ids, and each one can have multiple purposes. The existing fields merchant_id, local_merchant_id fields are not enough to capture this. Instead we will have a repeated field name mcid with this structure.boolean
docidThe offer document id as used in Shopping’s metadata.NlpSemanticParsingModelsShoppingAssistantOfferA product for sale from a particular merchant, possibly available at a specific store.String
merchantThe merchant selling the product.NlpSemanticParsingModelsShoppingAssistantOfferA product for sale from a particular merchant, possibly available at a specific store.NlpSemanticParsingModelsShoppingAssistantMerchant
priceThe price of the product sold by the merchant.NlpSemanticParsingModelsShoppingAssistantOfferA product for sale from a particular merchant, possibly available at a specific store.NlpSemanticParsingModelsMoneyMoney
productThe product for sale.NlpSemanticParsingModelsShoppingAssistantOfferA product for sale from a particular merchant, possibly available at a specific store.NlpSemanticParsingModelsShoppingAssistantProduct
storeOptional. The physical store where the product can be purchased.NlpSemanticParsingModelsShoppingAssistantOfferA product for sale from a particular merchant, possibly available at a specific store.NlpSemanticParsingModelsShoppingAssistantStore
brandNlpSemanticParsingModelsShoppingAssistantPhraseA phrase parsed from a user query.NlpSemanticParsingModelsShoppingAssistantBrandPhrase
offerNlpSemanticParsingModelsShoppingAssistantPhraseA phrase parsed from a user query.NlpSemanticParsingModelsShoppingAssistantOffer
productNlpSemanticParsingModelsShoppingAssistantPhraseA phrase parsed from a user query.NlpSemanticParsingModelsShoppingAssistantProductPhrase
unrecognizedNlpSemanticParsingModelsShoppingAssistantPhraseA phrase parsed from a user query.NlpSemanticParsingModelsShoppingAssistantUnrecognizedPhrase
catalogIdThe shopping catalog identifier.NlpSemanticParsingModelsShoppingAssistantProductA product that can be purchased.String
maxPriceThe highes price this product is available for.NlpSemanticParsingModelsShoppingAssistantProductA product that can be purchased.NlpSemanticParsingModelsMoneyMoney
mediaProductTODO(ppoudyal) Add logging for media_product.NlpSemanticParsingModelsShoppingAssistantProductA product that can be purchased.NlpSemanticParsingModelsShoppingAssistantProductMediaProduct
midOptional. Knowledge Graph identifier for the product.NlpSemanticParsingModelsShoppingAssistantProductA product that can be purchased.String
minPriceThe lowest price this product is available for.NlpSemanticParsingModelsShoppingAssistantProductA product that can be purchased.NlpSemanticParsingModelsMoneyMoney
titleTitle of the product. Example: Moto X Blue 64GB Note: This refers to only the catalog title not user specified phraseNlpSemanticParsingModelsShoppingAssistantProductA product that can be purchased.String
bookConfidenceTODO(ppoudyal) Expand confidence to cases where the product phrase might be a book/movie/video_game but isn’t just a title The score (between 0 – 1) measuring the confidence that productNlpSemanticParsingModelsShoppingAssistantProductClassificationWhether the product being described fits into specific categories (e.g., “video games”).number
isVideoGameTODO(ppoudyal) Deprecate is_video_game once the score covers all cases covered by $VideoGameProductPhrase The product phrase contains a video game title.NlpSemanticParsingModelsShoppingAssistantProductClassificationWhether the product being described fits into specific categories (e.g., “video games”).boolean
movieConfidencephrase mentions a book title The score (between 0 – 1) measuring the confidence that productNlpSemanticParsingModelsShoppingAssistantProductClassificationWhether the product being described fits into specific categories (e.g., “video games”).number
videoGameConfidencephrase mentions a movie title The score (between 0 – 1) measuring the confidence that productNlpSemanticParsingModelsShoppingAssistantProductClassificationWhether the product being described fits into specific categories (e.g., “video games”).number
evalDataThis field should not be used by clients of the grammar. It is intended to be used internally in Aqua for metric and regression tests.NlpSemanticParsingModelsShoppingAssistantProductExpressionAn expression parsed from a user query that describes a product or set of products.NlpSemanticParsingAnnotationEvalData
grammaticalGenderNlpSemanticParsingModelsShoppingAssistantProductExpressionAn expression parsed from a user query that describes a product or set of products.String
grammaticalNumberNlpSemanticParsingModelsShoppingAssistantProductExpressionAn expression parsed from a user query that describes a product or set of products.String
phrasesOrdered list of phrases that the user used to describe a product.NlpSemanticParsingModelsShoppingAssistantProductExpressionAn expression parsed from a user query that describes a product or set of products.list(NlpSemanticParsingModelsShoppingAssistantPhrase)
productClassificationNlpSemanticParsingModelsShoppingAssistantProductExpressionAn expression parsed from a user query that describes a product or set of products.NlpSemanticParsingModelsShoppingAssistantProductClassification
shoppingListItemInfoAssociated shopping list item info. Only set when the product is come from a shopping list item.NlpSemanticParsingModelsShoppingAssistantProductExpressionAn expression parsed from a user query that describes a product or set of products.NlpSemanticParsingModelsShoppingAssistantShoppingListItemInfo
authorThe author of the mediaNlpSemanticParsingModelsShoppingAssistantProductMediaProductA media product that can be purchasedNlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValue
genreThe genre of the mediaNlpSemanticParsingModelsShoppingAssistantProductMediaProductA media product that can be purchasedNlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValue
mediaTitleThe title of the media Example: The assasin’s creedNlpSemanticParsingModelsShoppingAssistantProductMediaProductA media product that can be purchasedNlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValue
orderInSeriesOrder in media series (series title is given by the product title)NlpSemanticParsingModelsShoppingAssistantProductMediaProductA media product that can be purchasedNlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValue
topicThe topic of the mediaNlpSemanticParsingModelsShoppingAssistantProductMediaProductA media product that can be purchasedNlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValue
midThe knowledge graph identifier for the attributeNlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValueString
rawTextRaw text of the media attribute (eg. author)NlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValueString
metadataNlpSemanticParsingModelsShoppingAssistantProductPhraseA product can be any combination of raw_text and metadata (including mid, shopping product catalog title/id, and media attributes). A product phrase refers to a product at the catalog entry level and/or a media product. Media product contains information about author and media title TODO(ppoudyal) Add genre and order_in_series to MediaProductNlpSemanticParsingModelsShoppingAssistantProduct
rawTextNlpSemanticParsingModelsShoppingAssistantProductPhraseA product can be any combination of raw_text and metadata (including mid, shopping product catalog title/id, and media attributes). A product phrase refers to a product at the catalog entry level and/or a media product. Media product contains information about author and media title TODO(ppoudyal) Add genre and order_in_series to MediaProductString
itemIdNlpSemanticParsingModelsShoppingAssistantShoppingListItemInfoString
listIdNlpSemanticParsingModelsShoppingAssistantShoppingListItemInfoString
idLocal store identifier.NlpSemanticParsingModelsShoppingAssistantStoreA merchant’s physical store.String
locationThe location of the store.NlpSemanticParsingModelsShoppingAssistantStoreA merchant’s physical store.NlpSemanticParsingLocalLocation
nameA name for the store. Example: Walmart – CranberryNlpSemanticParsingModelsShoppingAssistantStoreA merchant’s physical store.String
rawTextNlpSemanticParsingModelsShoppingAssistantUnrecognizedPhraseA span in a user query that could not be identified as any other type of `Phrase`.String
denominatorNlpSemanticParsingNumberFractionNumberNlpSemanticParsingNumberSimpleNumber
numeratorFields for fraction numbersNlpSemanticParsingNumberFractionNumberNlpSemanticParsingNumberSimpleNumber
precisionThis field is used to indicate the number of digits after the decimal point in the normalized_value field in number.proto, which contains the floating point representation of the fractionNlpSemanticParsingNumberFractionNumberinteger
wholeNumberThis field is set only for mixed fractionNlpSemanticParsingNumberFractionNumberNlpSemanticParsingNumberSimpleNumber
evalDataSpan info of the annotation – mostly used for evaluation purpose. Note: this data must never be used outside Aqua because it relies on the internal tokenization used in Aqua that could change over time.NlpSemanticParsingNumberNumberNext ID: 9NlpSemanticParsingAnnotationEvalData
fractionNumberNlpSemanticParsingNumberNumberNext ID: 9NlpSemanticParsingNumberFractionNumber
isSpelledOutAn optional field that holds whether the number_type number is a normalized spelled-out number or not. This field will not be set in cases when this information is not available.NlpSemanticParsingNumberNumberNext ID: 9boolean
modifierNumberModifier is used to capture when the expression is not an absolute number, but a number expression to represent an increase/decrease/comparison. E.g. [10 more percent], [5 less].NlpSemanticParsingNumberNumberNext ID: 9String
normalizedValueContains a normalized string representation of the numeric value that has: * No digit grouping delimiter (e.g. “,” in english). * Decimal mark (if present) as “.” (dot). For fraction_number, this contains the floating point representation of the fraction. The number of digits after the decimal point is defined in the precision field of fraction_number.proto.NlpSemanticParsingNumberNumberNext ID: 9String
rawTextThe raw text of the annotation.NlpSemanticParsingNumberNumberNext ID: 9String
simpleNumberNlpSemanticParsingNumberNumberNext ID: 9NlpSemanticParsingNumberSimpleNumber
spelledOutTypeWe expect this field to be set only when is_spelled_out is true.NlpSemanticParsingNumberNumberNext ID: 9String
decimalMarkThe type of decimal mark that was present before normalization. Note: different locales may use different decimal marks.NlpSemanticParsingNumberSimpleNumberNext ID: 8String
groupingDelimiterThe type of digit grouping delimiter that was present before normalization. Note: different locales may use different digit grouping delimiters.NlpSemanticParsingNumberSimpleNumberNext ID: 8String
groupingSystemWe expect this field to be set only when grouping_delimiter is set.NlpSemanticParsingNumberSimpleNumberNext ID: 8String
normalizedValueContains a normalized string representation of the numeric value that has: * No digit grouping delimiter (e.g. “,” in english). * Decimal mark (if present) as “.” (dot). This field is kept for backward compatibility. The field is also available in number.protoNlpSemanticParsingNumberSimpleNumberNext ID: 8String
prefixStores prefix output by the GRM number grammar (http://b/28623478).NlpSemanticParsingNumberSimpleNumberNext ID: 8String
suffixStores suffix outputNlpSemanticParsingNumberSimpleNumberNext ID: 8String
typeNlpSemanticParsingNumberSimpleNumberNext ID: 8String
airlineConfigUsed if the entity is an airline with an airline annotation.NlpSemanticParsingPersonalIntelligenceEntityThis message should be wire-equivalent to the Entity proto defined in nlp/semantic_parsing/models/personal_intelligence.proto. The message is cloned here to allow legacy intents to extract entities to slots; trying to add Entity to knowledge_answers::intent_query::ArgumentValue creates a BUILD dependency loop. For the proto used for GwsLogs, see logs/proto/knowledge/interpretation/personal_intelligence.proto.TravelFlightsAirlineConfig
evalDataRequired, but should only be used inside Aqua. Must not be used by outside clients!!NlpSemanticParsingPersonalIntelligenceEntityThis message should be wire-equivalent to the Entity proto defined in nlp/semantic_parsing/models/personal_intelligence.proto. The message is cloned here to allow legacy intents to extract entities to slots; trying to add Entity to knowledge_answers::intent_query::ArgumentValue creates a BUILD dependency loop. For the proto used for GwsLogs, see logs/proto/knowledge/interpretation/personal_intelligence.proto.NlpSemanticParsingAnnotationEvalData
nameraw string representationNlpSemanticParsingPersonalIntelligenceEntityThis message should be wire-equivalent to the Entity proto defined in nlp/semantic_parsing/models/personal_intelligence.proto. The message is cloned here to allow legacy intents to extract entities to slots; trying to add Entity to knowledge_answers::intent_query::ArgumentValue creates a BUILD dependency loop. For the proto used for GwsLogs, see logs/proto/knowledge/interpretation/personal_intelligence.proto.String
qrefAnnotationNlpSemanticParsingPersonalIntelligenceEntityThis message should be wire-equivalent to the Entity proto defined in nlp/semantic_parsing/models/personal_intelligence.proto. The message is cloned here to allow legacy intents to extract entities to slots; trying to add Entity to knowledge_answers::intent_query::ArgumentValue creates a BUILD dependency loop. For the proto used for GwsLogs, see logs/proto/knowledge/interpretation/personal_intelligence.proto.NlpSemanticParsingQRefAnnotation
referenceA Copley Personal Reference represents a user’s reference to a something that could be personal entity, e.g. “my hotel”, “mom”, “brunch”.NlpSemanticParsingPersonalReferenceAnnotationA collection of any number of QRefAnnotations that designate a Copley Personal Reference and its Resolutions. This is used to handle personalized intents such as “navigate to my hotel” or “when is my mom’s anniversary”. See go/copley. This Annotation may contain only a reference with no resolutions for the failure case (go/copley-punts). TODO(bhorst) Rename this to remove the Copley codename.NlpSemanticParsingQRefAnnotation
resolutionsA Copley Personal Resolution represents the resolution of a Reference, e.g. if the user has a reservation at The Kendall Hotel, the reference “my hotel” could be resolved to The Kendall Hotel, and there would be a QRefAnnotation containing the mid and other data. It is possible for there to be zero resolutions for a given reference.NlpSemanticParsingPersonalReferenceAnnotationA collection of any number of QRefAnnotations that designate a Copley Personal Reference and its Resolutions. This is used to handle personalized intents such as “navigate to my hotel” or “when is my mom’s anniversary”. See go/copley. This Annotation may contain only a reference with no resolutions for the failure case (go/copley-punts). TODO(bhorst) Rename this to remove the Copley codename.list(NlpSemanticParsingQRefAnnotation)
entityIdID of the entity of this slot.NlpSemanticParsingProtoActionsOnGoogleAogSlotIn simple cases, each NLU slot will contain one or multiple possible values. But in the case of a composite entity – slots can have a complex tree structure. Each slot can represent a List parameter. List parameters are only allowed at the top level, i.e. lists can’t ne nested in maps. Next Id: 9 LINT.IfChangeString
numBytesNumber of bytes of this slot in resolved query.NlpSemanticParsingProtoActionsOnGoogleAogSlotIn simple cases, each NLU slot will contain one or multiple possible values. But in the case of a composite entity – slots can have a complex tree structure. Each slot can represent a List parameter. List parameters are only allowed at the top level, i.e. lists can’t ne nested in maps. Next Id: 9 LINT.IfChangeinteger
originalPart of input text, matched by that slot. In the case of composite slots, each slot should have its own original.NlpSemanticParsingProtoActionsOnGoogleAogSlotIn simple cases, each NLU slot will contain one or multiple possible values. But in the case of a composite entity – slots can have a complex tree structure. Each slot can represent a List parameter. List parameters are only allowed at the top level, i.e. lists can’t ne nested in maps. Next Id: 9 LINT.IfChangeString
parameterNameName of parameter of this slot.NlpSemanticParsingProtoActionsOnGoogleAogSlotIn simple cases, each NLU slot will contain one or multiple possible values. But in the case of a composite entity – slots can have a complex tree structure. Each slot can represent a List parameter. List parameters are only allowed at the top level, i.e. lists can’t ne nested in maps. Next Id: 9 LINT.IfChangeString
slotListRepresents a “list parameter”. Each parameter may be declared as a list and have multiple slot values, referenced by a single alias. Each slot value in a list may contain multiple possible values. For example: aqua return 3 dates if the year is not specified in a query – one for the current year, one for the past year, and one for the following year. If user defines a list parameter with type @sys.date, and the query contains multiple dates – we should return a list of possible values for each date from the query, i.e. it will be a list of list of dates.NlpSemanticParsingProtoActionsOnGoogleAogSlotIn simple cases, each NLU slot will contain one or multiple possible values. But in the case of a composite entity – slots can have a complex tree structure. Each slot can represent a List parameter. List parameters are only allowed at the top level, i.e. lists can’t ne nested in maps. Next Id: 9 LINT.IfChangeNlpSemanticParsingProtoActionsOnGoogleSlotList
slotMapRepresents a structured value. Used in composite entities. Composite entities can have arbitrary structure.NlpSemanticParsingProtoActionsOnGoogleAogSlotIn simple cases, each NLU slot will contain one or multiple possible values. But in the case of a composite entity – slots can have a complex tree structure. Each slot can represent a List parameter. List parameters are only allowed at the top level, i.e. lists can’t ne nested in maps. Next Id: 9 LINT.IfChangeNlpSemanticParsingProtoActionsOnGoogleSlotMap
startByteStart byte position of this slot in resolved query.NlpSemanticParsingProtoActionsOnGoogleAogSlotIn simple cases, each NLU slot will contain one or multiple possible values. But in the case of a composite entity – slots can have a complex tree structure. Each slot can represent a List parameter. List parameters are only allowed at the top level, i.e. lists can’t ne nested in maps. Next Id: 9 LINT.IfChangeinteger
valueOne or more possible values. This field does not represent a list parameter.NlpSemanticParsingProtoActionsOnGoogleAogSlotIn simple cases, each NLU slot will contain one or multiple possible values. But in the case of a composite entity – slots can have a complex tree structure. Each slot can represent a List parameter. List parameters are only allowed at the top level, i.e. lists can’t ne nested in maps. Next Id: 9 LINT.IfChangeNlpSemanticParsingProtoActionsOnGoogleSlotValue
dateDate value. Note, that month and day are 1 based. If this DateTime is a PARTIAL datetime, then fields have value -1, which means these fields are inferred rather than derived directly from query.NlpSemanticParsingProtoActionsOnGoogleDateTimeRepresents datetime. It can be @sys.date, @sys.time or, in some cases, @sys.date-time. Our platform doesn’t track seconds, so this field is omitted. Number of seconds should be considered 0. Hour and minute can be 0 in case of dates. In case of time and dateTime, hours and minutes will represent actual time, even if both of them are 0.GoogleTypeDate
propertyProperty of this DateTime value that can be used to match user specification of parameters, e.g. date.recent.NlpSemanticParsingProtoActionsOnGoogleDateTimeRepresents datetime. It can be @sys.date, @sys.time or, in some cases, @sys.date-time. Our platform doesn’t track seconds, so this field is omitted. Number of seconds should be considered 0. Hour and minute can be 0 in case of dates. In case of time and dateTime, hours and minutes will represent actual time, even if both of them are 0.NlpSemanticParsingProtoActionsOnGoogleDateTimeProperty
timeTime value. Only hours and minutes are used. Hours are in 24h format.NlpSemanticParsingProtoActionsOnGoogleDateTimeRepresents datetime. It can be @sys.date, @sys.time or, in some cases, @sys.date-time. Our platform doesn’t track seconds, so this field is omitted. Number of seconds should be considered 0. Hour and minute can be 0 in case of dates. In case of time and dateTime, hours and minutes will represent actual time, even if both of them are 0.GoogleTypeTimeOfDay
timeZoneTimezone field specified only if this DateTime has type TIME or DATETIME.NlpSemanticParsingProtoActionsOnGoogleDateTimeRepresents datetime. It can be @sys.date, @sys.time or, in some cases, @sys.date-time. Our platform doesn’t track seconds, so this field is omitted. Number of seconds should be considered 0. Hour and minute can be 0 in case of dates. In case of time and dateTime, hours and minutes will represent actual time, even if both of them are 0.GoogleTypeTimeZone
datetimeTypeSince datetime is a superset of date, time and date&time, this field is used to indicate which type the associated DateTime object belongs to.NlpSemanticParsingProtoActionsOnGoogleDateTimePropertyRepresents properties about a matched DateTime value. Will only be populated for @sys.date-time, @sys.date and @sys.time.String
relativeDatetimeTypeThe relative relationship between this DateTime value and DateTime&Timezone info provided in ClassifyRequest.NlpSemanticParsingProtoActionsOnGoogleDateTimePropertyRepresents properties about a matched DateTime value. Will only be populated for @sys.date-time, @sys.date and @sys.time.String
slotsNlpSemanticParsingProtoActionsOnGoogleSlotListOneof doesn’t allow list, this message is used to inject list as a possible value into Slot.list(NlpSemanticParsingProtoActionsOnGoogleAogSlot)
valuesNlpSemanticParsingProtoActionsOnGoogleSlotValueContains one or more possible values.list(NlpSemanticParsingProtoActionsOnGoogleSlotValueSingleValue)
dateTimeValueRepresents date or time.NlpSemanticParsingProtoActionsOnGoogleSlotValueSingleValueRepresents an actual value.NlpSemanticParsingProtoActionsOnGoogleDateTime
stringValueRepresents a string value.NlpSemanticParsingProtoActionsOnGoogleSlotValueSingleValueRepresents an actual value.String
typeValueThis field is only populated by on-device Heron. This field should not be populated by any other service.NlpSemanticParsingProtoActionsOnGoogleSlotValueSingleValueRepresents an actual value.NlpSemanticParsingProtoActionsOnGoogleTypedValue
boolValueRepresents a boolean value.NlpSemanticParsingProtoActionsOnGoogleTypedValueUsed by on-device Heron. Contains information about the type of slot value returned.boolean
dateTimeValueRepresents date or time.NlpSemanticParsingProtoActionsOnGoogleTypedValueUsed by on-device Heron. Contains information about the type of slot value returned.NlpSemanticParsingProtoActionsOnGoogleDateTime
numberValueRepresents number value. In accordance to ParamValue fields(https://source.corp.google.com/piper///depot/google3/third_party/java_src/appactions/proto/app_actions_data.proto;rcl=431529042;l=12)NlpSemanticParsingProtoActionsOnGoogleTypedValueUsed by on-device Heron. Contains information about the type of slot value returned.float
stringValueRepresents a string value.NlpSemanticParsingProtoActionsOnGoogleTypedValueUsed by on-device Heron. Contains information about the type of slot value returned.String
globalProductClusterIdThe shopping global product cluster id(s) of the annotated entity (in KG, the key(s) of type /business/variant_cluster).NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(String)
gaiaIdThe Gaia ID for this entity. This is populated generally for people and businesses.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41String
sourceTypeListIf the annotation was created by using personal data, we record the provenance for that data here.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41CopleySourceTypeList
confidenceScoreThe confidence (in [0, 1]) of the entity being correctly annotated.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41float
subClusterNlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(NlpSemanticParsingQRefAnnotationSubCluster)
referenceScoreThe confidence (in [0, 1]) that the annotation is reference that implies another entity. (eg “my hotel” in “navigate to my hotel” is reference to explicit hotel from user hotel reservation).NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41number
displayNameCopy the display info. This can be used by annotators to give grammars a canonical name for an entity. For instance, the media grammar could use it to output the same canonical name for “rock music” and “rock”.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41String
entitySourceDataHolds information about the backends which contributed to this entity.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41NlpSemanticParsingEntitySourceData
mdvcVerticalsThe set of verticals this summary node belongs to.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(String)
deprecatedEquivalentMidsDEPRECATED: Equivalent ids (e.g. de-duped mids) for this entity.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(String)
clusterIdThe ID of the cluster (set entity) this entity belongs to.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41String
deprecatedMdvcSupportingMidDEPRECATED: Higher level id’s that support the given id. This field has been deprecated in favor of related_entity. b/27363861NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(String)
productLineIdThe shopping product line id(s) of the annotated /business/shopping_product_line entity.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(String)
locationTypeThe location type of the entity, as an int32 representing a TypeCategory enum value. For example, this could be TYPE_LOCALITY (37) or TYPE_COUNTRY (33). We store this type as an int because including FeatureProto would cause java/com/google/ads/adh/pipeline/bigquery:ProtoCatalog to become too large, resulting in OOM errors.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41integer
mergedImpliedEntityA list of any implied entities merged into this annotation during parsing. Order is derivation-dependent.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(NlpSemanticParsingQRefAnnotation)
isMdvcDimensionTrue if this entity is an mdvc dimension of some other annotated entity. Only included if the QRefAnnotator is initialised with include_annotated_relationships.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41boolean
clusterSiblingMidThe set of mids that are members of the same cluster.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(String)
relatedEntityMids related to the given entityNlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(NlpSemanticParsingRelatedEntity)
lowConfidenceWhether this entity is low confidence. Not used. Currently whitelisted entities below min_confidence threshold are marked as low confidence and maybe not trusted by downstreams.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41boolean
addedByCloseAnswersWhether this qref annotation was created by CloseAnswers on Postref. Annotations of this type don’t correspond to a particular mention of the entity on the query but rather to an interpretation of the full query.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41boolean
locationThe center point of this location. This is either directly provided by the FeatureProto.center field or the centroid using the points of the polygon in the FeatureProto.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41GeostorePointProto
collectionMembershipNlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(NlpSemanticParsingQRefAnnotationCollectionMembership)
otherMetadataMetadata to be passed through from the AnnotationContext API.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41Proto2BridgeMessageSet
merlotCategoryNlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(NlpSemanticParsingQRefAnnotationMerlotCategoryData)
resolutionScoreThe confidence (in [0, 1]) that the annotation was created on an implicit mention (eg my hotel) as opposed to an explicit mention (eg: the westin copley square)NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41number
isNimbleAnnotationWhether this annotation originates from nimble. (go/nimble-annotator)NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41boolean
entityNumberThe index of the entity from which this annotation is obtained, within the WebrefEntities message in the interpretation defined by interpretation_number, above.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41integer
personalSummaryNodeChildPersonal summary nodes are compound entities made up of entities and their attributes, where the entities can be compound too. E.g., “my father’s mother” can have a summary node annotation of “Mother(Father(Myself))”.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(NlpSemanticParsingQRefAnnotation)
mdvcChildNested annotations that represent subparts of the given mdvc full annotation. An MDVC full annotation is outputted as the summary node as the root node, and all the children of it as leaves (mdvc_child). QRef outputs a graph of relationships between the mdvc enties, and for mdvc full the aquatator nests the relevant children inside the summary node’s proto.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(NlpSemanticParsingQRefAnnotation)
entityRelationshipThe relationship information from QRef. Only included if the QRefAnnotator is initialised with include_annotated_relationships.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(NlpSemanticParsingQRefAnnotationEntityRelationship)
annotatedSpanA copy of the span of canonical (raw) parser input text corresponding to this annotation.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41String
interpretationNumberThe index of the QueryJoin interpretation from which this annotation was obtained. This field is not used for entities coming from low-confidence annotations, since such entities are not included in any interpretation.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41integer
freebaseMidThe mid of the entity in freebase associated with this span.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41String
attributeIdAttribute ID of a personal_summary_node_child.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41String
clusterSetScoreCluster set qref confidence score.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41float
oysterIdThe geo oyster_id of the entity, relevant only for locations. Only included if the QRefAnnotator is initialised with include_oyster_id.NlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41GeostoreFeatureIdProto
matchedLightweightTokenNlpSemanticParsingQRefAnnotationThe QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41list(RepositoryWebrefLightweightTokensMatchedLightweightToken)
collectionIdIdentifier of the collection. Usually something like “/collection/us_states”.NlpSemanticParsingQRefAnnotationCollectionMembershipString
collectionScoreA value in [0, 1] indicating the relevance of the collection given this entity. NOTE: This field is deprecated and will stop being populated soon. In the meantime, it will always be populated with 1.0.NlpSemanticParsingQRefAnnotationCollectionMembershipfloat
entityIndexThe index of the other entity in the relationship.NlpSemanticParsingQRefAnnotationEntityRelationshipinteger
impliedByTrue if this entity is implied by the other (includes geo contains).NlpSemanticParsingQRefAnnotationEntityRelationshipboolean
impliesTrue if this entity implies the other (includes geo contained by).NlpSemanticParsingQRefAnnotationEntityRelationshipboolean
linkPropertyNameNames of the relationship links.NlpSemanticParsingQRefAnnotationEntityRelationshiplist(String)
categoryIdNlpSemanticParsingQRefAnnotationMerlotCategoryDataMerlot category information. As of Sep2015, this is derived from collection membership, but as that information is planned for deprecation and may need to be replaced as a source for this data, it is extracted separately.integer
confidenceNlpSemanticParsingQRefAnnotationMerlotCategoryDataMerlot category information. As of Sep2015, this is derived from collection membership, but as that information is planned for deprecation and may need to be replaced as a source for this data, it is extracted separately.float
clusterIdNlpSemanticParsingQRefAnnotationSubClusterKeeps track of any individual clusters this mid is a member of. Cluster_id and cluster_sibling_mid stores the cluster all together, while the subcluster keeps track of each individual cluster information separately.String
clusterSetScoreNlpSemanticParsingQRefAnnotationSubClusterKeeps track of any individual clusters this mid is a member of. Cluster_id and cluster_sibling_mid stores the cluster all together, while the subcluster keeps track of each individual cluster information separately.float
clusterSiblingMidNlpSemanticParsingQRefAnnotationSubClusterKeeps track of any individual clusters this mid is a member of. Cluster_id and cluster_sibling_mid stores the cluster all together, while the subcluster keeps track of each individual cluster information separately.list(String)
clusterSupportTransferRelationDenotes whether or not the related entity is derived from cluster support transfer.NlpSemanticParsingRelatedEntityA message that stores relations between this annotation and another entity. Stores the mid and the kind of relationship. These links may be consumed downstream for various purposes, including support transfer and other business logic. An example is for the Honda Civic entity. It may have an mdvc_relation that is a generalization_of the 2015 Honda Civic entity. So the Honda Civic would have the following: RelatedEntity { mid = 2015 Honda Civic Mid mdvc_relation = GENERALIZATION_OF } It has no equivalent_relation because it is by default NO_EQUIVALENT. The Honda Civic entity might then have a separate relation to the Old Honda Civic entity, as they are considered the same entity, or the following relation: RelatedEntity { mid = Old Honda Civic Mid equivalent_relation = EQUIVALENT }String
composedFromRelationDenotes whether or not the related entity composes a compound entity together with other related entities.NlpSemanticParsingRelatedEntityA message that stores relations between this annotation and another entity. Stores the mid and the kind of relationship. These links may be consumed downstream for various purposes, including support transfer and other business logic. An example is for the Honda Civic entity. It may have an mdvc_relation that is a generalization_of the 2015 Honda Civic entity. So the Honda Civic would have the following: RelatedEntity { mid = 2015 Honda Civic Mid mdvc_relation = GENERALIZATION_OF } It has no equivalent_relation because it is by default NO_EQUIVALENT. The Honda Civic entity might then have a separate relation to the Old Honda Civic entity, as they are considered the same entity, or the following relation: RelatedEntity { mid = Old Honda Civic Mid equivalent_relation = EQUIVALENT }String
equivalentRelationWhether or not the given mid is related to the other mid. Equivalent mids are usually mutually exclusive with other kinds of relations.NlpSemanticParsingRelatedEntityA message that stores relations between this annotation and another entity. Stores the mid and the kind of relationship. These links may be consumed downstream for various purposes, including support transfer and other business logic. An example is for the Honda Civic entity. It may have an mdvc_relation that is a generalization_of the 2015 Honda Civic entity. So the Honda Civic would have the following: RelatedEntity { mid = 2015 Honda Civic Mid mdvc_relation = GENERALIZATION_OF } It has no equivalent_relation because it is by default NO_EQUIVALENT. The Honda Civic entity might then have a separate relation to the Old Honda Civic entity, as they are considered the same entity, or the following relation: RelatedEntity { mid = Old Honda Civic Mid equivalent_relation = EQUIVALENT }String
mdvcRelationThe mdvc relation with the related mid.NlpSemanticParsingRelatedEntityA message that stores relations between this annotation and another entity. Stores the mid and the kind of relationship. These links may be consumed downstream for various purposes, including support transfer and other business logic. An example is for the Honda Civic entity. It may have an mdvc_relation that is a generalization_of the 2015 Honda Civic entity. So the Honda Civic would have the following: RelatedEntity { mid = 2015 Honda Civic Mid mdvc_relation = GENERALIZATION_OF } It has no equivalent_relation because it is by default NO_EQUIVALENT. The Honda Civic entity might then have a separate relation to the Old Honda Civic entity, as they are considered the same entity, or the following relation: RelatedEntity { mid = Old Honda Civic Mid equivalent_relation = EQUIVALENT }String
midMid that is related.NlpSemanticParsingRelatedEntityA message that stores relations between this annotation and another entity. Stores the mid and the kind of relationship. These links may be consumed downstream for various purposes, including support transfer and other business logic. An example is for the Honda Civic entity. It may have an mdvc_relation that is a generalization_of the 2015 Honda Civic entity. So the Honda Civic would have the following: RelatedEntity { mid = 2015 Honda Civic Mid mdvc_relation = GENERALIZATION_OF } It has no equivalent_relation because it is by default NO_EQUIVALENT. The Honda Civic entity might then have a separate relation to the Old Honda Civic entity, as they are considered the same entity, or the following relation: RelatedEntity { mid = Old Honda Civic Mid equivalent_relation = EQUIVALENT }String
supportTransferRelationDenotes whether or not there was support transfer between the two entities.NlpSemanticParsingRelatedEntityA message that stores relations between this annotation and another entity. Stores the mid and the kind of relationship. These links may be consumed downstream for various purposes, including support transfer and other business logic. An example is for the Honda Civic entity. It may have an mdvc_relation that is a generalization_of the 2015 Honda Civic entity. So the Honda Civic would have the following: RelatedEntity { mid = 2015 Honda Civic Mid mdvc_relation = GENERALIZATION_OF } It has no equivalent_relation because it is by default NO_EQUIVALENT. The Honda Civic entity might then have a separate relation to the Old Honda Civic entity, as they are considered the same entity, or the following relation: RelatedEntity { mid = Old Honda Civic Mid equivalent_relation = EQUIVALENT }String
targetIsStbrSourceSet if the related entity is the source of an STBR rule and the target is not this one.NlpSemanticParsingRelatedEntityA message that stores relations between this annotation and another entity. Stores the mid and the kind of relationship. These links may be consumed downstream for various purposes, including support transfer and other business logic. An example is for the Honda Civic entity. It may have an mdvc_relation that is a generalization_of the 2015 Honda Civic entity. So the Honda Civic would have the following: RelatedEntity { mid = 2015 Honda Civic Mid mdvc_relation = GENERALIZATION_OF } It has no equivalent_relation because it is by default NO_EQUIVALENT. The Honda Civic entity might then have a separate relation to the Old Honda Civic entity, as they are considered the same entity, or the following relation: RelatedEntity { mid = Old Honda Civic Mid equivalent_relation = EQUIVALENT }boolean
categoryCategories can be either a $PronounMention or $NominalMention.NlpSemanticParsingSaftCoreferenceIdentifies a coreference mention (pronoun or nominal) resolved to an entity.String
rawTextThe substring of the raw query spanned by this annotation.NlpSemanticParsingSaftCoreferenceIdentifies a coreference mention (pronoun or nominal) resolved to an entity.String
referentTextThe name of the entity this mentions refers to.NlpSemanticParsingSaftCoreferenceIdentifies a coreference mention (pronoun or nominal) resolved to an entity.String
categoryDefines the category of measure, like $Mass.NlpSemanticParsingSaftMeasureIdentifies a measure, like ’53 pounds’ in a query.String
rawTextThe substring of the raw query spanned by this annotation.NlpSemanticParsingSaftMeasureIdentifies a measure, like ’53 pounds’ in a query.String
valueThe numerical value of the measure.NlpSemanticParsingSaftMeasureIdentifies a measure, like ’53 pounds’ in a query.float
coreferenceAnnotations for spans that are resolved coreference mentions.NlpSemanticParsingSaftMentionAnnotationSaftMentionAnnotation(s) are used to identify a sub-span of the input with some semantic relevance, for example PER (Person), LOC (Locations) or measure etc. Each SaftMentionAnnotation will have exactly one non-empty field.NlpSemanticParsingSaftCoreference
entityAnnotations for spans like “san francisco giants”.NlpSemanticParsingSaftMentionAnnotationSaftMentionAnnotation(s) are used to identify a sub-span of the input with some semantic relevance, for example PER (Person), LOC (Locations) or measure etc. Each SaftMentionAnnotation will have exactly one non-empty field.NlpSemanticParsingSaftSpan
measureAnnotations for spans “53 pounds”.NlpSemanticParsingSaftMentionAnnotationSaftMentionAnnotation(s) are used to identify a sub-span of the input with some semantic relevance, for example PER (Person), LOC (Locations) or measure etc. Each SaftMentionAnnotation will have exactly one non-empty field.NlpSemanticParsingSaftMeasure
titleAnnotations for spans like “the president of the United States”.NlpSemanticParsingSaftMentionAnnotationSaftMentionAnnotation(s) are used to identify a sub-span of the input with some semantic relevance, for example PER (Person), LOC (Locations) or measure etc. Each SaftMentionAnnotation will have exactly one non-empty field.NlpSemanticParsingSaftSpan
categoryCategories can be either syntactic (NNS for fine-grained-POS) or semantics ($Mass for measures).NlpSemanticParsingSaftSpanThe lowest common denominator of a SAFT annotation is simply the definition of some |category| for a sub-span of the |raw_text| of the query.String
rawTextThe substring of the raw query spanned by this annotation.NlpSemanticParsingSaftSpanThe lowest common denominator of a SAFT annotation is simply the definition of some |category| for a sub-span of the |raw_text| of the query.String
documentThe document that contains this character.NlxDataSchemaByteA single byte, such as that from a utf8-encoded character sequence.MultiscalePointerIndex
documentThe document that contains this character.NlxDataSchemaCharacterA single Unicode character.MultiscalePointerIndex
paragraphThe paragraph that contains this character.NlxDataSchemaCharacterA single Unicode character.MultiscalePointerIndex
sentenceThe sentence that contains this character.NlxDataSchemaCharacterA single Unicode character.MultiscalePointerIndex
textThe character itself. Must contain valid UTF-8. Must be exactly one Unicode character.NlxDataSchemaCharacterA single Unicode character.String
tokenThe token that contains this character.NlxDataSchemaCharacterA single Unicode character.MultiscalePointerIndex
authorThe author(s) of this document.NlxDataSchemaDocumentA single document.list(MultiscalePointerIndex)
bytesThe bytes in this document.NlxDataSchemaDocumentA single document.MultiscalePointerSpan
charactersThe characters in this document.NlxDataSchemaDocumentA single document.MultiscalePointerSpan
idThe identifier of this document.NlxDataSchemaDocumentA single document.String
languageCodeA set of BCP-47 codes indicating the language(s) of this document.NlxDataSchemaDocumentA single document.list(String)
languageSpansThe language spans in this document.NlxDataSchemaDocumentA single document.MultiscalePointerSpan
mentionsThe mentions in this document.NlxDataSchemaDocumentA single document.MultiscalePointerSpan
paragraphsThe paragraphs in this document.NlxDataSchemaDocumentA single document.MultiscalePointerSpan
sentencesThe sentences in this document.NlxDataSchemaDocumentA single document.MultiscalePointerSpan
textThe text of this document. Must contain valid UTF-8.NlxDataSchemaDocumentA single document.String
tokensThe tokens in this document.NlxDataSchemaDocumentA single document.MultiscalePointerSpan
urlThe url of this document.NlxDataSchemaDocumentA single document.String
genderEntity gender. Default label set is ‘masculine’, ‘feminine’, or ‘neuter’. (Perhaps in the future we can split ‘neuter’ into ‘inanimate’, ‘unknown’, and ‘non-binary’.)NlxDataSchemaEntityAn entity, which may occur multiple times in the text.String
midMachine identifier, such as those from the Freebase database (or similar entity database).NlxDataSchemaEntityAn entity, which may occur multiple times in the text.String
nameFree-form entity name.NlxDataSchemaEntityAn entity, which may occur multiple times in the text.String
typeEntity type, typically something like person/location/organization. The schema for types is not specified. If this entity has a MID, use the mid field instead or in conjunction with the type.NlxDataSchemaEntityAn entity, which may occur multiple times in the text.list(String)
bytesThe bytes in this span.NlxDataSchemaLanguageSpanA span of text that is written using a specified language (or languages). language_spans do not need to cover all of the characters in a text — in particular, some pieces of text may not use any language. Depending on the model used to generate them, multilingual text can be encoded using overlapping or non- overlapping language_spans; and using one or multiple language_codes per language_span.MultiscalePointerSpan
charactersThe characters in this span.NlxDataSchemaLanguageSpanA span of text that is written using a specified language (or languages). language_spans do not need to cover all of the characters in a text — in particular, some pieces of text may not use any language. Depending on the model used to generate them, multilingual text can be encoded using overlapping or non- overlapping language_spans; and using one or multiple language_codes per language_span.MultiscalePointerSpan
documentThe document that contains this span.NlxDataSchemaLanguageSpanA span of text that is written using a specified language (or languages). language_spans do not need to cover all of the characters in a text — in particular, some pieces of text may not use any language. Depending on the model used to generate them, multilingual text can be encoded using overlapping or non- overlapping language_spans; and using one or multiple language_codes per language_span.MultiscalePointerIndex
languageCodeA set of BCP-47 codes indicating the language(s) of this span of text.NlxDataSchemaLanguageSpanA span of text that is written using a specified language (or languages). language_spans do not need to cover all of the characters in a text — in particular, some pieces of text may not use any language. Depending on the model used to generate them, multilingual text can be encoded using overlapping or non- overlapping language_spans; and using one or multiple language_codes per language_span.list(String)
bytesThe bytes in this mention.NlxDataSchemaMentionA mention of an entity. A single entity might be mentioned multiple times.MultiscalePointerSpan
documentThe document that contains this mention.NlxDataSchemaMentionA mention of an entity. A single entity might be mentioned multiple times.MultiscalePointerIndex
entityThe entity that this mention refers to.NlxDataSchemaMentionA mention of an entity. A single entity might be mentioned multiple times.MultiscalePointerIndex
kindMention kind, typically ‘referential’, ‘attributive’, or ‘modifier’.NlxDataSchemaMentionA mention of an entity. A single entity might be mentioned multiple times.String
textThe mention text itself. Must contain valid UTF-8.NlxDataSchemaMentionA mention of an entity. A single entity might be mentioned multiple times.String
tokensThe token(s) in this mention. This may not be present, or have zero length if representing an implicit mention, as in the prodrop case.NlxDataSchemaMentionA mention of an entity. A single entity might be mentioned multiple times.MultiscalePointerSpan
typeMention type, typically ‘named’ (for name mentions) or ‘nominal’. More types include ‘pronominal’, ‘conjoined’ for conjoined mention construction, and ‘non-referential’ for non-referential pronoun mentions.NlxDataSchemaMentionA mention of an entity. A single entity might be mentioned multiple times.String
bytesThe bytes in this paragraph.NlxDataSchemaParagraphA single paragraph.MultiscalePointerSpan
charactersThe characters in this paragraph.NlxDataSchemaParagraphA single paragraph.MultiscalePointerSpan
documentThe document that contains this paragraph.NlxDataSchemaParagraphA single paragraph.MultiscalePointerIndex
sentencesThe sentences in this paragraph.NlxDataSchemaParagraphA single paragraph.MultiscalePointerSpan
textThe text of this paragraph. Must contain valid UTF-8.NlxDataSchemaParagraphA single paragraph.String
tokensThe tokens in this paragraph.NlxDataSchemaParagraphA single paragraph.MultiscalePointerSpan
entityTypePresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
sentenceParagraphPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
entityMidPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
entityGenderPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
mentionBytesPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
entityPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleLayerPresence
languageSpanDocumentPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
entityNamePresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
paragraphDocumentPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
sentencePresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleLayerPresence
entityNlxDataSchemaScaleSetStandard NLX data schema.list(NlxDataSchemaEntity)
bytePresenceMetadata for which layers (scales) are present. WARNING: CURRENT USAGE IS AD HOC, DO NOT RELY ON THESE BEING POPULATED CORRECTLY. This should improve in v2.NlxDataSchemaScaleSetStandard NLX data schema.MultiscaleLayerPresence
tokenDocumentPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentCharactersPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
tokenSentencePresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
characterNlxDataSchemaScaleSetStandard NLX data schema.list(NlxDataSchemaCharacter)
documentLanguageCodePresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
tokenNlxDataSchemaScaleSetStandard NLX data schema.list(NlxDataSchemaToken)
tokenParagraphPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentIdPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
sentenceCharactersPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
languageSpanPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleLayerPresence
paragraphNlxDataSchemaScaleSetStandard NLX data schema.list(NlxDataSchemaParagraph)
mentionDocumentPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
tokenDependencyPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
tokenPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleLayerPresence
mentionNlxDataSchemaScaleSetStandard NLX data schema.list(NlxDataSchemaMention)
paragraphCharactersPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentParagraphsPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
mentionEntityPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
mentionPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleLayerPresence
tokenPosPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
sentenceBytesPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
tokenDependencyHeadPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
languageSpanLanguageCodePresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
sentenceTokensPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentTextPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentMentionsPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentUrlPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
paragraphTokensPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
characterParagraphPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
sentenceNlxDataSchemaScaleSetStandard NLX data schema.list(NlxDataSchemaSentence)
mentionTokensPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
paragraphBytesPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentBytesPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
mentionTextPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
characterTextPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
characterTokenPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
characterSentencePresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
characterPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleLayerPresence
byteDocumentPresenceMetadata for which layer (scale) fields are present. WARNING: CURRENT USAGE IS AD HOC, DO NOT RELY ON THESE BEING POPULATED CORRECTLY. This should improve in v2.NlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
paragraphPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleLayerPresence
languageSpanNlxDataSchemaScaleSetStandard NLX data schema.list(NlxDataSchemaLanguageSpan)
languageSpanBytesPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
tokenTextPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
mentionTypePresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
tokenBytesPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
byteNlxDataSchemaScaleSetStandard NLX data schema.list(NlxDataSchemaByte)
tokenCharactersPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentTokensPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
characterDocumentPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
sentenceDocumentPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentSentencesPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
languageSpanCharactersPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
tokenDependencyLabelPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
paragraphTextPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
sentenceTextPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleLayerPresence
documentAuthorPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentNlxDataSchemaScaleSetStandard NLX data schema.list(NlxDataSchemaDocument)
paragraphSentencesPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
mentionKindPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
documentLanguageSpansPresenceNlxDataSchemaScaleSetStandard NLX data schema.MultiscaleFieldPresence
bytesThe bytes in this sentence.NlxDataSchemaSentenceA single sentence or utterance.MultiscalePointerSpan
charactersThe characters in this sentence.NlxDataSchemaSentenceA single sentence or utterance.MultiscalePointerSpan
documentThe document that contains this sentence.NlxDataSchemaSentenceA single sentence or utterance.MultiscalePointerIndex
paragraphThe paragraph that contains this sentence.NlxDataSchemaSentenceA single sentence or utterance.MultiscalePointerIndex
textThe text of this sentence. Must contain valid UTF-8.NlxDataSchemaSentenceA single sentence or utterance.String
tokensThe tokens in this sentence.NlxDataSchemaSentenceA single sentence or utterance.MultiscalePointerSpan
bytesThe bytes in this token.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.MultiscalePointerSpan
charactersThe characters in this token.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.MultiscalePointerSpan
dependencyDEPRECATED: PLEASE USE dependency_head AND dependency_label FIELDS. One edge of the dependency parse.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.NlxDataSchemaTokenDependencyEdge
dependencyHeadThe head of this token. By default, the root of the sentence is its own head; it should also have deprel as ‘root’.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.MultiscalePointerIndex
dependencyLabelRelation label for this dependency. Generally this should be using the Universal Dependencies label format, using fine-grained labels like nsubj:pass.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.String
documentThe document that contains this token.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.MultiscalePointerIndex
paragraphThe paragraph that contains this token.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.MultiscalePointerIndex
posCoarse part-of-speech tag.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.String
sentenceThe sentence that contains this token.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.MultiscalePointerIndex
textThe text of this token. Must contain valid UTF-8.NlxDataSchemaTokenA word, punctuation mark, or other small piece of text.String
deprelRelation label for this dependency. Generally this should be using the Universal Dependencies label format, using fine- grained labels like nsubj:pass.NlxDataSchemaTokenDependencyEdgeDEPRECATED: PLEASE USE dependency_head AND dependency_label FIELDS. One edge of the dependency parse.String
headThe head of this token. By default, the root of the sentence is its own head; it should also have deprel as ‘root’.NlxDataSchemaTokenDependencyEdgeDEPRECATED: PLEASE USE dependency_head AND dependency_label FIELDS. One edge of the dependency parse.MultiscalePointerIndex
valueThe NSR value corresponding to this version.NSRVersionedItemMessage representing a versioned NSR score used for experimentation. This protobuf is copied from quality_nsr::NSRVersionedItem.number
versionIdThe version id.NSRVersionedItemMessage representing a versioned NSR score used for experimentation. This protobuf is copied from quality_nsr::NSRVersionedItem.integer
authorOceanDataDocinfoWoodwingItemMetadataMetadata describing an ‘item’ (article) in a Woodwing file.String
categoryOceanDataDocinfoWoodwingItemMetadataMetadata describing an ‘item’ (article) in a Woodwing file.String
descriptionOceanDataDocinfoWoodwingItemMetadataMetadata describing an ‘item’ (article) in a Woodwing file.String
titleOceanDataDocinfoWoodwingItemMetadataMetadata describing an ‘item’ (article) in a Woodwing file.String
docTagdata returned with search docresults (snippets)OceanDocInfoOcean data in docserver results (whole documents)OceanDocTag
DEPRECATEDIssueDatethis is in ONIX format.OceanDocTag============> Next available number: 102 (ksridhara) <================String
coverPagecover page (PrintedAsSeen string), to generate results snippet thumbnail image urlsOceanDocTag============> Next available number: 102 (ksridhara) <================String
editorsEditors string for front end.OceanDocTag============> Next available number: 102 (ksridhara) <================String
encryptedExpressionIdOceanDocTag============> Next available number: 102 (ksridhara) <================String
segmentTimeOceanDocTag============> Next available number: 102 (ksridhara) <================integer
viewabilityVolume viewability, which defines how/if the volume should be displayed in various locales.OceanDocTag============> Next available number: 102 (ksridhara) <================OceanVolumeViewability
pageNumberpage_number of the page (OceanTypes::PageNumberType) In CAv2: page_number of the page ocean::PageNumber::TOceanDocTag============> Next available number: 102 (ksridhara) <================integer
sourceTypeThe source type of the document. See BoundVolumeSource::SourceType in ocean/data/volume_types.protodevel for possible values.OceanDocTag============> Next available number: 102 (ksridhara) <================integer
blockSnippetOceanDocTag============> Next available number: 102 (ksridhara) <================boolean
newspaperspecificOceanDocTag============> Next available number: 102 (ksridhara) <================OceanDocTagNewspaperSpecific
encryptedVolumeIdOceanDocTag============> Next available number: 102 (ksridhara) <================String
volumeVersionThe version of the volume (serialized form). ONLY populated for Volume level docsOceanDocTag============> Next available number: 102 (ksridhara) <================String
isLandingPagewhether this a landing page chosen at indexing time.OceanDocTag============> Next available number: 102 (ksridhara) <================boolean
availableDownloadsA bitmap containing all available download formats (values defined in AvaialableDownloadFormats enum) NOTE: Only populated for Volume level docsOceanDocTag============> Next available number: 102 (ksridhara) <================integer
contributorOceanDocTag============> Next available number: 102 (ksridhara) <================list(OceanDocTagContributor)
objectionableContentBitmapA bitmap indicating whether content may be objectionable NOTE: Only populated for volume level docsOceanDocTag============> Next available number: 102 (ksridhara) <================integer
pagerankthe page rank value of the book pageOceanDocTag============> Next available number: 102 (ksridhara) <================float
searchInBookUrlthe URL for the “search in book”OceanDocTag============> Next available number: 102 (ksridhara) <================String
contentTypeThe content type of the document. See BoundVolumeSource::ContentType in ocean/data/volume_types.protodevel for possible values.OceanDocTag============> Next available number: 102 (ksridhara) <================integer
workclusterOceanDocTag============> Next available number: 102 (ksridhara) <================OceanDocTagWorkCluster
pricePrice information for a volume (per locale). Note existence of a price for a locale implies that the book is sellable for that locale.OceanDocTag============> Next available number: 102 (ksridhara) <================OceanGEPrice
DEPRECATEDApplicationDatethis is in ONIX format.OceanDocTag============> Next available number: 102 (ksridhara) <================String
goodTextDetailText quality as defined in CA_VolumeScoreResult::OACapabilities::TextQualityAssessment Note – This is only populated if good_text() and is_ge_quality() are trueOceanDocTag============> Next available number: 102 (ksridhara) <================integer
patentspecificOceanDocTag============> Next available number: 102 (ksridhara) <================OceanDocTagPatentSpecific
bookspecificOceanDocTag============> Next available number: 102 (ksridhara) <================OceanDocTagBookSpecific
structuredPageNumberIn CAv2 only: structured page number (printed number as we understand it) (result of ocean::StructuredPageNumberProto::AppendToString)OceanDocTag============> Next available number: 102 (ksridhara) <================String
catalogspecificOceanDocTag============> Next available number: 102 (ksridhara) <================OceanDocTagCatalogSpecific
authorsTODO(leonid) Deprecate these Authors string for front end.OceanDocTag============> Next available number: 102 (ksridhara) <================String
refPageUrlthe URL of the reference page (About this book)OceanDocTag============> Next available number: 102 (ksridhara) <================String
numPagesNumber of pages in this volume (usually as specified in metadata)OceanDocTag============> Next available number: 102 (ksridhara) <================integer
metadataCoverExistsmetadata_cover_exists will be set if there’s a metadata-provided cover thumbnail. the thumbnail will be used for scanless books or when a scanned book is in metadata-only view.OceanDocTag============> Next available number: 102 (ksridhara) <================boolean
subjectBitmapBitmap indicating top-level subjects associated with this document. See ocean/metadata/subjects/util.h for more detail.OceanDocTag============> Next available number: 102 (ksridhara) <================String
subTitleSub title string for front endOceanDocTag============> Next available number: 102 (ksridhara) <================String
thumbnailUrlthe URL of the cover page.OceanDocTag============> Next available number: 102 (ksridhara) <================String
coverPageSizeThe size (in pixels) of the full-resolution clean images used for the cover page. The width and height will be zero if no image for that page.OceanDocTag============> Next available number: 102 (ksridhara) <================OceanImageSize
isGeQualitySet to true if volume has ge qualityOceanDocTag============> Next available number: 102 (ksridhara) <================boolean
DEPRECATEDPatentNumberpatent-specific fields. ALL DEPRECATED, moved into PatentSpecific group, above.OceanDocTag============> Next available number: 102 (ksridhara) <================String
DEPRECATEDPublisherPercentVisiblePercent rights granted by publisher. This should only be set, and definitely should only be considered, if source_type == BoundVolumeSource::PUBLISHER. ‘0’ may mean we have no info on publisher rights so we have to just assume 0%. Deprecated as this is taken into account by viewabilityOceanDocTag============> Next available number: 102 (ksridhara) <================integer
metadataCoverSizeThe size (in pixels) of the metadata cover image.OceanDocTag============> Next available number: 102 (ksridhara) <================OceanImageSize
geoRestrictDEPRECATED! Being replaced in favor of viewability, below. geo restrict info (from OceanRights::geo_restrict) In CAv2: geo restrict info (from ocean::VolumeImprintRights::geo_restrict)OceanDocTag============> Next available number: 102 (ksridhara) <================list(String)
printedPageNumberprinted page number (OceanPrintedPageNumber; from OceanPageInfoMap::Page::printed_page_number)OceanDocTag============> Next available number: 102 (ksridhara) <================String
magazinespecificOceanDocTag============> Next available number: 102 (ksridhara) <================OceanDocTagMagazineSpecific
volumeTypeOceanDocTag============> Next available number: 102 (ksridhara) <================integer
urlKeyBibkey to be used as part of the URL (to make them persistent in some sense). This is obtained by doing a GetURLKey() on the bibdata which returns the main bibkey associated with the volume based on priority. This is parseable into an OceanVolumeBibKey (ocean/metadata/bibkeys.h) Note: This should ideally be a required field longer term but for now keeping it optional for compatibility. In case of this being absent, we don’t include the key in the URL (just use volumeId as before). Note: For content type books, this key is supplemented by other bibkeys for this volumes(the field is aux_bibkeys)OceanDocTag============> Next available number: 102 (ksridhara) <================String
DEPRECATEDPatentAssigneeOceanDocTag============> Next available number: 102 (ksridhara) <================String
pageidpageid of the page (OceanTypes::PageIdType)OceanDocTag============> Next available number: 102 (ksridhara) <================integer
grantableLocaleList of locales for which this book can be bought from a publisher, and read as a Google eBook. Each locale is a lowercase, two-letter country-code (eg “ca”), and is copied from PublisherGrantability.Locale.locale, defined in ocean/data/docinfo/volume_viewability.proto.OceanDocTag============> Next available number: 102 (ksridhara) <================list(String)
titleTitle string for front end.OceanDocTag============> Next available number: 102 (ksridhara) <================String
usingActualCoverusing_actual_cover will be set if we are using the actual cover of the book (instead of the table of content, etc.). This is particularly useful to identify books where we inserted a generated cover via Coverups.OceanDocTag============> Next available number: 102 (ksridhara) <================boolean
auxBibkeysThese are other bibkeys for this book beside the url_key, which is the primary key. For example, a book may have ISBN, OCLC num etc. In that case ISBN is the url_key and the OCLC number is the auxillary bibkey. The aux_bibkeys should have the same form as the url_keyOceanDocTagBookSpecificBook specific fields.list(String)
imprintOceanDocTagBookSpecificBook specific fields.String
numRatingHalfStarsOceanDocTagBookSpecificBook specific fields.integer
numberingrangeOceanDocTagBookSpecificBook specific fields.list(OceanDocTagBookSpecificNumberingRange)
partnerIdpublisher id, if availableOceanDocTagBookSpecificBook specific fields.String
productEditionNumberSet if the book is one of several editions or versions. Used by OFE to show numbered editions. The value is copied from clustering information. See also ocean/metadata/proto/bibdata_components.proto The value there is from metadata records by ocean/metadata/parsing/parse_utils.cc, and is a 1-based value.OceanDocTagBookSpecificBook specific fields.integer
publicationDateIn the format yyyy.mm.dd, or possibly just yyyy.OceanDocTagBookSpecificBook specific fields.String
publisherNameOceanDocTagBookSpecificBook specific fields.String
subjectSubject (from Bisac)OceanDocTagBookSpecificBook specific fields.String
endNumberingOceanDocTagBookSpecificNumberingRangeThese are copies of MetadataNumberingRange’s from ocean/metadata/metadata_range.proto. They should be used for rendering volume numbering information in search results (as this protobuf is the only piece of data available at that point). The numbering can look like “Volume 1” or “Parts A-D” Schema is volume/part/etc, type arabic number/roman number/letter/etc (these are both enums from ocean/metadata/metadata_enums.proto). In most cases there is only one numbering range (e.g. “Volume 1, Issue 2”), but in general the ranges may be disjoint (e.g. “Volumes 2, 3 and 7”)list(String)
numberTypeOceanDocTagBookSpecificNumberingRangeThese are copies of MetadataNumberingRange’s from ocean/metadata/metadata_range.proto. They should be used for rendering volume numbering information in search results (as this protobuf is the only piece of data available at that point). The numbering can look like “Volume 1” or “Parts A-D” Schema is volume/part/etc, type arabic number/roman number/letter/etc (these are both enums from ocean/metadata/metadata_enums.proto). In most cases there is only one numbering range (e.g. “Volume 1, Issue 2”), but in general the ranges may be disjoint (e.g. “Volumes 2, 3 and 7”)list(integer)
numberingSchemaOceanDocTagBookSpecificNumberingRangeThese are copies of MetadataNumberingRange’s from ocean/metadata/metadata_range.proto. They should be used for rendering volume numbering information in search results (as this protobuf is the only piece of data available at that point). The numbering can look like “Volume 1” or “Parts A-D” Schema is volume/part/etc, type arabic number/roman number/letter/etc (these are both enums from ocean/metadata/metadata_enums.proto). In most cases there is only one numbering range (e.g. “Volume 1, Issue 2”), but in general the ranges may be disjoint (e.g. “Volumes 2, 3 and 7”)list(integer)
startNumberingOceanDocTagBookSpecificNumberingRangeThese are copies of MetadataNumberingRange’s from ocean/metadata/metadata_range.proto. They should be used for rendering volume numbering information in search results (as this protobuf is the only piece of data available at that point). The numbering can look like “Volume 1” or “Parts A-D” Schema is volume/part/etc, type arabic number/roman number/letter/etc (these are both enums from ocean/metadata/metadata_enums.proto). In most cases there is only one numbering range (e.g. “Volume 1, Issue 2”), but in general the ranges may be disjoint (e.g. “Volumes 2, 3 and 7”)list(String)
latestIs this the latest issue of this catalog series? This is required to filter results if the latest restrict is on.OceanDocTagCatalogSpecificcatalog-specific fields.boolean
publicationDatetime_t date corresponding to the catalog publication date. Approximate when the catalog does not have an exact “date” of publication, e.g. For “Spring 2002”, year, month and day are 2002, 03 and 21, respectivley. This value is used to compare catalog issues to determine the latest. The value is stored in seconds-since-epoch, 1/1/1970. This is not a problem for catalogs because we are not dealing with any catalogs from before the 70’s.OceanDocTagCatalogSpecificcatalog-specific fields.integer
publicationTimeToDisplayString to be displayed as catalog publication time, e.g. “Spring 2002”.OceanDocTagCatalogSpecificcatalog-specific fields.String
nameOceanDocTagContributorThe composite descriptor of the contributors that should be known to search and front end. Both fields are required. Replaces authors and editors strings.String
typeContributionType enum from ocean/metadata/metadata_enums.proto Note that we pick only the “highest-ranking” contribution (i.e. writer and editor would collapse to “writer”.OceanDocTagContributorThe composite descriptor of the contributors that should be known to search and front end. Both fields are required. Replaces authors and editors strings.integer
displayDateA human-readable date for display in the UI. Unlike “publication_date_” above, this should not be parsed into structured data, but should only be displayed as is.OceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.String
issueDescriptionDescription specific to a magazine issue, such as featured articles and article summaries.OceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.String
issueEndOceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.integer
issueStartOceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.integer
itemItems within a magazine issue.OceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.list(OceanDataDocinfoWoodwingItemMetadata)
otherNumberingEndOceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.integer
otherNumberingSchemaNOTE: These should to be values from MetadataNumberingSchema; when this becomes a proto2, we can use MetadataEnums values.OceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.integer
otherNumberingStartFor season or quarter dates.OceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.integer
pageToItemFor each page of a magazine, maps to the item index of “item”.OceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.list(integer)
publicationDateEndOceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.String
publicationDateStartOceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.String
serialTitleThis is used to render the metadata line of the snippet and should be present in all magazine documents.OceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.String
serialVolumeidOceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.String
volumeOceanDocTagMagazineSpecificMagazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.integer
articleRollCoordsNewspaper Article Roll Coordinates used to figure out the location of the article wrt the page. It is of the form x,y.OceanDocTagNewspaperSpecificNewspaper-specific fields.String
newspaperDateAtlantis specific. Deprecated.OceanDocTagNewspaperSpecificNewspaper-specific fields.float
newspaperNameOceanDocTagNewspaperSpecificNewspaper-specific fields.String
newspaperUrlAtlantis specific. Deprecated.OceanDocTagNewspaperSpecificNewspaper-specific fields.String
publicationDateThese fields are only populated for Santorini (newspapers on goovols) formatted newspapers, not for Atlantis: YYYY.MM.DD format.OceanDocTagNewspaperSpecificNewspaper-specific fields.String
publisherAtlantis specific. Deprecated.OceanDocTagNewspaperSpecificNewspaper-specific fields.String
applicationDatethis is in ONIX format.OceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later dateString
contentLanguage2-letter language of the document such as “en” or “fr” This field was created for plumbing in the OFE API intl patent flow, and is probably not otherwise filled in.OceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later dateString
docTypeOceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later dateinteger
documentNumberJust the number, no bibkey prefix. Called ‘doc number’ b/c it could be patent number for patents, application number for applications.OceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later dateString
domesticClassificationUS and Int’l patent classification codes for “related patents”.OceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later datelist(String)
internationalClassificationOceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later datelist(String)
issueDatethis is in ONIX format.OceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later dateString
patentAssigneeOceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later dateString
publicationNumberFor applications, the ‘publication number’ Something like US20071234567A1: ‘US’ prefix, 4 digit year, 7 digit serial number, 2 character code, all stuck together.OceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later dateString
relativeThumbnailPathPath identifying the image used for the thumbnail of this patent. e.g. “EP1234567B1/imgf0001.png” The client is expected to fill in the rest of the url such as: https://patentimages.storage.googleapis.com/thumbnails/EP1234567B1/imgf0001.pngOceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later dateString
tenCharUsClassificationOceanDocTagPatentSpecificPatent specific fields. Currently empty, but need to move the fields below into here at a later datelist(String)
clusterSizeOceanDocTagWorkClusterDetails of the work cluster for this Volume.integer
workIdOceanDocTagWorkClusterDetails of the work cluster for this Volume.String
amountInMicrosamount in micros. 1 is represented 1000000OceanGEMoneyA container proto to store prices for GEString
currencyCodeThe currency codes come from google3/i18n/identifiers/currencycode.h.OceanGEMoneyA container proto to store prices for GEString
localeOceanGEPriceGE sale related datalist(OceanGEPriceLocale)
localeThe two character ISO country codeOceanGEPriceLocaleString
offerPricePrice used for sale by the OFEOceanGEPriceLocaleOceanGEMoney
onSaleTimeSecsThe time (in secs from epoch) the content goes on sale (only set when the book is not already sellable at the time of indexing).OceanGEPriceLocaleString
heightpixelsOceanImageSizeSize info of an image.integer
widthpixelsOceanImageSizeSize info of an image.integer
accessRightsThese capture “commercial” contract related access rights provided by partners for a volume.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)OceanVolumeAccessRights
allowAddingFrontmatterToPreviewAre we allowed to add all the front matter to the preview in addition to the preview amount that is from percent_book_shown? This means the front matter becomes freely previewable and does not count towards the previewable amount based on the percentage.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
allowContinuousBrowseBy default, we allow continuous browse. PFE provides a means for partners to opt out entirely or just specific books.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
allowRetailSyndicationwhether OFE should display this volume in syndicated search resultsOceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
bibkeyThe bibkey upon which this viewability information is based.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)String
canDisplayAdsWhether we can show ads with this book in this locale.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
canDownloadEpubIn future, we will generate epub iff can_download_epub = true irrespective of viewability or download pdf state.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
canDownloadPdfIn future, we will generate PDF iff can_download_pdf = true irrespective of viewability.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
canShowLibraryLinksWhether to show library links for the books in this imprint.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
canShowPhotosWhether we can show photos for this book in this locale.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
canUseMetadataCoverIt should be OK to use metadata covers normally, but we allow publishers to explicitly disallow them.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
clientIdThe client who provided the rights for this bibkey, and who should receive revenue derived from this book in this locale. This will only be present when we receive explicit rights from a publisher.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)String
computedAccessRightsVolume related access rights that are computed by Goovols Syncher from partner and book metadata. This complements VolumeAccessRights. This message is used to capture “commerical” contracts that are computed from other sources. Any future computed rights that are not related to volume access should go into a new message.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)OceanVolumeComputedAccessRights
datesOceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)OceanLocaleViewabilityDates
displayDetailsVolume display specific attributes are kept in display_detailsOceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)OceanVolumeDisplayDetails
metadataViewMayIncludeInfoFromScansThis only applies when view_type == VIEW_METADATA and controls whether we’re allowed to include scanned info (keywords, toc, etc). in the metadata-view. For books in metadata view because they have been opted out, this would be false.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
metadataViewSampleAllowedThis only applies when view_type == VIEW_METADATA and controls whether we’re allowed to include a text sample even for a metadata view book.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
percentBookShownHow much of the book can be viewed in this locale. Will be 100 for VIEW_FULL; 0 for VIEW_SNIPPET_, VIEW_NONE and VIEW_METADATA; and some value between 0 and 100 (exclusive) for VIEW_PARTIAL.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)integer
publicDomainIf present, this is the rights policy’s determination of the public domain status. (Of course, this determination is generally conservative (i.e. false negatives are likely), though exactly how conservative may depend on parameters to the rights policy.) If absent, public domain status can be inferred from view_type and view_reason, but that isn’t quite perfectly reliable: view_type should always be VIEW_FULL for public domain, but view_reason might be REASON_PUBLIC_DOMAIN (definitely public domain, obviously), some other value, or absent. In the future, new viewabilities should always have this field whenever possible.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)boolean
sourcedetailsOceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)OceanLocaleViewabilitySourceDetails
viewReasonThe reason for the view_type.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)String
viewTypeThe viewability specified for this locale.OceanLocaleViewabilityHow a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)String
effectiveDateIf specified, the LocaleViewability will become effective on this date. This field is used to allow pre-indexing of future books which will become viewable and searchable according to the LocaleViewability on the specified date. Before the effective date, the volume will have scanless-like VIEW_METADATA viewability. For details, see the design document at http://go/oceanviewabilityeffectivedate. The date is expressed as the number of seconds since the Unix epoch.OceanLocaleViewabilityDatesViewability related dates.String
imprintOceanLocaleViewabilitySourceDetailsHow did we derive this viewability for this locale+volume? For “partner” books, this includes details about the “Imprint” that provided the rights. These details specify things such as preferred buy-the-book-url to show in the frontend.OceanVolumeImprint
flagsrights, mask-availability, porn, etc.OceanPerDocDataPer-doc data in the Ocean index. Ocean indexing details are in https://www/eng/designdocs/scanning/ocean-indexing.htmlString
numPagesOceanPerDocDataPer-doc data in the Ocean index. Ocean indexing details are in https://www/eng/designdocs/scanning/ocean-indexing.htmlinteger
pageNumber1-basedOceanPerDocDataPer-doc data in the Ocean index. Ocean indexing details are in https://www/eng/designdocs/scanning/ocean-indexing.htmlinteger
pageidOceanPerDocDataPer-doc data in the Ocean index. Ocean indexing details are in https://www/eng/designdocs/scanning/ocean-indexing.htmlinteger
volumeidOceanPerDocDataPer-doc data in the Ocean index. Ocean indexing details are in https://www/eng/designdocs/scanning/ocean-indexing.htmlString
allowAutoGeneratedTextIf false, then we can only provide text layer generated from publisher provided epub.OceanVolumeAccessRightsboolean
canShowInfoCardsWhether we can show info cards inside this book.OceanVolumeAccessRightsboolean
canShowPhotosWhether we can show photos inside this book.OceanVolumeAccessRightsboolean
numAdeDeviceAllowedMaximum number of Adobe Digital Editions device per sale item allowed. 0 means no download allowed. -1 means unlimited download.OceanVolumeAccessRightsinteger
numAdobeIdAllowedMaximum number of Adobe id per sale item allowed. 0 means no download allowed. -1 means unlimited download.OceanVolumeAccessRightsinteger
numDownloadsAllowedMax. number of Google eBooks downloads allowed. This is related to iPhone/iPad/Androrid/WebReader reading, not to epub/pdf downloads. 0 means no download allowed. This is related to bug #3094719.OceanVolumeAccessRightsinteger
numSimultaneousAccessNumber of readers can read the Google eBooks simultaneouslyOceanVolumeAccessRightsinteger
offlineDownloadDownload type for offline readingOceanVolumeAccessRightsString
percentCopyableHow much of a volume we allow user to extract as text (for copy+paste)OceanVolumeAccessRightsinteger
percentPrintableHow much of a volume we allow user to printOceanVolumeAccessRightsinteger
restrictOnlyToTextTrue iff restrict view only to epub text. Don’t show page images if this is true. Some pubs don’t have copyright for page layout and fonts.OceanVolumeAccessRightsboolean
sellFixedLayoutAsImageOnlyWhether we sell fixed layout as image only.OceanVolumeAccessRightsboolean
textToSpeechWhether text to speech is allowedOceanVolumeAccessRightsboolean
treatAsPublicDomainWhether we treat this book as public domain.OceanVolumeAccessRightsboolean
canFamilyShareWhether this book can be shared with family members.OceanVolumeComputedAccessRightsVolume related access rights that are computed by Goovols Syncher from partner and book metadata. This complements VolumeAccessRights. Next available ID: 4 (kblass)boolean
panelizationFeatureInternalOnlyWhether the panelization feature is enabled for internal users only.OceanVolumeComputedAccessRightsVolume related access rights that are computed by Goovols Syncher from partner and book metadata. This complements VolumeAccessRights. Next available ID: 4 (kblass)boolean
viewableInternalOnlyWhether the book is viewable for internal users only.OceanVolumeComputedAccessRightsVolume related access rights that are computed by Goovols Syncher from partner and book metadata. This complements VolumeAccessRights. Next available ID: 4 (kblass)boolean
ccLicenseThe creative commons license specified, Please refer ocean.CreativeCommonsLicenseType.Type for enum values Not exposed in Partner Frontend anymore.OceanVolumeDisplayDetailsThis message describes display attributes. The attributes which are applicable to OFE not indexing (mustang), should be added in this proto.integer
accessRightsThese capture “commercial” contract related access rights provided by partners for a volume.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.OceanVolumeAccessRights
adsIdId used in the google ads systemOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
allowAddingFrontmatterToPreviewAre we allowed to add all the front matter to the preview in addition to the preview amount that is from percent_book_shown?OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.boolean
allowContinuousBrowseBy default, we allow continuous browse. PFE provides a means for partners to opt out entirely or just specific books. This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.boolean
allowRetailSyndicationBy default, we allow retailer syndication. PFE provides a means for partner to opt out. This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.boolean
authorBeware: the author strings are not in fixed format..these can be comma separated or ‘and’ separated or have extra terms like ‘et al’ and sometimes have weird ones like ‘no author’ as these are fed in via a somewhat flexible free text tool.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
bibkeyCommercial info comes with book identifiers like ISBN(or some bibkey), Title, Author. Passing these along as well with the commercials for better book identification/link up with rights.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
buyTheBookTextText to display in the buy-the-book blurbOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
buyTheBookUrlISBN/ISSN-parameterized URL to the imprint’s site for buying a book. For ISBN-parameterized links, the ISBN value will be substituted in the cannonical 13-digit form.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
canDownloadEpubiff true volume is available as Google Edition. This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.boolean
canDownloadPdfiff true and VIEW_TYPE=FULL_VIEW, then we will allow PDF download This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.boolean
canShowLibraryLinksWhether to show library links for the books in this imprint. This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.boolean
canUseMetadataCoverIt should be OK to use metadata covers normally, but we allow publishers to explicitly disallow them. This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.boolean
disableOtherBuyTheBookLinksWhether to disable other btb links for the books in this imprint. Show only btb link from this partner and remove everything else.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.boolean
displayDetailsVolume display specific attributes are kept in display_details This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.OceanVolumeDisplayDetails
geBibkeyThe ISBN supplied by publisher (or Google) for the Google Edition e-book. One day it should be an attribute of the tome cluster.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
imprintIdThe imprint id from the ocean devel db for this imprint.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
imprintNameOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
imprintUrlURL to the imprint’s website, to go to upon a click on the logoOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
logoHeightOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.integer
logoLocationURL/location for the imprint’s logo to displayOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
logoWidthThe logo image’s geometryOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.integer
percentBookShownPercentage of book we are allowed to display This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.integer
promotionalTextOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
promotionalUrlWe may allow imprints to run promotional campaigns. The following fields capture the blurb to display and the URL (ISBN-parameterized) link to provide.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
publishedImprintNameSometimes the Publisher/Imprint Name the book is published under is different from the current name and we may have this information.OceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
pviRowidNeed a unique identifier for PFE records, using PVI IDOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
titleOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
useBibdataSome records are deactivated, suppressed or excluded; we still want to hear about them, but we aren’t going to be using their bibdataOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.boolean
verticalTypeOceanVolumeImprintCommercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.String
DEPRECATEDDefaultViewTypeOceanVolumeViewabilityinteger
defaultViewabilityThe viewability for any locale that is not explicitly listed.OceanVolumeViewabilityOceanLocaleViewability
inViewabilityLimboDEPRECATED: Viewability-Limbo was a state that prevented indexing from running if the viewability of a volume had dropped significantly. It was removed during viewability refactoring: http://go/viewabilityOceanVolumeViewabilityboolean
localeOceanVolumeViewabilitylist(OceanVolumeViewabilityLocale)
updatedByIndexerWhether the volume viewability was updated by the indexer as opposed to a direct update in goovols. The absense of this bit will indicate to the indexer that it should not short-circuit indexing side effects that should occur when viewability changes.OceanVolumeViewabilityboolean
DEPRECATEDViewTypeOceanVolumeViewabilityLocaleinteger
localeThe two-character ISO country code for the locale.OceanVolumeViewabilityLocaleString
viewabilityThe viewability specified for this locale.OceanVolumeViewabilityLocaleOceanLocaleViewability
angleAngle of rotation of (in degrees, clockwise is positive) of the box about the top-left corner.OcrPhotoBoundingBoxBounding box of patch containing line, word or symbol.number
curvedBoxSequence of rotated boxes that tightly enclose the text.OcrPhotoBoundingBoxBounding box of patch containing line, word or symbol.OcrPhotoCurvedBoundingBox
heightBox height (bottom pixels at top + height – 1).OcrPhotoBoundingBoxBounding box of patch containing line, word or symbol.integer
leftx coordinate of top-left cornerOcrPhotoBoundingBoxBounding box of patch containing line, word or symbol.integer
topy coordinate of top-left cornerOcrPhotoBoundingBoxBounding box of patch containing line, word or symbol.integer
widthBox width (rightmost pixels at left + width – 1).OcrPhotoBoundingBoxBounding box of patch containing line, word or symbol.integer
pointsThe sequence of points that approximate the curve.OcrPhotoCurveCopy of ocr/goodoc/layout-common.proto:CurvedBoundingBox, temporary duplicated here to allow for on-device builds.list(OcrPhotoCurvePoint)
midLineCurveThe curve of points along the middle of the text line.OcrPhotoCurvedBoundingBoxOcrPhotoCurve
thicknessIf top_to_bottom is true, this is the width of the curved box. Otherwise, it is the height of the curved box.OcrPhotoCurvedBoundingBoxfloat
topToBottomIf true, the curve is interpreted as top to bottom of the line image. Otherwise, it is from left to right.OcrPhotoCurvedBoundingBoxboolean
xOcrPhotoCurvePointfloat
yNOTE: if we wish to support perspective (varying thickness), later on we could extend this message with a thickness field. In that case, CurvedBoundingBox.thickness() would be used as a default if !Point.has_thickness().OcrPhotoCurvePointfloat
blockIdID of the text block that this line belongs to.OcrPhotoTextBoxText with bounding box.integer
boxText bounding box.OcrPhotoTextBoxText with bounding box.OcrPhotoBoundingBox
contentTypeContent type for this box.OcrPhotoTextBoxText with bounding box.String
symbolWidthsOptional width of characters in the text.OcrPhotoTextBoxText with bounding box.list(integer)
textText string.OcrPhotoTextBoxText with bounding box.String
countryOfficialPagesOfficialKeyThis proto is used as the key for official pages data. WARNING WARNING WARNING WARNING WARNING PAY ATTENTION HERE! The query field contains a specially NORMALIZED query, NOT a raw one. You can get a normalized query in several ways: 1. from an squery with NormalizedQueryFromSquery 2. from a CJK-segmented and punctuation-stripped query with NormalizeText (NOTE: navboost queries are already CJK-segmented and punctuation-stripped, you can just pass them to NormalizeText) 3. from user text/query with CanonicalizeText (this will do the CJK segmenting, punctuation stripping and character normalization for you) All of these functions are in ./utils/external-utils.hString
languageOfficialPagesOfficialKeyThis proto is used as the key for official pages data. WARNING WARNING WARNING WARNING WARNING PAY ATTENTION HERE! The query field contains a specially NORMALIZED query, NOT a raw one. You can get a normalized query in several ways: 1. from an squery with NormalizedQueryFromSquery 2. from a CJK-segmented and punctuation-stripped query with NormalizeText (NOTE: navboost queries are already CJK-segmented and punctuation-stripped, you can just pass them to NormalizeText) 3. from user text/query with CanonicalizeText (this will do the CJK segmenting, punctuation stripping and character normalization for you) All of these functions are in ./utils/external-utils.hinteger
queryOfficialPagesOfficialKeyThis proto is used as the key for official pages data. WARNING WARNING WARNING WARNING WARNING PAY ATTENTION HERE! The query field contains a specially NORMALIZED query, NOT a raw one. You can get a normalized query in several ways: 1. from an squery with NormalizedQueryFromSquery 2. from a CJK-segmented and punctuation-stripped query with NormalizeText (NOTE: navboost queries are already CJK-segmented and punctuation-stripped, you can just pass them to NormalizeText) 3. from user text/query with CanonicalizeText (this will do the CJK segmenting, punctuation stripping and character normalization for you) All of these functions are in ./utils/external-utils.hString
queriesOfficialPagesQuerySetlist(OfficialPagesOfficialKey)
queryCountryLanguageFingerprintsThis is the fingerprint of the OfficialKey queries in the queries field. The index of a fingerprint in this field corresponds to the index of the fingerprinted query in the queries field. The fingerprint is produced with the QueryCountryLanguageFingerprint function in external-utils.hOfficialPagesQuerySetlist(String)
docidOrionDocEntitiesProtoString
encodedEntityThis is encoded using EntityCandidate::EncodeOrionDocEntitiesProtolist(integer)
confidenceValuePairwiseQScoringDatanumber
valuePairwiseQScoringDatanumber
confidenceValueThe PairwiseQ confidence value corresponding to this version.PairwiseQVersionedItemMessage representing a versioned PairwiseQ scores used for experimentation. This protobuf is copied from quality_nsr_pairwiseq::PairwiseQVersionedItem.number
valueThe PairwiseQ value corresponding to this version.PairwiseQVersionedItemMessage representing a versioned PairwiseQ scores used for experimentation. This protobuf is copied from quality_nsr_pairwiseq::PairwiseQVersionedItem.number
versionIdThe version id.PairwiseQVersionedItemMessage representing a versioned PairwiseQ scores used for experimentation. This protobuf is copied from quality_nsr_pairwiseq::PairwiseQVersionedItem.integer
applicationAll evaluations are done within the context of a given application, e.g., “Gmail” and should not be reused in other apps.PeoplestackFlexorgsProtoInternalExternalString
stateStatus* There can be multiple states based on the context: 1. AUTOCOMPLETE + Gmail – context 1 2. AUTOCOMPLETE + Chat/Dynamite – context 2 3. “SOME OTHER ACTION” + Gmail – context 3 A client should identify whether a patrticular context is present in the list and only if one is found – use the state that goes alogn with the context, otherwise the client should default to whatever is the safe assumption about “internality/externality” the application should be making (likely, consider everything not explicitly “internal” as “external”).PeoplestackFlexorgsProtoInternalExternallist(PeoplestackFlexorgsProtoInternalExternalStateStatus)
contextTypePeoplestackFlexorgsProtoInternalExternalStateStatusString
statePeoplestackFlexorgsProtoInternalExternalStateStatusString
scienceDoctypeScholar/Science Document type: <0 == not a Science Document -- default 0 == Science doc fully visible >0 == Science doc but limited visibility, the number is the visible termsPerDocData!ERROR! D8919 -> Formula Error: Unexpected ,integer
ScaledExptIndyRank2experimentalPerDocData!ERROR! D8920 -> Formula Error: Unexpected ,integer
videoLanguageAudio-based language classified by Automatic Language Identification (only for watch pages).PerDocData!ERROR! D8921 -> Formula Error: Unexpected ,QualityVidyaVideoLanguageVideoLanguage
phildataPerDocData!ERROR! D8922 -> Formula Error: Unexpected ,PhilPerDocData
uacSpamScoreThe uac spam score is represented in 7 bits, going from 0 to 127. Threshold is 64. Score >= 64 is considered as uac spam.PerDocData!ERROR! D8923 -> Formula Error: Unexpected ,integer
DEPRECATEDAuthorObfuscatedGaiaThe obfuscated google profile gaia id(s) of the author(s) of the document. This field is deprecated, use the string version.PerDocData!ERROR! D8924 -> Formula Error: Unexpected ,list(String)
spamtokensContentScoreFor SpamTokens content scores. Used in SiteBoostTwiddler to determine whether a page is UGC Spam. See go/spamtokens-dd for details.PerDocData!ERROR! D8925 -> Formula Error: Unexpected ,number
webrefEntitiesWebRef entities associated to the document. See go/webref for details.PerDocData!ERROR! D8926 -> Formula Error: Unexpected ,RepositoryWebrefWebrefMustangAttachment
PremiumDataAdditional metadata for Premium document in the Google index.PerDocData!ERROR! D8927 -> Formula Error: Unexpected ,PremiumPerDocData
spamMuppetSignalsContains hacked site signals which will be used in query time joins. As of Oct’19, the field is stored in a separate corpus. It’ll only be populated for in-flight requests between retrieve and full-score in perdocdata. So no extra storage is needed on muppet side.PerDocData!ERROR! D8928 -> Formula Error: Unexpected ,SpamMuppetjoinsMuppetSignals
knexAnnotationFor indexing k’nex annotations for FreshDocs.PerDocData!ERROR! D8929 -> Formula Error: Unexpected ,SocialPersonalizationKnexAnnotation
smartphoneDataAdditional metadata for smartphone documents in the Google index.PerDocData!ERROR! D8930 -> Formula Error: Unexpected ,SmartphonePerDocData
semanticDateConfidenceDEPRECATED: semantic_date_confidence replaced by semantic_date_info.PerDocData!ERROR! D8931 -> Formula Error: Unexpected ,integer
trendspamScoreFor now, the count of matching trendspam queries.PerDocData!ERROR! D8932 -> Formula Error: Unexpected ,integer
ScaledSpamScoreYoramSpamscores are represented as a 7-bit integer, going from 0 to 127.PerDocData!ERROR! D8933 -> Formula Error: Unexpected ,integer
numUrlsTotal number of urls encoded in the url section = # of alternate urls + 1PerDocData!ERROR! D8934 -> Formula Error: Unexpected ,integer
datesInfoStores dates-related info (e.g. page is old based on its date annotations). Used in FreshnessTwiddler. Use encode/decode functions from quality/timebased/utils/dates-info-helper-inl.hPerDocData!ERROR! D8935 -> Formula Error: Unexpected ,String
pagerank2PerDocData!ERROR! D8936 -> Formula Error: Unexpected ,number
nsrDataProtoStripped site-level signals, not present in the explicit nsr_* fields, nor compressed_quality_signals.PerDocData!ERROR! D8937 -> Formula Error: Unexpected ,QualityNsrNsrData
fringeQueryPriorContains encoded FringeQueryPrior information. Unlikely to be meaningful for anyone other than fringe-ranking team. Contact fringe-ranking team if any questions, but do NOT use directly without consulting them.PerDocData!ERROR! D8938 -> Formula Error: Unexpected ,QualityFringeFringeQueryPriorPerDocData
kaltixdataPerDocData!ERROR! D8939 -> Formula Error: Unexpected ,KaltixPerDocData
ymylHealthScoreStores scores of ymyl health classifier as defined at go/ymyl-classifier-dd. To use this field, you MUST join g/pq-classifiers-announce and add your use case at http://shortn/_nfg9oAldou.PerDocData!ERROR! D8940 -> Formula Error: Unexpected ,integer
authorObfuscatedGaiaStrPerDocData!ERROR! D8941 -> Formula Error: Unexpected ,list(String)
lastSignificantUpdateLast significant update of the document. This is sourced from the quality_timebased.LastSignificantUpdate proto as computed by the LSUSelector from various signals. The value is a UNIX timestamp in seconds.PerDocData!ERROR! D8942 -> Formula Error: Unexpected ,String
spambrainDataHost-v1 sitechunk level scores coming from spambrain.PerDocData!ERROR! D8943 -> Formula Error: Unexpected ,SpamBrainData
DEPRECATEDQuarantineWhitelistPerDocData!ERROR! D8944 -> Formula Error: Unexpected ,boolean
tundraClusterIdThis field is propagated to shards. Stores clustering information on a site level for the Tundra project. This field is deprecated – used the equivalent field inside nsr_data_proto instead.PerDocData!ERROR! D8945 -> Formula Error: Unexpected ,integer
bodyWordsToTokensRatioTotalPerDocData!ERROR! D8946 -> Formula Error: Unexpected ,number
homepagePagerankNsThe page-rank of the homepage of the site. Copied from the cdoc.doc().pagerank_ns() of the homepage.PerDocData!ERROR! D8947 -> Formula Error: Unexpected ,integer
topPetacatTaxIdTop petacat of the site. Used in SiteboostTwiddler to determine result/query matching.PerDocData!ERROR! D8948 -> Formula Error: Unexpected ,integer
OriginalContentScoreThe original content score is represented as a 7-bits, going from 0 to 127. Only pages with little content have this field. The actual original content score ranges from 0 to 512. It is encoded with quality_q2::OriginalContentUtil::EncodeOriginalContentScore(). To decode the value, use quality_q2::OriginalContentUtil::DecodeOriginalContentScore().PerDocData!ERROR! D8949 -> Formula Error: Unexpected ,integer
contentAttributionsPerDocData!ERROR! D8950 -> Formula Error: Unexpected ,ContentAttributions
webmirrorEcnFpPerDocData!ERROR! D8951 -> Formula Error: Unexpected ,String
DocLevelSpamScoreThe document spam score is represented as a 7-bits, going from 0 to 127.PerDocData!ERROR! D8952 -> Formula Error: Unexpected ,integer
urlPoisoningDataContains url poisoning data for suppressing spam documents.PerDocData!ERROR! D8953 -> Formula Error: Unexpected ,UrlPoisoningData
EventFree form debug info. NB2: consider carefully what to save here. It’s easy to eat lots of gfs space with debug info that nobody needs…PerDocData!ERROR! D8954 -> Formula Error: Unexpected ,list(PerDocDebugEvent)
mediaOrPeopleEntitiesContains the mids of the 5 most topical entities annotated with selected KG collections. This information is currently used on Image Search to detect cases where results converged to mostly a single person or media entity. More details: go/result-set-convergence.PerDocData!ERROR! D8955 -> Formula Error: Unexpected ,ImageQualitySensitiveMediaOrPeopleEntities
scaledSelectionTierRankSelection tier rank is a language normalized score ranging from 0-32767 over the serving tier (Base, Zeppelins, Landfills) for this document. This is converted back to fractional position within the index tier by scaled_selection_tier_rank/32767.PerDocData!ERROR! D8956 -> Formula Error: Unexpected ,integer
pageTagsPerDocData!ERROR! D8957 -> Formula Error: Unexpected ,list(integer)
smearingMaxTotalOffdomainAnchorsPerDocData!ERROR! D8958 -> Formula Error: Unexpected ,integer
pagerankExperimental pageranks (DEPRECATED; only pagerank in MustangBasicInfo is used).PerDocData!ERROR! D8959 -> Formula Error: Unexpected ,number
QuarantineInfobitmask of QuarantineBits (or’d together) used to store quarantine related information. For example: QUARANTINE_WHITELIST | QUARANTINE_URLINURL.PerDocData!ERROR! D8960 -> Formula Error: Unexpected ,integer
rosettaLanguagesTop two document language BCP-47 codes as generated by the RosettaLanguageAnnotator in the decreasing order of probability.PerDocData!ERROR! D8961 -> Formula Error: Unexpected ,list(String)
freshnessEncodedSignalsStores freshness and aging related data, such as time-related quality metrics predicted from url-pattern level signals. Use the encoding decoding API in quality/freshness/docclassifier/aging/encoded-pattern-signals.h This field is deprecated.PerDocData!ERROR! D8962 -> Formula Error: Unexpected ,String
imagedataPerDocData!ERROR! D8963 -> Formula Error: Unexpected ,ImagePerDocData
videoCorpusDocidPerDocData!ERROR! D8964 -> Formula Error: Unexpected ,String
queriesForWhichOfficialThe set of (query, country, language) triples for which this document is considered to be the official page. For example, www.britneyspears.com would be official for (“britney spears”, “us”, 0) and others (0 is English).PerDocData!ERROR! D8965 -> Formula Error: Unexpected ,OfficialPagesQuerySet
nsrIsCovidLocalAuthorityThis field is propagated to shards. In addition, it is populated at serving time by go/web-signal-joins. This field is deprecated – used the equivalent field inside nsr_data_proto instead.PerDocData!ERROR! D8966 -> Formula Error: Unexpected ,boolean
crawlerIdProtoFor crawler-ID variations, the crawling context applied to the document. See go/url, and the description in google3/indexing/crawler_idPerDocData!ERROR! D8967 -> Formula Error: Unexpected ,LogsProtoIndexingCrawlerIdCrawlerIdProto
ScaledSpamScoreEricPerDocData!ERROR! D8968 -> Formula Error: Unexpected ,integer
biasingdataPerDocData!ERROR! D8969 -> Formula Error: Unexpected ,BiasingPerDocData
ScaledExptSpamScoreEricPerDocData!ERROR! D8970 -> Formula Error: Unexpected ,integer
v2KnexAnnotationFor indexing v2 k’nex, see/go/knex-v2-doc-annotation for details.PerDocData!ERROR! D8971 -> Formula Error: Unexpected ,QualitySherlockKnexAnnotation
MobileDataAdditional metadata for lowend mobile documents in the Google index.PerDocData!ERROR! D8972 -> Formula Error: Unexpected ,MobilePerDocData
BookCitationDatathe book citation data for each web page, the average size is about 10 bytesPerDocData!ERROR! D8973 -> Formula Error: Unexpected ,BookCitationPerDocData
semanticDateSemanticDate, estimated date of the content of a document based on the contents of the document (via parsing), anchors and related documents. Date is encoded as a 32-bits UNIX date (1970 Jan 1 epoch). Confidence is encoded using a SemanticDate specific format. For details of encoding, please refer to quality/freshness/docclassifier/semanticdate/public/semantic_date.protoPerDocData!ERROR! D8974 -> Formula Error: Unexpected ,integer
biasingdata2A replacement for BiasingPerDocData that is more space efficient. Once this is live everywhere, biasingdata will be deprecated.PerDocData!ERROR! D8975 -> Formula Error: Unexpected ,BiasingPerDocData2
ymylNewsScoreStores scores of ymyl news classifier as defined at go/ymyl-classifier-dd. To use this field, you MUST join g/pq-classifiers-announce and add your use case at http://shortn/_nfg9oAldou.PerDocData!ERROR! D8976 -> Formula Error: Unexpected ,integer
saftLanguageIntTop document language as generated by SAFT LangID. For now we store bare minimum: just the top 1 language value, converted to the language enum, and only when different from the first value in ‘languages’.PerDocData!ERROR! D8977 -> Formula Error: Unexpected ,list(integer)
rsApplicationApplication information associated to the document.PerDocData!ERROR! D8978 -> Formula Error: Unexpected ,RepositoryAnnotationsRdfaRdfaRichSnippetsApplication
domainAge16-bitPerDocData!ERROR! D8979 -> Formula Error: Unexpected ,integer
lastSignificantUpdateInfoMetadata about last significant update. Currently this only encodes the quality_timebased.LastSignificantUpdate.source field which contains the info on the source of the signal. NOTE: Please do not read the value directly. Use helpers from quality/timebased/lastsignificantupdate/lsu-helper.h instead.PerDocData!ERROR! D8980 -> Formula Error: Unexpected ,String
pagerank1PerDocData!ERROR! D8981 -> Formula Error: Unexpected ,number
spamCookbookActionActions based on Cookbook recipes that match the page.PerDocData!ERROR! D8982 -> Formula Error: Unexpected ,SpamCookbookAction
compressedUrlCompressed URL string used for SETI.PerDocData!ERROR! D8983 -> Formula Error: Unexpected ,String
extraDataThis field is available only in the docjoins: it is cleared before building per-doc data in both Mustang and Teragoogle. (MessageSet is inefficient in space for serving data) Use this for all new fields that aren’t needed during serving. Currently this field contains: * UrlSignals for the document level spam classifier (when the doclevelspamscore is set). * PerDocLangidData and realtimespam::ClassifierResult for the document level fresh spam classifier (when the doc-level fresh spam score is generated). * MicroblogDocQualitySignals for document-level microblog spam classifier. This only exists in Firebird for now. * spam_buckets::BucketsData for a document-structure hash This field is non-personal since the personal fields in MessageSet are not populated in production.PerDocData!ERROR! D8984 -> Formula Error: Unexpected ,Proto2BridgeMessageSet
socialgraphNodeNameFpFor Social Search we store the fingerprint of the SG node name. This is used in one of the superroot’s PRE_DOC twiddlers as a lookup key for the full Social Search data. PRE_DOC = twiddlers firing before the DocInfo request is sent to the mustang backend.PerDocData!ERROR! D8985 -> Formula Error: Unexpected ,String
urlAfterRedirectsFpThese two fingerprints are used for de-duping results in a twiddler. They should only be populated by freshdocs, and will only be present for documents that are chosen to be canonicals in a cluster whose previous canonical is also in the index. Additionally, url_after_redirects_fp is only present if it is different from a fingerprint of the URL.PerDocData!ERROR! D8986 -> Formula Error: Unexpected ,String
localizedClusterInformation on localized clusters, which is the relationship of translated and/or localized pages.PerDocData!ERROR! D8987 -> Formula Error: Unexpected ,IndexingDupsLocalizedLocalizedCluster
pageregionsString that encodes the position ranges for different regions of the document. See “indexer/pageregion.h” for an explanation, and how to decode the stringPerDocData!ERROR! D8988 -> Formula Error: Unexpected ,String
KeywordStuffingScoreThe keyword stuffing score is represented in 7 bits, going from 0 to 127.PerDocData!ERROR! D8989 -> Formula Error: Unexpected ,integer
spambrainTotalDocSpamScoreThe document total spam score identified by spambrain, going from 0 to 1.PerDocData!ERROR! D8990 -> Formula Error: Unexpected ,number
noimageframeoverlayreasonIf not 0, we should not show the image in overlay mode in image snippetsPerDocData!ERROR! D8991 -> Formula Error: Unexpected ,integer
scienceHoldingsIdsDeprecated 2016/01/14.PerDocData!ERROR! D8992 -> Formula Error: Unexpected ,list(String)
crawlPagerankThis field is used internally by the docjoiner to forward the crawl pageranks from original canonicals to canonicals we actually chose; outside sources should not set it, and it should not be present in actual docjoins or the index.PerDocData!ERROR! D8993 -> Formula Error: Unexpected ,integer
BlogDataPerDocData!ERROR! D8994 -> Formula Error: Unexpected ,BlogPerDocData
nsrIsVideoFocusedSiteThis field is propagated to shards. It will also be populated at serving time by go/web-signal-joins (see b/170607253). Bit indicating whether this site is video-focused, but not hosted on any major known video hosting domains. This field is deprecated – used the equivalent field inside nsr_data_proto instead.PerDocData!ERROR! D8995 -> Formula Error: Unexpected ,boolean
ScaledExptSpamScoreYoramPerDocData!ERROR! D8996 -> Formula Error: Unexpected ,integer
spamrankThe spamrank measures the likelihood that this document links to known spammers. Its value is between 0 and 65535.PerDocData!ERROR! D8997 -> Formula Error: Unexpected ,integer
compressedQualitySignalsPerDocData!ERROR! D8998 -> Formula Error: Unexpected ,CompressedQualitySignals
videodataPerDocData!ERROR! D8999 -> Formula Error: Unexpected ,VideoPerDocData
s3AudioLanguagePrimary video’s audio language classified by S3 based Automatic Language Identification (only for watch pages).PerDocData!ERROR! D9000 -> Formula Error: Unexpected ,S3AudioLanguageS3AudioLanguage
watchpageLanguageResultLanguage classified by the WatchPageLanguage Model (go/watchpage-language). Only present for watch pages.PerDocData!ERROR! D9001 -> Formula Error: Unexpected ,WatchpageLanguageWatchPageLanguageResult
appsLinkAppsLink contains Android application IDs in outlinks. It is used to improve results ranking within applications universal. See http://go/apps-universal for the project details.PerDocData!ERROR! D9002 -> Formula Error: Unexpected ,QualityCalypsoAppsLink
desktopInterstitialsContains desktop interstitials signal for VOLT ranking change.PerDocData!ERROR! D9003 -> Formula Error: Unexpected ,IndexingMobileInterstitialsProtoDesktopInterstitials
liveResultsDataPerDocData!ERROR! D9004 -> Formula Error: Unexpected ,WeboftrustLiveResultsDocAttachments
crowdingdataPerDocData!ERROR! D9005 -> Formula Error: Unexpected ,CrowdingPerDocData
nsrSitechunkSiteChunk computed for nsr. It some cases it can use more information than just url (e.g. youtube channels). See NsrAnnotator for details. If sitechunk is longer than –populate_nsr_sitechunk_max_length (default=100), it will not get populated. This field might be compressed and needs to be decoded with quality_nsr::util::DecodeNsrSitechunk. See go/nsr-chunks for more details. This field contains only nontrivial primary chunks.PerDocData!ERROR! D9006 -> Formula Error: Unexpected ,String
originalTitleHardTokenCountThe number of hard tokens in the title.PerDocData!ERROR! D9007 -> Formula Error: Unexpected ,integer
hostAgeThe earliest firstseen date of all pages in this host/domain. These data are used in twiddler to sandbox fresh spam in serving time. It is 16 bit and the time is day number after 2005-12-31, and all the previous time are set to 0. If this url’s host_age == domain_age, then omit domain_age Please use //spam/content/siteage-util.h to convert the day between epoch second. Regarding usage of Sentinel values: We would like to check if a value exists in scoring bundle while using in Ranklab AST. For this having a sentinel value will help us know if the field exists or has a sentinel value (in the case it does not exist). 16-bitPerDocData!ERROR! D9008 -> Formula Error: Unexpected ,integer
inNewsstandThis field indicates whether the document is in the newsstand corpus.PerDocData!ERROR! D9009 -> Formula Error: Unexpected ,boolean
originPerDocData!ERROR! D9010 -> Formula Error: Unexpected ,integer
launchAppInfoInfo on how to launch a mobile app to consume this document’s content, if applicable (see go/calypso).PerDocData!ERROR! D9011 -> Formula Error: Unexpected ,QualityRichsnippetsAppsProtosLaunchAppInfoPerDocData
eventsDateDate for Events. A web page might list multiple events with different dates. We only take one date (start date) per event.PerDocData!ERROR! D9012 -> Formula Error: Unexpected ,list(String)
homePageInfoPerDocData!ERROR! D9013 -> Formula Error: Unexpected ,integer
GibberishScoreThe gibberish score is represented in 7 bits, going from 0 to 127.PerDocData!ERROR! D9014 -> Formula Error: Unexpected ,integer
toolbarPagerankA copy of the value stored in /namespace/indexing/wwwglobal//fakepr/* for this document. A value of quality_bakery::FakeprUtils::kUnknownToolbarPagerank indicates that we don’t have toolbar pagerank for this document. A value between 0 and 10 (inclusive) means that this is the toolbar pagerank of the page. Finally, if this value is not set it means that the toolbar pagerank is equivalent to: quality_bakery::FakeprUtils::EstimatePreDemotionFromPagerankNearestSeeds( basic_info.pagerank_ns()) called on the MustangBasicInfo attachment for the same document.PerDocData!ERROR! D9015 -> Formula Error: Unexpected ,integer
freshboxArticleScoresStores scores of freshness-related classifiers: freshbox article score, live blog score and host-level article score. The encoding/decoding API is in quality/freshness/freshbox/goldmine/freshbox_annotation_encoder.h. To use this field, you MUST join g/pq-classifiers-announce and add your use case at http://shortn/_RYXS2lX2IV.PerDocData!ERROR! D9016 -> Formula Error: Unexpected ,integer
WhirlpoolDiscountPerDocData!ERROR! D9017 -> Formula Error: Unexpected ,number
ScaledExptIndyRank3experimentalPerDocData!ERROR! D9018 -> Formula Error: Unexpected ,integer
ToolBarDataPerDocData!ERROR! D9019 -> Formula Error: Unexpected ,ToolBarPerDocData
nsrIsElectionAuthorityThis field is propagated to shards. It will also be populated at serving time by go/web-signal-joins (see b/168114815). This field is deprecated – used the equivalent field inside nsr_data_proto instead.PerDocData!ERROR! D9020 -> Formula Error: Unexpected ,boolean
onsiteProminenceOnsite prominence measures the importance of the document within its site. It is computed by propagating simulated traffic from the homepage and high craps click pages. It is a 13-bit int.PerDocData!ERROR! D9021 -> Formula Error: Unexpected ,integer
travelGoodSitesInfoThis field stores information about good travel sites.PerDocData!ERROR! D9022 -> Formula Error: Unexpected ,QualityTravelGoodSitesData
IsAnchorBayesSpamIs this document considered spam by the anchor bayes classifier?PerDocData!ERROR! D9023 -> Formula Error: Unexpected ,boolean
isHotdocSet by the FreshDocs instant doc joiner. See //indexing/instant/hotdocs/README and http://go/freshdocs-hotdocs.PerDocData!ERROR! D9024 -> Formula Error: Unexpected ,boolean
commercialScoreA measure of commerciality of the document Score > 0 indicates document is commercial (i.e. sells something) Computed by repository/pageclassifiers/parsehandler-commercial.ccPerDocData!ERROR! D9025 -> Formula Error: Unexpected ,number
asteroidBeltIntentsFor indexing Asteroid Belt intent scores. See go/asteroid-belt for details.PerDocData!ERROR! D9026 -> Formula Error: Unexpected ,QualityOrbitAsteroidBeltDocumentIntentScores
TagPageScoreTag-site-ness of a page, repesented in 7-bits range from 0 to 100. Smaller value means worse tag page.PerDocData!ERROR! D9027 -> Formula Error: Unexpected ,integer
geodatageo data; approx 24 bytes for 23M U.S. pagesPerDocData!ERROR! D9028 -> Formula Error: Unexpected ,String
oceandata28 bytes per page, only in the Ocean indexPerDocData!ERROR! D9029 -> Formula Error: Unexpected ,OceanPerDocData
pagerank0PerDocData!ERROR! D9030 -> Formula Error: Unexpected ,number
SpamWordScoreThe spamword score is represented in 7-bits, going from 0 to 127.PerDocData!ERROR! D9031 -> Formula Error: Unexpected ,integer
ScaledIndyRankThe independence rank is represented as a 16-bit integer, which is multiplied by (max_indy_rank / 65536) to produce actual independence rank values. max_indy_rank is typically 0.84.PerDocData!ERROR! D9032 -> Formula Error: Unexpected ,integer
bodyWordsToTokensRatioBeginThe body words over tokens ratios for the beginning part and whole doc. NB: To save space, field body_words_to_tokens_ratio_total is not set if it has the same value as body_words_to_tokens_ratio_begin (e.g., short docs).PerDocData!ERROR! D9033 -> Formula Error: Unexpected ,number
topPetacatWeightPerDocData!ERROR! D9034 -> Formula Error: Unexpected ,number
fireflySiteSignalContains Site signal information for Firefly ranking change. See http://ariane/313938 for more details.PerDocData!ERROR! D9035 -> Formula Error: Unexpected ,QualityCopiaFireflySiteSignal
titleHardTokenCountWithoutStopwordsNumber of hard tokens originally in title without counting the stopwords.PerDocData!ERROR! D9036 -> Formula Error: Unexpected ,integer
hostNsrSite rank computed for host-level sitechunks. This value encodes nsr, site_pr and new_nsr. See quality_nsr::util::ConvertNsrDataToHostNsr and go/nsr. This field is deprecated – used the equivalent field inside nsr_data_proto instead.PerDocData!ERROR! D9037 -> Formula Error: Unexpected ,integer
semanticDateInfoInfo is encoded using a SemanticDate specific format. Contains confidence scores for day/month/year components as well as various meta data required by the freshness twiddlers.PerDocData!ERROR! D9038 -> Formula Error: Unexpected ,integer
languagesPlausible languages in order of decreasing plausibility. Language values are small, IE < 127 so this should compress to one byte each.PerDocData!ERROR! D9039 -> Formula Error: Unexpected ,list(integer)
GroupsData16 bytes of groups2 data: used only in groups2 indexPerDocData!ERROR! D9040 -> Formula Error: Unexpected ,GroupsPerDocData
countryInfoThis field stores the country information for the document in the form of CountryAttachment.PerDocData!ERROR! D9041 -> Formula Error: Unexpected ,CountryCountryAttachment
brainlocBrainloc contains location information for the document. See ariane/273189 for details.PerDocData!ERROR! D9042 -> Formula Error: Unexpected ,QualityGeoBrainlocBrainlocAttachment
ScaledLinkAgeSpamScoreEnd DEPRECATED ———————————————————— Link age score is represented as a 7-bit integer, going from 0 to 127.PerDocData!ERROR! D9043 -> Formula Error: Unexpected ,integer
ScaledExptIndyRankDEPRECATED —————————————————————- Please do not use these fields in any new code. experimentalPerDocData!ERROR! D9044 -> Formula Error: Unexpected ,integer
shingleInfoPerDocData!ERROR! D9045 -> Formula Error: Unexpected ,ShingleInfoPerDocData
productSitesInfoThis field stores information about product sites.PerDocData!ERROR! D9046 -> Formula Error: Unexpected ,QualityProductProductSiteData
spambrainDomainSitechunkDataDomain sitechunk level scores coming from spambrain.PerDocData!ERROR! D9047 -> Formula Error: Unexpected ,SpamBrainData
voltDataContains page UX signals for VOLT ranking change. See http://ariane/4025970 for more details.PerDocData!ERROR! D9048 -> Formula Error: Unexpected ,IndexingMobileVoltVoltPerDocData
timeSensitivityEncoded Document Time Sensitivity signal.PerDocData!ERROR! D9049 -> Formula Error: Unexpected ,integer
servingTimeClusterIdsA set of cluster ids which are generated in Alexandria and used to de-dup results at serving time.PerDocData!ERROR! D9050 -> Formula Error: Unexpected ,IndexingDocjoinerServingTimeClusterIds
Messagedepends on the sourcePerDocDebugEventFree form debug information from various components.String
Sourcesource tag, helps interpret value/messagePerDocDebugEventFree form debug information from various components.String
Timestampseconds since the epochPerDocDebugEventFree form debug information from various components.integer
Valuedepends on the sourcePerDocDebugEventFree form debug information from various components.String
subIdA unique identifier for this alias, this identifier is unique to the type of this Alias. This means that aliases of different types can have the same sub_id, hence always use the full AliasId message to refer to an alias, not this field only. Because HOME and WORK aliases are unique, aliases of type HOME or WORK always have sub_id 0.PersonalizationMapsAliasAliasIdA unique association of an AliasType and a number to identify this alias.String
typePersonalizationMapsAliasAliasIdA unique association of an AliasType and a number to identify this alias.String
aliasIdThe id of the alias associated with this point. This is used to query for details for the info window and to display different icons depending on the AliasType contained in this message.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18PersonalizationMapsAliasAliasId
droppedPinS2cellIdIf this is a dropped pin alias, the leaf (level 30) S2 cell ID corresponding to the aliased lat/lng. Calculated once and stored here so that it can safely be used as an identifier across clients without risk of rounding differences leading to different values.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18String
featureIdThe featureid that was associated with the alias when it was saved. If this is not set the lat/lng in ‘point’ is the aliased entity, i.e. this is a dropped pin alias.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18GeostoreFeatureIdProto
featureNameFor non-address feature aliases (e.g. businesses), the name of the feature (formatted from the FeatureProto) when it was saved.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18String
featureTypeThe type of the feature associated with the alias.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18String
formattedAddressOne-line geocoded address that this lat/lng represents at the time this alias was created by the user.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18String
isAdsJoinCompliantIndicates whether this alias is Ads join compliant for use by 3p clients. See go/ios_address and go/aliased-locations-provenance for more details. Please contact oolong-team@ for additional questions regarding usage of this field.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18boolean
nicknameFree-text alias if alias type is NICKNAME. Otherwise unset. Limited to 40 characters.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18String
pointlat/lng the icon is to be shown at.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18GeostorePointProto
ptokenEncapsulates the privacy policy relevant signals for this event. See go/kansas-embedded-ptokens for additional details. Keep the type fully qualified in case (when) we decide to make proto compiler enforce ‘.ptoken.PToken’ as the only allowed type for the field number 9099. Hence, don’t remove the leading ‘.’. See go/protobuf-ptoken-field for details around the 9099 field number.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18PtokenPToken
stickerIdThe id of the sticker asset chosen by the user to replace the default asset for the alias.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18integer
syntheticFeatureIf the feature associated with the alias has synthetic_geometry.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18boolean
timestamp[INTERNAL ONLY] Last update of bigtable by kansas, in microseconds. Volatile only and not saved in kansas column. inmemory only because >= 16.PersonalizationMapsAliasIconA subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18String
opaRecipesContextContexts regarding the preferences from OPA_RECIPES.PersonalizationSettingsApiProtoLocalDiscoveryLocalDiscoverySettingsMetadataMetadata related to LocalDiscoverySettings,e.g., dietary_restriction, cuisine and ingredient.PersonalizationSettingsApiProtoLocalDiscoveryOpaRecipesContext
uiEntryPointThe UI entry point from which the entity preference was set.PersonalizationSettingsApiProtoLocalDiscoveryLocalDiscoverySettingsMetadataMetadata related to LocalDiscoverySettings,e.g., dietary_restriction, cuisine and ingredient.String
docIdThe recipe doc id where the setting comes from.PersonalizationSettingsApiProtoLocalDiscoveryOpaRecipesContextLINT.IfChange Contexts regarding the preferences from OPA_RECIPES. For example, users can click a recipes and say they don’t like one cuisine. OpaRecipesContext will contain the doc_id/url of that recipes.String
urlThe recipe url where the setting comes from.PersonalizationSettingsApiProtoLocalDiscoveryOpaRecipesContextLINT.IfChange Contexts regarding the preferences from OPA_RECIPES. For example, users can click a recipes and say they don’t like one cuisine. OpaRecipesContext will contain the doc_id/url of that recipes.String
PhilStringphil data , approx 70 bytes for top 500MPhilPerDocDataString
PhilVersionPhilPerDocDatainteger
durationMsThe duration of the animation or movie (not including any looping), in milliseconds. If there is only a single frame (and thus not animated), the duration will be 0.PhotosAnimationMetadataString
loopCountThe number of times the animation plays. If 0, the animation will loop indefinitely. If positive, this number includes the initial playthrough. For example, a value of 3 means that each frame is shown 3 times.PhotosAnimationMetadatainteger
numFramesPhotosAnimationMetadataString
versionCurrently there are two versions of DynamicDepth (go/ddv2). DynamicDepth photos without a set version should be assumed to be ddv1.PhotosDynamicDepthMetadataMetadata pertaining to nested Dynamic Depth metadata. Currently this message is used to indicate the presence of dynamic depth.integer
captionPhotosFourCMetadataString
copyrightPhotosFourCMetadataString
creatorPhotosFourCMetadatalist(String)
creditPhotosFourCMetadataString
farDepth map far plane distance.PhotosGDepthMetadataMetadata in the GDepth XMP block. Note that GDepth::Data is not copied into this message.number
formatDepth map format.PhotosGDepthMetadataMetadata in the GDepth XMP block. Note that GDepth::Data is not copied into this message.String
imageHeightDepth map source image height.PhotosGDepthMetadataMetadata in the GDepth XMP block. Note that GDepth::Data is not copied into this message.integer
imageWidthDepth map source image width.PhotosGDepthMetadataMetadata in the GDepth XMP block. Note that GDepth::Data is not copied into this message.integer
mimeDepth map mime type.PhotosGDepthMetadataMetadata in the GDepth XMP block. Note that GDepth::Data is not copied into this message.String
nearDepth map near plane distance.PhotosGDepthMetadataMetadata in the GDepth XMP block. Note that GDepth::Data is not copied into this message.number
unitsDepth map units of distance.PhotosGDepthMetadataMetadata in the GDepth XMP block. Note that GDepth::Data is not copied into this message.String
gainmapIndicates the presence of some kind of gainmap-utilizing format.PhotosHdrMetadataHDR Metadata describes in what way an image expresses high dynamic range information (e.g. using a gainmap or a specialized color space).PhotosHdrMetadataGainmap
adobeHdrIndicates that this image can be processed as an Adobe HDR (FlexDR) image by reading the MPF segments.PhotosHdrMetadataGainmapDetails about gainmap-based HDR formats (e.g. go/ghdr). Notably, images can adhere to multiple gainmap specifications concurrently.boolean
appleHdrIndicates that this image can be processed as an Apple HDR image by reading the MPF segments (if JPEG) or HEIF segments (if HEIC).PhotosHdrMetadataGainmapDetails about gainmap-based HDR formats (e.g. go/ghdr). Notably, images can adhere to multiple gainmap specifications concurrently.boolean
googleHdrIndicates that this image can be processed as a go/ghdr (UltraHDR) image by reading the GContainer in the primary XMP block.PhotosHdrMetadataGainmapDetails about gainmap-based HDR formats (e.g. go/ghdr). Notably, images can adhere to multiple gainmap specifications concurrently.boolean
relationPhotosImageMetadataNext tag value: 384.list(String)
freebytecountsPhotosImageMetadataNext tag value: 384.String
exposureindexPhotosImageMetadataNext tag value: 384.number
gdepthMetadataPhotosImageMetadataNext tag value: 384.PhotosGDepthMetadata
addlmodelinfoPhotosImageMetadataNext tag value: 384.String
redeyemodePhotosImageMetadataNext tag value: 384.boolean
captionwriterPhotosImageMetadataNext tag value: 384.String
organisationinimagenamePhotosImageMetadataNext tag value: 384.list(String)
productidPhotosImageMetadataNext tag value: 384.list(String)
ratingPhotosImageMetadataNext tag value: 384.number
colormapPhotosImageMetadataNext tag value: 384.integer
countrycodePhotosImageMetadataNext tag value: 384.String
stitchingsoftwarePhotosImageMetadataNext tag value: 384.String
croppedareaimageheightpixelsPhotosImageMetadataNext tag value: 384.integer
statePhotosImageMetadataNext tag value: 384.String
usagetermsPhotosImageMetadataNext tag value: 384.String
DEPRECATEDLargestvalidinteriorrectheightPhotosImageMetadataNext tag value: 384.integer
lensinfoPhotosImageMetadataNext tag value: 384.String
modelreleaseidPhotosImageMetadataNext tag value: 384.list(String)
referencedatePhotosImageMetadataNext tag value: 384.list(String)
expirationdatePhotosImageMetadataNext tag value: 384.String
gpsdestdistancerefPhotosImageMetadataNext tag value: 384.String
webstatementPhotosImageMetadataNext tag value: 384.String
subjectareaPhotosImageMetadataNext tag value: 384.integer
headlinePhotosImageMetadataNext tag value: 384.String
relatedsoundfilePhotosImageMetadataNext tag value: 384.String
gpsmeasuremodePhotosImageMetadataNext tag value: 384.String
xresolutionPhotosImageMetadataNext tag value: 384.number
functionPhotosImageMetadataNext tag value: 384.boolean
advisoryPhotosImageMetadataNext tag value: 384.list(String)
formatPhotosImageMetadataNext tag value: 384.String
captionCaption embedded in IPTCPhotosImageMetadataNext tag value: 384.String
gimagemimePhotosImageMetadataNext tag value: 384.String
customrenderedPhotosImageMetadataNext tag value: 384.integer
relatedimagefileformatPhotosImageMetadataNext tag value: 384.String
maxavailwidthPhotosImageMetadataNext tag value: 384.integer
chromasubsamplingA typed representation that translates the values from ycbcrsubsampling.PhotosImageMetadataNext tag value: 384.String
gpsdestdistancePhotosImageMetadataNext tag value: 384.number
propertyreleaseidPhotosImageMetadataNext tag value: 384.list(String)
datePhotosImageMetadataNext tag value: 384.String
sensorheightPhotosImageMetadataNext tag value: 384.number
initialviewheadingdegreesPhotosImageMetadataNext tag value: 384.integer
yresolutionPhotosImageMetadataNext tag value: 384.number
bitspersampleStart of reflected fields. These do not duplicate the above fields.PhotosImageMetadataNext tag value: 384.integer
gcameraspecialtypeidCamera creations metadata. The opaque id string created by the OEM. For bursts, this field should not be present. Instead, the two properties below will allow Photos to identify and provide special treatment for bursts.PhotosImageMetadataNext tag value: 384.String
rotateThis field is deprecated. Rotation is now accomplished via ImageInfo.exif_orientation and ImageInfo.edit_list. WARNING: the presence of rotate is used by FIFE to identify older images. Setting this (even to the correct number of degrees) on newer images can cause incorrectly rotated thumbnails. This was the cause of omg/58543 Number of degrees (0, 90, 180, 270)PhotosImageMetadataNext tag value: 384.integer
ciadrpcodePhotosImageMetadataNext tag value: 384.String
microvideooriginaloffsetThis is similar to gcameramicrovideooffset, except it stores the unverified value that was provided in the motion photo file. This field is not part of the XMP or spec. It is used to ensure we preserve data from the original file when offset is modified.PhotosImageMetadataNext tag value: 384.integer
mimeTypeMime type of imagePhotosImageMetadataNext tag value: 384.integer
posepitchdegreesPhotosImageMetadataNext tag value: 384.number
minsamplevaluePhotosImageMetadataNext tag value: 384.integer
iptclasteditedPhotosImageMetadataNext tag value: 384.String
maxaperturevaluePhotosImageMetadataNext tag value: 384.number
motionphotovideodataboxheaderThe Motion Photo Video Data (MPVD) box header of a HEIF motion photo. It is used for reconstructing the original moton photo bytes. See go/photos-be-heic-motion-photos for more details.PhotosImageMetadataNext tag value: 384.String
ciadrregionPhotosImageMetadataNext tag value: 384.String
envelopenumberPhotosImageMetadataNext tag value: 384.String
subjectlocationPhotosImageMetadataNext tag value: 384.integer
gpsdopPhotosImageMetadataNext tag value: 384.number
sensingmethodPhotosImageMetadataNext tag value: 384.integer
widthwidth and height are before any rotation (including EXIF orientation).PhotosImageMetadataNext tag value: 384.integer
ownernamePhotosImageMetadataNext tag value: 384.String
stripbytecountsPhotosImageMetadataNext tag value: 384.String
gcameramicrovideoThe following XMP metadata are used specifically for MicroVideo. More information about MicroVideo format can be found at go/photos-microvideo-format A value of 1 indicates that this file was a MicroVideo at capture time. Otherwise, this is not a MicroVideo (not set or 0).PhotosImageMetadataNext tag value: 384.integer
orientationExif camera orientation. “1” means “no rotation”.PhotosImageMetadataNext tag value: 384.integer
heightPhotosImageMetadataNext tag value: 384.integer
subjectcodePhotosImageMetadataNext tag value: 384.list(String)
DEPRECATEDLargestvalidinteriorrecttopPhotosImageMetadataNext tag value: 384.integer
gpsstatusPhotosImageMetadataNext tag value: 384.String
timesentPhotosImageMetadataNext tag value: 384.String
gpsdatestampThis is in UTC time. Format is YYYY:mm:dd.PhotosImageMetadataNext tag value: 384.String
ciurlworkPhotosImageMetadataNext tag value: 384.String
DEPRECATEDGpstimestampThis field was originally marked incorrectly as optional (rather than repeated). In order to fix it, the first field has been marked as deprecated and replaced with a field with a new name and tag number.PhotosImageMetadataNext tag value: 384.number
photometricinterpretationPhotosImageMetadataNext tag value: 384.integer
relatedimagewidthPhotosImageMetadataNext tag value: 384.String
gcameramotionphotoAn indication that this item should be treated as a Motion Photo. 0 -> Not Motion Photo, 1 -> Motion Photo, everything else is undefined per the spec. If it’s a motion photo, the previous gcamera fields should be ignored.PhotosImageMetadataNext tag value: 384.integer
projectiontypePhotosImageMetadataNext tag value: 384.String
aperturevaluePhotosImageMetadataNext tag value: 384.number
ycbcrsubsamplingPhotosImageMetadataNext tag value: 384.integer
markedPhotosImageMetadataNext tag value: 384.boolean
keywordPhotosImageMetadataNext tag value: 384.list(String)
contributorPhotosImageMetadataNext tag value: 384.list(String)
countryPhotosImageMetadataNext tag value: 384.String
dynamicDepthMetadataDynamicDepth (go/dynamic-depth) metadata is described in the metadata of sub-images in the container. The presence of this field can be used to determine that an image is in the dynamic depth format.PhotosImageMetadataNext tag value: 384.PhotosDynamicDepthMetadata
croppedareaimagewidthpixelsPhotosImageMetadataNext tag value: 384.integer
lightsourcePhotosImageMetadataNext tag value: 384.integer
brightnessvaluePhotosImageMetadataNext tag value: 384.number
sublocationPhotosImageMetadataNext tag value: 384.String
DEPRECATEDLargestvalidinteriorrectwidthPhotosImageMetadataNext tag value: 384.integer
exposuremodePhotosImageMetadataNext tag value: 384.integer
DEPRECATEDLargestvalidinteriorrectleftPhotosImageMetadataNext tag value: 384.integer
imagetypePhotosImageMetadataNext tag value: 384.String
longitude+/- 180 inclusivePhotosImageMetadataNext tag value: 384.float
gpstrackPhotosImageMetadataNext tag value: 384.number
gpstrackrefPhotosImageMetadataNext tag value: 384.String
focalplanexresPhotosImageMetadataNext tag value: 384.number
exposuretimePhotosImageMetadataNext tag value: 384.number
compressedbitsperpixelPhotosImageMetadataNext tag value: 384.number
urgencyPhotosImageMetadataNext tag value: 384.String
subjectdistancerangePhotosImageMetadataNext tag value: 384.integer
baseurlPhotosImageMetadataNext tag value: 384.String
objectattributereferencePhotosImageMetadataNext tag value: 384.list(String)
meteringmodePhotosImageMetadataNext tag value: 384.integer
compressionlevelPhotosImageMetadataNext tag value: 384.integer
gpsdestlongituderefPhotosImageMetadataNext tag value: 384.String
focalplaneunitsPhotosImageMetadataNext tag value: 384.number
audiodurationPhotosImageMetadataNext tag value: 384.String
imageorientationPhotosImageMetadataNext tag value: 384.String
exposurebiasPhotosImageMetadataNext tag value: 384.number
citelworkPhotosImageMetadataNext tag value: 384.String
maxavailheightPhotosImageMetadataNext tag value: 384.integer
audiosamplingresolutionPhotosImageMetadataNext tag value: 384.String
xmp4cPhotosImageMetadataNext tag value: 384.PhotosFourCMetadata
gpsimgdirectionPhotosImageMetadataNext tag value: 384.number
distancePhotosImageMetadataNext tag value: 384.number
animationMetadataPhotosImageMetadataNext tag value: 384.PhotosAnimationMetadata
altitudePhotosImageMetadataNext tag value: 384.float
cameraidPhotosImageMetadataNext tag value: 384.String
whitebalancePhotosImageMetadataNext tag value: 384.integer
flashreturnPhotosImageMetadataNext tag value: 384.integer
expirationtimePhotosImageMetadataNext tag value: 384.String
envelopepriorityPhotosImageMetadataNext tag value: 384.String
bitDepthThe number of bits per pixel used to express a color. Most images have 8-bit depth and Photos/thumbnailer currently do not support more than 8 bits (except RAW).PhotosImageMetadataNext tag value: 384.integer
gcameramotionphotoversionIndicates the Motion Photo version of the spec (initially 1).PhotosImageMetadataNext tag value: 384.integer
organisationinimagecodePhotosImageMetadataNext tag value: 384.list(String)
lensidPhotosImageMetadataNext tag value: 384.String
gpsdestbearingrefPhotosImageMetadataNext tag value: 384.String
locationshownPhotosImageMetadataNext tag value: 384.list(String)
originatingprogramPhotosImageMetadataNext tag value: 384.String
minormodelagedisclosurePhotosImageMetadataNext tag value: 384.String
releasedatePhotosImageMetadataNext tag value: 384.String
modePhotosImageMetadataNext tag value: 384.integer
maxsamplevaluePhotosImageMetadataNext tag value: 384.integer
fullpanowidthpixelsPhotosImageMetadataNext tag value: 384.integer
focallengthPhotosImageMetadataNext tag value: 384.number
hdrMetadataIndicates that the image has some form of HDR present or available to it.PhotosImageMetadataNext tag value: 384.PhotosHdrMetadata
panoramaMetadataPhotosImageMetadataNext tag value: 384.PhotosPanoramaMetadata
gpsspeedrefPhotosImageMetadataNext tag value: 384.String
thumbnailerBuildClThe build CL for the version of thumbnailer that built this image.PhotosImageMetadataNext tag value: 384.integer
lastphotodatePhotosImageMetadataNext tag value: 384.String
capturesoftwarePhotosImageMetadataNext tag value: 384.String
gcameraburstprimaryA value of 1 indicates that this was the primary (“best shot”) at capture time. Within Photos we should only treat this image as the best shot if the user hasn’t made an explicit choice. Defining the initial primary allows consistency between OEMs, Photos clients, and the Photos backend. This value is optional, cameras are not required to set it on any photo in a burst. Clients will default to the 0th frame, but may run an algorithm to pick a better default.PhotosImageMetadataNext tag value: 384.integer
scenecapturetypePhotosImageMetadataNext tag value: 384.integer
gaincontrolPhotosImageMetadataNext tag value: 384.integer
cellwidthPhotosImageMetadataNext tag value: 384.integer
gpsimgdirectionrefPhotosImageMetadataNext tag value: 384.String
DEPRECATEDIscolorPhotosImageMetadataNext tag value: 384.integer
flashcompensationPhotosImageMetadataNext tag value: 384.number
coveragePhotosImageMetadataNext tag value: 384.String
isoequivalentPhotosImageMetadataNext tag value: 384.integer
DEPRECATEDBlendingtypePhotosImageMetadataNext tag value: 384.String
offsettimeoriginalPhotosImageMetadataNext tag value: 384.String
programversionPhotosImageMetadataNext tag value: 384.String
releasetimePhotosImageMetadataNext tag value: 384.String
datesentPhotosImageMetadataNext tag value: 384.String
gpsspeedPhotosImageMetadataNext tag value: 384.number
fullpanoheightpixelsPhotosImageMetadataNext tag value: 384.integer
datecreatedPhotosImageMetadataNext tag value: 384.String
offsettimedigitizedPhotosImageMetadataNext tag value: 384.String
locationPhotosImageMetadataNext tag value: 384.String
daylightsavings0 = no daylight savings, 1 = daylight savings enabled. Note that this field only represents whether the setting in the camera was turned on or off. It must not be used to modify the timestamp of the photo. That is, the capture time is already completely determined by exif_time, timezoneoffset and timezoneminutes.PhotosImageMetadataNext tag value: 384.list(integer)
gpsdestlatituderefPhotosImageMetadataNext tag value: 384.String
personinimagePhotosImageMetadataNext tag value: 384.list(String)
versionPhotosImageMetadataNext tag value: 384.String
DEPRECATEDProcessPhotosImageMetadataNext tag value: 384.integer
ciadrctryPhotosImageMetadataNext tag value: 384.String
intellectualgenrePhotosImageMetadataNext tag value: 384.String
referenceblackwhitePhotosImageMetadataNext tag value: 384.number
referencenumberPhotosImageMetadataNext tag value: 384.list(String)
languagePhotosImageMetadataNext tag value: 384.list(String)
contactPhotosImageMetadataNext tag value: 384.String
digitalzoomratioPhotosImageMetadataNext tag value: 384.number
hasAlphaThe image has an alpha channel (potential transparency). If the image is decoded, this will be updated to indicate whether there is any active transparency. Formats supporting alpha: png, webp, gif, heif.PhotosImageMetadataNext tag value: 384.boolean
usepanoramaviewerGPano-related fields. A handful of these have been deprecated due to a change in the spec since its initial design.PhotosImageMetadataNext tag value: 384.boolean
firmwarePhotosImageMetadataNext tag value: 384.String
resolutionunitPhotosImageMetadataNext tag value: 384.integer
initialviewpitchdegreesPhotosImageMetadataNext tag value: 384.integer
gcameramotionphotocreatorIndicates the creator of the Motion Photo. This will be set if the MotionPhoto was generated from a LivePhoto from the iOS to Android conversion tool.PhotosImageMetadataNext tag value: 384.String
spectralsensitivityPhotosImageMetadataNext tag value: 384.String
contentlocationnamePhotosImageMetadataNext tag value: 384.list(String)
digitalsourcetypePhotosImageMetadataNext tag value: 384.String
whitepointPhotosImageMetadataNext tag value: 384.number
timezoneoffsetThe elements in the timezone and daylight savings field arrays correspond to the following date/time fields: 0) datecreated (ie. DateTimeOriginal) 1) datetime (ie. DateTime or last modified date) 2) datetimedigitized (ie. DateTimeDigitized) If the field does not exist, then there is no valid time zone information for that date/time field. Offset in hours.PhotosImageMetadataNext tag value: 384.list(integer)
sourcePhotosImageMetadataNext tag value: 384.String
audiooutcuePhotosImageMetadataNext tag value: 384.String
subjectreferencePhotosImageMetadataNext tag value: 384.list(String)
flashusedPhotosImageMetadataNext tag value: 384.integer
propertyreleasestatusPhotosImageMetadataNext tag value: 384.String
datetimedigitizedPhotosImageMetadataNext tag value: 384.String
extrasamplesPhotosImageMetadataNext tag value: 384.integer
certificatePhotosImageMetadataNext tag value: 384.String
digimageguidPhotosImageMetadataNext tag value: 384.String
subsectimedigitizedPhotosImageMetadataNext tag value: 384.String
exposurelockusedPhotosImageMetadataNext tag value: 384.boolean
interoperabilityindexPhotosImageMetadataNext tag value: 384.String
eventPhotosImageMetadataNext tag value: 384.String
gpsdestlongitudePhotosImageMetadataNext tag value: 384.number
gaudiomimePhotosImageMetadataNext tag value: 384.String
exifTimeTimestamp embedded in the image. The value comes from the first valid date-time field extracted from the metadata in the order: 1) datecreated (ie. DateTimeOriginal) 2) datetimedigitized (ie. DateTimeDigitized) 3) datetime (ie. DateTime or last modified date) The type of this field is equivalent to a time_t (ie. number of seconds since the epoch – 00:00 hours, Jan 1, 1970) except that it is an int64 rather than an int.PhotosImageMetadataNext tag value: 384.String
focallengthin35mmfilmPhotosImageMetadataNext tag value: 384.integer
serviceidentifierPhotosImageMetadataNext tag value: 384.String
rowsperstripPhotosImageMetadataNext tag value: 384.String
authorPhotosImageMetadataNext tag value: 384.String
shutterspeedvaluePhotosImageMetadataNext tag value: 384.number
exposureprogramPhotosImageMetadataNext tag value: 384.integer
poseheadingdegreesPhotosImageMetadataNext tag value: 384.number
latitudeGPS Info: +/- 90 inclusivePhotosImageMetadataNext tag value: 384.float
freeoffsetsPhotosImageMetadataNext tag value: 384.integer
burstuuidPhotosImageMetadataNext tag value: 384.String
subsectimePhotosImageMetadataNext tag value: 384.String
gcameramotionphotopresentationtimestampusThe presentation timestamp in microseconds of the video frame corresponding to the image still. Value may be -1 to denote unset/unspecified.PhotosImageMetadataNext tag value: 384.integer
celllengthPhotosImageMetadataNext tag value: 384.integer
primarychromaticitiesPhotosImageMetadataNext tag value: 384.number
languageidentifierPhotosImageMetadataNext tag value: 384.String
gpsdifferentialPhotosImageMetadataNext tag value: 384.integer
gpsdestlatitudePhotosImageMetadataNext tag value: 384.number
cityPhotosImageMetadataNext tag value: 384.String
modelagePhotosImageMetadataNext tag value: 384.list(integer)
thresholdingPhotosImageMetadataNext tag value: 384.integer
ccdwidthPhotosImageMetadataNext tag value: 384.number
sensorwidthPhotosImageMetadataNext tag value: 384.number
datetimePhotosImageMetadataNext tag value: 384.String
createdatePhotosImageMetadataNext tag value: 384.String
objecttypereferencePhotosImageMetadataNext tag value: 384.String
ycbcrcoefficientsPhotosImageMetadataNext tag value: 384.number
offsettimePhotosImageMetadataNext tag value: 384.String
samplesperpixelPhotosImageMetadataNext tag value: 384.integer
gcameramicrovideooffsetThe offset in bytes from the end of the file to the point where the appended mp4 begins (equivalent to the length of the compressed mp4). This field might be provided in the original MicroVideo from client, but it might become invalid when the image component is edited, so it is expected that the thumbnailer will validate it and find the correct value (by scanning through the JPEG) if it is invalid. In other words, only a valid offset should be returned by thumbnailer.PhotosImageMetadataNext tag value: 384.integer
gcameraisautoenhancedIndicates that an OEM has applied auto enhance via Photos’ API.PhotosImageMetadataNext tag value: 384.boolean
stripoffsetsPhotosImageMetadataNext tag value: 384.String
softwarePhotosImageMetadataNext tag value: 384.String
exif4c4C metadata (caption, copyright, creator, credit) specific to each of the three metadata segments (EXIF, XMP, IPTC). These are used to keep separate the 4C data from each segment so that we can properly preserve the per-segment 4C data on write (when PreserveLevel is set appropriately).PhotosImageMetadataNext tag value: 384.PhotosFourCMetadata
identifierPhotosImageMetadataNext tag value: 384.list(String)
cameramodelExif camera modelPhotosImageMetadataNext tag value: 384.String
gpssatellitesPhotosImageMetadataNext tag value: 384.String
audiosamplingratePhotosImageMetadataNext tag value: 384.String
gcameramicrovideopresentationtimestampusThe presentation timestamp in microseconds of the video frame corresponding to the image still. Value may be -1 to denote unset/unspecified.PhotosImageMetadataNext tag value: 384.integer
creditsPhotosImageMetadataNext tag value: 384.String
autoenhanceIndicates whether auto-enhance has been applied to the image.PhotosImageMetadataNext tag value: 384.boolean
firstphotodatePhotosImageMetadataNext tag value: 384.String
croppedareatoppixelsPhotosImageMetadataNext tag value: 384.integer
exifTimeUtcSourceThe exif_time_utc_source indicates the source from which the exif_time_utc field is calculated.PhotosImageMetadataNext tag value: 384.String
destinationPhotosImageMetadataNext tag value: 384.list(String)
hostcomputerPhotosImageMetadataNext tag value: 384.String
urlPhotosImageMetadataNext tag value: 384.String
gcreationscameraburstidPhotosImageMetadataNext tag value: 384.String
initialverticalfovdegreesPhotosImageMetadataNext tag value: 384.number
objectcyclePhotosImageMetadataNext tag value: 384.String
modifydatePhotosImageMetadataNext tag value: 384.String
gcameraburstidA unique String. The property should be present and identical for all images that make up a burst. It should be unique across devices (UUID recommended). Unlike GCreations:CameraBurstId, we should use images with this property to create auto collages and animations.PhotosImageMetadataNext tag value: 384.String
nicknamePhotosImageMetadataNext tag value: 384.String
ycbcrpositioningPhotosImageMetadataNext tag value: 384.integer
saturationPhotosImageMetadataNext tag value: 384.integer
typePhotosImageMetadataNext tag value: 384.list(String)
copyrightnoticePhotosImageMetadataNext tag value: 384.String
gpsmapdatumPhotosImageMetadataNext tag value: 384.String
modelreleasestatusPhotosImageMetadataNext tag value: 384.String
unoPhotosImageMetadataNext tag value: 384.String
digitalsourcefiletypePhotosImageMetadataNext tag value: 384.String
instructionsPhotosImageMetadataNext tag value: 384.String
categoryPhotosImageMetadataNext tag value: 384.String
ciadrcityPhotosImageMetadataNext tag value: 384.String
gpsdestbearingPhotosImageMetadataNext tag value: 384.number
ciemailworkPhotosImageMetadataNext tag value: 384.String
editorialupdatePhotosImageMetadataNext tag value: 384.String
transmissionreferencePhotosImageMetadataNext tag value: 384.String
referenceservicePhotosImageMetadataNext tag value: 384.list(String)
ismpformatThe image is a Multi-Picture Object.PhotosImageMetadataNext tag value: 384.boolean
relatedimageheightPhotosImageMetadataNext tag value: 384.String
aperturefnumberPhotosImageMetadataNext tag value: 384.number
ciadrextadrPhotosImageMetadataNext tag value: 384.list(String)
gpstimeThis is in UTC Time. Contains three floats: hour, minute and second. Supports subsecond resolution.PhotosImageMetadataNext tag value: 384.list(number)
gcameramicrovideoversionIndicates the file format version of the MicroVideo (initially 1).PhotosImageMetadataNext tag value: 384.integer
destinationLatitude+/- 90 inclusivePhotosImageMetadataNext tag value: 384.float
artworkorobjectPhotosImageMetadataNext tag value: 384.list(String)
destinationLongitude+/- 180 inclusivePhotosImageMetadataNext tag value: 384.float
exifTimeUtcThe exif_time_utc field is a UTC-based alternative to the exif_time field, which is in local time, rather than UTC. If they were not separate, clients would be unable to distinguish if the source were UTC- or local-based.PhotosImageMetadataNext tag value: 384.String
planarconfigurationPhotosImageMetadataNext tag value: 384.integer
fillorderPhotosImageMetadataNext tag value: 384.integer
editstatusPhotosImageMetadataNext tag value: 384.String
grayresponseunitPhotosImageMetadataNext tag value: 384.integer
timezoneminutesRemaining minutes of offset.PhotosImageMetadataNext tag value: 384.list(integer)
contentlocationcodePhotosImageMetadataNext tag value: 384.list(String)
initialviewrolldegreesPhotosImageMetadataNext tag value: 384.integer
poserolldegreesPhotosImageMetadataNext tag value: 384.number
gcameradisableautocreationThe possible values are: “Animation”, “Collage”, “Pano”, “Movies”. Photos will avoid creating the listed types using the containing image or video. The property is optional. The property can be included multiple times to disable creation of multiple different types.PhotosImageMetadataNext tag value: 384.list(String)
cvtermPhotosImageMetadataNext tag value: 384.list(String)
metadatadatePhotosImageMetadataNext tag value: 384.String
subsectimeoriginalPhotosImageMetadataNext tag value: 384.String
lensPhotosImageMetadataNext tag value: 384.String
fixtureidentifierPhotosImageMetadataNext tag value: 384.String
sourcephotoscountPhotosImageMetadataNext tag value: 384.integer
actionadvisedPhotosImageMetadataNext tag value: 384.String
authorpositionPhotosImageMetadataNext tag value: 384.String
imagenumberPhotosImageMetadataNext tag value: 384.String
cameramakeExif camera makePhotosImageMetadataNext tag value: 384.String
scenePhotosImageMetadataNext tag value: 384.list(String)
supplemental