Skip to main content
Book business travel directly in New Expensify with access to competitive rates and automatic expense creation.

Before You Book

Ensure you have:
1

Travel Access

Verify you have travel features enabled for your workspace
2

Accepted Terms

Review and accept the Spotnana travel terms and conditions
3

Traveler Profile

Complete your traveler profile with legal name and date of birth
4

Payment Method

Add a payment method for booking

Booking Flights

Search and book flights through the Expensify travel interface:

Search Flights

  1. Origin and Destination: Enter departure and arrival airports
  2. Dates: Select your travel dates (one-way, round-trip, or multi-city)
  3. Passengers: Specify number of travelers
  4. Class: Choose economy, premium economy, business, or first class

Select Flight

Review flight options:
// Source: src/pages/Travel/FlightTripDetails.tsx
const cabinClassMapping: Record<string, string> = {
    UNKNOWN_CABIN: translate('travel.flightDetails.cabinClasses.unknown'),
    ECONOMY: translate('travel.flightDetails.cabinClasses.economy'),
    PREMIUM_ECONOMY: translate('travel.flightDetails.cabinClasses.premiumEconomy'),
    BUSINESS: translate('travel.flightDetails.cabinClasses.business'),
    FIRST: translate('travel.flightDetails.cabinClasses.first'),
};
  • Compare prices across airlines
  • View flight duration and layovers
  • Check baggage policies
  • Review cancellation policies

Flight Details

When viewing flight details, you’ll see:
// Source: src/pages/Travel/FlightTripDetails.tsx
const startDate = DateUtils.getFormattedTransportDateAndHour(new Date(reservation.start.date));
const endDate = DateUtils.getFormattedTransportDateAndHour(new Date(reservation.end.date));
const flightDuration = reservation.duration ? DateUtils.getFormattedDuration(translate, reservation.duration) : '';
const flightRouteDescription = `${reservation.start.cityName} (${reservation.start.shortName}) ${translate('common.conjunctionTo')} ${reservation.end.cityName} (${reservation.end.shortName})`;
Flight Information:
  • Flight number and airline
  • Departure and arrival times
  • Airport terminals and gates
  • Seat assignments
  • Cabin class
  • Record locator (confirmation number)
  • Passenger details

Layovers

For connecting flights, layover information is displayed:
// Source: src/pages/Travel/FlightTripDetails.tsx
const prevFlightEndDate = prevReservation?.end.date;
const layover = prevFlightEndDate && DateUtils.getFormattedDurationBetweenDates(
    translate, 
    new Date(prevFlightEndDate), 
    new Date(reservation.start.date)
);

{!!layover && (
    <View style={[styles.flexRow, styles.alignItemsCenter, styles.mh5, styles.mv3, styles.gap2]}>
        <Icon
            src={expensifyIcons.Hourglass}
            height={variables.iconSizeNormal}
            width={variables.iconSizeNormal}
            fill={theme.icon}
        />
        <RenderHTML html={translate('travel.flightDetails.layover', layover)} />
    </View>
)}
Layover duration is calculated automatically between connecting flights to help you plan accordingly.

Complete Booking

  1. Review Details: Verify passenger information and flight details
  2. Select Payment: Choose payment method
  3. Confirm: Complete the booking
  4. Confirmation: Receive booking confirmation via email

Booking Hotels

Search and book hotels for your business travel:

Search Hotels

  1. Location: Enter destination city or hotel name
  2. Check-in/Check-out: Select your stay dates
  3. Guests: Specify number of guests and rooms
  4. Filters: Apply filters (price, amenities, rating, etc.)

Select Hotel

Review hotel options:
  • Compare prices and locations
  • View photos and amenities
  • Check guest reviews and ratings
  • Review cancellation policies

Hotel Details

When viewing hotel details:
// Source: src/pages/Travel/HotelTripDetails.tsx
const checkInDate = DateUtils.getFormattedTransportDateAndHour(new Date(reservation.start.date));
const checkOutDate = DateUtils.getFormattedTransportDateAndHour(new Date(reservation.end.date));
Hotel Information:
  • Hotel name and address
  • Check-in and check-out dates
  • Room type and description
  • Cancellation policy
  • Confirmation number
  • Guest information

Cancellation Policies

Understand hotel cancellation terms:
// Source: src/pages/Travel/HotelTripDetails.tsx
const cancellationMapping: Record<string, string> = {
    [CONST.CANCELLATION_POLICY.UNKNOWN]: translate('travel.hotelDetails.cancellationPolicies.unknown'),
    [CONST.CANCELLATION_POLICY.NON_REFUNDABLE]: translate('travel.hotelDetails.cancellationPolicies.nonRefundable'),
    [CONST.CANCELLATION_POLICY.FREE_CANCELLATION_UNTIL]: translate('travel.hotelDetails.cancellationPolicies.freeCancellationUntil'),
    [CONST.CANCELLATION_POLICY.PARTIALLY_REFUNDABLE]: translate('travel.hotelDetails.cancellationPolicies.partiallyRefundable'),
};

const cancellationText = reservation.cancellationDeadline
    ? `${translate('travel.hotelDetails.cancellationUntil')} ${DateUtils.getFormattedCancellationDate(new Date(reservation.cancellationDeadline))}`
    : cancellationMapping[reservation.cancellationPolicy ?? CONST.CANCELLATION_POLICY.UNKNOWN];
Pay attention to cancellation policies. Non-refundable rates may not be cancellable or changeable without penalty.

Complete Booking

  1. Review Details: Verify hotel and guest information
  2. Select Payment: Choose payment method
  3. Special Requests: Add any special requests (late check-in, room preferences, etc.)
  4. Confirm: Complete the booking
  5. Confirmation: Receive booking confirmation and hotel details

Booking Rental Cars

Rent cars for your business travel:

Search Rental Cars

  1. Pick-up Location: Enter pick-up location (airport or address)
  2. Drop-off Location: Choose drop-off location (same or different)
  3. Dates and Times: Select pick-up and drop-off dates/times
  4. Filters: Filter by car type, transmission, company, etc.

Select Rental Car

Compare rental car options:
  • View car types and sizes
  • Compare prices across providers
  • Check mileage limits
  • Review insurance options

Rental Car Details

When viewing rental car details:
// Source: src/pages/Travel/CarTripDetails.tsx
const pickUpDate = DateUtils.getFormattedTransportDateAndHour(new Date(reservation.start.date));
const dropOffDate = DateUtils.getFormattedTransportDateAndHour(new Date(reservation.end.date));

let cancellationText = reservation.cancellationPolicy;
if (reservation.cancellationDeadline) {
    cancellationText = `${translate('travel.carDetails.cancellationUntil')} ${DateUtils.getFormattedCancellationDate(new Date(reservation.cancellationDeadline))}`;
}

if (reservation.cancellationPolicy === null && reservation.cancellationDeadline === null) {
    cancellationText = translate('travel.carDetails.freeCancellation');
}
Rental Car Information:
  • Rental company and vehicle type
  • Pick-up date, time, and location
  • Drop-off date, time, and location
  • Car type and features
  • Cancellation policy
  • Confirmation number
  • Driver information

Complete Booking

  1. Review Details: Verify rental and driver information
  2. Add Driver Info: Provide driver’s license information
  3. Select Payment: Choose payment method
  4. Insurance: Select insurance coverage options
  5. Confirm: Complete the booking
  6. Confirmation: Receive rental confirmation and voucher

Policy Compliance

When booking travel, the interface indicates policy compliance:
  • In Policy: Booking meets all workspace travel policies
  • Out of Policy: Booking exceeds policy limits (may require approval)
  • Reason Required: Explanation needed for out-of-policy bookings
Out-of-policy bookings may require additional approval from your manager or finance team.

Passenger Information

For all bookings, provide accurate passenger/guest information:
  • Legal name (as it appears on ID)
  • Date of birth
  • Contact information (email, phone)
  • Known Traveler Number (TSA PreCheck, Global Entry)
  • Frequent flyer numbers
  • Special assistance needs

Payment Options

Choose from available payment methods:
  1. Company Card: Use workspace-linked company credit card
  2. Personal Card: Use personal card for later reimbursement
  3. Expensify Card: Use Expensify Card for automatic expense tracking

Booking Confirmation

After booking, you’ll receive:
  1. Email Confirmation: Detailed booking confirmation via email
  2. Trip Added: Booking appears in “My Trips”
  3. Expense Created: Expense automatically added to a report
  4. Receipt Attached: Booking details attached as receipt

Managing Bookings

After booking:
  • View trip details in My Trips
  • Modify or cancel bookings (subject to policies)
  • Add trip notes or preferences
  • Share itinerary with colleagues
  • Check in for flights
  • Access boarding passes and vouchers

Group Travel

For booking travel for multiple people:
  1. Add all travelers to the booking
  2. Ensure each traveler has a complete profile
  3. Provide payment information
  4. Individual confirmations sent to each traveler
  5. Expenses created for each booking

International Travel

For international travel:
  • Verify passport information is current
  • Check visa requirements for destination
  • Review travel advisories
  • Consider travel insurance
  • Ensure mobile phone service or international plan

Best Practices

  1. Book Early: Better rates and availability for advance bookings
  2. Compare Options: Review multiple options before booking
  3. Check Policies: Understand cancellation and change policies
  4. Verify Details: Double-check all dates, times, and names
  5. Save Confirmations: Keep booking confirmations accessible
  6. Policy Compliance: Stay within company travel policies
  7. Loyalty Programs: Add frequent flyer and hotel loyalty numbers

Troubleshooting

If booking fails:
  • Verify payment method is valid
  • Check that all required fields are complete
  • Ensure dates are in the future
  • Try a different payment method
  • Contact Concierge for assistance
If price changes during booking:
  • Prices may fluctuate based on availability
  • Complete booking quickly to lock in rate
  • Check if there are cheaper alternatives
If booking is out of policy:
  • Provide business justification
  • Contact manager for pre-approval
  • Consider alternative options within policy
  • Be prepared for additional approval steps

Support

For booking assistance:
  • Contact Expensify Concierge during the booking process
  • Review trip details in the My Trips page
  • Email confirmations include support contact information
  • Check Spotnana support for provider-specific questions

Build docs developers (and LLMs) love