Trip Card
A Zo Trips listing card with duration badge, trip title, tags, upcoming batch dates, pricing per person, and a booking CTA.
Preview
7 Days / 6 Nights
Spiti Valley Road Trip
Adventure
Mountains
Upcoming Batches
Mar 15
Apr 5
May 10
₹12,999 /person
5 Days / 4 Nights
Backpacking Kerala
Beach
Culture
Upcoming Batches
Mar 20
Apr 12
₹8,999 /person
Usage
tsx
import { TripCard } from "zostel-ui";
<TripCard
title="Spiti Valley Adventure"
description="Journey through the cold desert mountains..."
image="/images/spiti.jpg"
duration="6N/7D"
tags={["Adventure", "Road Trip", "Mountains"]}
batches={["Mar 15 - Mar 21", "Apr 5 - Apr 11"]}
price={15999}
seatsLeft={4}
onBook={() => console.log("Book now")}
/>Props
| Prop | Type | Default | Description |
|---|---|---|---|
title | string | — | Trip name |
description | string | — | Short trip description |
image | string | — | Cover image URL |
duration | string | — | Trip duration (e.g. 6N/7D) |
tags | string[] | — | Category tag labels |
batches | string[] | — | Upcoming batch date ranges |
price | number | — | Price per person |
seatsLeft | number | — | Remaining seats count |
onBook | () => void | — | Callback when Book Now is clicked |
titleType:
stringDefault: —
Trip name
descriptionType:
stringDefault: —
Short trip description
imageType:
stringDefault: —
Cover image URL
durationType:
stringDefault: —
Trip duration (e.g. 6N/7D)
tagsType:
string[]Default: —
Category tag labels
batchesType:
string[]Default: —
Upcoming batch date ranges
priceType:
numberDefault: —
Price per person
seatsLeftType:
numberDefault: —
Remaining seats count
onBookType:
() => voidDefault: —
Callback when Book Now is clicked