Search code examples
gmailgoogle-schemas

Update a event doesn't work: keeps both previous and updated slots


I am using event reservations passed through JSON-LD to the emails. Basic event reservation works good, creating the event once the letters is delivered. But Update a event stopped working correctly. It creates new timeslot but the old one stays in calendar as well. I use the same reservationNumber. I use new startDate and add modified time.

The thing is that I tested this function 6 hours ago and it was working. And now it doesn't. When implementing this feature I tested the Update and Cancel event a lot of times and it worked, but now both don't.

I pass all the required field to my emails. We 've been schema-verified user for a year already. So I have no idea what went wrong with updating and cancelling events.

Okay, so I send the 1st letter with this code after the head in the newsletter HTML:

<script type=3D"application/ld+json">
{
"@context": "http://schema.org",
"@type": "EventReservation",
"reservationNumber": "797989",
"reservationStatus": "http://schema.org/Confirmed",
"underName": {
"@type": "Person",
"name": "Kenneth"
},
"reservationFor": {
"@type": "Event",
"name": "Anamig: lesson on Preply.com #797989",
"startDate": "2018-02-07T11:00:00+02:00",
"location": {
  "@type": "Place",
  "name": "Skype: some_skype",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "February 7, Wednesday",
    "addressLocality": "Spanish language",
    "addressRegion": "Online",
    "postalCode": "Worldwide",
    "addressCountry": "Preply Inc."
}
}
}
}
</script>

the slot is created in my calendar (screenshot): link

then I send the letter to update the event:

<script type=3D"application/ld+json">
{
"@context": "http://schema.org",
"@type": "EventReservation",
"reservationNumber": "797989",
"reservationStatus": "http://schema.org/Confirmed",
"underName": {
"@type": "Person",
"name": "Kenneth"
},
"reservationFor": {
"@type": "Event",
"name": "Anamig: lesson on Preply.com #797989",
"startDate": "2018-02-07T12:00:00+02:00",
"location": {
  "@type": "Place",
  "name": "Skype: some_skype",
  "address": {
    "@type": "PostalAddress",=20
    "streetAddress": "February 7, Wednesday",
    "addressLocality": "Spanish language",
    "addressRegion": "Online",
    "postalCode": "Worldwide",
    "addressCountry": "Preply Inc."
}
}
},
"modifiedTime": "2018-02-06T11:34:00+02:00"
}
</script>

new slot is created but previous one stays there as well (screenshot) link

this issue happened before, but previous slot disappeared in several seconds, though they both stayed there for a while. and now previous slot doesn't disappear


Solution

  • I had a hypotice that this issues was related to the fact that I was sending this event for the same timeslot, which was previously created and then deleted in calendar.

    So the first attemt to schedule on Feb 7, 11 a.m. and then reschedule (update event) to Feb 7, 12 a.m. was successful. When sending update event the new timeslot was created and old one deleted. But then I sent cancel event and timeslot was successfully deleted.

    The second attempt to send new event reservation to the same timeslot which was previously canceled was also successful but when updating it - new timeslot was created and old one stayed there as well. Regardless of another reservationNumber value in second attempt.

    I don't think this is the solution of my issues but it is an answer why this happens. Looks like a small bug though