Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Specifying when/where an Action may be performed #1741

Closed
vholland opened this issue Sep 18, 2017 · 3 comments
Closed

Specifying when/where an Action may be performed #1741

vholland opened this issue Sep 18, 2017 · 3 comments
Assignees

Comments

@vholland
Copy link
Contributor

@vholland vholland commented Sep 18, 2017

Many Action links, particularly for consuming media, are limited by time and/or region based on the complexities of licensing. For example, a user may only be able to listen to a song after a certain date or read a book in a certain country. To help authors describe the access restrictions for performing an Action, I am proposing adding the following:

  1. Thing > Intangible > ActionAccessSpecification: A set of requirements that a must be fulfilled in order to access a consume action. It would have the following properties:
  • availabilityStarts: This property already exists. We would add it to ActionAccessSpecification to allow authors to describe when users can begin performing the Action.
  • availabilityEnds: This property already exists. We would add it to ActionAccessSpecification to allow authors to describe when users can no longer perform the Action.
  • eligibleRegion: This property already exists. We would add it to ActionAccessSpecification to allow authors to describe where the user can perform the Action.
    expectsAcceptanceOf: This property already exists. We would add it to ActionAccessSpecification to allow authors to say an Offer must be accepted before the Action can be performed. This is used in cases where users must purchase or rent access to the item.
  • requiresSubscription: This property already exists and expects a boolean. We would expand both the domain and range to allow for a description of the subscription. (See below).
  1. Add a new property actionAccessibilityRequirement to ConsumeAction to specify the requirements needed to access the Action.
  2. Thing > Intangible > MediaSubscription: A subscription which allows a user to access media including audio, video, books, etc. It would have the following properties:
  • authenticator: The Organization responsible for authenticating the user's subscription. For example, many media apps require a cable/satellite provider to authenticate your subscription before playing media.
  • expectsAcceptanceOf: This property already exists. We would add it to MediaSubscription to allow authors to say an Offer must be accepted for the subscription to be considered valid. The relationship between the action provider, authenticator, and subscription seller is sometimes complicated, so I have tried to reference an Offer which may go into further detail about the seller, etc.

An example may look like:

{
  "@context": "http://schema.org/",
  "@type": "MusicRecording",
  "potentialAction": {
    "@type": "ListenAction",
    "actionAccessibilityRequirement": {
      "@type": "ActionAccessSpecification",
      "availabilityStarts": "2017-01-01T00:00",
      "availabilityEnds": "2017-12-31T00:00",
      "eligibleRegion": {
         "@type": "Country",
         "sameAs": "https://www.wikidata.org/wiki/Q166433",
         "name": "US"
       },
       "requiresSubscription": {
         "@type": "MediaSubscription",
         "name": "ACME streaming music monthly subscription",
         "authenticator": {
           "@type": "Organization",
           "name": "ACME Media"
         }
       },    
       "expectsAcceptanceOf": {
         "@type": "Offer",
         "itemOffered": {
           "@type": "MusicRecording",
           "name": "Song I am listening to that is only available for streaming after I buy it."
         }
       }
     }
   }
}
@vholland vholland self-assigned this Sep 18, 2017
vholland added a commit to vholland/schemaorg that referenced this issue Oct 3, 2017
danbri added a commit that referenced this issue Oct 20, 2017
…1773)

* Issue 1741: Added MediaSubscription and ActionAccessSpecification.

* Issue #1741: Updated the release notes.
@danbri
Copy link
Contributor

@danbri danbri commented Feb 19, 2019

This got used at Google https://developers.google.com/actions/media/tv-movies-specification

(we document use of at least ActionAccessSpecification, MediaSubscription, actionAccessibilityRequirement, authenticator, availabilityEnds, availabilityStarts, category, eligibleRegion, expectsAcceptanceOf, requiresSubjection. )

@danbri danbri closed this in a945953 Feb 19, 2019
@vinitakadam
Copy link

@vinitakadam vinitakadam commented Sep 26, 2019

Hi,

Can we in any way add "eligibleRegion" and "ineligibleRegion" markup in my Sports video content or is the specific for Music, TV Show and Movies?
If i add "eligibleRegion" and "ineligibleRegion" to my VideoObject schema it gives me a warning.

@mfhepp
Copy link
Contributor

@mfhepp mfhepp commented Sep 26, 2019

Just a generic comment: While I think the reuse of such properties is a quick and pragmatic solution, it is one step further towards changing the definition of a property from a global one (identical for all types with which it is being used) to a frame-based/local definition, where a property's meaning is actually defined at the level of the type. In some cases, this is no big deal, as a broader textual definition will do. But in general it makes the vocabulary less maintainable.

I think I suggested a few years ago to introduce a defined mechanism for this, with a default definition and text for a property at the global level and the possibility to override the definition (at least the text) at the level of a particular type.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.