Scope of Work · Phase 1

Banjaaraa — New Website Build

Design and development scope for the rebuild of banjaaraa.com as an editorial travel platform with a commercial layer. This document covers structure, data model, templates, functional modules and workflows only. Content writing, data migration from the existing site and SEO hardening are Phase 2 and are summarised at the end for context, not for execution now.

Build
WordPress · custom theme
Custom fields
Native — no ACF
Owner
Dominic
Environment
staging.banjaaraa.com
Issued
15 October 2026
01

Foundation & Conventions

Decisions that govern everything downstream. Item 1.2 is the critical path — every template and field group in this document depends on it, so settle it before writing any other code.

02

Menu Structure & URLs

Navigation is by destination and traveller intent, never by content format. The old verb-based menus (Try, Read, Attend, View, Watch, Listen) are retired entirely, along with the duplicate Topics taxonomy.

Primary navigation

ItemTypeChildren
JourneysMega menuInto the Wild · Expeditions · Two Travellers · Heritage, Properly Told · Slow & Rooted · Treks with Akhil · The Long Journey · Memoir Films · How We Plan · Plan Your Journey
DestinationsMega menuIndia (Ladakh, Himachal & Spiti, Uttarakhand, Rajasthan, Maharashtra, Madhya Pradesh, Karnataka) · Africa (Tanzania, Kenya, Zanzibar) · Asia (Sri Lanka, Vietnam, Cambodia) · Europe (Greece). Footer strip: browse by style
StoriesDropdownJournal · Photo Essays · Travel Films · Legends & Folklore · Podcast Archive
GuidesDropdownItineraries · Trek Guides · Best Time to Visit · Costs & Budgets · Practicalities · Gear We Travel With · Heritage Sites
ShopDropdownDestination Playbooks · Heritage Audio Guides · Books & Ebooks · Fine Art Prints · Cinematic Footage · Presets
AboutDropdownSuchi & Ankur · Our Travel Charter · Our Partners & Guides · Featured In · Partner with Banjaaraa · Contact
Plan Your JourneyButtonPersistent, filled, always visible

URL architecture

PatternExample
/journeys/{slug}//journeys/tanzania-serengeti-zanzibar/
/journeys/collection/{slug}//journeys/collection/into-the-wild/
/destinations/{country}/{area}//destinations/india/ladakh/
/stories/{slug}//stories/lahaul-valley/ — flat, regardless of format
/stories/{format}//stories/photo-essays/ — filtered archive view
/guides/{slug}//guides/best-time-serengeti-migration/
/heritage/{slug}//heritage/halebidu/
/shop/{slug}//shop/halebidu-audio-guide/
/partners/{slug}//partners/akhil-sharma/
03

Taxonomies

Registered once and shared across post types so a single filter works site-wide. This replaces the old overlapping Categories, Tags and Topics, where the same terms appeared in all three.

TaxonomyKeyStructureApplies to
CollectioncollectionFlat — Into the Wild, Expeditions, Two Travellers, Heritage, Slow & Rooted, Treks, Long JourneysJourney
RegionregionHierarchical — continent › country › state/areaAll
Travel Styletravel_styleFlat — safari & wildlife, trek, road trip, bike, 4x4, coast & islands, heritage & culture, farmJourney, Destination, Story, Guide
Best Monthsbest_monthsFlat, multi-select — Jan to DecJourney, Destination
DurationdurationFlat — 3–5, 6–8, 9–12, 13–16, 17+ daysJourney
Traveller Typetraveller_typeFlat — couple, family, solo, group, photographersJourney
DifficultydifficultyFlat — easy, moderate, challenging, expeditionJourney
ThemethemeFlat — wildlife, culture, folklore, food, sustainability, photographyStory, Guide
Story Formatstory_formatFlat — journal, photo-essay, film, legends, podcastStory
Guide Typeguide_typeFlat — itinerary, trek guide, best time, costs, practicalities, gearGuide
04

Post Types & Custom Fields

Eight post types. Story deliberately carries a format taxonomy rather than splitting into separate types, so one archive and one template serve journal entries, photo essays and films, and a piece can change format later without breaking its URL.

4.1 Journey journey

The commercial core. Three variants share this type: standard, trek and long journey — controlled by bjr_variant, with variant-specific fields shown conditionally.

FieldKeyType
Variantbjr_variantselect — standard / trek / long
Premisebjr_premisetext, one line
Hero imagebjr_heroimage
Route stringbjr_routetext — arrow-separated stops
Duration (days)bjr_daysnumber
Price from (₹ pp)bjr_price_fromnumber
Price notebjr_price_notetext — season and group-size caveat
Group size min / maxbjr_group_min bjr_group_maxnumber
Day by daybjr_days_repeatrepeater — day no., title, description, stay name, stay type, meals, image
Staysbjr_staysrepeater — name, type, nights, one-liner, image
Inclusionsbjr_inclusionsrepeater — text
Exclusionsbjr_exclusionsrepeater — text
Conservation amountbjr_cons_amountnumber — ₹ per traveller
Conservation projectbjr_cons_projecttext — named project
Fitness notebjr_fitnesstextarea
Getting therebjr_getting_theretextarea — airport, typical routing, visa note
Make it yoursbjr_make_yourstextarea — adjustable levers
Why we built thisbjr_whywysiwyg — first person, signed
Last travelledbjr_last_travelleddate
Memoir film offeredbjr_memoirboolean
Ground partnerbjr_partnerrelationship → Partner
Destinationbjr_destinationrelationship → Destination
Related guidesbjr_guidesrelationship → Guide, multiple
Gallerybjr_galleryimage array
FAQbjr_faqrepeater — question, answer
Itinerary PDFbjr_pdffile — gated download
Featured in herobjr_feat_heroboolean
Featured on homepagebjr_feat_homeboolean
Max altitudebjr_altitudenumber — trek variant only
Daily distancebjr_distancetext — trek variant only
Permitsbjr_permitstextarea — trek variant only
Segment A / Bbjr_seg_a bjr_seg_brelationship → Journey, long variant only
Joining notebjr_joiningtextarea — long variant only

4.2 Destination destination — hierarchical

FieldKeyType
Premisebjr_premisetext, one line
Hero imagebjr_heroimage
Last visitedbjr_last_visiteddate
Visit countbjr_visitsnumber
Quick answersbjr_quickrepeater — label, value
Our takebjr_takewysiwyg — first person, signed
When to gobjr_whenrepeater — month range, rating, note
Sub-placesbjr_placesrepeater — name, image, one-liner, internal link
Wildlife notebjr_wildlifetextarea
Gallerybjr_galleryimage array
FAQbjr_faqrepeater — question, answer
Section togglesbjr_sectionsboolean group — one per template section
Has journeysbjr_has_journeysboolean — switches section 4 between journey cards and a general enquiry band

4.3 Story story

FieldKeyType
Destinationbjr_destinationrelationship → Destination
Gallerybjr_galleryimage array — photo essay format
Video URLbjr_videourl — film format
Audio URLbjr_audiourl — podcast format
Travelled datebjr_travelleddate — distinct from publish date
Co-authorbjr_coauthoruser — so pieces can be bylined to both

4.4 Guide guide

FieldKeyType
Destinationbjr_destinationrelationship → Destination
Last verifiedbjr_verifieddate — displayed on the page
First-handbjr_firsthandboolean — drives the trust badge
FAQbjr_faqrepeater — question, answer
Related journeysbjr_journeysrelationship → Journey, multiple

4.5 Heritage Site heritage_site

FieldKeyType
Locationbjr_locationtext — plus lat/long
Period / dynastybjr_periodtext
Film URLbjr_filmurl — long-form YouTube documentation
Highlightsbjr_highlightsrepeater — title, description, image
Visiting infobjr_visitinggroup — timings, entry fee, best time, photography rules
Audio guidebjr_audio_productrelationship → Product
Ebook / bookbjr_book_productrelationship → Product
Gallerybjr_galleryimage array

4.6 Partner partner

FieldKeyType
Partner typebjr_partner_typeselect — ground agency, trek guide, photographer, stay, conservation
Photobjr_photoimage
Working together sincebjr_sinceyear
What they handlebjr_handlestextarea
Public profilebjr_publicboolean — named guides public, agencies may stay unnamed
Featured from / untilbjr_feat_start bjr_feat_enddate — drives auto-expiry, see 6.8

4.7 Testimonial testimonial

FieldKeyType
Traveller namebjr_nametext
Journey takenbjr_journeyrelationship → Journey
Month travelledbjr_monthtext
Quotebjr_quotetextarea

4.8 Product product

FieldKeyType
Product statebjr_stateselect — available / in production / launching soon / waitlist
Product typebjr_product_typeselect — playbook, audio guide, book, ebook, print, footage, preset, service
Price (₹)bjr_pricenumber
Deliverybjr_deliveryfile or url — digital fulfilment
Linked destinationbjr_destinationrelationship → Destination
Linked heritage sitebjr_heritagerelationship → Heritage Site
Waitlist countbjr_waitlist_nnumber — auto, read-only

Build checklist

05

Page Templates

Build order matters. Journey single comes before the homepage, because it is the first template content gets entered against. The homepage assembles last, since every block on it links to something that must already exist.

5.1 Journey single

Sixteen sections, in this order. A visitor must be able to answer where it goes, how long, roughly what it costs and why these two people, without scrolling twice.

5.2 Destination hub

Fourteen sections. Serves a search visitor and a browsing buyer at once: answer the search question in the first two screens, then offer the journey. Every section independently toggleable with graceful collapse and no orphan headers.

5.3 Homepage

One job: route a visitor to traveller, reader or partner within two scrolls. Commercial intent appears at section four, then the page relaxes.

5.4 Remaining templates

5.5 Cross-template requirements

06

Functional Modules

The commercial machinery behind the templates. Items 6.1 to 6.4 are launch-blocking; the site cannot take an enquiry without them.

07

Products & Revenue Lines

Everything the site must be capable of selling or capturing. Build the container for all of them now; most ship in a Launching Soon state and the waitlist decides what gets made first.

Product / lineMechanismState at launch
Curated journeys — 12 itineraries with ground partnersEnquiry → referral commissionLive
Treks with Akhil Sharma — 9 offbeat routes, group-onlyEnquiry, custom-priced by group sizeLive
The Long Journey — 15–20 day trek plus overlandEnquiry, highest ticketLive
Trip planning service — ₹4,000–8,000, credited against bookingRazorpay, flat feeLive
Cinematic memoir films — three tiersAttach-on at enquiry, plus own landing pageLive
Heritage audio guides — Belur and Halebidu pilot, then Badami, Khajuraho, ChennakeshavaDigital product, ₹299Launching soon
Heritage ebooks and print books — inscription-level site documentationDigital product, ₹499 / bundle ₹699Launching soon
Destination playbooks — Ladakh, Spiti, Greece, TanzaniaDigital product, ₹399–1,499Launching soon
Fine art prints — 1,000+ cinematic hi-res framesShop listing, fulfilment out of scopeLaunching soon
Cinematic footage licensing — 300–400 10-second clipsEnquiry-led licensingLaunching soon
Lightroom presetsDigital productLaunching soon
Brand and tourism partnershipsPartner with Banjaaraa page, media kit download, rate cardLive
Affiliate lines — insurance, eSIM, stays, gear, forexCloaked links inside guides, with disclosureLive, containers only
Hosted small-group departuresWaitlist onlyWaitlist
08

Website Workflows

End-to-end paths that must work before launch. Each is tested as a whole, not as isolated components.

Traveller enquiry

  1. ArrivalSearch, Instagram or direct, landing on a destination hub or journey page
  2. QualificationQuick answers and our-take establish trust; journey cards present the offer with a visible price band
  3. SubmissionInline form or sticky bar; journey name pre-filled; source attribution captured
  4. AcknowledgementAutomated reply within 60 seconds, confirming a human response within a day
  5. CRMRecord created, tagged by destination and collection, scored, placed in the pipeline
  6. HandoffNotification to Ankur by email and WhatsApp with the enquiry summary

Waitlist

  1. EncounterProduct card showing a Launching Soon or Waitlist badge
  2. CaptureSingle email field — "Tell me when this is out"
  3. SegmentationContact tagged to that specific product in the CRM
  4. ReportingPer-product waitlist count visible in the admin, driving build order

Digital purchase

  1. SelectionProduct page, state Available
  2. CheckoutSureCart with Razorpay, GST applied
  3. FulfilmentAutomated delivery of the linked file or access link, with download limits
  4. Follow-upBuyer added to the CRM, segmented by product type

Partner featured placement

  1. SetupPartner record created with featured-from and featured-until dates
  2. DisplayPlacement renders on linked destination and journey pages within the window
  3. ExpiryPlacement clears automatically on the end date with no manual intervention
09

Acceptance & Handover

Phase 1 is complete when every item below passes on staging with placeholder content in place.

10

Phase 2 — Not In Scope Now

Listed so nothing is assumed to be forgotten, and so Phase 1 decisions account for them. No work against this section yet.

Two Phase 1 dependencies that exist only to serve Phase 2. The hierarchical Region taxonomy must be in place before any content is migrated, because the old site's overlapping Categories, Tags and Topics have to be mapped into it by hand. And the audit spreadsheet of existing URLs should be produced early, since it drives both the migration routing and the redirect map.

Content population

Twelve curated journeys, nine trek routes, two to three long journeys, thirteen destination hubs, five heritage site pages, static page copy, partner profiles, shop listings, and homepage assembly. Written by Suchi and Ankur against the templates delivered in Phase 1.

Data migration

Export from the existing site; manual taxonomy mapping; migration of posts into Story, Guide and Heritage Site; portfolio entries into Photo Essay format; media library transfer and optimisation; consolidation of thin archives; the 301 redirect map and its implementation and testing; and a post-migration integrity crawl. Includes folding the orphaned /banjaaraa-africa-curated.html page into the Tanzania and Kenya journey pages.

SEO and schema

RankMath configuration per post type; custom TouristTrip schema on journeys, which RankMath does not emit natively; TouristDestination, Article, VideoObject, Product, FAQPage, Person, Organization and BreadcrumbList; sitemaps and llms.txt; internal linking and breadcrumbs; and an AI search visibility baseline.

Deferred features

Mapbox destination map in place of the grid; Stay and Experience post types; fixed-date Departure post type for hosted small-group trips; itinerary builder; physical print fulfilment.