Quy cách podcast trên schema.org

Phần này cung cấp thông tin chi tiết về các thuộc tính đánh dấu nội dung cho podcast.

Thông số kỹ thuật của PodcastSeries

PodcastSeries là đại diện của một loạt podcast, còn được gọi là "chương trình" podcast.

Thuộc tính Mức độ ưu tiên Loại Mô tả
@context Bắt buộc Văn bản Ngữ cảnh Schema.org. Luôn đặt thành [http://schema.googleapis.com,{@language}:xx}], trong đó xx phải nằm trong mã ngôn ngữ. Thao tác này sẽ đặt ngôn ngữ mặc định dùng cho các giá trị văn bản trong thực thể.
@type Bắt buộc Văn bản Luôn đặt thành PodcastSeries.
@id Bắt buộc Văn bản Mã nhận dạng duy nhất trên toàn cầu cho loạt podcast ở định dạng URI. Mã này phải cố định và không thay đổi theo thời gian. URL được coi là một chuỗi nguyên vẹn và không cần phải là một đường liên kết đang hoạt động. Miền mà bạn dùng cho giá trị @id phải thuộc sở hữu của tổ chức của bạn.
url Bắt buộc Văn bản URL chính tắc trên trang web của bạn nơi có thông tin giới thiệu hoặc mô tả về loạt podcast. Mã này phải là duy nhất trên toàn hệ thống. Liên kết này giúp điều chỉnh nội dung trong nguồn cấp dữ liệu của bạn sao cho khớp với nội dung trong cơ sở dữ liệu của Google. Để phát, hãy sử dụng target.urlTemplate được mô tả chi tiết trong phần ListenAction của tài liệu.
name Bắt buộc Văn bản

Tên loạt podcast. Mỗi ngôn ngữ chỉ được phép có một tên.

Sử dụng một mảng để đánh dấu nội dung mô tả bằng nhiều ngôn ngữ. Xem Ví dụ về nhiều khu vực và ngôn ngữ.

description Bắt buộc Văn bản

Tóm tắt nội dung của loạt podcast.

Sử dụng một mảng để đánh dấu nội dung mô tả bằng nhiều ngôn ngữ. Xem Ví dụ về nhiều khu vực và ngôn ngữ.

alternativeHeadline Không bắt buộc Văn bản Phụ đề của loạt podcast.
author Bắt buộc

Cá nhân hoặc Tổ chức

lặp lại

Người hoặc nhóm phát triển hoặc phân phối chương trình. Thường đề cập đến máy chủ lưu trữ. Để xem ví dụ và thông tin chi tiết, hãy xem phần Tổ chức, Người (tác giả/nhà xuất bản).
publisher Không bắt buộc

Cá nhân hoặc Tổ chức

lặp lại

Nhóm hoặc mạng truyền hình ban đầu chịu trách nhiệm phát sóng chương trình. Thường đề cập đến một tổ chức chịu trách nhiệm xuất bản/sản xuất một số podcast. Để biết ví dụ và thông tin chi tiết, vui lòng xem phần Tổ chức, Người (tác giả/nhà xuất bản). Bạn nên sử dụng trường này để phân biệt và phải cung cấp trường này bất cứ khi nào có thể.
actor Không bắt buộc

Cá nhân hoặc Tổ chức

lặp lại

Diễn viên của podcast. Để biết ví dụ và thông tin chi tiết, hãy xem phần Nhân vật (người dẫn chương trình/khách mời) .
logo Không bắt buộc

ImageObject (Đối tượng hình ảnh)

lặp lại

Hình ảnh biểu trưng của bộ sách. Cung cấp thông tin này dưới dạng ImageObject được mô tả đầy đủ. Cung cấp độ phân giải cao nhất có thể. Nên dùng định dạng JPEG hoặc PNG. Để biết thông tin chi tiết và ví dụ, hãy xem phần ImageObject (biểu trưng).
image Bắt buộc

ImageObject (Đối tượng hình ảnh)

lặp lại

Hình ảnh minh hoạ của bộ sách. Cung cấp thông tin này dưới dạng một ImageObject được mô tả đầy đủ. Cung cấp độ phân giải cao nhất có thể. Ưu tiên định dạng JPEG hoặc PNG. Vui lòng xem phần ImageObject (biểu trưng) để biết thông tin chi tiết và ví dụ.
isFamilyFriendly Bắt buộc Boolean Cho biết nội dung này có phù hợp với gia đình hay không (tức là nội dung có phù hợp với tất cả thành viên trong gia đình, bao gồm cả trẻ em hay không). Các sản phẩm của Google có thể sử dụng isFamilyFriendly để xác định nội dung cần phát. Giá trị phải là true hoặc false.
inLanguage Bắt buộc Văn bản Ngôn ngữ của nội dung podcast ở định dạng ISO 639-1. Bạn có thể sử dụng giá trị này để thực hiện các truy vấn của người dùng yêu cầu nội dung bằng một ngôn ngữ cụ thể.
genre Bắt buộc

Văn bản

lặp lại

Danh mục hoặc thể loại của loạt podcast. Ví dụ: bạn có thể tuân theo Danh mục podcast tiêu chuẩn.
endDate Không bắt buộc Ngày Ngày phát hành tập cuối cùng của loạt podcast. Chỉ đưa trường này vào khi bộ sách đã kết thúc.
rssFeed Bắt buộc URL URL của nguồn cấp dữ liệu RSS của loạt podcast.
potentialAction Bắt buộc ListenAction Hành động cần kích hoạt để người dùng nghe nội dung. Để biết thông tin chi tiết, hãy xem ListenAction.
popularityScore Không bắt buộc PopularityScoreSpecification Điểm phổ biến để giúp xác định mức độ ưu tiên phân phát khi có nhiều đề xuất. Vui lòng xem phần PopularityScoreSpecification (popularityScore) để biết thông tin chi tiết và ví dụ.
keywords Không bắt buộc

Văn bản

lặp lại

Danh sách từ khoá sẽ được liên kết với loạt podcast. Bạn có thể sử dụng các từ khoá này để mở rộng các cụm từ tìm kiếm của người dùng có thể kích hoạt loạt podcast này. Ví dụ: tên khách mời, chủ đề được đề cập, v.v.
sameAs Không bắt buộc URL URL của một trang web tham khảo của bên thứ ba (không nằm trong miền của bạn) nêu rõ đặc điểm của sản phẩm. Trang web này dùng để phân biệt khi có nhiều chương trình dài tập tương tự nhau. Ví dụ: trang Wikipedia hoặc trang chủ của loạt podcast. Bạn nên sử dụng trường này để phân biệt các bộ sách.
releasedEvent Không bắt buộc PublicationEvent hoặc các loại phụ cụ thể hơn – FeaturedEvent hoặc ExclusiveEvent Sự kiện đánh dấu việc phát hành hoặc xuất bản loạt podcast. Sự kiện phát hành có thể ghi nhận bản phát hành đầu tiên của một podcast do nhà xuất bản phát hành và các loại chuyên biệt hơn có thể được dùng để biểu thị tính độc quyền hoặc tính năng nổi bật của bản phát hành. Để biết thông tin chi tiết và ví dụ, hãy xem phần PublicationEvent, FeaturedEvent, ExclusiveEvent (releasedEvent). Xin lưu ý rằng việc đánh dấu một chương trình là độc quyền hoặc nổi bật có nghĩa là tất cả các tập của chương trình đó đều là độc quyền hoặc nổi bật.
countryOfOrigin Không bắt buộc Quốc gia Quốc gia của văn phòng chính của công ty sản xuất hoặc cá nhân chịu trách nhiệm về podcast.

Thông số kỹ thuật của PodcastEpisode

PodcastEpisode là nội dung đại diện schema.org của một tập trong PodcastSeries.

Thuộc tính Mức độ ưu tiên Loại Mô tả
@context Bắt buộc Văn bản Ngữ cảnh Schema.org. Luôn đặt thành [http://schema.googleapis.com,{@language:xx}] trong đó xx là mã ngôn ngữ. Thao tác này sẽ đặt ngôn ngữ ký tự mặc định dùng cho các giá trị văn bản trong nguồn cấp dữ liệu.
@type Bắt buộc Văn bản Luôn đặt thành PodcastEpisode.
@id Bắt buộc Văn bản Mã nhận dạng duy nhất trên toàn cầu cho tập podcast ở định dạng URI. Mã này phải cố định và không thay đổi theo thời gian. URL được coi là một chuỗi nguyên vẹn và không cần phải là một đường liên kết đang hoạt động. Tổ chức của bạn phải sở hữu miền dùng cho giá trị @id.
url Bắt buộc Văn bản URL chính tắc trên trang web của bạn nơi bạn giới thiệu hoặc mô tả về tập podcast. Giá trị này phải là duy nhất trên toàn hệ thống. Đường liên kết này được dùng để điều chỉnh nội dung trong nguồn cấp dữ liệu của bạn sao cho khớp với nội dung trong cơ sở dữ liệu của Google. Để phát, bạn có thể sử dụng target.urlTemplate được mô tả chi tiết trong phần ListenAction của tài liệu.
name Bắt buộc Văn bản

Tên tập podcast.

Mỗi ngôn ngữ chỉ được có một tên. Sử dụng một mảng để đánh dấu nội dung mô tả bằng nhiều ngôn ngữ. Xem Ví dụ về nhiều khu vực và ngôn ngữ.

description Bắt buộc Văn bản Nội dung mô tả về tập podcast.
alternativeHeadline Bắt buộc Văn bản Phụ đề của tập podcast.
author Bắt buộc

Cá nhân hoặc Tổ chức

lặp lại

Người hoặc nhóm phát triển hoặc phân phối tập. Giá trị này thường đề cập đến máy chủ lưu trữ. Nếu tác giả giống với chương trình, bạn có thể sử dụng lại thông tin từ thực thể PodcastSeries. Để biết ví dụ và thông tin chi tiết, vui lòng xem phần Tổ chức, Người (tác giả/nhà xuất bản).
publisher Bắt buộc

Cá nhân hoặc Tổ chức

lặp lại

Nhóm hoặc mạng truyền hình ban đầu chịu trách nhiệm phát sóng chương trình. Thường đề cập đến một tổ chức chịu trách nhiệm xuất bản hoặc sản xuất một số podcast. Vui lòng xem phần Tổ chức, Người (tác giả/nhà xuất bản) để biết các ví dụ và thông tin chi tiết. Bạn nên sử dụng trường này để phân biệt và nên xác định trường này bất cứ khi nào có thể.
actor Bắt buộc

Cá nhân hoặc Tổ chức

lặp lại

Diễn viên của podcast. Để biết ví dụ và thông tin chi tiết, hãy xem phần Nhân vật (người dẫn chương trình/khách mời).
datePublished Bắt buộc Ngày giờ Ngày giờ phát hành tập podcast. Giá trị này được dùng để sắp xếp trình tự và nội dung phân biệt của tập.
episodeNumber Bắt buộc Số nguyên Số tập.
partOfSeries Bắt buộc PodcastSeries PodcastSeries chứa tập podcast này. Vui lòng xem PodcastSeries(partOfSeries) để biết thông tin chi tiết và ví dụ.
partOfSeason Không bắt buộc PodcastSeason Đối với chương trình nhiều phần, thuộc tính này cung cấp thông tin về phần cùng với số phần và tên phần. Vui lòng xem PodcastSeason(partOfSeason) để biết thông tin chi tiết và ví dụ.
timeRequired Bắt buộc Thời lượng Thời lượng của tập theo định dạng thời lượng ISO 8601.
image Không bắt buộc

ImageObject (Đối tượng hình ảnh)

lặp lại

Hình ảnh minh hoạ của bộ sách. Đây phải là một ImageObject được mô tả đầy đủ. Cung cấp độ phân giải cao nhất có thể. Nên dùng định dạng JPEG hoặc PNG. Vui lòng xem phần ImageObject (biểu trưng) để biết thông tin chi tiết và ví dụ.
isFamilyFriendly Bắt buộc Boolean Cho biết nội dung này có phù hợp với gia đình hay không (tức là nội dung có phù hợp với tất cả thành viên trong gia đình, bao gồm cả trẻ em hay không). Các sản phẩm của Google có thể sử dụng isFamilyFriendly để xác định nội dung cần phát. Giá trị phải là true hoặc false.
inLanguage Bắt buộc Văn bản Ngôn ngữ nội dung của tập podcast ở định dạng ISO 639-1. Sử dụng giá trị này để thực hiện các truy vấn của người dùng yêu cầu nội dung bằng một ngôn ngữ cụ thể. Nếu nội dung có nhiều ngôn ngữ, hãy chỉ liệt kê một ngôn ngữ chính.
genre Bắt buộc

Văn bản

lặp lại

Danh mục hoặc thể loại của loạt podcast. Ví dụ: bạn có thể theo dõi các danh mục Podcast tiêu chuẩn.
associatedMedia Không bắt buộc AudioObject Tệp âm thanh của tập podcast. Để biết thông tin chi tiết và ví dụ, hãy xem phần AudioObject(associatedMedia).
potentialAction Bắt buộc ListenAction Hành động cần kích hoạt để người dùng nghe nội dung. Để biết thông tin chi tiết, hãy xem phần ListenAction.
popularityScore Không bắt buộc PopularityScoreSpecification Điểm phổ biến để xác định mức độ ưu tiên phân phát khi có nhiều đề xuất. Để biết thông tin chi tiết và ví dụ, hãy xem phần PopularityScoreSpecification.
keywords Không bắt buộc

Văn bản

lặp lại

Danh sách từ khoá liên kết với loạt podcast. Những từ khoá này có thể được dùng để mở rộng các cụm từ tìm kiếm của người dùng có thể kích hoạt tập podcast này. Ví dụ: news, sports hoặc history.
identifier Bắt buộc

PropertyValue

lặp lại

Đối với PodcastEpisode, hãy sử dụng thuộc tính này để cung cấp GUID. GUID cần phải là một mã nhận dạng có thể xác định duy nhất và trên toàn cầu các tập của một podcast. Trường này khác với trường @id trên tập.

Hãy xem phần PropertyValue (giá trị nhận dạng) để biết ví dụ.

sameAs Không bắt buộc URL URL của một trang web tham khảo của bên thứ ba (không nằm trong miền của bạn) nêu rõ đặc điểm của sản phẩm. Google sử dụng trang web này để phân biệt khi có nhiều chương trình dài tập tương tự. Ví dụ: trang Wikipedia hoặc trang chủ của các tập podcast. Xin lưu ý rằng bạn không được cung cấp trang tham chiếu cấp bộ sách tại đây. Bạn nên sử dụng trường này để phân biệt tập.
releasedEvent Không bắt buộc PublicationEvent hoặc các loại phụ cụ thể hơn – FeaturedEvent hoặc ExclusiveEvent Sự kiện đánh dấu việc xuất bản hoặc phát hành tập podcast. Sự kiện phát hành có thể ghi nhận bản phát hành ban đầu của một tập podcast của nhà xuất bản và các loại phụ cụ thể hơn có thể biểu thị tính độc quyền hoặc tính năng nổi bật của bản phát hành. Để biết thông tin chi tiết và ví dụ, hãy xem phần PublicationEvent, FeaturedEvent, ExclusiveEvent (releasedEvent). Xin lưu ý rằng việc đánh dấu một chương trình là độc quyền hoặc nổi bật ở trên có nghĩa là tất cả các tập của chương trình đó đều là độc quyền hoặc nổi bật. Bạn nên đánh dấu các thuộc tính như vậy ở cấp chi tiết nhất.
countryOfOrigin Không bắt buộc Quốc gia Quốc gia của văn phòng chính của công ty sản xuất hoặc cá nhân chịu trách nhiệm về podcast.

PodcastSeries (partOfSeries)

Sử dụng partOfSeries để thiết lập mối quan hệ giữa PodcastEpisodePodcastSeries mẹ. Vì thông tin chi tiết đầy đủ về PodcastSeries được mô tả trong thực thể PodcastSeries riêng biệt, nên bạn không cần cung cấp thông tin chi tiết đầy đủ trong partOfSeries. Bạn chỉ cần cung cấp các thuộc tính sau:

Thuộc tính Mức độ ưu tiên Loại Mô tả
@type Bắt buộc Văn bản Luôn đặt thành PodcastSeries.
@id Bắt buộc URL Mã nhận dạng duy nhất trên toàn cầu cho bộ sách ở định dạng URI. Mã này phải khớp với mã của thực thể PodcastSeries hoàn chỉnh trong nguồn cấp dữ liệu của bạn.
name Bắt buộc Văn bản Tên của loạt podcast.

Ví dụ 1

"partOfSeries": {
  "@type": "PodcastSeries",
  "@id": "http://www.tjpodcast.org/series?id=1",
  "name": "Radiolab"
},

PodcastSeason (partOfSeason)

PodcastSeason đại diện cho thông tin về phần của một PodcastEpisode, quan trọng nhất là số phần. Bạn chỉ cần thuộc tính này khi loạt podcast có nhiều phần.

Thuộc tính Mức độ ưu tiên Loại Mô tả
@type Bắt buộc Văn bản Luôn đặt thành PodcastSeason
@id Bắt buộc URL Mã nhận dạng duy nhất trên toàn cầu cho phần ở định dạng URI. Mã này phải cố định và không thay đổi theo thời gian. URL được coi là một chuỗi nguyên vẹn và không cần phải là một đường liên kết đang hoạt động.
seasonNumber Bắt buộc Số nguyên Số thứ tự của phần trong loạt podcast.
name Không bắt buộc Văn bản Tên của mùa podcast.

Ví dụ 1

"partOfSeason": {
  "@type": "PodcastSeason",
  "@id": "http://www.tjpodcast.org/seriesx/season?id=1",
  "seasonNumber": 1,
  "name": "Radiolab Season 1"
},

Tổ chức, Người (tác giả hoặc nhà xuất bản)

Thuộc tính Mức độ ưu tiên Loại Mô tả
@type Bắt buộc Văn bản Luôn đặt thành Organization hoặc Person.
@id Bắt buộc URL Mã nhận dạng duy nhất trên toàn cầu cho tổ chức hoặc người dùng ở định dạng URI. Mã này phải cố định và không thay đổi theo thời gian. URL được coi là một chuỗi mờ và không cần phải là một đường liên kết đang hoạt động.
name Bắt buộc Văn bản Tên của tổ chức hoặc người đó.
sameAs Không bắt buộc URL URL của một trang web tham khảo của bên thứ ba (không nằm trong miền của bạn) nêu rõ đặc điểm của sản phẩm. Google sử dụng trang web này để phân biệt khi có nhiều chương trình dài tập tương tự. Ví dụ: trang Wikipedia về một tổ chức hoặc trang web chính thức của tổ chức đó.

Ví dụ 1

"author": {
  "@type": "Organization",
  "@id": "https://www.tjpodcast.org/organization/wnyc",
  "sameAs": "https://en.wikipedia.org/wiki/WNYC",
  "name": "WNYC"
},

Ví dụ 2

"author": {
  "@type": "Person",
  "@id": "https://www.tjpodcast.org/person/jad_abumrad",
  "sameAs": "https://en.wikipedia.org/wiki/Jad_Abumrad",
  "name": "Jad Abumrad"
},

Người tham gia (Người tổ chức hoặc khách mời)

Thuộc tính Mức độ ưu tiên Loại Mô tả
@type Bắt buộc Văn bản Luôn đặt thành Organization hoặc Person.
@id Bắt buộc URL Mã nhận dạng duy nhất trên toàn cầu cho tổ chức hoặc người dùng ở định dạng URI. Mã này phải cố định và không thay đổi theo thời gian. URL được coi là một chuỗi mờ và không cần phải là một đường liên kết đang hoạt động.
name Bắt buộc Văn bản Tên của tổ chức hoặc người đó.
roleName Bắt buộc Văn bản "Máy chủ" hoặc "Khách".
sameAs Không bắt buộc URL URL của một trang web tham khảo của bên thứ ba (không nằm trong miền của bạn) nêu rõ đặc điểm của sản phẩm. Google sử dụng trang web này để phân biệt khi có nhiều chương trình dài tập tương tự. Ví dụ: trang Wikipedia về một tổ chức hoặc trang web chính thức của tổ chức đó.

Ví dụ 1

"actor":[{
  "@type": "PerformanceRole",
  "actor": {
    "@type": "Person",
    "@id": "https://www.tjpodcast.org/person/Roman",
    "name": {
      "@language":"en",
      "@value": "Roman Mars"
    },
    "roleName": "Host"
    "sameAs": "https://en.wikipedia.org/wiki/Roman",
  },
  "actor": {
    "@type": "Person",
    "@id": "https://www.tjpodcast.org/person/guest",
    "name":{
      "@language":"en",
      "@value": "Kurt Kohlstedt"
    },
    "roleName": "Guest"
   },
}]

ImageObject (biểu trưng hoặc hình ảnh)

ImageObject được dùng để cung cấp biểu trưng hoặc hình minh hoạ cho nội dung.

Thuộc tính Mức độ ưu tiên Loại Mô tả
@type Bắt buộc Văn bản Luôn đặt thành ImageObject.
height Không bắt buộc Số nguyên Chiều cao của hình ảnh tính bằng pixel.
width Không bắt buộc Số nguyên Chiều rộng của hình ảnh tính bằng pixel.
contentUrl Bắt buộc URL URL của hình ảnh.
regionsAllowed Không bắt buộc

Quốc gia

lặp lại

Các quốc gia cho phép nội dung nghe nhìn đó:

  • Nếu bạn không chỉ định, thì hệ thống sẽ giả định rằng hình ảnh được phép sử dụng ở mọi ngôn ngữ.
  • Để gửi nhiều hình ảnh cho mỗi khu vực, hãy thêm nhiều tài sản ImageObject, mỗi tài sản có một nhóm quốc gia riêng và một URL hình ảnh tương ứng.

Quốc gia (image.regionsAllowed)

Thuộc tính Mức độ ưu tiên Loại Mô tả
@type Bắt buộc Văn bản Luôn đặt thành Country.
name Bắt buộc Văn bản Mã quốc gia theo ISO 3166-1 alpha-2. Ví dụ: GB, US.

Ví dụ 1

"logo": {
  "@type": "ImageObject",
  "height": "100",
  "width": "800",
  "contentUrl": "http://www.foo.com/img/67890.jpg",
},

Ví dụ 2

"logo": [
  {
    "@type": "ImageObject",
    "height": "100",
    "width": "800",
    "contentUrl": "http://www.foo.com/img/67890.jpg",
    "regionsAllowed": [
      {
        "@type": "Country",
        "name": "US"
      },
      {
        "@type": "Country",
        "name": "GB"
      }
    ]
  },
  {
    "@type": "ImageObject",
    "height": "100",
    "width": "800",
    "contentUrl": "http://www.foo.com/img/12345.jpg",
    "regionsAllowed": [
      {
        "@type": "Country",
        "name": "IN"
      },
      {
        "@type": "Country",
        "name": "PK"
      }
    ]
  },
],

PropertyValue (giá trị nhận dạng)

Nếu có GUID cho nội dung của mình, bạn có thể cung cấp các mã nhận dạng này bằng trường identifier để cải thiện độ chính xác của việc Google điều chỉnh nội dung của bạn. Xin lưu ý rằng GUID là bắt buộc đối với PodcastEpisode. Mã này phải khác với trường @id của tập (không nằm trong miền của bạn) và phải đại diện cho tập nguồn trên toàn cầu và duy nhất theo thời gian, trên các nguồn.

Thuộc tính Mức độ ưu tiên Loại Mô tả
@type Bắt buộc Văn bản Luôn đặt thành "PropertyValue".
propertyID Bắt buộc Văn bản Luôn đặt thành GUID.
value Bắt buộc Văn bản GUID của loạt chương trình hoặc tập.

Ví dụ 1

"identifier": {
  "@type": "PropertyValue",
  "propertyID": "GUID",
  "value": "50204fe4-bc68-4b34-aae6-e73c700cc5ca"
},

PopularityScoreSpecification (popularityScore)

popularityScore có thể giúp người dùng truy cập vào nội dung phù hợp nhất trong trường hợp tiêu chí từ truy vấn của người dùng khớp với nhiều thực thể trong nguồn cấp dữ liệu. Nội dung có điểm phổ biến cao nhất có sẵn cho khu vực của người dùng sẽ được phân phát cho người dùng khi có giá trị này. Tất cả nội dung không có trường này sẽ mặc định có điểm phổ biến là 0. Việc so sánh điểm số diễn ra trong phạm vi danh mục đầy đủ của bạn, vì vậy, vui lòng đảm bảo rằng tỷ lệ trên tất cả nguồn cấp dữ liệu của bạn là nhất quán.

Thuộc tính Mức độ ưu tiên Loại Mô tả
@type Bắt buộc Văn bản Luôn đặt thành PopularityScoreSpecification.
value Bắt buộc Số Một giá trị số dương để so sánh với các thực thể khác trong danh mục của bạn cho mức độ ưu tiên phân phát. Số càng lớn thì mức độ phổ biến càng cao.
eligibleRegion Không bắt buộc

Quốc gia hoặc Văn bản

lặp lại

Một khu vực hoặc danh sách các khu vực áp dụng điểm số về mức độ phổ biến này.

Nếu điểm phổ biến áp dụng trên toàn cầu, hãy sử dụng earth làm giá trị văn bản.

Nếu cần liệt kê các khu vực cụ thể, vui lòng sử dụng loại "Quốc gia".

Nếu bạn bỏ qua trường này, eligibleRegion sẽ mặc định là earth.

Quốc gia (popularityScore.eligibleRegion)

Thuộc tính Mức độ ưu tiên Loại Mô tả
@type Bắt buộc Văn bản Luôn đặt thành Country.
name Bắt buộc Văn bản Mã quốc gia theo ISO 3166-1 alpha-2. Ví dụ: GB, US.

Ví dụ 1

"popularityScore": {
  "@type": "PopularityScoreSpecification",
  "value": 4.3,
  "eligibleRegion": "Earth"
},

Ví dụ 2

"popularityScore": {
  "@type": "PopularityScoreSpecification",
  "value": 2,
  "eligibleRegion": {
    "@type": "Country",
    "name": "US"
  }
},

Ví dụ 3

"popularityScore": {
  "@type": "PopularityScoreSpecification",
  "value": 101,
  "eligibleRegion": [
    {
      "@type": "Country",
      "name": "US"
    },
    {
      "@type": "Country",
      "name": "GB"
    }
  ]
},

PublicationEvent, FeaturedEvent, ExclusiveEvent (releasedEvent)

PublicationEvent
Sử dụng đối tượng này để biểu thị ngày và vị trí xuất bản của một chương trình hoặc tập (còn gọi là "ngày phát hành" của một bộ phim hoặc tập). Ngoài ra, trường publishedBy biểu thị thực thể phát hành hoặc phân phối của loạt podcast hoặc tập podcast.
ExclusiveEvent
Sử dụng đối tượng này để cho biết rằng nhà cung cấp có quyền phân phối độc quyền đối với podcast. Tính độc quyền có thể chỉ áp dụng cho một khu vực và có giới hạn thời gian, đồng thời phải bao gồm trường tổ chức trỏ đến nhà cung cấp độc quyền của nội dung.
FeaturedEvent
Sử dụng đối tượng này để cho biết nhà cung cấp giới thiệu podcast cho người tiêu dùng (ví dụ: dưới dạng "chính gốc").
Nội dung gốc khác với nội dung độc quyền
Thuật ngữ "gốc (nổi bật)" thường biểu thị các quyền độc quyền đối với một thực thể nhất định, làm cho thuật ngữ này bị quá tải. Do đó, ý nghĩa dự định phải được chia thành hai danh mục trên. Một thực thể gốc cũng có thể là độc quyền và trong trường hợp này, releasedEvent có thể lấy một mảng có cả hai loại sự kiện trên cùng một thực thể.

Xin lưu ý rằng mặc dù tính độc quyền hoặc tính năng nổi bật có thể có ý nghĩa tương tự nhau trong danh mục của nhà cung cấp, nhưng PublicationEvent thường áp dụng để phân biệt các thực thể và cung cấp siêu dữ liệu bổ sung về các thực thể đó, chẳng hạn như ngày phát hành của một bộ phim hoặc tập phim.

Thuộc tính Mức độ ưu tiên Loại Mô tả
@type Bắt buộc Văn bản Luôn đặt thành một trong các giá trị PublicationEvent, ExclusiveEvent hoặc FeaturedEvent.
location Bắt buộc Quốc gia Khu vực diễn ra sự kiện phát hành. Bạn cũng có thể sử dụng thuộc tính này để thể hiện các quy định hạn chế về quyền độc quyền và quy định hạn chế về việc phân phối của thực thể. Sử dụng mã ISO 3166 cho quốc gia. Nếu bạn cần áp dụng ngữ nghĩa chung, hãy đặt thành EARTH. Đặt rõ ràng location thành EARTH, trong trường hợp không áp dụng các hạn chế theo ngôn ngữ cụ thể.
startDate Nên dùng (Bắt buộc đối với ExclusiveEvent) Date hoặc DateTime Ngày bắt đầu xuất bản của các thực thể. Trong trường hợp của PublicationEvent, thuộc tính này biểu thị ngày phát hành ban đầu của thực thể này. Trong trường hợp ExclusiveEvent hoặc FeaturedEvent, giá trị này thể hiện ngày bắt đầu của tính chất độc quyền hoặc nổi bật của thực thể.
endDate Nên dùng (Bắt buộc đối với ExclusiveEvent) Date hoặc DateTime Ngày kết thúc xuất bản của các thực thể. Trong trường hợp PublicationEvent, thuộc tính này biểu thị ngày phát hành cuối cùng của thực thể này. Trong trường hợp ExclusiveEvent hoặc FeaturedEvent, thuộc tính này thể hiện ngày kết thúc của tính chất độc quyền hoặc nổi bật của thực thể.
publishedBy Bắt buộc Tổ chức hoặc Người Thực thể Organization hoặc Person phát hành thực thể này và áp dụng cho sự kiện phát hành này. Vui lòng sử dụng cùng một giản đồ như mô tả trong phần Tổ chức (tác giả/Nhà xuất bản).

Ví dụ 1

"releasedEvent": [ {
  "@type": "PublicationEvent",
  "location": "EARTH",
  "startDate": "2016-04-21T20:00",
  "publishedBy": {
    "@type": "Organization",
    "@id": "https://www.tjpodcast.org/organization/wnyc",
    "sameAs": "https://en.wikipedia.org/wiki/WNYC",
    "name": "WNYC"
  },
 }, {
  "@type": "FeaturedEvent",
  "location": "US",
  "startDate": "2020-04-18T20:00",
  "endDate": "2020-04-21T20:00",
  "publishedBy": {
    "@type": "Organization",
    "@id": "https://www.tjpodcast.org/organization/tjpodcast",
    "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
    "name": "TJPodcast",
  },
 },
]

Ví dụ 2

"releasedEvent": [ {
  "@type": "FeaturedEvent",
  "location": "US",
  "startDate": "2020-04-18T20:00",
  "endDate": "2020-05-21T20:00",
  "publishedBy": {
    "@type": "Organization",
    "@id": "https://www.tjpodcast.org/organization/tjpodcast",
    "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
    "name": "TJPodcast",
  },
 }, {
  "@type": "ExclusiveEvent",
  "location": "US",
  "startDate": "2020-04-18T20:00",
  "endDate": "2020-04-24T20:00",
  "publishedBy": {
    "@type": "Organization",
    "@id": "https://www.tjpodcast.org/organization/tjpodcast",
    "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
    "name": "TJPodcast",
  },
 }, {
  "@type": "ExclusiveEvent",
  "location": "CA",
  "startDate": "2020-04-21T20:00",
  "endDate": "2020-04-24T20:00",
  "publishedBy": {
    "@type": "Organization",
    "@id": "https://www.tjpodcast.org/organization/tjpodcast",
    "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
    "name": "TJPodcast",
  },
 }
]

AudioObject (associatedMedia)

AudioObject được dùng để cung cấp tệp phương tiện thô cho tập podcast.

Thuộc tính Mức độ ưu tiên Loại Mô tả
@type Bắt buộc Văn bản Luôn đặt thành AudioObject.
contentUrl Bắt buộc URL URL của tệp nội dung nghe nhìn.
contentSize Bắt buộc Số nguyên Kích thước của tệp phương tiện tính bằng byte.
encodingFormat Bắt buộc Văn bản Loại nội dung nghe nhìn IANA của tệp nội dung nghe nhìn. Ví dụ: audio/mpeg.
duration Bắt buộc Thời lượng Thời lượng của nội dung nghe nhìn ở định dạng thời lượng ISO 8601.
transcript Không bắt buộc Văn bản Bản chép lời của tập.
bitrate Không bắt buộc Văn bản Tốc độ bit của tệp nội dung nghe nhìn.
name Không bắt buộc Văn bản Tên tệp của tệp phương tiện.

Ví dụ 1

"associatedMedia": {
    "@type": "AudioObject",
    "contentUrl": "https://www.tjpodcast.org/media_files/mp3/radiolab_podcast19.mp3",
    "duration": "PT5M32S",
    "contentSize": "53616000",
    "encodingFormat": "audio/mpeg",
    "name": "radiolab_podcast19.mp3",
    "transcript": "Transcript of the episode",
    "bitrate": "64Kbps"
},

ListenAction (potentialAction)

Thực thể ListenAction xác định các đường liên kết sâu để phát và tiêu chí để người dùng (ví dụ: vị trí địa lý, thời gian, trạng thái đăng nhập hoặc gói thuê bao) truy cập nội dung.

Thuộc tính Mức độ ưu tiên Loại Mô tả
@type Bắt buộc Văn bản Luôn đặt thành ListenAction.
target Bắt buộc

EntryPoint

lặp lại

Thông tin đặc tả về đường liên kết sâu cùng với thông tin về nền tảng được hỗ trợ. Bạn có thể sử dụng nhiều trường EntryPoint để xác định các đường liên kết sâu khác nhau cho các nhóm nền tảng khác nhau.
actionAccessibilityRequirement Bắt buộc

ActionAccessSpecification

lặp lại

Phần xác định các yêu cầu mà người dùng phải đáp ứng để truy cập vào thực thể này. Nếu có nhiều ActionAccessSpecification, thì người dùng phù hợp với bất kỳ tiêu chí thông số kỹ thuật nào đều có thể truy cập nội dung.

EntryPoint (potentialAction.target)

table class="fixed"> Property Priority Type Description @type Bắt buộc Văn bản Luôn đặt thành EntryPoint. urlTemplate Bắt buộc URL Đường liên kết dùng để bắt đầu phát nội dung của bạn. actionPlatform Bắt buộc

Văn bản

lặp lại

Nền tảng nơi đường liên kết sâu này hoạt động. Có thể có những giá trị sau:

  • "http://schema.org/DesktopWebPlatform"
  • "http://schema.org/MobileWebPlatform"
  • "http://schema.org/AndroidPlatform"
  • "http://schema.org/AndroidTVPlatform"
  • "http://schema.org/IOSPlatform"
  • "http://schema.googleapis.com/GoogleAudioCast"
  • "http://schema.googleapis.com/GoogleVideoCast"

ActionAccessSpecification (potentialAction.actionAccessibilityRequirement)

Thuộc tính Mức độ ưu tiên Loại Mô tả
@type Bắt buộc Văn bản Luôn đặt thành ActionAccessSpecification.
category Bắt buộc Văn bản

Loại yêu cầu về quyền truy cập. Đây phải là một trong các giá trị sau:

  • nologinrequired: Người dùng có thể thực hiện thao tác này mà không cần phải mua hoặc đăng nhập để truy cập nội dung.
  • free: Người dùng có thể thực hiện thao tác này mà không cần mua sách hay mua gói thuê bao có tính phí. Người dùng phải đăng nhập để thực hiện hành động này.
  • subscription: Thao tác này được cung cấp trong gói thuê bao có tính phí đối với dịch vụ của bạn.
availabilityStarts Không bắt buộc Ngày giờ Thời gian bắt đầu của khung thời gian được phép đọc. Bạn có thể sử dụng thuộc tính này để kiểm soát thời điểm chính xác khi người dùng có thể xem nội dung này.
availabilityEnds Không bắt buộc Ngày giờ Thời gian kết thúc của khung thời gian được phép đọc. Bạn có thể sử dụng thuộc tính này để kiểm soát thời điểm chính xác khi người dùng không thấy nội dung này nữa.
eligibleRegion Bắt buộc

Quốc gia

lặp lại

Quốc gia đủ điều kiện nhận Ưu đãi này. Bạn có thể dùng thuộc tính này để kiểm soát quốc gia hoặc khu vực mà bạn phải cung cấp nội dung này.
requiresSubscription Bắt buộc nếu áp dụng MediaSubscription Gói thuê bao cần thiết để truy cập nội dung này. Nếu dịch vụ của bạn cung cấp nhiều gói thuê bao, thì bạn bắt buộc phải điền trường này. Nếu dịch vụ của bạn miễn phí hoặc chỉ có một cấp gói thuê bao, bạn có thể bỏ qua trường này.

Quốc gia (potentialAction.actionAccessibilityRequirement.eligibleRegion)

Thuộc tính Mức độ ưu tiên Loại Mô tả
@type Bắt buộc Văn bản Luôn đặt thành Country.
name Bắt buộc Văn bản Mã quốc gia theo ISO 3166-1 alpha 2.

MediaSubscription (potentialAction.actionAccessibilityRequirement.requiresSubscription)

Thuộc tính Mức độ ưu tiên Loại Mô tả
@type Bắt buộc Văn bản Luôn đặt thành MediaSubscription.
@id Bắt buộc URL Mã nhận dạng duy nhất trên toàn cầu cho gói thuê bao ở định dạng URI. Giá trị này cũng phải ổn định và không thay đổi theo thời gian. URL được coi là một chuỗi nguyên vẹn và không cần phải là một đường liên kết đang hoạt động.
name Bắt buộc Văn bản Tên gói thuê bao. Ví dụ: Premium, Basic.
expectsAcceptanceOf Recommended (Nên dùng) Lời đề nghị Ưu đãi liên kết với giao dịch mua gói thuê bao nội dung nghe nhìn. Bạn có thể sử dụng thuộc tính này để thể hiện giá của gói thuê bao.

Ưu đãi (potentialAction.actionAccessibilityRequirement.requiresSubscription.expectsAcceptanceOf)

Thuộc tính Mức độ ưu tiên Loại Mô tả
@type Bắt buộc Văn bản Luôn đặt thành Offer.
price Bắt buộc Số Giá của gói thuê bao.
priceCurrency Bắt buộc Văn bản Đơn vị tiền tệ (ở định dạng ISO 4217 gồm ba chữ cái) của giá.
seller Recommended (Nên dùng) Tổ chức Tổ chức cung cấp gói thuê bao hoặc giao dịch mua hành động. Sử dụng cùng một giản đồ như mô tả trong phần Tổ chức (tác giả/Nhà xuất bản).

Ví dụ 1

"potentialAction": {
    "@type": "ListenAction",
    "target": {
        "@type": "EntryPoint",
        "urlTemplate": "https://www.tjpodcast.org/?streamStationId=170",
        "actionPlatform": [
            "http://schema.org/DesktopWebPlatform",
            "http://schema.org/MobileWebPlatform",
            "http://schema.org/AndroidPlatform",
            "http://schema.org/AndroidTVPlatform",
            "http://schema.org/IOSPlatform",
            "http://schema.googleapis.com/GoogleAudioCast",
            "http://schema.googleapis.com/GoogleVideoCast"
        ]
    },
    "actionAccessibilityRequirement": {
        "@type": "ActionAccessSpecification",
        "category": "nologinrequired",
        "availabilityStarts": "2018-04-01T11:01:00-04:00",
        "availabilityEnds": "2018-06-30T23:59:00-04:00",
        "eligibleRegion": {
            "@type": "Country",
            "name": "US"
        }
    }
},

Ví dụ 2

"potentialAction": {
    "@type": "ListenAction",
    "target": [
        {
            "@type": "EntryPoint",
            "urlTemplate": "https://www.tjpodcast.org/?streamStationId=170",
            "actionPlatform": [
                "http://schema.org/DesktopWebPlatform",
                "http://schema.org/MobileWebPlatform",
                "http://schema.org/AndroidPlatform",
                "http://schema.org/AndroidTVPlatform",
                "http://schema.org/IOSPlatform"
            ]
        },
        {
            "@type": "EntryPoint",
            "urlTemplate": "https://www.tjpodcast.org/castlink?streamStationId=170",
            "actionPlatform": [
                "http://schema.googleapis.com/GoogleAudioCast",
                "http://schema.googleapis.com/GoogleVideoCast"
            ]
        }
    ],
    "actionAccessibilityRequirement": [
        {
            "@type": "ActionAccessSpecification",
            "category": "nologinrequired",
            "availabilityStarts": "2018-04-01T11:01:00-04:00",
            "availabilityEnds": "2018-06-30T23:59:00-04:00",
            "eligibleRegion": [
                {
                    "@type": "Country",
                    "name": "IN"
                },
                {
                    "@type": "Country",
                    "name": "GB"
                }
            ]
        },
        {
            "@type": "ActionAccessSpecification",
            "category": "Subscription",
            "requiresSubscription": {
                "@type": "MediaSubscription",
                "@id": "http://www.example.com/packages/basic-pack",
                "name": "Basic Pack",
                "expectsAcceptanceOf": {
                    "@type": "Offer",
                    "price": 8.99,
                    "priceCurrency": "USD"
                }
            },
            "availabilityStarts": "2018-04-01T11:01:00-04:00",
            "availabilityEnds": "2018-06-30T23:59:00-04:00",
            "eligibleRegion": {
                "@type": "Country",
                "name": "US"
            }
        }
    ]
},

Phụ lục

Ví dụ đầy đủ

{
    "@context": "http://schema.org",
    "@type": "DataFeed",
    "dateModified": "2018-09-10T13:58:26.892Z",
    "dataFeedElement": [
        {
            "@context": [
                "http://schema.googleapis.com",
                {
                    "@language": "en"
                }
            ],
            "@type": "PodcastSeries",
            "@id": "http://www.tjpodcast.org/series?id=2",
            "url": "http://www.tjpodcast.org/series?id=2",
            "name": "Radiolab",
            "description": "A two-time Peabody Award-winner...",
            "alternativeHeadline": "Radiolab - Powered by WNYC",
            "sameAs": "https://en.wikipedia.org/wiki/Radiolab",
            "image": {
                "@type": "ImageObject",
                "height": "100",
                "width": "800",
                "contentUrl": "http://www.tjpodcast.org/img/2.jpg"
            },
            "logo": {
                "@type": "ImageObject",
                "height": "100",
                "width": "800",
                "contentUrl": "http://www.tjpodcast.org/logo/2/1.jpg"
            },
            "keywords": [
                "Science",
                "Technology",
                "Philosophy",
                "Education"
            ],
            "author": [
                {
                    "@type": "Person",
                    "@id": "https://www.tjpodcast.org/author/jad_abumrad",
                    "name": "Jad Abumrad",
                    "sameAs": "https://en.wikipedia.org/wiki/Jad_Abumrad"
                },
                {
                    "@type": "Person",
                    "@id": "https://www.tjpodcast.org/author/robert_krulwich",
                    "name": "Robert Krulwich",
                    "sameAs": "https://en.wikipedia.org/wiki/Robert_Krulwich"
                }
            ],
            "publisher": {
                "@type": "Organization",
                "name": "WNYC",
                "@id": "https://www.tjpodcast.org/network/wnyc_studios",
                "sameAs": "https://en.wikipedia.org/wiki/WNYC_Studios"
            },
            "isFamilyFriendly": "True",
            "inLanguage": "en",
            "genre": [
                "Science & Medicine",
                "Natural Sciences"
            ],
            "endDate": "2017-12-22T08:59:00",
            "rssFeed": "http://feeds.wnyc.org/radiolab",
            "potentialAction": {
                "@type": "ListenAction",
                "target": {
                    "@type": "EntryPoint",
                    "urlTemplate": "https://www.tjpodcast.org/?streamSeriesId=2",
                    "actionPlatform": [
                        "http://schema.org/DesktopWebPlatform",
                        "http://schema.org/MobileWebPlatform",
                        "http://schema.googleapis.com/GoogleAudioCast",
                        "http://schema.googleapis.com/GoogleVideoCast"
                    ]
                },
                "actionAccessibilityRequirement": {
                    "@type": "ActionAccessSpecification",
                    "category": "nologinrequired",
                    "availabilityStarts": "2018-04-01T11:01:00-04:00",
                    "availabilityEnds": "2019-12-30T23:59:00-04:00",
                    "eligibleRegion": {
                        "@type": "Country",
                        "name": "FR"
                    }
                }
            },
            "popularityScore": {
                "@type": "PopularityScoreSpecification",
                "value": 4.2
            }
        },
        {
            "@context": [
                "http://schema.googleapis.com",
                {
                    "@language": "en"
                }
            ],
            "@type": "PodcastEpisode",
            "@id": "http://www.tjpodcast.org/episode?id=1",
            "url": "http://www.tjpodcast.org/episode?id=1",
            "name": "A Clockwork Miracle",
            "description": "As legend goes, in 1562, King Philip II...",
            "sameAs": "https://www.wnycstudios.org/story/radiolab-clockwork-miracle",
            "image": {
                "@type": "ImageObject",
                "height": "100",
                "width": "800",
                "contentUrl": "http://www.tjpodcast.org/img/2/1.jpg"
            },
            "keywords": [
                "Education",
                "Philosophy",
                "Science",
            ],
            "partOfSeries": {
                "@type": "PodcastSeries",
                "@id": "http://www.tjpodcast.org/series?id=2",
                "name": "Radiolab",
                "sameAs": "https://en.wikipedia.org/wiki/Radiolab",
            },
            "episodeNumber": 101,
            "inLanguage": "en",
            "author": [
                {
                    "@type": "Person",
                    "@id": "https://www.tjpodcast.org/author/jad_abumrad",
                    "name": "Jad Abumrad",
                    "sameAs": "https://en.wikipedia.org/wiki/Jad_Abumrad"
                },
                {
                    "@type": "Person",
                    "@id": "https://www.tjpodcast.org/author/robert_krulwich",
                    "name": "Robert Krulwich",
                    "sameAs": "https://en.wikipedia.org/wiki/Robert_Krulwich"
                }
            ],
            "publisher": {
                "@type": "Organization",
                "name": "WNYC",
                "@id": "https://www.tjpodcast.org/network/wnyc_studios",
                "sameAs": "https://en.wikipedia.org/wiki/WNYC_Studios"
            },
            "isFamilyFriendly": "True",
            "genre": [
                "Science",
                "Philosophy",
                "Fiction"
            ],
            "datePublished": "2018-12-27T23:23:00Z",
            "timeRequired": "PT22M",
            "associatedMedia": {
                "@type": "AudioObject",
                "contentUrl": "https://www.tjpodcast.org/media_files/mp3/radiolab_podcast19.mp3",
                "duration": "PT21M45S",
                "contentSize": "53616000",
                "encodingFormat": "audio/mpeg",
                "transcript": "Transcript of the episode",
                "bitrate": "64Kbps"
            },
            "potentialAction": {
                "@type": "ListenAction",
                "target": {
                    "@type": "EntryPoint",
                    "urlTemplate": "https://www.tjpodcast.org/?streamEpisodeId=1",
                    "actionPlatform": [
                        "http://schema.org/DesktopWebPlatform",
                        "http://schema.org/MobileWebPlatform",
                        "http://schema.googleapis.com/GoogleAudioCast",
                        "http://schema.googleapis.com/GoogleVideoCast"
                    ]
                },
                "actionAccessibilityRequirement": {
                    "@type": "ActionAccessSpecification",
                    "category": "nologinrequired",
                    "availabilityStarts": "2018-04-01T11:01:00-04:00",
                    "availabilityEnds": "2019-12-30T23:59:00-04:00",
                    "eligibleRegion": {
                        "@type": "Country",
                        "name": "FR"
                    }
                }
            },
            "popularityScore": {
                "@type": "PopularityScoreSpecification",
                "value": 3.8
            },
            "identifier": [
                {
                    "@type": "PropertyValue",
                    "propertyID": "GUID",
                    "value": "53ff386e-e768-40b5-8854-1b7415826ded"
                }
            ]
        }
    ],
    "actor": [
        {
            "@type": "PerformanceRole",
            "actor": {
                "@type": "Person",
                "@id": "https://www.tjpodcast.org/person/Roman",
                "name": {
                    "@language": "en",
                    "@value": "Roman Mars"
                },
                "roleName": "Host",
                "sameAs": "https://en.wikipedia.org/wiki/Roman"
            },
            "actor": {
                "@type": "Person",
                "@id": "https://www.tjpodcast.org/person/guest",
                "name": {
                    "@language": "en",
                    "@value": "Kurt Kohlstedt"
                },
                "roleName": "Guest"
            }
        }
    ],
    "releasedEvent": [
        {
            "@type": "FeaturedEvent",
            "location": "US",
            "startDate": "2020-04-18T20:00",
            "endDate": "2020-05-21T20:00",
            "publishedBy": {
                "@type": "Organization",
                "@id": "https://www.tjpodcast.org/organization/tjpodcast",
                "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
                "name": "TJPodcast"
            }
        },
        {
            "@type": "ExclusiveEvent",
            "location": "US",
            "startDate": "2020-04-18T20:00",
            "endDate": "2020-04-24T20:00",
            "publishedBy": {
                "@type": "Organization",
                "@id": "https://www.tjpodcast.org/organization/tjpodcast",
                "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
                "name": "TJPodcast"
            }
        },
        {
            "@type": "ExclusiveEvent",
            "location": "CA",
            "startDate": "2020-04-21T20:00",
            "endDate": "2020-04-24T20:00",
            "publishedBy": {
                "@type": "Organization",
                "@id": "https://www.tjpodcast.org/organization/tjpodcast",
                "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
                "name": "TJPodcast"
            }
        }
    ]
}