A travel agency theme with tours, destinations and enquiries built in
Martine is a free block theme for travel agencies and small tour operators. A full-height beach hero with a search for tours and places, destinations that reveal their names, tour cards with length, group size, highlights, the next departure and the price from, a tour page written out day by day, and an enquiry form that needs no plugin — with eight colour palettes and full site editing throughout.

Two versions of Martine
The same design, built two ways. Both are free.
Recommended for new sites
Block theme
This download. Everything is edited in WordPress’s own Site Editor, with no plugins: the sections are patterns, the tour page is ordinary blocks, and the tour enquiry, contact and newsletter forms and dark mode are built in.
For sites built with Elementor
Elementor edition
The same design built for Elementor, with its widgets for the banner, top places, upcoming events, hotels, reviews and services, and an event post type, all inside the theme. It needs the free Elementor plugin; One Click Demo Import can load its demo content. The source is free on GitHub.
Destinations that reveal their names
Photographs of the places you go, two to a row. Point at one and its region, name and country rise on a navy shade; on a phone they sit on the photograph all the time. Every photograph shows the place it is captioned as.

Tour cards with the facts people ask for
Each card carries the tour’s length and group size, its route, three highlights, the next departure and the price from, with a link that opens the enquiry form with that tour already chosen. The Tours page lists six.

A tour page, ready to copy
One tour written out in full: a banner with its dates, price, group size and guide, an overview with key facts, and the enquiry form at the foot. Duplicate the page for your next tour and change the words.

Day by day, and what the price includes
The plan on a timeline, one day at a time, then what is included with ticks and what is not with crosses, and a table of departures with their guide and price.

An enquiry form, never a checkout
Tour, preferred dates, travellers, name, email and a note. It asks; it never books or takes a payment, and it tells the visitor so. Enquiries go to the site’s admin email — or, with one filter, to your booking system.

Eight palettes, checked before release
Coast, the template’s own orange and navy, then Lagoon, Sunset, Rainforest, Harbour and Sand, and two dark palettes, Night sea and Tropic night. Each is measured against WCAG AA before the theme is built — text, links and button labels, in light mode and in dark — and a palette that fails is not written.

Dark mode the visitor controls
The switch in the header is the visitor’s, separate from the palette you chose. It follows the reader’s system setting until they decide for themselves.

What you get
A journal, too
When to go, what to pack, notes from the last trip. Archives, single posts with an author box, categories, tags, search and a 404 are all designed, with a sidebar that carries search, categories, recent posts and the newsletter sign-up.

Questions
No. The tour enquiry, contact and newsletter forms and dark mode are part of the theme, and so are the starter pages. WooCommerce is supported if you add it, and is not required.
No. The tour form is an enquiry: it asks which tour, roughly when and how many travellers, and says that nothing is reserved or charged. You reply to talk dates and details. To hand enquiries to a booking system, use the martine_form_handlers filter.
To the site’s admin email address, sent with WordPress’s own wp_mail(). If your host cannot send mail, any SMTP plugin fixes it. Return true from the martine_form_handlers filter and Martine sends nothing of its own — that is where a CRM, a webhook or a mailing-list plugin takes over.
Duplicate the Seychelles Island Hopper page and rewrite it, add a card to the Tours page, and add the tour to the form’s list with the martine_tour_options filter. A card’s Enquire link names the tour (/tours/?tour=your-tour#enquire), so the form opens with it chosen.
No. The seven starter pages are built only on a site that has no pages of its own yet, and only once. Activating Martine over an existing site leaves your pages alone.
Eight palettes — Coast (the original), Lagoon, Sunset, Rainforest, Harbour, Sand, and the dark Night sea and Tropic night — and five type pairings are one click each in the Site Editor under Styles. Each palette restyles every section.
So buttons and small text stay readable. The template’s #fe5c24 is 3.1:1 against white, below the 4.5:1 WCAG AA asks for; it stays for decoration, and a deeper #c2410c carries buttons and words. The template’s blue button is deepened the same way.
Yes. Add add_filter( 'martine_enable_dark_mode', '__return_false' ); to a child theme or a small plugin.
The block theme is edited in WordPress’s own Site Editor and needs no plugins. The Elementor edition is the same design built for the Elementor page builder, with its widgets and an event post type inside the theme; it needs the free Elementor plugin and is available on GitHub. For a new site we recommend the block theme.
Yes. Every string is translatable and languages/martine.pot is included.
Yes, twice a day, because it is distributed outside the WordPress.org theme directory. It sends the theme, WordPress and PHP versions, the locale, whether the site is a multisite, and an identifier derived from the site’s address with the site’s own secret key, so it cannot be turned back into the address. No personal data and no site name, and the request names only the theme and WordPress versions. The martine_check_for_updates filter switches it off.
The details
| Requires | WordPress 6.6 or newer |
|---|---|
| PHP | 7.4 or newer |
| Tested up to | WordPress 7.1 |
| Licence | GNU General Public License v2 or later |
| Patterns | 26 to insert (20 sections, 6 page layouts), plus 13 the templates use |
| Templates | 10, plus 3 template parts |
| Starter pages | 7, built on activation, with a menu |
| Styles | 8 colour palettes × 5 type pairings |
| Fonts | Open Sans and Barlow, self-hosted |
| Icons | Tabler Icons (MIT), drawn in the palette’s colours |
| Photographs | 20, all from Pexels, credited in readme.txt |
| Form plugins | Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Forminator, Ninja Forms |
| Build step | None — no npm, no SCSS |
