I've picked up examples from SO and using http://gmail-actions.appspot.com/ to send emails containing this exact schema. No cards are showing up on my mobile phone. Any clues?
<html>
<body>
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "EventReservation",
"reservationNumber": "E123456789",
"reservationStatus": "http://schema.org/Confirmed",
"underName": {
"@type": "Person",
"name": "Test Person"
},
"reservationFor": {
"@type": "Event",
"name": "Test Event",
"startDate": "2015-06-25T02:00:00+05:30",
"location": {
"@type": "Place",
"name": "Your Home",
"address": {
"@type": "PostalAddress",
"streetAddress": "111 Main Street",
"addressLocality": "Columbus",
"addressRegion": "OH",
"postalCode": "43215",
"addressCountry": "US"
}
}
},
"modifyReservationUrl": "http://www.test.com/testing"
}
</script>
<div>Test Appointment</div>
</body>
</html>
If it helps, I was attempting email delivery at 2015-06-25T00:32:00+05:30 which is 1.5 hours before the startDate. My location is not the same as that in the card. May be that's a reason?
Your markup looks good and didn't find any errors using the Email Markup Tester. Based off your time zone (+05:30), I'm assuming you're not local to Columbus, Ohio. Try inputting an address local to you to trigger a Now card.
Also, you can find more EventReservation examples at the following:
https://developers.google.com/gmail/markup/reference/event-reservation
It would definitely be worth trying the Music Event with ticket example, since it utilizes more attributes.
Let me know you're results after changing your address attributes.