We use cookies for analytics and to serve ads. Accept to enable Google Analytics and AdSense. You can decline to stay opt-out.
Peer-to-peer rental pages with Service and Offer context, FAQs, and breadcrumbs.
Describes the rental service and provider.
Captures the rental price, availability, and booking link.
Answers deposit, pickup, and insurance questions.
Provides navigation context for the rental listing.
Ensure every applicable required property is present in your implementation. Nested props reference their parent objects (for example, `offers.priceCurrency`).
Paste as a single script tag. Keep product details, offer data, shipping/returns, and FAQ answers in sync with the page.
[
{
"@context": "https://schema.org",
"@type": "Service",
"@id": "https://www.example.com/rentals/camera#service",
"name": "Camera Rental Service",
"serviceType": "PeerToPeerRental",
"provider": { "@type": "Organization", "name": "ShareGear" },
"areaServed": { "@type": "City", "name": "Austin" },
"description": "Rent professional cameras from local owners with flexible pickup times."
},
{
"@context": "https://schema.org",
"@type": "Offer",
"@id": "https://www.example.com/rentals/camera#offer",
"name": "Canon EOS R5 Daily Rental",
"description": "Body-only rental with two batteries and charger.",
"price": "45.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://www.example.com/rentals/camera#book",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": "45.00",
"priceCurrency": "USD",
"unitText": "per day"
}
},
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Is insurance included?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Optional damage protection is available at checkout."
}
},
{
"@type": "Question",
"name": "How does pickup work?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Coordinate pickup with the owner or select courier delivery during booking."
}
},
{
"@type": "Question",
"name": "Is a deposit required?",
"acceptedAnswer": {
"@type": "Answer",
"text": "A refundable security deposit may be placed on your card depending on the item."
}
}
]
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.example.com" },
{ "@type": "ListItem", "position": 2, "name": "Rentals", "item": "https://www.example.com/rentals" },
{ "@type": "ListItem", "position": 3, "name": "Camera Rental", "item": "https://www.example.com/rentals/camera" }
]
}
]If the page lists multiple items, add one Offer per item with unique URLs.
Use a UnitPriceSpecification with unitText set to per hour and keep prices aligned with the listing.