使用场景
以下用例展示了 TrainReservation
架构的常见用法示例。使用这些示例确保您的标记结构正确。
基本预订确认
发送预订确认邮件时,在电子邮件中嵌入以下标记。
Google 应用将在行程当天显示预订详情,并通知用户准时出发以便准时到达火车站(考虑交通方式、路况等因素)。如果您以如下方式提供入住网址,Google 应用将在行程开始前 24 小时向用户显示该网址。
JSON-LD
<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>
微数据
<div itemscope itemtype="http://schema.org/TrainReservation">
<meta itemprop="reservationNumber" content="AB3XY2"/>
<link itemprop="reservationStatus" href="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>
登机牌和票
除了预订确认外,您还可以通过单独的电子邮件触发确认卡登机牌。
确认卡片不仅可以帮助用户准时到达火车站,还能在行程中向用户显示门票。为此,您需要在标记中添加一些额外的字段。如果还有其他乘客登机字段,请在 additionalTicketText
字段中添加相应字段。
对于没有预订座位的门票,这些字段为:numSeats
、ticketNumber
、ticketToken
JSON-LD
<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",
"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>
微数据
<div itemscope itemtype="http://schema.org/TrainReservation">
<meta itemprop="reservationNumber" content="AB3XY2"/>
<div itemprop="underName" itemscope itemtype="http://schema.org/Person">
<meta itemprop="name" content="Eva Green"/>
</div>
<link itemprop="reservationStatus" href="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">
<meta itemprop="underName" content="Eva Green"/>
<meta 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>
对于预订座位,这些字段为:seatNumber
、seatingType
、ticketNumber
、ticketToken
JSON-LD
<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",
"ticketedSeat": {
"@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>
微数据
<div itemscope itemtype="http://schema.org/TrainReservation">
<meta itemprop="reservationNumber" content="AB3XY2"/>
<div itemprop="underName" itemscope itemtype="http://schema.org/Person">
<meta itemprop="name" content="Eva Green"/>
</div>
<link itemprop="reservationStatus" href="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">
<meta itemprop="underName" content="Eva Green"/>
<div itemprop="ticketedSeat" itemscope itemtype="http://schema.org/Seat">
<meta itemprop="seatNumber" content="27B"/>
<meta itemprop="seatingType" content="1st Class"/>
</div>
<meta 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>
多位乘客
如需描述涉及多位乘客的预订,请为每个路段的每位乘客使用一个 TrainReservation
。
JSON-LD
<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>
微数据
<div itemscope itemtype="http://schema.org/TrainReservation">
<meta itemprop="reservationNumber" content="AB3XY2"/>
<link itemprop="reservationStatus" href="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="Eva Green"/>
</div>
</div>
</div>
<div itemscope itemtype="http://schema.org/TrainReservation">
<meta itemprop="reservationNumber" content="AB3XY2"/>
<link itemprop="reservationStatus" href="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="John Green"/>
</div>
</div>
</div>
<div itemscope itemtype="http://schema.org/TrainReservation">
<meta itemprop="reservationNumber" content="AB3XY2"/>
<link itemprop="reservationStatus" href="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="Carol Green"/>
</div>
</div>
</div>
<div itemscope itemtype="http://schema.org/TrainReservation">
<meta itemprop="reservationNumber" content="AB3XY2"/>
<link itemprop="reservationStatus" href="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>
包含所有受支持字段的示例
以下是一个填充了所有受支持字段的示例,供您参考:
JSON-LD
<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",
"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>
微数据
<div itemscope itemtype="http://schema.org/TrainReservation">
<meta itemprop="reservationNumber" content="AB3XY2"/>
<link itemprop="url" href="http://eurotravel/view/AB3XY2"/>
<div itemprop="underName" itemscope itemtype="http://schema.org/Person">
<meta itemprop="name" content="John Smith"/>
<meta itemprop="email" content="john@mail.com"/>
</div>
<div itemprop="programMembership" itemscope itemtype="http://schema.org/ProgramMembership">
<meta itemprop="memberNumber" content="12345"/>
<meta itemprop="program" content="STA"/>
</div>
<div itemprop="bookingAgent" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="European Vacations"/>
<link itemprop="url" href="http://eurotravel/"/>
</div>
<meta itemprop="bookingTime" content="2013-01-14T13:05:00-05:00"/>
<meta itemprop="modifiedTime" content="2013-03-14T13:05:00-05:00"/>
<link itemprop="confirmReservationUrl" href="http://eurotravel/confirm?id=AB3XY2"/>
<link itemprop="cancelReservationUrl" href="http://eurotravel/cancel?id=AB3XY2"/>
<link itemprop="modifyReservationUrl" href="http://eurotravel/edit?id=AB3XY2"/>
<link itemprop="reservationStatus" href="http://schema.org/ReservationConfirmed"/>
<link itemprop="checkinUrl" href="http://train.com/checkin?id=AB3XY2"/>
<div itemprop="reservationFor" itemscope itemtype="http://schema.org/TrainTrip">
<meta itemprop="trainNumber" content="9203"/>
<meta itemprop="trainName" content="Orient Express"/>
<meta itemprop="trainCode" content="iGTV"/>
<div itemprop="trainCompany" itemscope itemtype="http://schema.org/Organization">
</div>
<div itemprop="departureStation" itemscope itemtype="http://schema.org/TrainStation">
<meta itemprop="name" content="Munich Central"/>
</div>
<meta itemprop="departurePlatform" content="64"/>
<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="arrivalPlatform" content="101B"/>
<meta itemprop="arrivalTime" content="2017-01-04T03:10:00+01:00"/>
</div>
<div itemprop="reservedTicket" itemscope itemtype="http://schema.org/Ticket">
<meta itemprop="ticketNumber" content="123XYZ"/>
<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>
测试您的标记
您可以使用电子邮件标记测试工具验证标记。粘贴您的标记代码,然后点击验证按钮扫描内容并接收报告,指出出现的所有错误。
规范
请查看电子邮件详情,了解是否有任何属性适用于您的火车票预订。通过标记这些附加属性,您可以让 Google 向用户显示更丰富的火车票预订信息。
属性 | 类型 | 说明 |
---|---|---|
预订号 | 文字 | (必需)预留的编号或 ID。 |
网址 | 网址 | 可查看预订的网页。 |
名字 | 人员或组织 | 乘客。 |
underName.name [名称] | 文字 | (建议用于确认卡片/搜索答案)人员的姓名。 |
underName.电子邮件 | 文字 | 电子邮件地址。 |
计划成员资格 | 加入计划 | 适用于预订的常客奖励计划、酒店会员回馈活动等的任何会员资格。 |
programMembership.成员编号 | 文字 | 成员资格的标识符。 |
programMembership.计划 | 文字 | 课程的名称。 |
bookingAgent | 组织或个人 | 预订代理或代理机构。也接受字符串(例如“”)。 |
bookingAgent.name | 文字 | 代理/服务的名称。 |
bookingAgent.url | 网址 | 代理/服务的网站。 |
预订时间 | DateTime | 预订的日期。 |
修改时间 | DateTime | (建议用于确认卡片/搜索答案)预订的上次修改时间。 |
确认预订网址 | 网址 | 可在其中确认预订的网页。 |
取消预订网址 | 网址 | 可以取消预订的网页。 |
修改预订网址 | 网址 | (建议用于确认卡片/搜索答案)可以修改预订的网页。 |
预订状态 | ReservationStatus | (必需)预留的当前状态。 |
checkinUrl | 网址 | 乘客可以办理登机手续的网页。 |
预订 | TrainTrip | (必填)有关火车行程的信息。 |
reservedFor.trainNumber | 文字 | (建议用于确认卡片/搜索答案)火车的列车编号。 |
reservedFor.trainName | 文字 | 火车的名称。 |
reservedFor.trainCode | 文字 | 模块序列的唯一标识符。 |
reservedFor、trainCompany | 组织 | 运营火车的组织。也接受字符串(例如“”)。 |
bookingFor.出发站点 | TrainStation | (必填)列车出发的车站。 |
reservedFor.originStation.name | 文字 | (必需)TrainStation 的名称。 |
reservedFor.平台 | 文字 | 火车离开的站台。 |
reservedFor.出发时间 | DateTime | (必填)预计出发时间。 |
reservedFor:arrivalStation | TrainStation | (必填)火车到达终点的车站。 |
reservedFor.arrivalStation.name | 文字 | (必需)TrainStation 的名称。 |
reservedFor:arrivalPlatform | 文字 | 列车到达的站台。 |
reservedFor:arrivalTime | DateTime | (必填)预计到达时间。 |
预订门票 | 票 | 票务信息。 |
reservedTicket.ticketNumber | 文字 | 门票的编号或 ID。 |
reservedTicket.下载网址 | 网址 | 。 |
reservedTicket.printUrl 中的字段 | 网址 | 。 |
reservedTicket.票证 | Text 或 URL | 如果条形码图片托管在您的网站上,则相应字段的值是图片的网址,或者条形码或二维码 URI,例如“barcode128:AB34”(ISO-15417 条形码)、“qrCode:AB34”(QR 码)、“aztecCode:AB34”(Aztec 码)和“barcodeEAN(123)” |
reservedTicket:额外的工单文本 | 文字 | 门票的其他说明文字。 |
reservedTicket. | 文字 | 车票总价。 |
reservedTicket.priceCurrency [价格币种] | 文字 | 票价的价格币种(采用由 3 个字母表示的 ISO 4217 格式)。 |
reservedTicket.name | 人员或组织 | 工单对应的个人或组织。 |
reservedTicket.underName.名称 | 文字 | 人员的姓名。 |
reservedTicket.ticketedSeat | 席位 | 预订座位的位置(例如:270 亿)。。 |
reservedTicket.ticketedSeat.seatingType | 文字 | 座位的类型/类别。 |
reservedTicket.ticketedSeat.seatNumber | 文字 | 预订座位的位置。 |
reservedTicket.ticketedSeat.seatRow | 文字 | 预留座位的行位置。 |