Anish Karthik
Anish Karthik

Reputation: 39

Why there is no add to calendar option pop up when I added json-ld markup for reservation

I am testing schema.org Json-ld markup for email using self mailing as mentioned, This is the sample schema I'm using along with html content sent in mail. I'm sending mail using gmail smtp, and opened the gmail client.

 <script type="application/ld+json">
{
  "type" : "LodgingReservation",
  "checkinTime" : "2025-24-01T15:00:00Z",
  "checkoutTime" : "2025-24-05T11:00:00Z",
  "potentialAction" : {
    "type" : "ReserveAction",
    "name" : "Add to calender",
    "target" : "https://calendar.google.com"
  },
  "reservationFor" : {
    "type" : "LodgingBusiness",
    "address" : {
      "type" : "PostalAddress",
      "addressCountry" : "Sample Country",
      "addressLocality" : "Sample City",
      "addressRegion" : "Sample State",
      "postalCode" : "12345",
      "streetAddress" : "123 Sample Street"
    },
    "name" : "Sample Hotel Chain",
    "telephone" : "+1234567890"
  },
  "reservationId" : "123456789",
  "reservationStatus" : "http://schema.org/ReservationConfirmed",
  "underName" : {
    "type" : "Person",
    "name" : "John Doe"
  },
  "@context" : "http://schema.org"
}
</script>

I want this reservation to be added to my calendar, either with a pop up to add or auto addition.

I have done self-mailing, validated schema using validator, I have checked similar question but there is no solution for checking in self-mailing to test.

I have tried adding potential actions and removing them. I also tried it in microdata format too, but no result. I have tried the version of schema mentioned in Google and validated it in google schema validator, but still no result.

A similar result in node.js Nodemailer too.

Upvotes: 1

Views: 80

Answers (2)

Dharun Prakash
Dharun Prakash

Reputation: 26

I Assume you are sending mail via a smtp client of your language programatically, I think the problem is for the mail client to process jsonld, the would require mail with DKIM or SPF authentication even for self-testing. Normally the mail sent from even gmail to gmail would ignore those headers. I suggest you send mail from register domain, which would have those authentication or send it from google testing tool AppScript

Upvotes: 1

Gyul
Gyul

Reputation: 664

Email Markup for Hotel Reservation

I ran your markup code through the Google schema validator and it identified a few errors:

checkinDate:missing and requiredShow

checkoutDate:missing and required

reservationNumber:missing and required

NOTE: Take note that these errors are required properties on your markup.


I updated your markup code to include the necessary properties as specified in the Hotel Reservation documentation.

Below is the corrected markup that you can use for testing:

 <script type="application/ld+json">
{
  "@context" : "https://schema.org",
  "@type" : "LodgingReservation",
  "reservationNumber" : "123456789",
  "reservationStatus" : "http://schema.org/ReservationConfirmed",
  "underName" : {
    "@type" : "Person",
    "name" : "John Doe"
  },
  "potentialAction" : {
    "@type" : "ReserveAction",
    "target" : "https://calendar.google.com",
    "name" : "Add to calendar"
    },
    
   "reservationFor" : {
    "@type" : "LodgingBusiness",
    "name" : "Sample Hotel Chain",
    "address" : {
      "@type" : "PostalAddress",
      "streetAddress" : "123 Sample Street",
      "addressLocality" : "Sample City",
      "addressRegion" : "Sample State",
      "postalCode" : "12345",
      "addressCountry" : "Sample Country"
    },
    "telephone" : "123-456-7890"
  },
  "checkinDate" : "2025-01-24T15:00:00Z",
  "checkoutDate" : "2025-05-24T11:00:00Z"
}
</script>

Upvotes: 1

Related Questions