Not 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) -----------------------------------------------------------------------------
SEO Analysis
AI Generated
Part of Google's geographic data infrastructure (Geostore). This system stores and processes geographic information that powers Google Maps, local search, and location-based search features. For local SEO, these geographic signals determine how businesses and locations appear in local search results and map packs.
Actionable Insights for SEOs
Optimize Google Business Profile with accurate location data
Ensure NAP (Name, Address, Phone) consistency across the web
Build local citations and location-relevant content
Attributes
9
Sort:|Filter:
dayinteger(
Default: nil
Valid ranges are 0-7, 1-31, and 1-366 (see day_type below)
dayTypestring
Default: nilFull type: String.t
hourinteger(
Default: nil
Valid 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.
minuteinteger(
Default: nil
Valid 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.
monthstring
Default: nilFull type: String.t
secondinteger(
Default: nil
Valid 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.
weekinteger(
Default: nil
Valid ranges are 0-5 and 1-53 (depending on the value of week_type, see below).