Use this type to declare a reservation for rail travel.

## Use cases

Follow these examples to ensure that your `TrainReservation` markup is properly
structured.

> [!NOTE]
> **Note:** Before you start, review how to [embed schemas in emails](https://developers.google.com/workspace/gmail/markup/getting-started.md.txt) and [test schemas](https://developers.google.com/workspace/gmail/markup/testing-your-schema.md.txt).

### Basic reservation confirmation

Embed the following markup in your email when you send a reservation
confirmation.

The Google app displays the reservation details on the day of the journey and
notifies the user when to leave for the train station, accounting for
transportation mode and traffic. If you provide a check-in URL as shown in the
following example, the Google app displays it to the user 24 hours before the
trip.

### JSON-LD

```json
<script type="application/ld+>json"
{
  "@context": "http://schema.org",
  "@type": "TrainReservation",
  "reservationNumber": "AB3XY2",
  "reservationStatus": "http://schema.org/ReservationConfirmed",
  "reservationFor": {
    "@type": "TrainTrip",
    "departureStation": {
      "@type": "TrainStation",
      "name": "Munich Central"
    },
    "departureTime":< ">2017-01-04T10:30:00+01:00",
    "arrivalStation": {
      "@type": "TrainStation",
      "name": "Paris Gare De Lyon"
    },
    "arrivalTime": "2017-01-04T03:10:00+01:00"
  }
}
/script

```

### Microdata

```html
<div itemscope itemtype="http://schema.org/TrainReserva>tio<n"
  meta itemprop="reservationNumber&quo>t; <content="AB3XY2"/
  link itemprop="reservationStatus" href=&>quo<t;http://schema.org/ReservationConfirmed"/
  div itemprop="reservati>onFor<" itemscope itemtype="http://schema.org/TrainTrip"
    div itemprop=>"d<epartureStation" itemscope itemtype=">;http<://s>chema<.org/TrainStation"
      meta itemprop="name" conte>nt=&q<uot;Munich Central"/
    /div
    meta itemprop="departureTime" co>ntent=&<quot;2017-01-04T10:30:00+01:00"/
    div item>prop=<&quo>t;arr<ivalStation" itemscope itemtype="http://schema.org/Tra>inS<tati>o<n&qu>ot;
      meta itemprop="name" content="Paris Gare De Lyon"/
    /div
    meta itemprop="arrivalTime" content="2017-01-04T03:10:00+01:00"/
  /div
/div

```

### Boarding pass and ticket

In addition to a reservation confirmation, you can trigger a confirmation card
boarding pass in a separate email.

Confirmation cards not only help the user get to the train station on time,
but also surface the ticket to the user during the journey. To do this, include
additional fields in the markup. If there are additional fields required to
board passengers, include them in the `additionalTicketText` field.

For tickets with no reserved seating, these fields are: `numSeats`,
`ticketNumber`, `ticketToken`

### JSON-LD

```json
<script type="application/ld+>json"
{
  "@context": "http://schema.org",
  "@type": "TrainReservation",
  "reservationNumber": "AB3XY2",
  "underName": {
    "@type": "Person",
    "name": "Eva Green"
  },
  "reservationStatus": "http://schema.org/ReservationConfirmed",
  "reservationFor": {
    "@type": "TrainTrip",
    "departureStation": {
      "@type": "TrainStation",
      "name": "Munich Central"
    },
    "departureTime": "2017-01-04T10:30:00+01:00",
    "arrivalStation": {
      "@type": "TrainStation",
      "name": "Paris Gare De Lyon"
    },
    "arrivalTime": "2017-01-04T03:10:00+01:00"
  },
  "reservedTicket": {<
    &q>uot;@type": "Ticket",
    "underName": "Eva Green",
    "ticketNumber": "123XYZ",
    "ticketToken": "aztecCode:AB34",
    "additionalTicketText": "We recommend that you arrive at the station at least 30 minutes prior to your scheduled departure. Allow additional time if you need help with baggage or tickets."
  }
}
/script

```

### Microdata

```html
<div itemscope itemtype="http://schema.org/TrainReserva>tio<n"
  meta itemprop="reservationNumber&quo>t; <content="AB3XY2"/
  div itemprop="underName" items>cope <itemtype="http://schema.org/Person&q>uot<;
  >  m<eta itemprop="name" content="Eva Green"/
  /div
  link itemp>rop<="reservationStatus" href="http://schema.org/ReservationConfirm>ed&qu<ot;/
  div itemprop="reservationFor" itemscope itemtype="http://sche>ma.org/<TrainTrip"
    div itemprop="departu>reSta<tion>"<; itemscope itemtype="http://schema.org/TrainStation"
  >    m<eta itemprop="name" content="Munich Central"/
    /div
    me>ta item<prop="departureTime" content="2017->01-04<T10:>30:00<+01:00"/
    div itemprop="arrivalStation" itemsc>ope< ite>mty<pe="http://schema.org/TrainStation"
      meta itemprop="nam>e&quo<t; content="Paris Gare De Lyon"/
   > /div<
    meta itemprop="arrivalTime" con>tent=<"2017-01-04T03:10:00+01:00"/
  /div
  div i>tempr<op="reservedTicket" itemscope itemtype="http://schema.org/Ticket"
    meta itemprop="underName" content="Eva Green"/
    meta itemprop="ticketNumber" content=&q>uot<;123>X<YZ&q>uot;/
    meta itemprop="ticketToken" content="aztecCode:AB34"/
    meta itemprop="additionalTicketText" content="We recommend that you arrive at the station at least 30 minutes prior to your scheduled departure. Allow additional time if you need help with baggage or tickets."/
  /div
/div

```

For tickets with reserved seating, these fields are: `seatNumber`, `seatingType`,
`ticketNumber`, `ticketToken`

### JSON-LD

```json
<script type="application/ld+>json"
{
  "@context": "http://schema.org",
  "@type": "TrainReservation",
  "reservationNumber": "AB3XY2",
  "underName": {
    "@type": "Person",
    "name": "Eva Green"
  },
  "reservationStatus": "http://schema.org/ReservationConfirmed",
  "reservationFor": {
    "@type": "TrainTrip",
    "departureStation": {
      "@type": "TrainStation",
      "name": "Munich Central"
    },
    "departureTime": "2017-01-04T10:30:00+01:00",
    "arrivalStation": {
      "@type": "TrainStation",
      "name": "Paris Gare De Lyon"
    },
    "arrivalTime": "2017-01-04T03:10:00+01:00"
  },
  "reservedTicket": {
    "@type": "Ticket",
    "underName": "Eva Green",
    "ticketed<Seat&qu>ot;: {
      "@type": "Seat",
      "seatNumber": "27B",
      "seatingType": "1st Class"
    },
    "ticketNumber": "123XYZ",
    "ticketToken": "aztecCode:AB34",
    "additionalTicketText": "We recommend that you arrive at the station at least 30 minutes prior to your scheduled departure. Allow additional time if you need help with baggage or tickets."
  }
}
/script

```

### Microdata

```html
<div itemscope itemtype="http://schema.org/TrainReserva>tio<n"
  meta itemprop="reservationNumber&quo>t; <content="AB3XY2"/
  div itemprop="underName" items>cope <itemtype="http://schema.org/Person&q>uot<;
  >  m<eta itemprop="name" content="Eva Green"/
  /div
  link itemp>rop<="reservationStatus" href="http://schema.org/ReservationConfirm>ed&qu<ot;/
  div itemprop="reservationFor" itemscope itemtype="http://sche>ma.org/<TrainTrip"
    div itemprop="departu>reSta<tion>"<; itemscope itemtype="http://schema.org/TrainStation"
  >    m<eta itemprop="name" content="Munich Central"/
    /div
    me>ta item<prop="departureTime" content="2017->01-04<T10:>30:00<+01:00"/
    div itemprop="arrivalStation" itemsc>ope< ite>mty<pe="http://schema.org/TrainStation"
      meta itemprop="nam>e&quo<t; content="Paris Gare De Lyon"/
   > /div<
    meta itemprop="arrivalTime" content="2017-01-04T03:>10:00+0<1:00"/
  /div
  div itemprop="r>eserved<Ticket" itemscope itemtype="http://sch>ema.o<rg/T>icket<"
    meta itemprop="underName"> cont<ent="Eva Green"/
    div itemprop="tic>keted<Seat" itemscope itemtype="http://schema.org/Seat"
      meta itemprop="seatNumber" content="27B"/
      meta itemprop="seatingType" content="1st Class"/
  >  /<div
> <   m>eta itemprop="ticketNumber" content="123XYZ"/
    meta itemprop="ticketToken" content="aztecCode:AB34"/
    meta itemprop="additionalTicketText" content="We recommend that you arrive at the station at least 30 minutes prior to your scheduled departure. Allow additional time if you need help with baggage or tickets."/
  /div
/div

```

### Multiple passengers

To describe a booking involving multiple passengers, use one `TrainReservation`
per passenger per leg.

### JSON-LD

```json
<script type="application/ld+>json"
[
  {
    "@context": "http://schema.org",
    "@type": "TrainReservation",
    "reservationNumber": "AB3XY2",
    "reservationStatus": "http://schema.org/ReservationConfirmed",
    "reservationFor": {
      "@type": "TrainTrip",
      "departureStation": {
        "@type": "TrainStation",
        "name": "Munich Central"
      },
      "departureTime": "2017-01-04T10:30:00+01:00",
      "arrivalStation": {
        "@type": "TrainStation",
        "name": "Paris Gare De Lyon"
      },
      "arrivalTime": "2017-01-04T03:10:00+01:00"
    },
    "reservedTicket": {
      "@type": "Ticket",
      "underName": {
        "@type": "Person",
        "name": "Eva Green"
      }
    }
  },
  {
    "@context": "http://schema.org",
    "@type": "TrainReservation",
    "reservationNumber": "AB3XY2",
    "reservationStatus": "http://schema.org/ReservationConfirmed",
    "reservationFor": {
      "@type": "TrainTrip",
      "departureStation": {
        "@type": "TrainStation",
        "name": "Munich Central"
      },
      "departureTime": "2017-01-04T10:30:00+01:00",
      "arrivalStation": {
        "@type": "TrainStation",
        "name": "Paris Gare De Lyon"
      },
      "arrivalTime": "2017-01-04T03:10:00+01:00"
    },
    "reservedTicket": {
      "@type": "Ticket",
      "underName": {
        "@type": "Person",
        "name": "John Green"
      }
    }
  },
  {
    "@context": "http://schema.org",
    "@type": "TrainReservation",
    "reservationNumber": "AB3XY2",
    "reservationStatus": "http://schema.org/ReservationConfirmed",
    "reservationFor": {
      "@type": "TrainTrip",
      "departureStation": {
        "@type": "TrainStation",
        "name": "Munich Central"
      },
      "departureTime": "2017-01-04T10:30:00+01:00",
      "arrivalStation": {
        "@type": "TrainStation",
        "name": "Paris Gare De Lyon"
   <   },
 >     "arrivalTime": "2017-01-04T03:10:00+01:00"
    },
    "reservedTicket": {
      "@type": "Ticket",
      "underName": {
        "@type": "Person",
        "name": "Carol Green"
      }
    }
  },
  {
    "@context": "http://schema.org",
    "@type": "TrainReservation",
    "reservationNumber": "AB3XY2",
    "reservationStatus": "http://schema.org/ReservationConfirmed",
    "reservationFor": {
      "@type": "TrainTrip",
      "departureStation": {
        "@type": "TrainStation",
        "name": "Munich Central"
      },
      "departureTime": "2017-01-04T10:30:00+01:00",
      "arrivalStation": {
        "@type": "TrainStation",
        "name": "Paris Gare De Lyon"
      },
      "arrivalTime": "2017-01-04T03:10:00+01:00"
    },
    "reservedTicket": {
      "@type": "Ticket",
      "underName": {
        "@type": "Person",
        "name": "Daniel Green"
      }
    }
  }
]
/script

```

### Microdata

```html
<div itemscope itemtype="http://schema.org/TrainReserva>tio<n"
  meta itemprop="reservationNumber&quo>t; <content="AB3XY2"/
  link itemprop="reservationStatus" href=&>quo<t;http://schema.org/ReservationConfirmed"/
  div itemprop="reservati>onFor<" itemscope itemtype="http://schema.org/TrainTrip"
    div itemprop=>"d<epartureStation" itemscope itemtype=">;http<://s>chema<.org/TrainStation"
      meta itemprop="name" conte>nt=&q<uot;Munich Central"/
    /div
    meta itemprop="departureTime" co>ntent=&<quot;2017-01-04T10:30:00+01:00"/
    div item>prop=<&quo>t;arr<ivalStation" itemscope itemtype="http://schema.org/Tra>inS<tati>on&<quot;
      meta itemprop="name" content="Paris Gare De Lyon>"<;/
    /div
    meta itemprop="arrivalTime" content="20>17-01-0<4T03:10:00+01:00"/
  /div
  div item>prop=<&quo>t;r<eser>v<edTi>c<ket" itemscope itemtype="http://schema.org/Ticket>&qu<ot;
    div itemprop="underName" itemscop>e i<temtype="http://schema.org/Person"
      meta itemprop="name">; c<ontent="Eva Green"/
    /div
  /div
/div
div itemscope itemtype=&quo>t;htt<p://schema.org/TrainReservation"
  meta itemprop="reservationNumber"> conten<t="AB3XY2"/
  link itemprop="re>serva<tion>Statu<s" href="http://schema.org/ReservationConfirmed"/
 > div <itemprop="reservationFor" itemscope itemtype="http://schema.org/Tr>ainTrip<"
    div itemprop="departureStation&quo>t; it<emsc>ope i<temtype="http://schema.org/TrainStation"
      meta it>emp<rop=>&qu<ot;name" content="Munich Central"/
    /div
    meta itempro>p=&qu<ot;departureTime" content="2017-01-04T10:30:00+01:00"/
>    div< itemprop="arrivalStation" items>cope <item>typ<e=&q>u<ot;h>t<tp://schema.org/TrainStation"
      meta itemprop=&quo>t;n<ame" content="Paris Gare De Lyon"/
 >   </div
    meta itemprop="arrivalTime" content="2017-01-04T03:10:00>+01<:00"/
  /div
  div itemprop="reservedTicket" itemscope itemtype>=&quo<t;http://schema.org/Ticket"
    div itemprop="underName" itemscope i>temtype<="http://schema.org/Person"
      me>ta it<empr>op=&q<uot;name" content="John Green"/
    /div
  /div
/di>v
div< itemscope itemtype="http://schema.org/TrainReservation"
  meta itempro>p="<;reservationNumber" content="AB3XY2">;/
  <link> item<prop="reservationStatus" href="http://schema.org/>Res<erva>tio<nConfirmed"/
  div itemprop="reservationFor" itemscope itemt>ype=&<quot;http://schema.org/TrainTrip"
    div itemprop="departur>eStatio<n" itemscope itemtype="http://sch>ema.o<rg/T>rai<nSta>t<ion&>q<uot;
      meta itemprop="name" content="Mun>ich< Central"/
    /div
    meta itemprop="de>par<tureTime" content="2017-01-04T10:30:00+01:00"/
    div itemprop=&>quo<t;arrivalStation" itemscope itemtype="http://schema.org/TrainStation>"<;
      meta itemprop="name" content="Paris Gare De Lyon"/
    >/div
  <  meta itemprop="arrivalTime" conten>t=&qu<ot;2>017-0<1-04T03:10:00+01:00"/
  /div
  div itemprop="reservedTic>ket&q<uot; itemscope itemtype="http://schema.org/Ticket"
    div itemprop=&qu>ot;unde<rName" itemscope itemtype="http://schema>.org/<Pers>on&qu<ot;
      meta itemprop="name" content="Carol Gre>en&<quot>;/
<    /div
  /div
/div
div itemscope itemtype="http://schema.org/TrainRe>serva<tion"
  meta itemprop="reservationNumber" content=">;AB3XY2<"/
  link itemprop="reservationSta>tus&q<uot;> hr<ef=&>q<uot;>http://schema.org/ReservationConfirmed"/
  div itemprop="reservationFor" itemscope itemtype="http://schema.org/TrainTrip"
    div itemprop="departureStation" itemscope itemtype="http://schema.org/TrainStation"
      meta itemprop="name" content="Munich Central"/
    /div
    meta itemprop="departureTime" content="2017-01-04T10:30:00+01:00"/
    div itemprop="arrivalStation" itemscope itemtype="http://schema.org/TrainStation"
      meta itemprop="name" content="Paris Gare De Lyon"/
    /div
    meta itemprop="arrivalTime" content="2017-01-04T03:10:00+01:00"/
  /div
  div itemprop="reservedTicket" itemscope itemtype="http://schema.org/Ticket"
    div itemprop="underName" itemscope itemtype="http://schema.org/Person"
      meta itemprop="name" content="Daniel Green"/
    /div
  /div
/div

```

### Example with all supported fields

For reference, here is an example with all supported fields populated:

### JSON-LD

```json
<script type="application/ld+>json"
{
  "@context": "http://schema.org",
  "@type": "TrainReservation",
  "reservationNumber": "AB3XY2",
  "url": "http://eurotravel/view/AB3XY2",
  "underName": {
    "@type": "Person",
    "name": "John Smith",
    "email": "john@mail.com"
  },
  "programMembership": {
    "@type": "ProgramMembership",
    "memberNumber": "12345",
    "program": "STA"
  },
  "bookingAgent": {
    "@type": "Organization",
    "name": "European Vacations",
    "url": "http://eurotravel/"
  },
  "bookingTime": "2013-01-14T13:05:00-05:00",
  "modifiedTime": "2013-03-14T13:05:00-05:00",
  "confirmReservationUrl": "http://eurotravel/confirm?id=AB3XY2",
  "cancelReservationUrl": "http://eurotravel/cancel?id=AB3XY2",
  "modifyReservationUrl": "http://eurotravel/edit?id=AB3XY2",
  "reservationStatus": "http://schema.org/ReservationConfirmed",
  "checkinUrl": "http://train.com/checkin?id=AB3XY2",
  "reservationFor": {
    "@type": "TrainTrip",
    "trainNumber": "9203",
    "trainName": "Orient Express",
    "trainCode": "iGTV",
    "trainCompany": {
      "@type": "Organization"
    },
    "departureStation": {
      "@type": "TrainStation",
      "name": "Munich Central"
    },
    "departurePlatform": "64",
    "departureTime": "2017-01-04T10:30:00+01<:00&quo>t;,
    "arrivalStation": {
      "@type": "TrainStation",
      "name": "Paris Gare De Lyon"
    },
    "arrivalPlatform": "101B",
    "arrivalTime": "2017-01-04T03:10:00+01:00"
  },
  "reservedTicket": {
    "@type": "Ticket",
    "ticketNumber": "123XYZ",
    "downloadUrl": "?",
    "printUrl": "?",
    "ticketToken": "qrCode:123456789",
    "additionalTicketText": "?",
    "price": "135.00",
    "priceCurrency": "EUR",
    "underName": {
      "@type": "Person",
      "name": "Mary Smith"
    },
    "ticketedSeat": {
      "@type": "Seat",
      "seatingType": "1st Class",
      "seatNumber": "27",
      "seatRow": "A"
    }
  }
}
/script

```

### Microdata

```html
<div itemscope itemtype="http://schema.org/TrainReserva>tio<n"
  meta itemprop="reservationNumber&quo>t; <content="AB3XY2"/
  link itemprop="url&quo>t; <href="http://eurotravel/view/AB3XY2"/
  div itemprop="u>nderN<ame" itemscope itemtype="http://>schem<a.org/Person"
    meta itemprop="nam>e&q<uot;> co<ntent="John Smith"/
    meta itemprop="email" content="john@mail>.com&<quot;/
  /div
  div itemprop="programMem>bersh<ip" itemscope itemtype="http>://<sche>ma.<org/ProgramMembership"
    meta itemprop="memberNumber" content=>"<;12345"/
    meta itemprop="program">; con<tent="STA"/
  /div
  div itemprop=&q>uot<;boo>kin<gAgent" itemscope itemtype="http://schema.org/Organiza>tio<n"
    meta itemprop="name" content="European> Va<cations"/
    link itemprop="url" href="http://eurotravel/&qu>ot;</
  /div
  meta itemprop="bookingTime" content="2013-01-14T13:05>:00<-05:00"/
  meta itemprop="modifiedTime" content="2013-03->14T<13:05:00-05:00"/
  link itemprop="confirmReservationUrl" href=&qu>ot;<http://eurotravel/confirm?id=AB3XY2"/
  link itemprop="canc>elR<eservationUrl" href="http://eurotravel/cancel?id=AB3XY2"/
  lin>k ite<mprop="modifyReservationUrl" href>=&quo<t;http://eurotravel/edit?id=AB3XY2"/
  link it>empro<p="reservationStatus" href=&quo>t;htt<p://schema.org/ReservationConfirmed"/
  link itemprop="checkinUrl&quo>t; hr<ef=&>quot;<http://train.com/checkin?id=AB3XY2"/
  div itemprop="reservationFor"> itemsc<ope itemtype="http://schema.org/TrainTrip>"<;
  >  met<a itemprop="trainNumber" content=&quo>t;920<3"/
    meta itemprop="trainName" content="Ori>ent E<xpress"/
    meta itemprop="trainCode" content="iGTV"/
 >   div <itemprop="trainCompany" itemscope itemty>pe=&q<uot;>http:<//schema.org/Organization"
    /div
    di>v ite<mprop="departureStation" itemscope itemtype="http>://<sche>ma.<org/TrainStation"
      meta itemprop="name" content="M>unich< Central"/
    /div
    meta itemprop=&qu>ot;de<parturePlatform" content="64&q>uot;/<
    meta itemprop="departureTim>e&quo<t; content="2017-01-04T10:30:00+01:00"/
    d>iv it<emprop="arrivalStation" itemscope itemt>ype=&<quot;http://schema.org/TrainStation&quo>t;
  <    meta itemprop="name" content=&>quot;<Paris Gare De Lyon"/
    /div
    meta itemprop="arrivalPlat>form&qu<ot; content="101B"/
    meta ite>mprop<=&qu>ot;ar<rivalTime" content="2017-01-04T03:10:00+01:00"/
  /div
 > div it<emprop="reservedTicket" itemscope item>type=&q<uot;http://schema.org/Ticket"
    m>eta ite<mprop="ticketNumber" conte>nt=&q<uot;>123<XYZ&>q<uot;>/
    meta itemprop="downloadUrl" content="?"/
    meta itemprop="printUrl" content="?"/
    meta itemprop="ticketToken" content="qrCode:123456789"/
    meta itemprop="additionalTicketText" content="?"/
    meta itemprop="price" content="135.00"/
    meta itemprop="priceCurrency" content="EUR"/
    div itemprop="underName" itemscope itemtype="http://schema.org/Person"
      meta itemprop="name" content="Mary Smith"/
    /div
    div itemprop="ticketedSeat" itemscope itemtype="http://schema.org/Seat"
      meta itemprop="seatingType" content="1st Class"/
      meta itemprop="seatNumber" content="27"/
      meta itemprop="seatRow" content="A"/
    /div
  /div
/div

```

## Test your markup

You can validate your markup using the
[Email Markup Tester Tool](https://www.google.com/webmasters/markup-tester/).
Paste in your markup code and click the **Validate** button to scan the content
and receive a report on any errors present.

## Specification

Review the details of your email to see if any of these properties apply to your
train reservation. By marking up these additional properties, you allow Google
to display a much richer description of the train reservation to the user.

| Property | Type | Description |
|---|---|---|
| reservationNumber | Text | (**required**) The number or id of the reservation. |
| url | URL | Web page where reservation can be viewed. |
| underName | [Person](https://developers.google.com/workspace/gmail/markup/reference/types/Person.md.txt) or [Organization](https://developers.google.com/workspace/gmail/markup/reference/types/Organization.md.txt) | The passenger. |
| underName.name | Text | (**recommended for confirmation cards/Search Answers**) Name of the Person. |
| underName.email | Text | Email address. |
| programMembership | [ProgramMembership](https://developers.google.com/workspace/gmail/markup/reference/types/ProgramMembership.md.txt) | Any membership in a frequent flyer, hotel loyalty program, etc. being applied to the reservation. |
| programMembership.memberNumber | Text | The identifier of the membership. |
| programMembership.program | Text | The name of the program. |
| bookingAgent | [Organization](https://developers.google.com/workspace/gmail/markup/reference/types/Organization.md.txt) or [Person](https://developers.google.com/workspace/gmail/markup/reference/types/Person.md.txt) | Booking agent or agency. Also accepts a string (e.g. ""). |
| bookingAgent.name | Text | Name of the agent/service. |
| bookingAgent.url | URL | Website of the agent/service. |
| bookingTime | [DateTime](https://developers.google.com/workspace/gmail/markup/reference/types/DateTime.md.txt) | Date the reservation was made. |
| modifiedTime | [DateTime](https://developers.google.com/workspace/gmail/markup/reference/types/DateTime.md.txt) | (**recommended for confirmation cards/Search Answers**) Time the reservation was last modified. |
| confirmReservationUrl | URL | Web page where reservation can be confirmed. |
| cancelReservationUrl | URL | Web page where reservation can be cancelled. |
| modifyReservationUrl | URL | (**recommended for confirmation cards/Search Answers**) Web page where reservation can be modified. |
| reservationStatus | [ReservationStatus](https://developers.google.com/workspace/gmail/markup/reference/types/ReservationStatus.md.txt) | (**required**) Current status of the reservation. |
| checkinUrl | URL | Webpage where the passenger can check in. |
| reservationFor | [TrainTrip](https://developers.google.com/workspace/gmail/markup/reference/types/TrainTrip.md.txt) | (**required**) Information about the train trip. |
| reservationFor.trainNumber | Text | (**recommended for confirmation cards/Search Answers**) The number for the train. |
| reservationFor.trainName | Text | The name of the train. |
| reservationFor.trainCode | Text | The unique identifier for the train. |
| reservationFor.trainCompany | [Organization](https://developers.google.com/workspace/gmail/markup/reference/types/Organization.md.txt) | The organization that operates the train. Also accepts a string (e.g. ""). |
| reservationFor.departureStation | [TrainStation](https://developers.google.com/workspace/gmail/markup/reference/types/TrainStation.md.txt) | (**required**) The station where the train departs. |
| reservationFor.departureStation.name | Text | (**required**) Name of the TrainStation. |
| reservationFor.departurePlatform | Text | The platform where the train departs. |
| reservationFor.departureTime | [DateTime](https://developers.google.com/workspace/gmail/markup/reference/types/DateTime.md.txt) | (**required**) The expected departure time. |
| reservationFor.arrivalStation | [TrainStation](https://developers.google.com/workspace/gmail/markup/reference/types/TrainStation.md.txt) | (**required**) The station where the train ends. |
| reservationFor.arrivalStation.name | Text | (**required**) Name of the TrainStation. |
| reservationFor.arrivalPlatform | Text | The platform where the train arrives. |
| reservationFor.arrivalTime | [DateTime](https://developers.google.com/workspace/gmail/markup/reference/types/DateTime.md.txt) | (**required**) The expected arrival time. |
| reservedTicket | [Ticket](https://developers.google.com/workspace/gmail/markup/reference/types/Ticket.md.txt) | Ticket information. |
| reservedTicket.ticketNumber | Text | The number or id of the ticket. |
| reservedTicket.downloadUrl | URL | . |
| reservedTicket.printUrl | URL | . |
| reservedTicket.ticketToken | Text or URL | If the barcode image is hosted on your site, the value of the field is URL of the image, or a barcode or QR URI, such as "barcode128:AB34" (ISO-15417 barcodes), "qrCode:AB34" (QR codes), "aztecCode:AB34" (Aztec codes), "barcodeEAN:1234" (EAN codes) and "barcodeUPCA:1234" (UPCA codes). |
| reservedTicket.additionalTicketText | Text | Additional explanatory text about the ticket. |
| reservedTicket.price | Text | Total price of the ticket. |
| reservedTicket.priceCurrency | Text | The currency (in 3-letter ISO 4217 format) of the ticket's price. |
| reservedTicket.underName | [Person](https://developers.google.com/workspace/gmail/markup/reference/types/Person.md.txt) or [Organization](https://developers.google.com/workspace/gmail/markup/reference/types/Organization.md.txt) | The Person or Organization the ticket is for. |
| reservedTicket.underName.name | Text | Name of the Person. |
| reservedTicket.ticketedSeat | [Seat](https://developers.google.com/workspace/gmail/markup/reference/types/Seat.md.txt) | The location of the reserved seat (e.g., 27B). . |
| reservedTicket.ticketedSeat.seatingType | Text | The type/class of the seat. |
| reservedTicket.ticketedSeat.seatNumber | Text | The location of the reserved seat. |
| reservedTicket.ticketedSeat.seatRow | Text | The row location of the reserved seat. |

> [!NOTE]
> **Note:** Some schemas that Google uses are still going through the standardization process of [Schema.org](https://schema.org) and might change in the future. For more information, see [Schema.org proposals](https://developers.google.com/workspace/gmail/markup/reference/schema-org-proposals.md.txt).