259 lines
8.4 KiB
TypeScript
259 lines
8.4 KiB
TypeScript
type SeedImage = {
|
|
url: string;
|
|
altText: string;
|
|
primaryImage?: boolean;
|
|
};
|
|
|
|
type SeedPricingRule = {
|
|
label?: string;
|
|
basePriceCents: number;
|
|
weekendPriceCents?: number;
|
|
guestDeltaCents?: number;
|
|
validFrom?: string;
|
|
validTo?: string;
|
|
};
|
|
|
|
type SeedAvailabilityBlock = {
|
|
startDate: string;
|
|
endDate: string;
|
|
reason: 'MAINTENANCE' | 'OWNER_BLOCKED' | 'BASE_RULE' | 'OTHER';
|
|
notes?: string;
|
|
};
|
|
|
|
type SeedTestimonial = {
|
|
authorName: string;
|
|
content: string;
|
|
rating?: number;
|
|
};
|
|
|
|
export type SeedProperty = {
|
|
slug: string;
|
|
title: string;
|
|
area: string;
|
|
summary: string;
|
|
longDescription: string;
|
|
locationText: string;
|
|
sleeps: number;
|
|
bedrooms: number;
|
|
bathrooms: number;
|
|
petsAllowed: boolean;
|
|
featured: boolean;
|
|
minStayNights: number;
|
|
checkInTime: string;
|
|
checkOutTime: string;
|
|
marketingTags: string[];
|
|
images: SeedImage[];
|
|
amenities: string[];
|
|
pricingRules: SeedPricingRule[];
|
|
availabilityBlocks: SeedAvailabilityBlock[];
|
|
testimonials: SeedTestimonial[];
|
|
};
|
|
|
|
export const propertySeedData: SeedProperty[] = [
|
|
{
|
|
slug: 'coastal-view-cottage',
|
|
title: 'Coastal View Cottage',
|
|
area: 'Clifftop village',
|
|
summary: 'A bright two-bedroom cottage with sea views, a private terrace, and room to slow down.',
|
|
longDescription:
|
|
'Coastal View Cottage is set above the bay with a sunny terrace, two calm bedrooms, and a living space designed for slower mornings after coastal walks. The stay is positioned for guests who want practical comfort first, then the sea view to do the rest of the work.',
|
|
locationText:
|
|
'The cottage sits in a clifftop village a short walk from the harbour path, local bakery, and a small beach reached by steps down the headland.',
|
|
sleeps: 4,
|
|
bedrooms: 2,
|
|
bathrooms: 2,
|
|
petsAllowed: false,
|
|
featured: true,
|
|
minStayNights: 2,
|
|
checkInTime: '16:00',
|
|
checkOutTime: '10:00',
|
|
marketingTags: ['Sea views', 'Family-friendly', 'Short breaks'],
|
|
images: [
|
|
{
|
|
url: 'https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=1600&q=80',
|
|
altText: 'Sunlit sitting room with a wide sea-facing window and light wood furniture.',
|
|
primaryImage: true,
|
|
},
|
|
{
|
|
url: 'https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=1200&q=80',
|
|
altText: 'Terrace seating overlooking the coastline in late afternoon light.',
|
|
},
|
|
{
|
|
url: 'https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=900&q=80',
|
|
altText: 'Bedroom with neutral linen and coastal tones.',
|
|
},
|
|
],
|
|
amenities: ['Sea view terrace', 'Fast Wi-Fi', 'Family dining kitchen', 'Parking for one car', 'Walk-in shower'],
|
|
pricingRules: [
|
|
{
|
|
label: 'Standard season',
|
|
basePriceCents: 18500,
|
|
weekendPriceCents: 21500,
|
|
guestDeltaCents: 1800,
|
|
},
|
|
{
|
|
label: 'Summer high season',
|
|
basePriceCents: 22500,
|
|
weekendPriceCents: 25500,
|
|
guestDeltaCents: 1800,
|
|
validFrom: '2026-06-01',
|
|
validTo: '2026-09-30',
|
|
},
|
|
],
|
|
availabilityBlocks: [
|
|
{
|
|
startDate: '2026-03-15',
|
|
endDate: '2026-03-18',
|
|
reason: 'MAINTENANCE',
|
|
notes: 'Spring maintenance window',
|
|
},
|
|
{
|
|
startDate: '2026-08-18',
|
|
endDate: '2026-08-25',
|
|
reason: 'OWNER_BLOCKED',
|
|
notes: 'Owner stay',
|
|
},
|
|
],
|
|
testimonials: [
|
|
{
|
|
authorName: 'Sophie M.',
|
|
content: 'We could tell exactly what the stay would feel like before we booked, and the sea view more than held up.',
|
|
rating: 5,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
slug: 'orchard-barn',
|
|
title: 'Orchard Barn',
|
|
area: 'Rural retreat',
|
|
summary: 'Converted barn accommodation with an open-plan living space and easy access to walking trails.',
|
|
longDescription:
|
|
'Orchard Barn gives groups more room to spread out without losing the warmth of a rural stay. The main space stays open and sociable, while the bedrooms and garden edges keep it comfortable for longer weekends and family trips.',
|
|
locationText:
|
|
'Set back from a quiet lane beside orchards and footpaths, the barn is well placed for walking routes, local pubs, and slower countryside stays.',
|
|
sleeps: 6,
|
|
bedrooms: 3,
|
|
bathrooms: 2,
|
|
petsAllowed: true,
|
|
featured: true,
|
|
minStayNights: 3,
|
|
checkInTime: '15:00',
|
|
checkOutTime: '10:30',
|
|
marketingTags: ['Pets considered', 'Hot tub', 'Long weekends'],
|
|
images: [
|
|
{
|
|
url: 'https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=1500&q=80',
|
|
altText: 'Converted barn living area with high ceilings and exposed timber beams.',
|
|
primaryImage: true,
|
|
},
|
|
{
|
|
url: 'https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=1100&q=80',
|
|
altText: 'Outdoor dining and garden edge beside the orchard.',
|
|
},
|
|
{
|
|
url: 'https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=950&q=80',
|
|
altText: 'Bedroom with vaulted ceiling and soft rural palette.',
|
|
},
|
|
],
|
|
amenities: ['Hot tub', 'Dog-friendly utility area', 'Large dining table', 'Wood burner', 'Private garden'],
|
|
pricingRules: [
|
|
{
|
|
label: 'Standard season',
|
|
basePriceCents: 21000,
|
|
weekendPriceCents: 24000,
|
|
guestDeltaCents: 1200,
|
|
},
|
|
{
|
|
label: 'Harvest season',
|
|
basePriceCents: 23000,
|
|
weekendPriceCents: 26000,
|
|
guestDeltaCents: 1200,
|
|
validFrom: '2026-09-01',
|
|
validTo: '2026-10-31',
|
|
},
|
|
],
|
|
availabilityBlocks: [
|
|
{
|
|
startDate: '2026-05-12',
|
|
endDate: '2026-05-17',
|
|
reason: 'MAINTENANCE',
|
|
notes: 'Hot tub service and garden works',
|
|
},
|
|
],
|
|
testimonials: [
|
|
{
|
|
authorName: 'Daniel K.',
|
|
content: 'The layout made group planning easy, and the practical details answered the usual pre-booking questions.',
|
|
rating: 5,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
slug: 'harbour-house',
|
|
title: 'Harbour House',
|
|
area: 'Harbour front',
|
|
summary: 'A flexible stay for couples or groups, steps from the water and close to local restaurants.',
|
|
longDescription:
|
|
'Harbour House is a walkable base for guests who want the town on the doorstep. It works well for couples who want extra room or smaller groups who care more about location and simple access than seclusion.',
|
|
locationText:
|
|
'The house fronts the harbour road with quick access to cafés, restaurants, boat trips, and an easy evening walk along the water.',
|
|
sleeps: 5,
|
|
bedrooms: 3,
|
|
bathrooms: 1,
|
|
petsAllowed: false,
|
|
featured: true,
|
|
minStayNights: 3,
|
|
checkInTime: '16:00',
|
|
checkOutTime: '10:00',
|
|
marketingTags: ['Walkable', 'Town stay', 'Flexible dates'],
|
|
images: [
|
|
{
|
|
url: 'https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=1450&q=80',
|
|
altText: 'Townhouse sitting room near the harbour with layered textures and soft light.',
|
|
primaryImage: true,
|
|
},
|
|
{
|
|
url: 'https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=1080&q=80',
|
|
altText: 'Dining space with views toward the harbour street.',
|
|
},
|
|
{
|
|
url: 'https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=920&q=80',
|
|
altText: 'Bedroom styled for a short waterside stay.',
|
|
},
|
|
],
|
|
amenities: ['Harbour access', 'Walkable restaurants', 'Fast broadband', 'Compact workspace', 'Flexible sleeping setup'],
|
|
pricingRules: [
|
|
{
|
|
label: 'Standard season',
|
|
basePriceCents: 16500,
|
|
weekendPriceCents: 19000,
|
|
guestDeltaCents: 1500,
|
|
},
|
|
{
|
|
label: 'Peak summer',
|
|
basePriceCents: 19500,
|
|
weekendPriceCents: 22500,
|
|
guestDeltaCents: 1500,
|
|
validFrom: '2026-07-01',
|
|
validTo: '2026-08-31',
|
|
},
|
|
],
|
|
availabilityBlocks: [
|
|
{
|
|
startDate: '2026-06-01',
|
|
endDate: '2026-06-05',
|
|
reason: 'OWNER_BLOCKED',
|
|
notes: 'Harbour festival owner use',
|
|
},
|
|
],
|
|
testimonials: [
|
|
{
|
|
authorName: 'Priya R.',
|
|
content: 'Perfect for a car-light stay. We could see what was included, where it was, and how to get started without any dead ends.',
|
|
rating: 5,
|
|
},
|
|
],
|
|
},
|
|
];
|
|
|