# Obsidian Black — complete proposed website manuscript

Proposed copy for design review. No page is authorized for publication by this manuscript.

Version v7. Form field IDs and conditional requirements are aligned to the proposed CRM contract. This remains design content, not a live form.
Sources: OWN-1, BASE-1, WEB-OB, RES-1, CRM-2. Private provenance is maintained separately.

## Site shell

Desktop navigation: Journeys (/airport-transfers) · Vehicles (/vehicles) · How It Works (/how-it-works) · About (/about).
Primary action: Request a Ride Quote → /request-a-quote.
Mobile: same named destinations in an accessible menu; wordmark and clear primary action remain visible.

### Footer copy

Obsidian Black
[NONPUBLISHABLE: verified operating/trading entity disclosure]
[NONPUBLISHABLE: monitored contact route and actual staffed hours/timezone]
Links: Privacy (/privacy) · Terms (/terms) · FAQs (/faqs)
[NONPUBLISHABLE: correct rights holder and publication year]

### Image and proof direction

Actual approved interiors, luggage arrangements and pickup instructions. No stock vehicle presented as fleet. No passenger identity/itinerary. Design use of generic mood image clearly separated from stock.

- Use actual permissioned evidence only; omit unsupported testimonials, badges, counts and client logos.
- Label process illustrations Example workflow and concepts Concept—not client work.
- Never release NONPUBLISHABLE slots or internal editorial notes.
- Confirm paid owners, qualified alternates and operating coverage before response-time or availability promises.
- Order follows each page mobile_order; place hero CTA before decorative image.
- Forms use one column and visible labels; errors link to fields and are announced.
- No essential information on hover. Navigation exposes every service without hover.
- No sticky element may cover controls, disclosures or status messages.
- Vehicle fact tables become labeled field/value groups without dropping units, status or charges.
- Respect reduced-motion preference; no autoplay film required for meaning.

## / — Travel, thoughtfully handled.

Page ID: `ob-home` · State: proposed
SEO title: Private Car & SUV Journeys | Obsidian Black
SEO description: Airport, cruise and hotel connections for travelers, families, small groups and business passengers. Tell us where you are going, when you are traveling and what you are bringing.

Readable hero followed by ordered content and one primary action. Desktop may pair image and text; mobile places meaning and action before image, then stacks sections without changing order.

Desktop order: ob-home-hero → ob-home-s01 → ob-home-s02 → ob-home-s03 → ob-home-s04 → ob-home-s05 → ob-home-s06 → ob-home-action
Mobile order: ob-home-hero → ob-home-s01 → ob-home-s02 → ob-home-s03 → ob-home-s04 → ob-home-s05 → ob-home-s06 → ob-home-action

### Travel, thoughtfully handled.

Section ID: `ob-home-hero`

Eyebrow: Private Car & SUV Journeys

Airport, cruise and hotel connections for travelers, families, small groups and business passengers. Tell us where you are going, when you are traveling and what you are bringing.

### Start with the trip

Section ID: `ob-home-s01`

Share pickup, destination and travel date. Your request starts a quote; your ride is confirmed separately.

### A considered start. A clear next step.

Section ID: `ob-home-s02`

Airport transfers begin with the flight, passengers and luggage. Cruise and hotel connections begin with terminal and onward plans. Private travel begins with the stops that matter. Business travel can be for you, a colleague or a guest.

### Room for the people—and the trip

Section ID: `ob-home-s03`

Passenger count is only part of the choice. Suitcases, strollers and other needs help determine vehicle fit. A vehicle category alone does not confirm suitability.

### How a request becomes a ride

Section ID: `ob-home-s04`

Share the itinerary. Review the proposed journey, price and terms. Follow the separate confirmation instructions for your agreed pickup.

### Know what to expect

Section ID: `ob-home-s05`

Review the written pickup details and trip terms before travel. Tell us about changes promptly using the contact instructions for a confirmed trip.

### Tell us about your next journey

Section ID: `ob-home-s06`

One-way, return or several stops: start with the details you know. We review operating fit and availability before confirming work.

### Request a Ride Quote

Section ID: `ob-home-action`

Choose the next step when you are ready.

Button: **Request a Ride Quote** → /request-a-quote

**Editorial release dependencies (not public copy):** Publish service paths only when approved coverage and paid operating capacity support them.


## /airport-transfers — Your airport journey starts with the details.

Page ID: `ob-airport-transfers` · State: proposed
SEO title: Airport Transfers | Obsidian Black
SEO description: Share the flight, route, passengers and luggage so the transfer can be scoped properly.

Readable hero followed by ordered content and one primary action. Desktop may pair image and text; mobile places meaning and action before image, then stacks sections without changing order.

Desktop order: ob-airport-transfers-hero → ob-airport-transfers-s01 → ob-airport-transfers-s02 → ob-airport-transfers-s03 → ob-airport-transfers-s04 → ob-airport-transfers-action
Mobile order: ob-airport-transfers-hero → ob-airport-transfers-s01 → ob-airport-transfers-s02 → ob-airport-transfers-s03 → ob-airport-transfers-s04 → ob-airport-transfers-action

### Your airport journey starts with the details.

Section ID: `ob-airport-transfers-hero`

Share the flight, route, passengers and luggage so the transfer can be scoped properly.

### Arriving

Section ID: `ob-airport-transfers-s01`

Tell us the airport, flight details when known, arrival date and onward destination. Pickup instructions and any flight-monitoring arrangement belong in the confirmed trip details.

### Departing

Section ID: `ob-airport-transfers-s02`

Share your pickup point, desired timing and destination airport. The proposed pickup time is agreed during the quote process; the form is not a guarantee about flight connections.

### Pack for the vehicle

Section ID: `ob-airport-transfers-s03`

Include suitcases, strollers, equipment and assistance requests. Seat and luggage fit are checked together before a vehicle is confirmed.

### Waiting and changes

Section ID: `ob-airport-transfers-s04`

Waiting, terminal pickup, parking, tolls and itinerary changes follow the written quote and trip terms. Ask about any unclear charge before accepting.

### Request an Airport Transfer

Section ID: `ob-airport-transfers-action`

Choose the next step when you are ready.

Button: **Request an Airport Transfer** → /request-a-quote?journey=airport-transfers


## /cruise-hotel-transfers — Connect the parts of your journey.

Page ID: `ob-cruise-hotel-transfers` · State: proposed
SEO title: Cruise & Hotel Transfers | Obsidian Black
SEO description: Share the terminal, hotel and onward plans so the transfer can be coordinated around the actual itinerary.

Readable hero followed by ordered content and one primary action. Desktop may pair image and text; mobile places meaning and action before image, then stacks sections without changing order.

Desktop order: ob-cruise-hotel-transfers-hero → ob-cruise-hotel-transfers-s01 → ob-cruise-hotel-transfers-s02 → ob-cruise-hotel-transfers-s03 → ob-cruise-hotel-transfers-s04 → ob-cruise-hotel-transfers-action
Mobile order: ob-cruise-hotel-transfers-hero → ob-cruise-hotel-transfers-s01 → ob-cruise-hotel-transfers-s02 → ob-cruise-hotel-transfers-s03 → ob-cruise-hotel-transfers-s04 → ob-cruise-hotel-transfers-action

### Connect the parts of your journey.

Section ID: `ob-cruise-hotel-transfers-hero`

Share the terminal, hotel and onward plans so the transfer can be coordinated around the actual itinerary.

### Cruise connections

Section ID: `ob-cruise-hotel-transfers-s01`

Include port or terminal information when known, date, expected timing and luggage. Disembarkation and access arrangements can affect the pickup plan; they are reviewed separately.

### Hotel journeys

Section ID: `ob-cruise-hotel-transfers-s02`

Provide hotel or pickup location and destination. If you are arranging travel for someone else, identify the booker and the contact needed for the confirmed pickup.

### Allow for the practical details

Section ID: `ob-cruise-hotel-transfers-s03`

Passenger numbers, bags, equipment and additional stops belong in the request. Exact pickup instructions are issued for the accepted journey.

### Review the terms

Section ID: `ob-cruise-hotel-transfers-s04`

A quote describes the proposed trip and applicable charges. It does not guarantee a terminal access arrangement or reserve capacity until confirmation is complete.

### Request a Transfer Quote

Section ID: `ob-cruise-hotel-transfers-action`

Choose the next step when you are ready.

Button: **Request a Transfer Quote** → /request-a-quote?journey=cruise-hotel-transfers


## /private-travel — Build the request around your day.

Page ID: `ob-private-travel` · State: proposed
SEO title: Private Travel | Obsidian Black
SEO description: Send the stops, timing and travel needs that matter to your itinerary.

Readable hero followed by ordered content and one primary action. Desktop may pair image and text; mobile places meaning and action before image, then stacks sections without changing order.

Desktop order: ob-private-travel-hero → ob-private-travel-s01 → ob-private-travel-s02 → ob-private-travel-s03 → ob-private-travel-s04 → ob-private-travel-action
Mobile order: ob-private-travel-hero → ob-private-travel-s01 → ob-private-travel-s02 → ob-private-travel-s03 → ob-private-travel-s04 → ob-private-travel-action

### Build the request around your day.

Section ID: `ob-private-travel-hero`

Send the stops, timing and travel needs that matter to your itinerary.

### Describe the whole journey

Section ID: `ob-private-travel-s01`

Include pickup, destinations, stops and expected timing. If the plan is still developing, identify what is known and what needs discussion.

### One-way, return or several stops

Section ID: `ob-private-travel-s02`

Different itineraries create different operating needs. A return journey requires its own date and time; extra stops are reviewed as part of the quote.

### Understand the scope

Section ID: `ob-private-travel-s03`

Waiting, service duration, route changes and vehicle arrangements must be agreed. Sending an itinerary does not create an unlimited hourly service or exclusive vehicle reservation.

### Travel needs

Section ID: `ob-private-travel-s04`

Tell us about luggage, equipment and practical assistance requests without sending medical records. Suitability is reviewed before confirmation.

### Share Your Itinerary

Section ID: `ob-private-travel-action`

Choose the next step when you are ready.

Button: **Share Your Itinerary** → /request-a-quote?journey=private-travel


## /business-travel — Arrange travel with the passenger in mind.

Page ID: `ob-business-travel` · State: proposed
SEO title: Business Travel | Obsidian Black
SEO description: Request a journey for yourself, a colleague or a guest, with the details needed for a clear next step.

Readable hero followed by ordered content and one primary action. Desktop may pair image and text; mobile places meaning and action before image, then stacks sections without changing order.

Desktop order: ob-business-travel-hero → ob-business-travel-s01 → ob-business-travel-s02 → ob-business-travel-s03 → ob-business-travel-s04 → ob-business-travel-action
Mobile order: ob-business-travel-hero → ob-business-travel-s01 → ob-business-travel-s02 → ob-business-travel-s03 → ob-business-travel-s04 → ob-business-travel-action

### Arrange travel with the passenger in mind.

Section ID: `ob-business-travel-hero`

Request a journey for yourself, a colleague or a guest, with the details needed for a clear next step.

### Booker and passenger

Section ID: `ob-business-travel-s01`

Tell us whether you are traveling or arranging for someone else. Passenger contact is collected only when needed for the accepted trip. Whether you are traveling or arranging for someone else is an optional initial detail.

### Single journey or recurring need

Section ID: `ob-business-travel-s02`

Describe the dates and frequency you want to discuss. Recurring travel is assessed against actual availability; an enquiry does not create a corporate account.

### Clear instructions

Section ID: `ob-business-travel-s03`

Route, timing, luggage and any company approval process help scope the request. Final pickup information belongs in the confirmed itinerary.

### Commercial arrangements

Section ID: `ob-business-travel-s04`

Invoice billing, account terms and priority availability are offered only where separately agreed. No corporate affiliation or service entitlement is implied by this page.

### Discuss Business Travel

Section ID: `ob-business-travel-action`

Choose the next step when you are ready.

Button: **Discuss Business Travel** → /request-a-quote?journey=business-travel


## /vehicles — Choose with the whole journey in mind.

Page ID: `ob-vehicles` · State: proposed
SEO title: Vehicles | Obsidian Black
SEO description: Review the actual vehicle details, then tell us who and what will be traveling.

Readable hero followed by ordered content and one primary action. Desktop may pair image and text; mobile places meaning and action before image, then stacks sections without changing order.

Desktop order: ob-vehicles-hero → ob-vehicles-s01 → ob-vehicles-s02 → ob-vehicles-s03 → ob-vehicles-action
Mobile order: ob-vehicles-hero → ob-vehicles-s01 → ob-vehicles-s02 → ob-vehicles-s03 → ob-vehicles-action

### Choose with the whole journey in mind.

Section ID: `ob-vehicles-hero`

Review the actual vehicle details, then tell us who and what will be traveling.

### Vehicle information

Section ID: `ob-vehicles-s01`

NONPUBLISHABLE: insert released vehicle/class records with real images, verified passenger/luggage guidance and restrictions. Do not publish model counts from an unreviewed financial scenario.

### More than passenger count

Section ID: `ob-vehicles-s02`

Luggage, strollers, equipment, entry/access needs and requested child-seat arrangements affect fit. Tell us what the trip requires; suitability needs confirmation.

### Availability and substitutions

Section ID: `ob-vehicles-s03`

A displayed vehicle is not a live availability promise. Any permitted substitution and customer approval process must be explained in the actual trip terms.

### Request a Ride Quote

Section ID: `ob-vehicles-action`

Choose the next step when you are ready.

Button: **Request a Ride Quote** → /request-a-quote

**Editorial release dependencies (not public copy):** Actual fleet release, capacities, imagery, substitutions policy and paid coverage.


## /how-it-works — From request to confirmed pickup.

Page ID: `ob-how-it-works` · State: proposed
SEO title: How It Works | Obsidian Black
SEO description: Understand the steps between an itinerary enquiry and an accepted ride.

Readable hero followed by ordered content and one primary action. Desktop may pair image and text; mobile places meaning and action before image, then stacks sections without changing order.

Desktop order: ob-how-it-works-hero → ob-how-it-works-s01 → ob-how-it-works-s02 → ob-how-it-works-s03 → ob-how-it-works-s04 → ob-how-it-works-action
Mobile order: ob-how-it-works-hero → ob-how-it-works-s01 → ob-how-it-works-s02 → ob-how-it-works-s03 → ob-how-it-works-s04 → ob-how-it-works-action

### From request to confirmed pickup.

Section ID: `ob-how-it-works-hero`

Understand the steps between an itinerary enquiry and an accepted ride.

### 1. Send the request

Section ID: `ob-how-it-works-s01`

Share route, timing, passenger count, luggage and contact details. Your form receipt confirms only that the request was received.

### 2. Review the quote

Section ID: `ob-how-it-works-s02`

Check the proposed trip, price, inclusions, charges, validity and change conditions. Ask about anything missing before accepting.

### 3. Complete confirmation

Section ID: `ob-how-it-works-s03`

Follow the specified acceptance and payment process. Your booking is confirmed only through the operator’s actual confirmation procedure.

### 4. Use your trip instructions

Section ID: `ob-how-it-works-s04`

Review pickup location, timing and day-of contact. Use the supplied monitored route for changes to an accepted journey; a new quote form is not urgent dispatch support.

### Start Your Request

Section ID: `ob-how-it-works-action`

Choose the next step when you are ready.

Button: **Start Your Request** → /request-a-quote


## /about — A thoughtful approach to private travel.

Page ID: `ob-about` · State: proposed
SEO title: About | Obsidian Black
SEO description: Obsidian Black focuses on understanding the trip before confirming the journey.

Readable hero followed by ordered content and one primary action. Desktop may pair image and text; mobile places meaning and action before image, then stacks sections without changing order.

Desktop order: ob-about-hero → ob-about-s01 → ob-about-s02 → ob-about-s03 → ob-about-action
Mobile order: ob-about-hero → ob-about-s01 → ob-about-s02 → ob-about-s03 → ob-about-action

### A thoughtful approach to private travel.

Section ID: `ob-about-hero`

Obsidian Black focuses on understanding the trip before confirming the journey.

### Practical attention

Section ID: `ob-about-s01`

Route, timing, passengers and luggage are the foundation of a useful quote. Clear written details help people understand the proposed service.

### Accountable service

Section ID: `ob-about-s02`

The confirmed trip identifies the relevant operator and contact instructions. Actual service area, hours and vehicle arrangements must support every promise.

### Travel for different reasons

Section ID: `ob-about-s03`

Families, small groups, couples and business travelers can each have different needs. The starting point is your itinerary, not your job title.

### Request a Ride Quote

Section ID: `ob-about-action`

Choose the next step when you are ready.

Button: **Request a Ride Quote** → /request-a-quote

**Editorial release dependencies (not public copy):** Verified operating identity, actual service scope and contact details.


## /service-area — Start with your route.

Page ID: `ob-service-area` · State: proposed
SEO title: Service Area | Obsidian Black
SEO description: Tell us the pickup and destination so we can review whether the journey fits the available service.

Readable hero followed by ordered content and one primary action. Desktop may pair image and text; mobile places meaning and action before image, then stacks sections without changing order.

Desktop order: ob-service-area-hero → ob-service-area-s01 → ob-service-area-s02 → ob-service-area-s03 → ob-service-area-action
Mobile order: ob-service-area-hero → ob-service-area-s01 → ob-service-area-s02 → ob-service-area-s03 → ob-service-area-action

### Start with your route.

Section ID: `ob-service-area-hero`

Tell us the pickup and destination so we can review whether the journey fits the available service.

### Coverage follows the journey

Section ID: `ob-service-area-s01`

NONPUBLISHABLE: insert the approved geographic area, operating windows and route-specific limitations. Do not publish unsupported city or airport lists.

### Unsure about a trip?

Section ID: `ob-service-area-s02`

Include both ends of the journey and the travel date. A submitted location does not establish coverage or availability.

### Changes matter

Section ID: `ob-service-area-s03`

If the route or timing changes, request a revised review before relying on the original arrangements.

### Check Your Journey

Section ID: `ob-service-area-action`

Choose the next step when you are ready.

Button: **Check Your Journey** → /request-a-quote

**Editorial release dependencies (not public copy):** Approved coverage and operating windows.


## /faqs — Before you request a ride.

Page ID: `ob-faqs` · State: proposed
SEO title: Travel FAQs | Obsidian Black
SEO description: A few practical distinctions help make the next step clear.

Readable hero followed by ordered content and one primary action. Desktop may pair image and text; mobile places meaning and action before image, then stacks sections without changing order.

Desktop order: ob-faqs-hero → ob-faqs-s01 → ob-faqs-s02 → ob-faqs-s03 → ob-faqs-s04 → ob-faqs-s05 → ob-faqs-s06 → ob-faqs-action
Mobile order: ob-faqs-hero → ob-faqs-s01 → ob-faqs-s02 → ob-faqs-s03 → ob-faqs-s04 → ob-faqs-s05 → ob-faqs-s06 → ob-faqs-action

### Before you request a ride.

Section ID: `ob-faqs-hero`

A few practical distinctions help make the next step clear.

### Does a quote request confirm my ride?

Section ID: `ob-faqs-s01`

No. We review the request and issue any appropriate quote. A booking is confirmed separately through the stated process.

### How do I choose a vehicle?

Section ID: `ob-faqs-s02`

Start with passenger and luggage details, including strollers or equipment. The actual vehicle fit is reviewed before confirmation.

### Can I change the itinerary?

Section ID: `ob-faqs-s03`

Changes need review. Availability, price and conditions may differ from the original quote; consult the written trip terms.

### Are waiting, tolls and parking included?

Section ID: `ob-faqs-s04`

The written quote and applicable terms must state how these are treated. Do not assume inclusion because a form has been submitted.

### What about child seats or assistance?

Section ID: `ob-faqs-s05`

Describe the practical request. Availability and suitability must be confirmed; no equipment or specialist capability is promised by the enquiry form.

### How do I contact someone about a confirmed ride?

Section ID: `ob-faqs-s06`

Use the verified trip-support instructions supplied with confirmation. Routine quote forms must not be relied on for urgent changes.

### Request a Ride Quote

Section ID: `ob-faqs-action`

Choose the next step when you are ready.

Button: **Request a Ride Quote** → /request-a-quote


## /trip-terms — Review the terms for your journey.

Page ID: `ob-trip-terms` · State: conditional-template
SEO title: Trip Terms | Obsidian Black
SEO description: Your written quote and confirmation explain the arrangements for the accepted trip.

Readable hero followed by ordered content and one primary action. Desktop may pair image and text; mobile places meaning and action before image, then stacks sections without changing order.

Desktop order: ob-trip-terms-hero → ob-trip-terms-s01 → ob-trip-terms-s02 → ob-trip-terms-s03 → ob-trip-terms-s04 → ob-trip-terms-action
Mobile order: ob-trip-terms-hero → ob-trip-terms-s01 → ob-trip-terms-s02 → ob-trip-terms-s03 → ob-trip-terms-s04 → ob-trip-terms-action

### Review the terms for your journey.

Section ID: `ob-trip-terms-hero`

Your written quote and confirmation explain the arrangements for the accepted trip.

### Before accepting

Section ID: `ob-trip-terms-s01`

Check the itinerary, vehicle or class, passenger/luggage fit, price, included items, waiting, tolls, parking and any other applicable charges.

### Changes and cancellation

Section ID: `ob-trip-terms-s02`

NONPUBLISHABLE: insert adopted change/cancellation/no-show terms, deadlines, refunds and quote validity. No fee or cancellation right is invented in this draft.

### Confirmation and payment

Section ID: `ob-trip-terms-s03`

NONPUBLISHABLE: insert the actual acceptance/payment/confirmation sequence and verified operator details.

### Day-of support

Section ID: `ob-trip-terms-s04`

NONPUBLISHABLE: insert monitored contact instructions, hours, escalation and backup arrangements for accepted journeys.

### Request a Ride Quote

Section ID: `ob-trip-terms-action`

Choose the next step when you are ready.

Button: **Request a Ride Quote** → /request-a-quote

**Editorial release dependencies (not public copy):** Approved commercial terms, operator identity, payment sequence and staffed support.


## /request-a-quote — Tell us about your journey.

Page ID: `ob-request-a-quote` · State: proposed
SEO title: Ride Quote | Obsidian Black
SEO description: Share the route, timing, passengers and luggage. A request starts a quote; it does not confirm a ride.

Readable hero followed by ordered content and one primary action. Desktop may pair image and text; mobile places meaning and action before image, then stacks sections without changing order.

Desktop order: ob-request-a-quote-hero → ob-request-a-quote-s01 → ob-request-a-quote-s02 → ob-request-a-quote-s03 → ob-request-a-quote-action
Mobile order: ob-request-a-quote-hero → ob-request-a-quote-s01 → ob-request-a-quote-s02 → ob-request-a-quote-s03 → ob-request-a-quote-action

### Tell us about your journey.

Section ID: `ob-request-a-quote-hero`

Share the route, timing, passengers and luggage. A request starts a quote; it does not confirm a ride.

### Journey

Section ID: `ob-request-a-quote-s01`

Enter pickup, destination, date and local pickup-time preference. Choose Help me plan if the timing needs discussion. A return journey requires its own date; timing can be discussed if not yet known.

### People and luggage

Section ID: `ob-request-a-quote-s02`

Count everyone traveling and describe the bags, strollers or equipment. Add stops and practical assistance needs without private medical details.

### Contact and review

Section ID: `ob-request-a-quote-s03`

Choose Email or Phone as your preferred reply method and provide the matching contact detail. You may say whether you are traveling or arranging for someone else. Review the itinerary before sending; payment-card and identity documents are not needed. Return timing can be clarified during review if unknown.

### Send My Ride Request

Section ID: `ob-request-a-quote-action`

Choose the next step when you are ready.

Button: **Send My Ride Request** → form:ob-ride


## /privacy — How enquiry information is handled.

Page ID: `ob-privacy` · State: conditional-template
SEO title: Privacy Notice Template | Obsidian Black
SEO description: [NONPUBLISHABLE: replace this draft with a reviewed notice matching the actual data practices before collecting enquiries.]

Readable hero followed by ordered content and one primary action. Desktop may pair image and text; mobile places meaning and action before image, then stacks sections without changing order.

Desktop order: ob-privacy-hero → ob-privacy-s01 → ob-privacy-s02 → ob-privacy-s03 → ob-privacy-s04 → ob-privacy-s05 → ob-privacy-action
Mobile order: ob-privacy-hero → ob-privacy-s01 → ob-privacy-s02 → ob-privacy-s03 → ob-privacy-s04 → ob-privacy-s05 → ob-privacy-action

### How enquiry information is handled.

Section ID: `ob-privacy-hero`

[NONPUBLISHABLE: replace this draft with a reviewed notice matching the actual data practices before collecting enquiries.]

### Who is responsible

Section ID: `ob-privacy-s01`

[NONPUBLISHABLE: verified controller/operator identity and privacy contact.]

### What is collected and why

Section ID: `ob-privacy-s02`

[NONPUBLISHABLE: actual fields collected, enquiry purposes, applicable processing basis, optional marketing treatment and any sensitive-data exclusions.]

### Access, providers and transfers

Section ID: `ob-privacy-s03`

[NONPUBLISHABLE: actual recipients, systems/processors, access controls and relevant cross-border handling. No invented claim that data never leaves a country or is never shared.]

### Retention and choices

Section ID: `ob-privacy-s04`

[NONPUBLISHABLE: actual retention/deletion approach, applicable rights and request procedure. No promised deletion period without an implemented policy.]

### Cookies and measurement

Section ID: `ob-privacy-s05`

[NONPUBLISHABLE: actual necessary/optional technologies, consent choices where applicable, analytics recipients and withdrawal process. Do not claim live tracking from the design.]

### Request a Ride Quote

Section ID: `ob-privacy-action`

Choose the next step when you are ready.

Button: **Request a Ride Quote** → /request-a-quote

**Editorial release dependencies (not public copy):** Actual operator, jurisdiction/practices and appropriate review. No enquiry collection before adequate notice.


## /terms — Using this website and requesting information.

Page ID: `ob-terms` · State: conditional-template
SEO title: Website Terms Template | Obsidian Black
SEO description: An enquiry starts a review. It does not create a booking, purchase, service agreement or accepted application.

Readable hero followed by ordered content and one primary action. Desktop may pair image and text; mobile places meaning and action before image, then stacks sections without changing order.

Desktop order: ob-terms-hero → ob-terms-s01 → ob-terms-s02 → ob-terms-s03 → ob-terms-action
Mobile order: ob-terms-hero → ob-terms-s01 → ob-terms-s02 → ob-terms-s03 → ob-terms-action

### Using this website and requesting information.

Section ID: `ob-terms-hero`

An enquiry starts a review. It does not create a booking, purchase, service agreement or accepted application.

### Information and enquiries

Section ID: `ob-terms-s01`

Read the relevant service or vehicle information and ask about material details. A form receipt confirms only that the message has been received.

### Separate commercial agreement

Section ID: `ob-terms-s02`

Any actual engagement, service, appointment or transaction follows the applicable written terms and confirmation process. No unapproved commercial promise is created by this draft.

### Operator and applicable terms

Section ID: `ob-terms-s03`

[NONPUBLISHABLE: insert verified operator, website-use terms, jurisdiction, rights/contact provisions and links to adopted commercial terms after appropriate review.]

### Request a Ride Quote

Section ID: `ob-terms-action`

Choose the next step when you are ready.

Button: **Request a Ride Quote** → /request-a-quote

**Editorial release dependencies (not public copy):** Verified operator and adopted website/commercial terms.

## Form copy and states

### ob-ride

CRM form ID: `ob_ride_quote`.

| Field ID | Label | Requirement | Help text | Invalid-state copy |
|---|---|---|---|---|
| payload.contact.name | Your name | Required | Use the name you would like us to use. | Complete your name. |
| payload.contact.email | Email | Conditional | Use a contact address for this request. | Enter a valid email address. |
| payload.contact.phone | Phone with country code | Conditional | Enter +, the country code and phone number without spaces. | Enter a valid international phone number beginning with + and the country code. |
| payload.contact.preferred_channel | Preferred reply method | Required | Choose Email or Phone from the channels offered. Phone requires a phone number; email requires an email address. | Complete preferred reply method. |
| payload.contact.marketing_email_opt_in | Optional email updates | Optional | Optional Obsidian Black updates by email. This choice is separate from handling your enquiry. | Enter a valid optional email updates or leave blank when optional. |
| payload.contact.marketing_sms_opt_in | Optional text-message updates | Optional | Optional Obsidian Black updates by text message. This choice is separate from handling your enquiry. | Enter a valid optional text-message updates or leave blank when optional. |
| payload.journey_type | Journey type | Required | Airport, cruise/hotel, private, business or unsure. | Complete journey type. |
| payload.pickup | Pickup location | Required | Airport, hotel or general area to start. Do not include access codes. | Complete pickup location. |
| payload.destination | Destination | Required | Describe the destination or area. | Complete destination. |
| payload.pickup_date | Travel date | Required | Use the local date of the proposed pickup. | Enter a valid date. |
| payload.time_mode | Do you know the pickup time? | Required | Choose Specified or Help me plan. A stated time requires its local timezone. | Complete do you know the pickup time?. |
| payload.pickup_local_time | Local pickup time | Conditional | Required when you specify a time. Use the local time shown with the timezone. | Enter a valid local pickup time or leave blank when optional. |
| payload.pickup_timezone | Pickup timezone | Conditional | Required when you specify a time. Confirm the timezone for the pickup location. | Enter a valid pickup timezone or leave blank when optional. |
| payload.passengers | Passengers | Required | Include everyone traveling. This count does not confirm vehicle capacity or suitability. | Enter a whole number within the displayed limits. |
| payload.luggage_description | Luggage and equipment | Required | Give counts/descriptions, or None if none. | Complete luggage and equipment. |
| payload.flight_ship | Flight or ship details | Optional | Optional when relevant; useful for reviewing the itinerary. | Enter a valid flight or ship details or leave blank when optional. |
| payload.additional_stops | Additional stops | Optional | Optional. Add only stops relevant to this request. | Enter a valid additional stops or leave blank when optional. |
| payload.return_requested | Request a return journey | Optional | Optional. A return request requires a date; timing can be discussed. | Enter a valid request a return journey or leave blank when optional. |
| payload.return_date | Return date | Conditional | Required when requesting a return journey. | Enter a valid date. |
| payload.return_local_time | Return-time preference | Optional | Optional. If supplied, confirm timezone with the trip review. If unknown, leave blank for discussion. | Enter a valid return-time preference or leave blank when optional. |
| payload.child_seat_request | Child-seat request | Optional | Optional. Describe the request; availability and suitability are confirmed separately. | Enter a valid child-seat request or leave blank when optional. |
| payload.assistance_request | Practical assistance request | Optional | Optional. Describe practical needs without medical records or diagnoses. | Enter a valid practical assistance request or leave blank when optional. |
| payload.booker_relationship | Are you traveling or arranging for someone else? | Optional | Optional. Passenger contact is collected later only when needed for the accepted journey. | Enter a valid are you traveling or arranging for someone else? or leave blank when optional. |

#### Conditional rules and allowed values

- `payload.contact.email` required when: [{"properties": {"preferred_channel": {"const": "email"}}}].
- `payload.contact.phone` required when: [{"properties": {"preferred_channel": {"const": "phone"}}}].
- `payload.contact.preferred_channel` choices: Email (`email`); Phone (`phone`).
- `payload.journey_type` choices: Airport (`airport`); Cruise hotel (`cruise_hotel`); Private (`private`); Business (`business`); Unsure (`unsure`).
- `payload.time_mode` choices: Specified (`specified`); Help me plan (`help_me_plan`).
- `payload.pickup_local_time` required when: [{"properties": {"time_mode": {"const": "specified"}}}].
- `payload.pickup_timezone` required when: [{"properties": {"time_mode": {"const": "specified"}}}].
- `payload.return_date` required when: [{"required": ["return_requested"], "properties": {"return_requested": {"const": true}}}].
- `payload.booker_relationship` choices: Self (`self`); Arranging for other (`arranging_for_other`); Prefer to discuss (`prefer_to_discuss`).

Submit: **Send My Ride Request**
Pending: Sending your request. Please keep this page open.
Invalid summary: Please correct the fields listed below. Your request has not been sent.
Transmission failure: Your request was not sent. Please try again. If the problem continues, use the verified contact option shown here.
Duplicate/uncertain receipt: A matching request may already have been received. Check your confirmation before sending again.
Successful durable receipt: Your ride request has been received. We will review the itinerary and contact you using the details provided. This is not a booking confirmation.

Editorial follow-up owner: SH05 protected dispatch/reservations; OB01 verifies fit and backup. Paid non-driving alternate required.
Show receipt only after a durable accepted record. Never invent a reference number. Link error summary to fields, preserve safe entries on back/retry, announce status to assistive technology. No prechecked marketing consent. Verified alternative contact must replace the internal slot before release. Field IDs and constraints match the cited proposed CRM contract. System metadata is not collected from the customer. Enquiry consent is separate from optional marketing choices; only supported contact channels may be displayed. Editorial marketing control: initialize both opt-in fields unchecked. Show a channel-specific option only after the actual brand purpose, channel terms, consent recording and working unsubscribe/preference route are adopted and tested. Add the verified preference instructions beside the optional control before release; do not publish an invented link or the editorial release instructions as customer copy. No choice is required for service follow-up.

## Shared interface copy

**Skip Link:** Skip to main content

**Menu Open:** Open menu

**Menu Close:** Close menu

**Required Note:** Fields marked Required must be completed.

**Back:** Back

**Review:** Review your request

**Submit Pending:** Sending…

**Not Found Heading:** This page is not available.

**Not Found Body:** The address may have changed. Return to the homepage or use the navigation to find the relevant service.

**Not Found Action:** Return home

**Contact Fallback:** [NONPUBLISHABLE: insert verified monitored contact alternative; do not display a fake address or number.]

**Privacy Helper:** Read the privacy notice to understand how your enquiry information is handled.

**Marketing Opt In:** Optional: send me relevant updates. I can unsubscribe.

**Marketing Status:** Do not display until actual purpose, channel, consent recording and unsubscribe process are adopted. Leave unchecked.

## Conditional route decisions

- /vehicles/{vehicle-reference}: Vehicle cards and factual specification groups on Vehicles page until actual released records justify a distinct detail page.

## Readiness boundary

Narrative copy is proposed for review, not proof of delivery capability. Conditional templates retain missing factual or legal inputs. No NONPUBLISHABLE slot may release. Visual review, operating approval, actual form delivery and publication are separate. No implementation or canonical completion is claimed.
