SEO. JSONLD. SpecialAnnouncement
(SEO v0.3.0-rc.0)
View Source
A SpecialAnnouncement combines a simple date-stamped textual information update with contextualized Web links and other structured data. It represents an information update made by a locally-oriented organization, for example schools, pharmacies, healthcare providers, community groups, police, local government.
For work in progress guidelines on Coronavirus-related markup see this doc.
The motivating scenario for SpecialAnnouncement is the Coronavirus pandemic, and the initial vocabulary is oriented to this urgent situation. Schema.org expect to improve the markup iteratively as it is deployed and as feedback emerges from use. In addition to our usual Github entry, feedback comments can also be provided in this document.
While this schema is designed to communicate urgent crisis-related information, it is not the same as an emergency warning technology like CAP, although there may be overlaps. The intent is to cover the kinds of everyday practical information being posted to existing websites during an emergency situation.
Several kinds of information can be provided:
We encourage the provision of "name", "text", "datePosted", "expires" (if appropriate), "category" and "url" as a simple baseline. It is important to provide a value for "category" where possible, most ideally as a well known URL from Wikipedia or Wikidata. In the case of the 2019-2020 Coronavirus pandemic, this should be "https://en.wikipedia.org/w/index.php?title=2019-20_coronavirus_pandemic" or "https://www.wikidata.org/wiki/Q81068910".
For many of the possible properties, values can either be simple links or an inline description, depending on whether a summary is available. For a link, provide just the URL of the appropriate page as the property's value. For an inline description, use a SEO.JSONLD.WebContent type, and provide the url as a property of that, alongside at least a simple "text" summary of the page. It is
unlikely that a single SpecialAnnouncement will need all of the possible properties simultaneously.
We expect that in many cases the page referenced might contain more specialized structured data, e.g. contact info, openingHours, SEO.JSONLD.Event, SEO.JSONLD.FAQPage etc. By linking to those pages from a SEO.JSONLD.SpecialAnnouncement you can help make it clearer that the events are related to the situation (e.g. Coronavirus) indicated by the category property of the SEO.JSONLD.SpecialAnnouncement.
Many SEO.JSONLD.SpecialAnnouncements will relate to particular regions and to identifiable local organizations. Use spatialCoverage for the region, and announcementLocation to indicate specific SEO.JSONLD.LocalBusinesses and SEO.JSONLD.CivicStructures. If the announcement affects both a particular region and a specific location (for example, a library closure that serves an entire region), use both spatialCoverage and announcementLocation.
The about property can be used to indicate entities that are the focus of the announcement. We now recommend using about only
for representing non-location entities (e.g. a SEO.JSONLD.Course or a SEO.JSONLD.RadioStation). For places, use announcementLocation and spatialCoverage. Consumers of this markup should be aware that the initial design encouraged the use of about for locations too.
The basic content of SEO.JSONLD.SpecialAnnouncement is similar to that of an RSS or Atom feed. For publishers without such feeds, basic feed-like information can be shared by posting
SEO.JSONLD.SpecialAnnouncement updates in a page, e.g. using JSON-LD. For sites with Atom/RSS functionality, you can point to a feed
with the webFeed property. This can be a simple URL, or an inline SEO.JSONLD.DataFeed object, with encodingFormat providing
media type information, e.g. "application/rss+xml" or "application/atom+xml".
Helper for building a Schema.org SpecialAnnouncement JSON-LD structure.
Summary
Types
A JSON-LD map ready to be nested or rendered. String-keyed, always
includes "@type" set to "SpecialAnnouncement", plus any camelCased
field keys the caller provided (see build/1). "@context" is added
at render time by SEO.JSONLD.meta/1 on the top-level node only.
Functions
Build a SpecialAnnouncement JSON-LD map.
Types
@type attrs() :: %{ optional(:announcement_location) => SEO.JSONLD.LocalBusiness.t() | map() | SEO.JSONLD.CivicStructure.t(), optional(:category) => String.t() | URI.t() | SEO.JSONLD.Thing.t() | map() | :aerobic_activity | :anaerobic_activity | :balance | :flexibility | :leisure_time_activity | :occupational_activity | :strength_training | SEO.JSONLD.CategoryCode.t(), optional(:date_posted) => DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(), optional(:disease_prevention_info) => SEO.JSONLD.WebContent.t() | map() | URI.t() | String.t(), optional(:disease_spread_statistics) => SEO.JSONLD.Dataset.t() | map() | SEO.JSONLD.Observation.t() | URI.t() | String.t() | SEO.JSONLD.WebContent.t(), optional(:getting_tested_info) => URI.t() | String.t() | SEO.JSONLD.WebContent.t() | map(), optional(:government_benefits_info) => SEO.JSONLD.GovernmentService.t() | map(), optional(:news_updates_and_guidelines) => SEO.JSONLD.WebContent.t() | map() | URI.t() | String.t(), optional(:public_transport_closures_info) => SEO.JSONLD.WebContent.t() | map() | URI.t() | String.t(), optional(:quarantine_guidelines) => URI.t() | String.t() | SEO.JSONLD.WebContent.t() | map(), optional(:school_closures_info) => SEO.JSONLD.WebContent.t() | map() | URI.t() | String.t(), optional(:travel_bans) => URI.t() | String.t() | SEO.JSONLD.WebContent.t() | map(), optional(:web_feed) => URI.t() | String.t() | SEO.JSONLD.DataFeed.t() | map(), optional(:about) => SEO.JSONLD.Thing.t() | map(), optional(:abstract) => String.t(), optional(:access_mode) => String.t(), optional(:access_mode_sufficient) => SEO.JSONLD.ItemList.t() | map(), optional(:accessibility_api) => String.t(), optional(:accessibility_control) => String.t(), optional(:accessibility_feature) => String.t(), optional(:accessibility_hazard) => String.t(), optional(:accessibility_summary) => String.t(), optional(:accountable_person) => SEO.JSONLD.Person.t() | map(), optional(:acquire_license_page) => SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), optional(:aggregate_rating) => SEO.JSONLD.AggregateRating.t() | map(), optional(:alternative_headline) => String.t(), optional(:archived_at) => SEO.JSONLD.WebPage.t() | map() | URI.t() | String.t(), optional(:assesses) => String.t() | SEO.JSONLD.DefinedTerm.t() | map(), optional(:associated_media) => SEO.JSONLD.MediaObject.t() | map(), optional(:audience) => SEO.JSONLD.Audience.t() | map(), optional(:audio) => SEO.JSONLD.Clip.t() | map() | SEO.JSONLD.MusicRecording.t() | SEO.JSONLD.AudioObject.t(), optional(:author) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:award) => String.t(), optional(:awards) => String.t(), optional(:character) => SEO.JSONLD.Person.t() | map(), optional(:citation) => SEO.JSONLD.CreativeWork.t() | map() | String.t(), optional(:comment) => SEO.JSONLD.Comment.t() | map(), optional(:comment_count) => integer(), optional(:conditions_of_access) => String.t(), optional(:content_location) => SEO.JSONLD.Place.t() | map(), optional(:content_rating) => String.t() | SEO.JSONLD.Rating.t() | map(), optional(:content_reference_time) => DateTime.t() | NaiveDateTime.t() | String.t(), optional(:contributor) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:copyright_holder) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:copyright_notice) => String.t(), optional(:copyright_year) => number(), optional(:correction) => SEO.JSONLD.CorrectionComment.t() | map() | String.t() | URI.t(), optional(:country_of_origin) => SEO.JSONLD.Country.t() | map(), optional(:creative_work_status) => SEO.JSONLD.DefinedTerm.t() | map() | String.t(), optional(:creator) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:credit_text) => String.t(), optional(:date_created) => DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(), optional(:date_modified) => DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(), optional(:date_published) => Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(), optional(:digital_source_type) => :algorithmic_media_digital_source | :algorithmically_enhanced_digital_source | :composite_capture_digital_source | :composite_digital_source | :composite_synthetic_digital_source | :composite_with_trained_algorithmic_media_digital_source | :data_driven_media_digital_source | :digital_art_digital_source | :digital_capture_digital_source | :minor_human_edits_digital_source | :multi_frame_computational_capture_digital_source | :negative_film_digital_source | :positive_film_digital_source | :print_digital_source | :screen_capture_digital_source | :trained_algorithmic_media_digital_source | :virtual_recording_digital_source, optional(:discussion_url) => URI.t() | String.t(), optional(:display_location) => SEO.JSONLD.Place.t() | map(), optional(:edit_eidr) => String.t() | URI.t(), optional(:editor) => SEO.JSONLD.Person.t() | map(), optional(:educational_alignment) => SEO.JSONLD.AlignmentObject.t() | map(), optional(:educational_level) => String.t() | URI.t() | SEO.JSONLD.DefinedTerm.t() | map(), optional(:educational_use) => SEO.JSONLD.DefinedTerm.t() | map() | String.t(), optional(:encoding) => SEO.JSONLD.MediaObject.t() | map(), optional(:encoding_format) => String.t() | URI.t(), optional(:encodings) => SEO.JSONLD.MediaObject.t() | map(), optional(:example_of_work) => SEO.JSONLD.CreativeWork.t() | map(), optional(:expires) => Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(), optional(:file_format) => String.t() | URI.t(), optional(:funder) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:funding) => SEO.JSONLD.Grant.t() | map(), optional(:genre) => String.t() | URI.t() | SEO.JSONLD.DefinedTerm.t() | map(), optional(:has_part) => SEO.JSONLD.CreativeWork.t() | map(), optional(:headline) => String.t(), optional(:in_language) => String.t() | SEO.JSONLD.Language.t() | map(), optional(:interaction_statistic) => SEO.JSONLD.InteractionCounter.t() | map(), optional(:interactivity_type) => String.t(), optional(:interpreted_as_claim) => SEO.JSONLD.Claim.t() | map(), optional(:is_accessible_for_free) => boolean(), optional(:is_based_on) => SEO.JSONLD.CreativeWork.t() | map() | SEO.JSONLD.Product.t() | URI.t() | String.t(), optional(:is_based_on_url) => SEO.JSONLD.CreativeWork.t() | map() | SEO.JSONLD.Product.t() | URI.t() | String.t(), optional(:is_family_friendly) => boolean(), optional(:is_part_of) => SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), optional(:keywords) => SEO.JSONLD.DefinedTerm.t() | map() | String.t() | URI.t(), optional(:learning_resource_type) => String.t() | SEO.JSONLD.DefinedTerm.t() | map(), optional(:license) => SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), optional(:location_created) => SEO.JSONLD.Place.t() | map(), optional(:main_entity) => SEO.JSONLD.Thing.t() | map(), optional(:maintainer) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:material) => String.t() | SEO.JSONLD.Product.t() | map() | URI.t(), optional(:material_extent) => SEO.JSONLD.QuantitativeValue.t() | map() | String.t(), optional(:mentions) => SEO.JSONLD.Thing.t() | map(), optional(:offers) => SEO.JSONLD.Offer.t() | map() | SEO.JSONLD.Demand.t(), optional(:pattern) => SEO.JSONLD.DefinedTerm.t() | map() | String.t(), optional(:position) => String.t() | integer(), optional(:producer) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:provider) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:publication) => SEO.JSONLD.PublicationEvent.t() | map(), optional(:publisher) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:publisher_imprint) => SEO.JSONLD.Organization.t() | map(), optional(:publishing_principles) => SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), optional(:recorded_at) => SEO.JSONLD.Event.t() | map(), optional(:released_event) => SEO.JSONLD.PublicationEvent.t() | map(), optional(:review) => SEO.JSONLD.Review.t() | map(), optional(:reviews) => SEO.JSONLD.Review.t() | map(), optional(:schema_version) => String.t() | URI.t(), optional(:sd_date_published) => Date.t() | String.t(), optional(:sd_license) => URI.t() | String.t() | SEO.JSONLD.CreativeWork.t() | map(), optional(:sd_publisher) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:size) => SEO.JSONLD.DefinedTerm.t() | map() | SEO.JSONLD.QuantitativeValue.t() | String.t(), optional(:source_organization) => SEO.JSONLD.Organization.t() | map(), optional(:spatial) => SEO.JSONLD.Place.t() | map(), optional(:spatial_coverage) => SEO.JSONLD.Place.t() | map(), optional(:sponsor) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:teaches) => SEO.JSONLD.DefinedTerm.t() | map() | String.t(), optional(:temporal) => String.t() | DateTime.t() | NaiveDateTime.t(), optional(:temporal_coverage) => String.t() | URI.t() | DateTime.t() | NaiveDateTime.t(), optional(:text) => String.t(), optional(:thumbnail) => SEO.JSONLD.ImageObject.t() | map(), optional(:thumbnail_url) => URI.t() | String.t(), optional(:time_required) => Duration.t() | String.t(), optional(:translation_of_work) => SEO.JSONLD.CreativeWork.t() | map(), optional(:translator) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:typical_age_range) => String.t(), optional(:usage_info) => SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), optional(:version) => String.t() | number(), optional(:video) => SEO.JSONLD.VideoObject.t() | map() | SEO.JSONLD.Clip.t(), optional(:word_count) => integer(), optional(:work_example) => SEO.JSONLD.CreativeWork.t() | map(), optional(:work_translation) => SEO.JSONLD.CreativeWork.t() | map(), optional(:additional_type) => String.t() | URI.t(), optional(:alternate_name) => String.t(), optional(:description) => SEO.JSONLD.TextObject.t() | map() | String.t(), optional(:disambiguating_description) => String.t(), optional(:identifier) => String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(), optional(:image) => URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), optional(:main_entity_of_page) => SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), optional(:name) => String.t(), optional(:owner) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:potential_action) => SEO.JSONLD.Action.t() | map(), optional(:same_as) => URI.t() | String.t(), optional(:subject_of) => SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(), optional(:url) => URI.t() | String.t() } | [ announcement_location: SEO.JSONLD.LocalBusiness.t() | map() | SEO.JSONLD.CivicStructure.t(), category: String.t() | URI.t() | SEO.JSONLD.Thing.t() | map() | :aerobic_activity | :anaerobic_activity | :balance | :flexibility | :leisure_time_activity | :occupational_activity | :strength_training | SEO.JSONLD.CategoryCode.t(), date_posted: DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(), disease_prevention_info: SEO.JSONLD.WebContent.t() | map() | URI.t() | String.t(), disease_spread_statistics: SEO.JSONLD.Dataset.t() | map() | SEO.JSONLD.Observation.t() | URI.t() | String.t() | SEO.JSONLD.WebContent.t(), getting_tested_info: URI.t() | String.t() | SEO.JSONLD.WebContent.t() | map(), government_benefits_info: SEO.JSONLD.GovernmentService.t() | map(), news_updates_and_guidelines: SEO.JSONLD.WebContent.t() | map() | URI.t() | String.t(), public_transport_closures_info: SEO.JSONLD.WebContent.t() | map() | URI.t() | String.t(), quarantine_guidelines: URI.t() | String.t() | SEO.JSONLD.WebContent.t() | map(), school_closures_info: SEO.JSONLD.WebContent.t() | map() | URI.t() | String.t(), travel_bans: URI.t() | String.t() | SEO.JSONLD.WebContent.t() | map(), web_feed: URI.t() | String.t() | SEO.JSONLD.DataFeed.t() | map(), about: SEO.JSONLD.Thing.t() | map(), abstract: String.t(), access_mode: String.t(), access_mode_sufficient: SEO.JSONLD.ItemList.t() | map(), accessibility_api: String.t(), accessibility_control: String.t(), accessibility_feature: String.t(), accessibility_hazard: String.t(), accessibility_summary: String.t(), accountable_person: SEO.JSONLD.Person.t() | map(), acquire_license_page: SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), aggregate_rating: SEO.JSONLD.AggregateRating.t() | map(), alternative_headline: String.t(), archived_at: SEO.JSONLD.WebPage.t() | map() | URI.t() | String.t(), assesses: String.t() | SEO.JSONLD.DefinedTerm.t() | map(), associated_media: SEO.JSONLD.MediaObject.t() | map(), audience: SEO.JSONLD.Audience.t() | map(), audio: SEO.JSONLD.Clip.t() | map() | SEO.JSONLD.MusicRecording.t() | SEO.JSONLD.AudioObject.t(), author: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), award: String.t(), awards: String.t(), character: SEO.JSONLD.Person.t() | map(), citation: SEO.JSONLD.CreativeWork.t() | map() | String.t(), comment: SEO.JSONLD.Comment.t() | map(), comment_count: integer(), conditions_of_access: String.t(), content_location: SEO.JSONLD.Place.t() | map(), content_rating: String.t() | SEO.JSONLD.Rating.t() | map(), content_reference_time: DateTime.t() | NaiveDateTime.t() | String.t(), contributor: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), copyright_holder: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), copyright_notice: String.t(), copyright_year: number(), correction: SEO.JSONLD.CorrectionComment.t() | map() | String.t() | URI.t(), country_of_origin: SEO.JSONLD.Country.t() | map(), creative_work_status: SEO.JSONLD.DefinedTerm.t() | map() | String.t(), creator: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), credit_text: String.t(), date_created: DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(), date_modified: DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(), date_published: Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(), digital_source_type: :algorithmic_media_digital_source | :algorithmically_enhanced_digital_source | :composite_capture_digital_source | :composite_digital_source | :composite_synthetic_digital_source | :composite_with_trained_algorithmic_media_digital_source | :data_driven_media_digital_source | :digital_art_digital_source | :digital_capture_digital_source | :minor_human_edits_digital_source | :multi_frame_computational_capture_digital_source | :negative_film_digital_source | :positive_film_digital_source | :print_digital_source | :screen_capture_digital_source | :trained_algorithmic_media_digital_source | :virtual_recording_digital_source, discussion_url: URI.t() | String.t(), display_location: SEO.JSONLD.Place.t() | map(), edit_eidr: String.t() | URI.t(), editor: SEO.JSONLD.Person.t() | map(), educational_alignment: SEO.JSONLD.AlignmentObject.t() | map(), educational_level: String.t() | URI.t() | SEO.JSONLD.DefinedTerm.t() | map(), educational_use: SEO.JSONLD.DefinedTerm.t() | map() | String.t(), encoding: SEO.JSONLD.MediaObject.t() | map(), encoding_format: String.t() | URI.t(), encodings: SEO.JSONLD.MediaObject.t() | map(), example_of_work: SEO.JSONLD.CreativeWork.t() | map(), expires: Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(), file_format: String.t() | URI.t(), funder: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), funding: SEO.JSONLD.Grant.t() | map(), genre: String.t() | URI.t() | SEO.JSONLD.DefinedTerm.t() | map(), has_part: SEO.JSONLD.CreativeWork.t() | map(), headline: String.t(), in_language: String.t() | SEO.JSONLD.Language.t() | map(), interaction_statistic: SEO.JSONLD.InteractionCounter.t() | map(), interactivity_type: String.t(), interpreted_as_claim: SEO.JSONLD.Claim.t() | map(), is_accessible_for_free: boolean(), is_based_on: SEO.JSONLD.CreativeWork.t() | map() | SEO.JSONLD.Product.t() | URI.t() | String.t(), is_based_on_url: SEO.JSONLD.CreativeWork.t() | map() | SEO.JSONLD.Product.t() | URI.t() | String.t(), is_family_friendly: boolean(), is_part_of: SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), keywords: SEO.JSONLD.DefinedTerm.t() | map() | String.t() | URI.t(), learning_resource_type: String.t() | SEO.JSONLD.DefinedTerm.t() | map(), license: SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), location_created: SEO.JSONLD.Place.t() | map(), main_entity: SEO.JSONLD.Thing.t() | map(), maintainer: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), material: String.t() | SEO.JSONLD.Product.t() | map() | URI.t(), material_extent: SEO.JSONLD.QuantitativeValue.t() | map() | String.t(), mentions: SEO.JSONLD.Thing.t() | map(), offers: SEO.JSONLD.Offer.t() | map() | SEO.JSONLD.Demand.t(), pattern: SEO.JSONLD.DefinedTerm.t() | map() | String.t(), position: String.t() | integer(), producer: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), provider: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), publication: SEO.JSONLD.PublicationEvent.t() | map(), publisher: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), publisher_imprint: SEO.JSONLD.Organization.t() | map(), publishing_principles: SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), recorded_at: SEO.JSONLD.Event.t() | map(), released_event: SEO.JSONLD.PublicationEvent.t() | map(), review: SEO.JSONLD.Review.t() | map(), reviews: SEO.JSONLD.Review.t() | map(), schema_version: String.t() | URI.t(), sd_date_published: Date.t() | String.t(), sd_license: URI.t() | String.t() | SEO.JSONLD.CreativeWork.t() | map(), sd_publisher: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), size: SEO.JSONLD.DefinedTerm.t() | map() | SEO.JSONLD.QuantitativeValue.t() | String.t(), source_organization: SEO.JSONLD.Organization.t() | map(), spatial: SEO.JSONLD.Place.t() | map(), spatial_coverage: SEO.JSONLD.Place.t() | map(), sponsor: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), teaches: SEO.JSONLD.DefinedTerm.t() | map() | String.t(), temporal: String.t() | DateTime.t() | NaiveDateTime.t(), temporal_coverage: String.t() | URI.t() | DateTime.t() | NaiveDateTime.t(), text: String.t(), thumbnail: SEO.JSONLD.ImageObject.t() | map(), thumbnail_url: URI.t() | String.t(), time_required: Duration.t() | String.t(), translation_of_work: SEO.JSONLD.CreativeWork.t() | map(), translator: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), typical_age_range: String.t(), usage_info: SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), version: String.t() | number(), video: SEO.JSONLD.VideoObject.t() | map() | SEO.JSONLD.Clip.t(), word_count: integer(), work_example: SEO.JSONLD.CreativeWork.t() | map(), work_translation: SEO.JSONLD.CreativeWork.t() | map(), additional_type: String.t() | URI.t(), alternate_name: String.t(), description: SEO.JSONLD.TextObject.t() | map() | String.t(), disambiguating_description: String.t(), identifier: String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(), image: URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), main_entity_of_page: SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), name: String.t(), owner: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), potential_action: SEO.JSONLD.Action.t() | map(), same_as: URI.t() | String.t(), subject_of: SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(), url: URI.t() | String.t() ]
A JSON-LD map ready to be nested or rendered. String-keyed, always
includes "@type" set to "SpecialAnnouncement", plus any camelCased
field keys the caller provided (see build/1). "@context" is added
at render time by SEO.JSONLD.meta/1 on the top-level node only.
Functions
Build a SpecialAnnouncement JSON-LD map.
Fields
:announcement_location- Indicates a specificSEO.JSONLD.CivicStructureorSEO.JSONLD.LocalBusinessassociated with the SpecialAnnouncement. For example, a specific testing facility or business with special opening hours. For a larger geographic region like a quarantine of an entire region, usespatialCoverage.:category- A category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy. One of::aerobic_activity,:anaerobic_activity,:balance,:flexibility,:leisure_time_activity,:occupational_activity,:strength_training.:date_posted- Publication date of an online listing.:disease_prevention_info- Information about disease prevention.:disease_spread_statistics- Statistical information about the spread of a disease, either asSEO.JSONLD.WebContent, or described directly as aSEO.JSONLD.Dataset, or the specificSEO.JSONLD.Observations in the dataset. When aSEO.JSONLD.WebContentURL is provided, the page indicated might also contain more such markup.:getting_tested_info- Information about getting tested (for aSEO.JSONLD.MedicalCondition), e.g. in the context of a pandemic.:government_benefits_info- governmentBenefitsInfo provides information about government benefits associated with a SpecialAnnouncement.:news_updates_and_guidelines- Indicates a page with news updates and guidelines. This could often be (but is not required to be) the main page containingSEO.JSONLD.SpecialAnnouncementmarkup on a site.:public_transport_closures_info- Information about public transport closures.:quarantine_guidelines- Guidelines about quarantine rules, e.g. in the context of a pandemic.:school_closures_info- Information about school closures.:travel_bans- Information about travel bans, e.g. in the context of a pandemic.:web_feed- The URL for a feed, e.g. associated with a podcast series, blog, or series of date-stamped updates. This is usually RSS or Atom.
Inherited properties
Additional properties are available through the inheritance chain. See each ancestor's docs for its properties: