Live demo

Self-hosted booking platform

White label travel portal you own

A white label travel portal from PHPTRAVELS is travel booking software you licence once and run yourself. Travellers and, on Enterprise, your agents book on your domain, under your brand, through your payment gateway, against supplier contracts that stay in your name.

  • Source code on every licence
  • Self-hosted, your server
  • B2C, B2B and B2B2C
  • Your GDS and bedbank contracts

Definition

What a white label travel portal is

A white label travel portal is a booking website a travel business sells under its own name. The customer sees your domain, your logo and your prices. They do not see a marketplace that takes a cut of the booking. Behind the page, the portal searches inventory you do not have to own — flights, hotels, tours, cars and the rest — applies your markup, takes payment and issues a voucher in your name.

Two products get called by the same phrase, and they are not the same purchase. A rented white label is a login on someone else's platform: you pay while you use it, the vendor hosts it, and the booking data sits in their database. An owned white label is software you install. PHPTRAVELS is the second kind. It is the Travel booking software you run on your own server, built on the Platform overview, with the full source code on every licence. The licence is a one-time payment, not a subscription. Hosting, supplier fees and optional add-ons are separate.

PHPTRAVELS has built this platform since it was founded in May 2014. The site states 4,800+ agencies and 5 million bookings, as of September 2026, and the pricing page states agencies in 100+ countries. About us introduces the company. Success stories shows agencies running the product. This page does not invent clients or a timeline the pricing page does not publish.

Read the plan split before you treat every licence as a full white label. Logo and colours are applied on every plan. Removing the Powered by link, the B2B agent portal, unlimited domains, unlimited currencies and the right to modify the source are Enterprise terms. Startup and Agency are branded B2C sites on one domain. That distinction is the useful part of this page, and it is the part most vendor pages skip.

What stays in your nameThese five things are yours on a PHPTRAVELS installation. A rented portal usually keeps at least three of them.
  • The source code

    Every plan includes the full source, under a commercial licence. Enterprise adds the right to modify that code. Startup and Agency include the code; customisation rights are the Enterprise term.

  • The booking database

    Bookings, customers, invoices and agent accounts sit on the server you control. They are not a tenant inside a vendor's multi-tenant database.

  • The supplier contracts

    You sign with the GDS, the NDC or low-cost consolidator, and the bedbank. You enter your own credentials. PHPTRAVELS does not resell their inventory and does not take a share of the booking.

  • The merchant account

    Card payments settle to the gateway account you open. Gateway fees are between you and that provider. The licence does not add a per-booking payment fee.

  • The brand on the documents

    Logo, colours, vouchers and invoices carry your name. The Powered by link is removed on Enterprise. On Startup and Agency the link stays.

How it works

How a white label travel portal works

One installation, one booking record. The traveller or the agent never has to know which supplier answered the search.

  1. 01

    Search

    The portal asks the suppliers you have switched on — GDS, NDC, low-cost consolidators, bedbanks, activity and car APIs — and returns one list. A slow supplier does not have to block the page; each connection has its own path.

  2. 02

    Markup

    You add your margin on top of the net rate. Startup is a fixed amount. Agency and Enterprise add a percentage as well as a fixed amount. On Enterprise, agent tiers can each carry their own markup.

  3. 03

    Pay

    Checkout uses the payment gateway whose credentials you stored. The customer pays your merchant account. The booking stays pending until the gateway returns a result the booking can act on.

  4. 04

    Voucher

    The confirmation carries your brand and the supplier reference, so your desk, the hotel and the bedbank can find the same booking. Invoices follow the same record.

  5. 05

    Back office

    Admin holds content, markups, bookings and reports. On Enterprise, agents have their own logins. Partner hotels can update rooms from the extranet instead of emailing a spreadsheet.

The wider build — modules, panels and the four commercial models — is on Travel portal development. The booking-system page, White label booking system, stays on that keyword. This page is the portal you put your name on.

B2C, B2B, B2B2C

Which white label portal you actually need

B2C, B2B and B2B2C are modes of one installation. The licence decides which modes are included. They are not three products with three contracts.

  • B2C white label travel portal

    Travellers search and book on your domain. The storefront, the CMS, reports and a fixed markup ship on every licence, including Startup. Startup is English and a single currency. Agency and Enterprise add unlimited languages with RTL. This is the right start for a new agency that sells direct to the public and does not yet have sub-agents.

    B2C storefront: every licence, from Startup.

    Travel booking software

  • B2B white label travel portal

    Sub-agents and resellers book at the net rates you set, with their own logins, credit limits and commissions. The pricing matrix includes the B2B agents portal on Enterprise only. Agency adds the customer wallet; Startup does not. If your business is an agent network, Enterprise is the plan that matches the phrase, and the B2B page is the one to read next.

    B2B agents portal: Enterprise only.

    B2B travel portal

  • B2B2C white label portal

    You sell to travellers and to agents who resell to their own customers, from one installation and one set of supplier credentials. The public site is on every plan. The agent tools that make the second half work — tiers, credit, commissions — are the Enterprise portal. One database means a booking made by an agent and a booking made by a traveller land in the same admin.

    Storefront on every plan. Agent distribution on Enterprise.

    White-label B2B travel portal

Plan differences for markup type, languages, currencies, domains, support times and add-ons are on Pricing. The agent-network page is White-label B2B travel portal. This page does not restate a price the pricing page does not publish.

Your name on it

Your domain, brand and payment gateway

White label is a claim about whose name is on the sale. These are the four places that claim is either true or not.

Payments are covered on Payment gateway integration: you open the merchant account, and the platform connects to it with the credentials you supply. Agent balances, where the plan includes them, are the B2B agent wallet.

  • Your domain

    Startup and Agency are one domain. Enterprise is unlimited domains, so a wholesaler can put agents on one host and the public site on another without a second licence. You register the domain. The installation answers on it.

  • Your logo and colours

    A custom branding package — logo, colours and brand applied for you — is on every plan. Themes: Startup and Agency include one default theme; Enterprise includes all themes. Removing the Powered by link is Enterprise only. If an unmarked storefront is the requirement, price Enterprise, not Startup.

  • Your payment gateway

    Checkout can use a gateway you already have a contract with. The live directory includes Stripe, PayPal and other gateways such as Cashfree, Flutterwave and Paystack. You agree the fees with the provider. PHPTRAVELS does not sit in the settlement.

  • Language and currency

    Startup is English and one currency. Agency adds unlimited languages with RTL and stays on one currency. Enterprise adds unlimited currencies as well. A portal for a market that books in Arabic, or that displays more than one currency, is not a Startup configuration.

Suppliers

GDS, NDC, LCC and bedbank suppliers

The licence includes connectors. It does not include the supplier contract, the credentials, or a promise that a named supplier will accept you. You sign, then you switch the connector on.

NDC and low-cost carriers

NDC and low-cost content comes through consolidators, not as a free airline contract. The flight module names Duffel, Kiwi and PKfare among those paths. You still hold the consolidator account. The portal merges that content into the same result list as the GDS.

Hotel bedbanks and your own rooms

Bedbank connectors include Hotelbeds, and the homepage hub also shows TBO, RateHawk, Stuba and Agoda as stay suppliers the platform can query. Direct contracts sit in the same search: partner hotels update rooms, rates and stop-sells from the extranet. When two bedbanks return the same room, the stays module maps them to one hotel record.

Activities, cars and the wallet

The same pattern covers activities (Viator and Tiqets are on the homepage hub), cars (CarTrawler and others) and ancillaries such as Airalo eSIM. None of those contracts come with the licence. On Agency and Enterprise, the customer wallet holds a stored balance so a repeat client or an agent can book without a fresh card each time.

The live list, including payment gateways, is the All integrations. Copy on this site does not state a supplier count, because the directory is regenerated from the feed and a frozen number would go stale.

Three ways to buy

Rented white label, owned portal, or a custom build

Buyers use one phrase for three purchases. The table separates them. The PHPTRAVELS column is only what the pricing page and the product pages already state. The other two columns describe the shape of those purchases, not a named vendor's price.

Rented SaaS white label compared with a PHPTRAVELS self-hosted white label and a fully custom build
QuestionRented SaaS white labelPHPTRAVELS, self-hostedFully custom build
Who runs itThe vendor hosts a shared platform. You operate a login.You install it on a server you control, or on hosting you buy separately.Whoever the contract names. Hosting is part of the project, not a default.
Source codeUsually not delivered. A change is a request to the vendor.Full source on every licence. The right to modify it is Enterprise.Only if the contract assigns the code to you. It is not assumed.
How you payA recurring fee for as long as the portal stays online. This site does not quote a competitor's rate.A published one-time licence: Startup, Agency or Enterprise. No per-booking fee from PHPTRAVELS.A quote. This site publishes no range for a ground-up portal.
Domain and brandOften your logo on the vendor's domain or a subdomain they control.Your domain. Logo and colours on every plan. Powered by removed on Enterprise. One domain on Startup and Agency; unlimited on Enterprise.Whatever the specification says. Each extra domain is scope.
Payment gatewayOften the vendor's checkout, sometimes with your gateway as an option.Your merchant account and your gateway credentials. Settlement is yours.Built to the gateway you name. The merchant account should still be yours.
SuppliersYou may be limited to the vendor's supplier list, or to reselling their rates.Connectors in the directory. You sign each supplier and enter your own keys.Each integration is written or bought for the project. The contract is still yours.
If you leaveThe portal stops when the subscription stops. An export exists only if the contract grants one.The code and the database are already on your server. Bookings do not live in a tenant you can be locked out of.Depends on who holds the repository and the server. Write it down before you start.
Time to a working platformOften days, because you are configuring a login, not installing software.Published setup: 7 to 10 business days, 1 to 2 business days, or 4 to 6 hours, by plan.No standard window. It follows the specification.
Changing the rulesA vendor ticket, if they accept the change.Markups, languages and currencies follow the plan. Code changes are an Enterprise right, or custom hours on top of a licence.The point of the project. Also the reason it has no published price.
B2B agentsAgent logins are a tier on the subscription, often priced per agent.The B2B portal is an Enterprise licence term. It does not grow with the number of agents. The wallet is on Agency and Enterprise.Designed as features of the project, each one part of the quote.

A longer self-hosted versus SaaS comparison, including what happens to data if you leave, is Self-hosted vs SaaS. When the workflow itself is the product, Custom travel solutions is the engagement. The build across all four commercial models is Travel portal development.

Price

What a white label travel portal costs

The number people ask for is the licence. The number that decides the project is the licence plus hosting, supplier deposits and the add-ons the plan does not include. All three licences below are one-time.

  • The one-time licence

    Startup, Agency and Enterprise are the three published packages. Enterprise can split the payment. Optional maintenance, hosting and supplier fees are quoted separately. The licence is not a subscription.

  • The server

    Self-hosted means the server is yours to choose. Bring your own, or use the published Shared hosting from $15 a month, or the managed VPS hosting from $85 a month. Those are monthly services. They are not inside the licence.

  • Supplier and gateway fees

    GDS, consolidator, bedbank and payment-gateway charges are contracts you sign with those companies. PHPTRAVELS does not add a per-booking fee on top. Budget the deposits those suppliers ask for before you treat the licence as the whole cost.

  • Mobile apps, the JSON API, custom hours

    Native iOS and Android apps, and the JSON API, are add-ons on every plan. Their prices are not on the pricing matrix, so they are quoted when you ask. Custom work is scoped in hours after you own a licence, in 8-hour blocks paid in advance.

Startup

$2,499

B2C site, admin, source code, self-hosted, one domain, English, one currency, fixed markup. Setup in 7 to 10 business days. No B2B portal, no wallet, Powered by link stays, updates bought separately.

Agency

$4,999

Startup, plus the customer wallet, unlimited languages with RTL, fixed and percentage markups, and rush setup in 1 to 2 business days. Still one currency, one domain, no B2B portal, Powered by link stays.

Enterprise

$9,999

Adds the B2B agents portal, white-label removal of the Powered by link, code customisation, all themes, unlimited currencies and domains, lifetime updates, ongoing maintenance, and rush setup in 4 to 6 hours.

The three figures are the one-time licences on Pricing. Support first-response is 4 to 6 days on Startup, 2 to 3 days on Agency, and within 24 hours on Enterprise, by WhatsApp, chat, email and tickets. App scope is on Mobile apps. Hours beyond the product are on Customization.

Before go-live

Launch checklist

The software part follows the setup window of the plan you buy. Supplier contracts usually take longer than the installation, so start them first. Nothing here is a timeline this site does not publish.

  1. Name the commercial model

    B2C only can start on Startup or Agency. Sub-agents, unmarked white label, more than one currency or more than one domain means Enterprise. Write that down before you pay, so you do not buy Startup and then discover the agent portal is a different plan.

  2. Register the domain and point it

    Buy the domain in your company's name. Point it at the installation during setup. On Startup and Agency that is one domain. On Enterprise, decide which host is the public site and which is the agent site if you want them separate.

  3. Send the brand package

    Logo, colours and the name that should appear on vouchers and invoices. Confirm whether the Powered by link must go. If it must, the plan is Enterprise. Themes beyond the default are Enterprise too.

  4. Sign suppliers and store credentials

    Open or confirm the GDS, NDC or low-cost consolidator, and at least one bedbank if you sell hotels. Enter those credentials in admin yourself. The connector is useless until the supplier has accepted your agreement.

  5. Set markups, and agent rules if you have agents

    Fixed markup on Startup. Fixed and percentage on Agency and Enterprise. On Enterprise, define agent tiers, credit limits and commissions before the first agent logs in. The wallet, if you want stored balances, is Agency or Enterprise.

  6. Open the merchant account

    Apply to the gateway you will use, finish their checks, and store live credentials only after sandbox payments succeed. Refunds and the booking status have to agree, so test a failed payment as well as a successful one.

  7. Turn on languages and currencies the plan allows

    English and one currency on Startup. Unlimited languages with RTL from Agency. Unlimited currencies on Enterprise. Do not promise a second currency on a Startup proposal; the matrix does not include it.

  8. Walk one booking on the demo, then on your install

    Use the public demo to follow search, markup, payment and voucher before you buy. After setup, repeat that path on your domain with your credentials. Custom modules, if you need them, are scoped in hours only once the licence is in place.

Ownership and exit

What you keep if you leave the vendor

The question behind most white-label purchases is not the logo. It is what is left when the relationship ends.

On a PHPTRAVELS installation the source and the database are already on your server. Bookings, customer records, invoices and agent accounts do not have to be exported out of a vendor account you are about to lose. Supplier contracts are in your company's name, so a GDS or bedbank agreement survives a change of software. The merchant account is yours, so settlement does not run through PHPTRAVELS.

Leaving is not the same thing as keeping every future update. Enterprise includes lifetime updates, security patches and one-click upgrades. On Startup and Agency, updates can be bought separately when you need them. The installation you already have keeps running either way: stopping updates does not switch the portal off, because nobody else is hosting it. Code customisation rights, and removal of the Powered by link, stay Enterprise terms. Holding the source on Startup does not by itself include permission to modify it.

A rented portal fails this test in the other direction. When the subscription stops, the site stops, and you receive a data export only if the contract granted one. The longer comparison of that exit is Self-hosted vs SaaS. Read it before you treat a low monthly fee as the cheaper three-year choice. This page does not invent a three-year total, because your server cost and your supplier deposits are yours to add.

Is a white label travel portal a fit for a new agency?

Yes, when the new agency sells to travellers on one domain, in English, in one currency, and can wait 7 to 10 business days for setup. That is Startup, and it is a real branded B2C portal with source code. It is a poor fit when the business plan depends on sub-agents, several currencies, an unmarked storefront, or a mobile app in the first release. Those are Enterprise, or an add-on quoted on top. Do not buy the smallest licence and plan to discover the agent portal later; the matrix is public.

A practical order for a first OTA is on Start an online travel agency: model, suppliers, domain, then the licence that matches. The demo is the check that the admin and the storefront are what you expect.

Mobile

Does a white label travel portal include a mobile app?

The website is responsive on every plan. Native iOS and Android apps are a separate add-on, not a line in the three licence prices.

The Mobile apps run on the same installation as the site, so inventory, markups, customer accounts and bookings stay the same channel to channel. They are sold as an add-on to Startup, Agency or Enterprise, built with your name, icon and colours, and published on the App Store and Google Play.

There is no printed app price on the pricing matrix. Ask for a quote. Do not treat a vendor page that says “mobile included” as a comparison until you know whether they mean a responsive site or a store listing. Test builds are reviewed on your own devices before anything is submitted to the stores.

  • Same bookings as the website

    Search, prices and the booking record are the platform you already run, not a second catalogue.

  • Your name on both stores

    App name, icon and brand colour are yours. You send the store details; the build follows them.

  • The products you already sell

    Flights, hotels, tours and cars, plus the other modules you enable. You choose what the app offers.

  • Quoted, not bundled

    An add-on on every plan. The JSON API, if a third party must talk to the platform, is a separate add-on too.

FAQ

Questions about a white label travel portal

Short answers from the product as it is sold. Prices and setup times match the pricing page. The starting licence in the cost answer is Startup.

Talk to sales

Booking software a travel business runs under its own name. Customers see your domain, logo and prices. PHPTRAVELS is the self-hosted version: you licence it once, install it on your server, and keep the source code. It is not a login on a platform someone else hosts.

The portal searches the suppliers you have connected, applies your markup, takes payment through your gateway and issues a voucher on your brand. One booking record feeds the admin, the invoice and, on Enterprise, the agent who sold it.

Three one-time licences are published. Startup is $2,499. Agency and Enterprise are the two higher prices on this page and on the pricing page. Hosting, supplier fees, mobile apps, the JSON API and custom hours are separate. There is no per-booking fee from PHPTRAVELS.

A white label here starts from a finished booking platform with a published setup window. A custom build starts from a specification and has no published price or duration on this site. Custom hours can still be added on top of a licence, in 8-hour blocks paid in advance, once you own one.

B2C, the traveller site, is on every licence. B2B, the agent portal, is Enterprise only. B2B2C is both, from one installation: the public site on any plan, the agent tools on Enterprise. If you only sell to the public, do not pay for Enterprise just to have it.

Yes. The site runs on your domain — one on Startup and Agency, unlimited on Enterprise. Logo and colours are applied on every plan. Your payment gateway uses credentials you supply, and the money settles to your merchant account. Removing the Powered by link is Enterprise.

Connectors cover Amadeus, Sabre and Travelport, plus NDC and low-cost content through consolidators such as Duffel, Kiwi and PKfare, and hotel bedbanks such as Hotelbeds. The licence does not include the supplier contract. You sign, then you enter your own credentials. The integrations directory is the live list.

Platform setup is 7 to 10 business days on Startup, 1 to 2 business days rush on Agency, and 4 to 6 hours rush on Enterprise, including installation, configuration and testing. Supplier approval can take longer than setup. Custom development is extra and is scoped after you own a licence.

The source code ships with every licence, and the database is on your server, so bookings are not locked in a vendor account. Enterprise includes lifetime updates and the right to modify the code. On Startup and Agency you can buy updates separately; the installation you have keeps running. A rented platform stops when the subscription stops.

For a B2C site in English, one currency and one domain, Startup is the published fit, at $2,499, with setup in 7 to 10 business days. It is the wrong plan if you need sub-agents, several currencies or the Powered by link removed. Those are Enterprise.

The website is responsive on every plan. Native iOS and Android apps are an add-on on every plan, on the same installation, with your branding, published to the App Store and Google Play. The app price is not printed on the pricing matrix; it is quoted when you ask.