Quy cách của schema.org podcast

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

Thông số về PodcastSeries

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

Thuộc tính Thứ tự ư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 Giá trị nhận dạng duy nhất trên toàn cầu cho chuỗi podcast ở định dạng URI. Mã nhận dạng phải ổn định và không thay đổi theo thời gian. Tệp này đượ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 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 mà tại đó chuỗi podcast được giới thiệu hoặc mô tả. Đây phải là duy nhất trên toàn cầu. Liên kết này giúp điều chỉnh chính xác nội dung trong nguồn cấp dữ liệu của bạn với nội dung trong cơ sở dữ liệu của Google. Để phát lại, hãy sử dụng target.urlTemplate được nêu chi tiết trong phần ListenAction của tài liệu.
name Bắt buộc Văn bản

Tên của bộ podcast. Chỉ cung cấp một tên cho mỗi ngôn ngữ.

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

Bản tóm tắt 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 Optional (Không bắt buộc) Văn bản Phụ đề của chuỗi 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ủ. Để biết ví dụ và chi tiết, hãy xem phần Tổ chức, Người (tác giả/nhà xuất bản).
publisher Optional (Không bắt buộc)

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

lặp lại

Nhóm hoặc mạng lưới ban đầu chịu trách nhiệm xuất bản 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 nhiều 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). Trường này rất nên được sử dụng để phân định và phải cung cấp trường này nếu có.
actor Optional (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 Người thực hiện (người tổ chức/khách) .
logo Optional (Không bắt buộc)

ImageObject

lặp lại

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

ImageObject

lặp lại

Hình minh hoạ bộ sách. Cung cấp đây là ImageObject được mô tả đầy đủ. Cung cấp độ phân giải cao nhất hiện có. Ưu tiên JPEG hoặc PNG. Vui lòng xem mục ImageObject (logo) (Đối tượng hình ảnh) để biết chi tiết và các ví dụ.
isFamilyFriendly Bắt buộc Boolean Cho biết liệu nội dung này có phù hợp với gia đình hay không (nghĩa là nội dung có phù hợp với mọi 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 để giúp 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 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ể theo dõi danh mục Podcast tiêu chuẩn.
endDate Optional (Không bắt buộc) Ngày Ngày phát hành tập kết thúc của loạt podcast. Chỉ đưa vào trường này khi bộ sách đã kết thúc.
rssFeed Bắt buộc URL URL cho nguồn cấp dữ liệu RSS của chuỗi 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, vui lòng xem nội dung ListenerAction.
popularityScore Optional (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 ứng viên. Vui lòng xem mục PopularityScoreSpecification (popularityScore) để biết thông tin chi tiết và ví dụ.
keywords Optional (Không bắt buộc)

Văn bản

lặp lại

Danh sách từ khoá có liên kết với loạt podcast. Bạn có thể 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ập, v.v.
sameAs Optional (Không bắt buộc) URL URL của trang web tham khảo của bên thứ ba (không thuộc miền của bạn) cho biết rõ ràng danh tính của mục. Trang web này được dùng để phân định khi có nhiều chuỗi tương tự. Ví dụ: trang Wikipedia hoặc trang chủ của loạt podcast. Trường này rất nên dùng để phân định bộ sách.
releasedEvent Optional (Không bắt buộc) PublicationEvent hoặc các loại phụ cụ thể hơn – HighlightEvent hoặc ExclusiveEvent Sự kiện đánh dấu việc xuất bản hoặc phát hành loạt podcast. Một sự kiện ấn bản có thể ghi chú việc phát hành lần đầu podcast của nhà xuất bản 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ổi bật của bản phát hành. Để biết thông tin chi tiết và các ví dụ, vui lòng xem phần publicationEvent, HighlightEvent, ExclusiveEvent (releasedEvent). Xin lưu ý rằng việc đánh dấu một loạt video 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 Optional (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ố về tập podcast

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

Thuộc tính Thứ tự ưu tiên Loại Mô tả
@context Bắt buộc Văn bản Ngữ cảnh Schema.org. Luôn được đặ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ã nhận dạng phải ổn định và không thay đổi theo thời gian. Tệp này đượ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 hoạt động. Tổ chức của bạn phải sở hữu miền được dùng cho giá trị @id.
url Bắt buộc Văn bản URL chính tắc trên trang web mà bạn giới thiệu hoặc mô tả tập podcast. Giá trị này phải là duy nhất trên toàn cầu. Liên kết này được dùng để giúp đối chiếu chính xác nội dung trong nguồn cấp dữ liệu của bạn với nội dung trong cơ sở dữ liệu của Google. Để phát lại, target.urlTemplate được nêu chi tiết trong phần ListenAction của tài liệu sẽ được sử dụng.
name Bắt buộc Văn bản

Tên tập podcast.

Chỉ được có một tên cho mỗi ngôn ngữ. 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 tham chiếu đến máy chủ. 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 của 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 lưới ban đầu chịu trách nhiệm xuất bản 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 nhiều podcast. Vui lòng xem Tổ chức, Người (tác giả/nhà xuất bản) để biết ví dụ và chi tiết. Trường này rất phù hợp để phân định và bạn nên xác định trường này nếu có.
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, vui lòng xem phần Người thực hiện (người tổ chức/khách).
datePublished Bắt buộc Ngày giờ Ngày ra mắt tập podcast. Giá trị này được dùng để sắp xếp trình tự tập và định dạng của tập.
episodeNumber Bắt buộc Số nguyên Số tập.
partOfSeries Bắt buộc Loạt podcast PodcastSeries có tập này. Vui lòng xem PodcastSeries(partOfSeries) để biết thông tin chi tiết và ví dụ.
partOfSeason Optional (Không bắt buộc) Podcast theo mùa Đối với chương trình nhiều phần, cơ sở lưu trú 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 phần Podcast đấu(phầnOfOf) để biết chi tiết và ví dụ.
timeRequired Bắt buộc Thời lượng Độ dài của tập ở định dạng thời lượng ISO 8601.
image Optional (Không bắt buộc)

ImageObject

lặp lại

Hình minh hoạ bộ sách. Đây phải là một ImageObject được mô tả đầy đủ. Cung cấp độ phân giải cao nhất hiện có. Ưu tiên JPEG hoặc PNG. Vui lòng xem mục ImageObject (logo) (Đối tượng hình ảnh) để biết chi tiết và các 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 (nghĩa là nội dung có phù hợp với mọi 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 của tập podcast ở định dạng ISO 639-1. Hãy 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 bằng 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 danh mục Podcast tiêu chuẩn.
associatedMedia Optional (Không bắt buộc) AudioObject (Đối tượng âm thanh) Tệp âm thanh của tập podcast. Để biết thông tin chi tiết và các ví dụ, hãy xem 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, vui lòng xem phần ListenerAction.
popularityScore Optional (Không bắt buộc) Đặc điểm tính phổ biến Điểm phổ biến để xác định mức độ ưu tiên phân phát khi có nhiều ứng cử viên. Để biết chi tiết và các ví dụ, hãy xem phần mặt vui về thông số phổ biến.
keywords Optional (Không bắt buộc)

Văn bản

lặp lại

Danh sách từ khoá liên quan đến chuỗi podcast. Bạn có thể 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 tập podcast này. Ví dụ: news, sports hoặc history.
identifier Bắt buộc

PropertyValue (Giá trị thuộc tính)

lặp lại

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

Xem mục PropertyValue (giá trị nhận dạng) để biết ví dụ.

sameAs Optional (Không bắt buộc) URL URL của trang web tham khảo của bên thứ ba (không thuộc miền của bạn) cho biết rõ ràng danh tính của mục. Google sử dụng trang web này để phân định khi có nhiều chuỗi 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 loạt phim ở đây. Bạn nên đặt trường này để phân biệt tập.
releasedEvent Optional (Không bắt buộc) publicationEvent hoặc các loại phụ cụ thể hơn – HighlightEvent hoặc ExclusiveEvent Sự kiện đánh dấu việc xuất bản hoặc phát hành tập podcast. Một sự kiện ấn bản có thể ghi chú việc phát hành một tập podcast của nhà xuất bản ban đầu 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ổ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 EventEvent, Nổi bật, ExclusiveEvent (releasedEvent). Xin lưu ý rằng để đánh dấu một bộ phim là độc quyền hoặc nổi bật ở trên, thì tức 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 đó ở cấp chi tiết nhất.
countryOfOrigin Optional (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 PodcastEpisode và mẹ PodcastSeries. Vì toàn bộ thông tin chi tiết của PodcastSeries được mô tả trong thực thể PodcastSeries riêng biệt, nên bạn không cần cung cấp đầy đủ thông tin chi tiết trong partOfSeries. Bạn chỉ cần cung cấp các thuộc tính sau:

Thuộc tính Thứ tự ư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 Giá trị nhận dạng duy nhất trên toàn cầu cho chuỗi nội dung ở định dạng URI. Mã này phải khớp với mã nhận dạng của thực thể PodcastSeries hoàn chỉnh trong nguồn cấp dữ liệu.
name Bắt buộc Văn bản Tên của chuỗi podcast.

Ví dụ 1

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

Podcast theo mùa (partOfPhần)

PodcastSeason đại diện cho thông tin 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 chuỗi podcast có nhiều phần.

Thuộc tính Thứ tự ư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 Giá trị nhận dạng duy nhất trên toàn cầu cho phần ở định dạng URI. Giá trị này cũng phải ổn định và không thay đổi theo thời gian. URL này đượ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ố phần của loạt podcast.
name Optional (Không bắt buộc) Văn bản Tên của phần 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, cá nhân (tác giả hoặc nhà xuất bản)

Thuộc tính Thứ tự ư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 cá nhân ở định dạng URI. Mã nhận dạng này phải ổn định và không thay đổi theo thời gian. URL này đượ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 của tổ chức hoặc người đó.
sameAs Optional (Không bắt buộc) URL URL của trang web tham khảo của bên thứ ba (không thuộc miền của bạn) cho biết rõ ràng danh tính của mục. Google sử dụng trang web này để phân định khi có nhiều chuỗi tương tự. Ví dụ: trang Wikipedia cho 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 thực hiện (Người tổ chức hoặc khách)

Thuộc tính Thứ tự ư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 cá nhân ở định dạng URI. Mã nhận dạng này phải ổn định và không thay đổi theo thời gian. URL này đượ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 của tổ chức hoặc cá nhân.
roleName Bắt buộc Văn bản `Máy chủ` hoặc `Khách`.
sameAs Optional (Không bắt buộc) URL URL của trang web tham khảo của bên thứ ba (không thuộc miền của bạn) cho biết rõ ràng danh tính của mục. Google sử dụng trang web này để phân định khi có nhiều chuỗi tương tự. Ví dụ: trang Wikipedia cho 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 tượng hoặc hình ảnh)

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

Thuộc tính Thứ tự ưu tiên Loại Mô tả
@type Bắt buộc Văn bản Luôn đặt thành ImageObject.
height Optional (Không bắt buộc) Số nguyên Chiều cao của hình ảnh tính bằng pixel.
width Optional (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ó thể đặt hình ảnh.
regionsAllowed Optional (Không bắt buộc)

Quốc gia

lặp lại

Các quốc gia cho phép nội dung đa phương tiện:

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

Quốc gia (image.regionđược phép)

Thuộc tính Thứ tự ư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 với trường identifier để cải thiện độ chính xác của việc Google điều chỉnh nội dung. Xin lưu ý rằng GUID là thông tin bắt buộc đối với PodcastEpisode. Trường 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ục và theo thời gian trên các nguồn.

Thuộc tính Thứ tự ư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 bộ sách hoặc tập phim.

Ví dụ 1

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

WebScoreSpecification (điểm phổ biến)

popularityScore có thể giúp người dùng truy cập nội dung phù hợp nhất trong các trường hợp mà tiêu chí từ truy vấn của người dùng khớp với nhiều thực thể từ nguồn cấp dữ liệu của bạn. 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 mặc định là điểm phổ biến 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 thang điểm này nhất quán trên tất cả nguồn cấp dữ liệu của bạn.

Thuộc tính Thứ tự ư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ố Giá trị số dương để so sánh với các thực thể khác từ danh mục của bạn về mức độ ưu tiên phân phát. Số lớn hơn đại diện cho mức độ phổ biến cao hơn.
eligibleRegion Optional (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 khu vực áp dụng điểm 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 khu vực cụ thể cần được liệt kê, 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 (phổ biếnScore.Score.Region)

Thuộc tính Thứ tự ư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, Nổi bật, ExclusiveEvent (releasedEvent)

Ấn bản sự kiện
Sử dụng đối tượng này để thể hiện ngày và địa điểm xuất bản chương trình hoặc tập (còn gọi là "ngày phát hành" của một loạt phim hoặc tập). Ngoài ra, trường publishedBy còn biểu thị thực thể phát hành hoặc phân phối của chuỗi hoặc tập podcast.
Sự kiện độc quyền
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 đáo có thể theo khu vực và 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 nội dung độc quyền.
Sự kiện nổi bật
Sử dụng đối tượng này để cho biết rằng nhà cung cấp có chứa podcast cho người tiêu dùng (ví dụ: "gốc").
YouTube khác với độc quyền
Thuật ngữ "gốc" (đặc điểm) thường biểu thị quyền độc quyền đối với một thực thể cụ thể, nghĩa là làm quá tải cụm từ. Do đó, ý nghĩa dự định phải được chia thành hai danh mục trên. Một thực thể ban đầu cũng có thể độ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ó cùng ý nghĩa trong danh mục của nhà cung cấp, nhưng PublicationEvent thường áp dụng để cho phép phân biệt các thực thể và cung cấp thêm siêu dữ liệu về cùng nội dung, chẳng hạn như ngày phát hành của một bộ sách hoặc tập phim.

Thuộc tính Thứ tự ư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 xảy ra sự kiện ấn bản. Bạn cũng có thể sử dụng điều này để thể hiện các quy định hạn chế độc quyền và quy định hạn chế 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 toàn cục, hãy đặt thành EARTH. Hãy đặt rõ ràng location thành EARTH, trong trường hợp không có quy định hạn chế cụ thể cho ngôn ngữ.
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 PublicationEvent, giá trị này thể hiện ngày phát hành ban đầu của thực thể này. Trong trường hợp ExclusiveEvent hoặc FeaturedEvent, thuộc tính này cho biết ngày bắt đầu thuộc tính độc quyền hoặc đặc điểm 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 ấn bản của thực thể. Đối với PublicationEvent, giá trị này thể hiện ngày xuất bản 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 cho biết ngày kết thúc tính độc quyền hoặc đặc điểm của thực thể.
publishedBy Bắt buộc Tổ chức hoặc cá nhân Thực thể Organization hoặc Person xuất bản thực thể này và áp dụng cho sự kiện ấn bản này. Vui lòng sử dụng cùng 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 (liên quan đến Nội dung nghe nhìn)

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

Thuộc tính Thứ tự ư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 đa phương tiện.
contentSize Bắt buộc Số nguyên Kích thước của tệp đa phương tiện tính bằng byte.
encodingFormat Bắt buộc Văn bản Các loại phương tiện IANA của tệp phương tiện. Ví dụ: audio/mpeg.
duration Bắt buộc Thời lượng Độ dài của nội dung nghe nhìn ở định dạng thời lượng ISO 8601.
transcript Optional (Không bắt buộc) Văn bản Bản chép lời của tập phim.
bitrate Optional (Không bắt buộc) Văn bản Tốc độ bit của tệp phương tiện.
name Optional (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à các tiêu chí để người dùng (ví dụ: địa lý, thời gian đăng nhập, trạng thái đăng nhập hoặc trạng thái thuê bao) truy cập vào nội dung.

Thuộc tính Thứ tự ư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 trong 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 nhiều đường liên kết sâu 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, người dùng phù hợp với bất kỳ tiêu chí về thông số kỹ thuật nào đều có thể truy cập nội dung.

EntryPoint (potentialAction.target)

table class="Fixed"> Mức độ ưu tiên Thuộc tính Loại Mô tả @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.actionAccessibilityRequestment)

Thuộc tính Thứ tự ư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 truy cập. Thuộc tính này phải là một trong những 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 đăng ký có tính phí. Thao tác này yêu cầu người dùng đăng nhập.
  • subscription: Hành động này đi kèm với một gói thuê bao dịch vụ có tính phí.
availabilityStarts Optional (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 Optional (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 nội dung này không còn hiển thị cho người dùng.
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ể sử dụng thuộc tính này để kiểm soát quốc gia hoặc khu vực nơi phải cung cấp nội dung này.
requiresSubscription Bắt buộc nếu áp dụng Gói thuê bao nội dung nghe nhìn 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 vào trường này. Nếu dịch vụ của bạn là miễn phí hoặc chỉ có một cấp thuê bao, bạn có thể bỏ qua trường này.

Quốc gia (potentialAction.actionAccessibilityRequiredment.EligibleRegion)

Thuộc tính Thứ tự ư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.actionAccessibilityRequestment.requiresSubscription)

Thuộc tính Thứ tự ư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 Giá trị 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 này đượ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 Nên Offer Ưu đãi liên quan đến giao dịch mua Gói thuê bao nội dung nghe nhìn. Bạn có thể dùng thông tin này để thể hiện giá của gói thuê bao.

Ưu đãi (potentialAction.actionAccessibilityRequestment.requiresSubscription.expectsReceiveanceOf)

Thuộc tính Thứ tự ư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ệ (theo định dạng gồm ba chữ cái theo ISO 4217) của giá.
seller Nên 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 lược đồ giống 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"
            }
        }
    ]
}