Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Expensify/App/llms.txt

Use this file to discover all available pages before exploring further.

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