> ## Documentation Index
> Fetch the complete documentation index at: https://code.dcycle.io/llms.txt
> Use this file to discover all available pages before exploring further.

# S3. Category 6: Business Travel

> Track emissions from employee business travel including flights, trains, rental cars, and more using Dcycle's Business Travel API

## Understanding Scope 3 Category 6

**Business travel** covers emissions from the transportation of employees for business-related activities in vehicles not owned or operated by your organization. According to the [GHG Protocol Scope 3 Standard](https://ghgprotocol.org/sites/default/files/2022-12/Chapter6.pdf), Category 6 includes:

* **Air travel**: Commercial flights (domestic and international)
* **Rail travel**: Trains, metro, and high-speed rail
* **Road travel**: Rental cars, taxis, ride-sharing, buses
* **Other transport**: Ferries, company events transport

```
┌─────────────────────────────────────────────────────────────────────────────┐
│              SCOPE 3 CATEGORY 6: Business Travel                            │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  YOUR EMPLOYEES                               TRAVEL MODES                  │
│  ──────────────────                           ─────────────                 │
│                                                                             │
│  ┌──────────────┐                            ┌──────────────┐               │
│  │   Sales      │──┐                    ┌───►│   ✈️ Flights  │               │
│  │   Team       │  │                    │    │   (Aircraft) │               │
│  └──────────────┘  │                    │    └──────────────┘               │
│                    │    ┌──────────┐    │                                   │
│  ┌──────────────┐  │    │ Business │    │    ┌──────────────┐               │
│  │  Executive   │──┼───►│  Trips   │────┼───►│   🚂 Rail     │               │
│  │   Team       │  │    │          │    │    │   (Train)    │               │
│  └──────────────┘  │    └──────────┘    │    └──────────────┘               │
│                    │         │          │                                   │
│  ┌──────────────┐  │         │          │    ┌──────────────┐               │
│  │  Technical   │──┘         │          └───►│   🚗 Road     │               │
│  │   Team       │            │               │   (Car/Bus)  │               │
│  └──────────────┘            │               └──────────────┘               │
│                              │                                              │
│                    ┌─────────▼─────────┐                                    │
│                    │    CATEGORY 6     │                                    │
│                    │   Emissions from  │                                    │
│                    │  employee travel  │                                    │
│                    │   for business    │                                    │
│                    └───────────────────┘                                    │
│                                                                             │
│  INCLUDED:                             NOT INCLUDED:                        │
│  • Client meetings                     • Daily commuting (Category 7)       │
│  • Conferences & events                • Company-owned vehicles (Scope 1)   │
│  • Site visits                         • Remote work                        │
│  • Training travel                     • Personal travel                    │
│  • Sales trips                                                              │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘
```

<Note>
  **Category 6 vs Category 7**

  * **Category 6 (Business Travel)**: Trips for business purposes (meetings, conferences, site visits)
  * **Category 7 (Employee Commuting)**: Daily travel between home and work
</Note>

## Prerequisites

Before starting, ensure you have:

* Dcycle API credentials ([get them here](/docs/quickstart#step-1-get-your-api-key))
* Completed [Step 1: Company Structure](/guides/emissions/ghg-protocol-step-1-company-structure)
* Travel data: origin, destination, transport mode, dates
* Basic knowledge of Python or JavaScript

<Tip>
  **Using the Dcycle App?**

  You can track business travel through our web interface:

  * Manual entry for individual trips
  * CSV bulk upload for expense reports
  * Integration with travel management systems
</Tip>

## Data Map: Category 6 Requirements Overview

```
┌─────────────────────────────────────────────────────────────────────────────────────────┐
│                   CATEGORY 6 DATA REQUIREMENTS OVERVIEW                                  │
├─────────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                         │
│  ┌─────────────────────────────────────────────────────────────────────────────────┐   │
│  │ BUSINESS TRAVEL RECORD                                                          │   │
│  ├─────────────────────────────────────────────────────────────────────────────────┤   │
│  │                                                                                 │   │
│  │  Required Fields              Optional Fields                                   │   │
│  │  ──────────────────           ──────────────────                                │   │
│  │  • origin OR distance_km      • name (trip description)                         │   │
│  │  • destination OR distance_km • vehicle_size                                    │   │
│  │  • transport_type             • fuel_type                                       │   │
│  │  • travel_type (round/one_way)• renewable_energy                                │   │
│  │  • travel_number              • email (traveler)                                │   │
│  │  • start_date                 • file_url (receipt)                              │   │
│  │  • end_date                                                                     │   │
│  │                                                                                 │   │
│  └─────────────────────────────────────────────────────────────────────────────────┘   │
│                                                                                         │
│  ┌─────────────────────────────────────────────────────────────────────────────────┐   │
│  │ CALCULATION FLOW                                                                │   │
│  ├─────────────────────────────────────────────────────────────────────────────────┤   │
│  │                                                                                 │   │
│  │  Origin + Destination ──► Distance (km) [via Google Maps API]                   │   │
│  │                                │                                                │   │
│  │  Transport Type ──────────────┼──► Emission Factor (kg CO₂e/km)                 │   │
│  │                               │                                                 │   │
│  │  Travel Type × Number ────────┼──► Trip Multiplier                              │   │
│  │                               │                                                 │   │
│  │  CO₂e = Distance × EF × Trip Multiplier                                         │   │
│  │                                                                                 │   │
│  └─────────────────────────────────────────────────────────────────────────────────┘   │
│                                                                                         │
└─────────────────────────────────────────────────────────────────────────────────────────┘
```

## Transport Types

### Air Travel (Aircraft)

For flights, emission factors are automatically determined by distance:

| Aircraft Size | Distance Range | Description                |
| ------------- | -------------- | -------------------------- |
| `very_short`  | 0–800 km       | Regional flights           |
| `short`       | 800–1,500 km   | Domestic/short-haul        |
| `medium`      | 1,500–4,000 km | Medium-haul international  |
| `long`        | 4,000+ km      | Long-haul intercontinental |

<Info>
  **Automatic Aircraft Sizing**

  When you specify `transport_type: "aircraft"`, Dcycle automatically determines the aircraft size based on the calculated distance between origin and destination. You don't need to specify `vehicle_size` for flights.
</Info>

### Ground Transport

| Transport Type | Description                | Emission Factor Basis |
| -------------- | -------------------------- | --------------------- |
| `car`          | Rental cars, taxis         | Per passenger-km      |
| `bus`          | Coach buses                | Per passenger-km      |
| `train`        | Rail (intercity, regional) | Per passenger-km      |
| `metro`        | Urban metro/subway         | Per passenger-km      |
| `tram`         | Trams/light rail           | Per passenger-km      |

**Vehicle options for cars:**

| Vehicle Size | Fuel Type                                | Example           |
| ------------ | ---------------------------------------- | ----------------- |
| `small`      | `petrol`, `diesel`, `electric`, `hybrid` | Compact cars      |
| `medium`     | `petrol`, `diesel`, `electric`, `hybrid` | Sedans            |
| `large`      | `petrol`, `diesel`, `electric`, `hybrid` | SUVs, luxury cars |

## Emission Factor Sources

Dcycle uses business travel emission factors from **Ecoinvent**:

<AccordionGroup>
  <Accordion title="Ecoinvent Database">
    **Ecoinvent 3.8+ Cut-off**

    * Comprehensive lifecycle emission factors by transport mode
    * Regional variations (country-specific where available)
    * Covers aircraft, rail, road, and public transport
    * Includes vehicle manufacturing and fuel production (WTW)
  </Accordion>

  <Accordion title="Distance Calculation">
    **Google Maps API:**

    * Road distances for car, bus travel
    * Direct distance (great circle) for flights
    * Rail network distances where available

    If origin/destination aren't provided, you can supply `distance_km` directly.
  </Accordion>
</AccordionGroup>

## Step 1: Create Business Travel Records

<Accordion title="📋 Data Map: Single Trip">
  | Field            | Type   | Required | Description                       | Example              |
  | ---------------- | ------ | -------- | --------------------------------- | -------------------- |
  | `origin`         | string | ⚠️       | Departure city/location           | `"Madrid, Spain"`    |
  | `destination`    | string | ⚠️       | Arrival city/location             | `"London, UK"`       |
  | `distance_km`    | number | ⚠️       | Distance (if origin/dest unknown) | `1250`               |
  | `transport_type` | string | ✅        | Mode of transport                 | `"aircraft"`         |
  | `travel_type`    | string | ✅        | Round trip or one-way             | `"round"`            |
  | `travel_number`  | number | ✅        | Number of trips                   | `1`                  |
  | `start_date`     | date   | ✅        | Trip start date                   | `"2024-03-15"`       |
  | `end_date`       | date   | ✅        | Trip end date                     | `"2024-03-17"`       |
  | `vehicle_size`   | string | ❌        | For cars: small/medium/large      | `"medium"`           |
  | `fuel_type`      | string | ❌        | For cars: petrol/diesel/electric  | `"petrol"`           |
  | `name`           | string | ❌        | Trip description                  | `"Client meeting"`   |
  | `email`          | string | ❌        | Traveler email                    | `"john@company.com"` |

  ⚠️ **Conditional requirements:**

  * Either `origin` + `destination` OR `distance_km` must be provided
  * If both are provided, `distance_km` takes precedence

  **Where to get this data:**

  * **Origin/Destination**: Travel bookings, expense reports
  * **Transport type**: Flight/train tickets, car rental invoices
  * **Dates**: Itinerary, calendar entries
</Accordion>

Track individual business trips:

<CodeGroup>
  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import requests
  import os

  headers = {
      "Authorization": f"Bearer {os.getenv('DCYCLE_API_KEY')}",
      "Content-Type": "application/json",
      "x-organization-id": os.getenv("DCYCLE_ORG_ID"),
      "x-user-id": os.getenv("DCYCLE_USER_ID"),
  }

  # Example: Round-trip flight for client meeting
  business_travel = {
      "origin": "Madrid, Spain",
      "destination": "London, UK",
      "transport_type": "aircraft",
      "travel_type": "round",  # Round trip (multiplied by 2)
      "travel_number": 1,
      "start_date": "2024-03-15",
      "end_date": "2024-03-17",
      "name": "Client meeting - Acme Corp",
      "email": "john.smith@company.com",
  }

  response = requests.post(
      "https://api.dcycle.io/v1/business_travels",
      headers=headers,
      json=business_travel
  ).json()

  print(f"✅ Business travel created")
  print(f"   ID: {response['id']}")
  print(f"   Route: {business_travel['origin']} → {business_travel['destination']}")
  print(f"   Transport: {business_travel['transport_type']}")
  print(f"   Type: {business_travel['travel_type']} trip")
  print(f"   Distance: {response.get('distance_km', 'Calculating...')} km")
  print(f"   CO₂e: {response.get('co2e', 'Calculating...')} kg")
  ```

  ```javascript JavaScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const axios = require('axios');

  const headers = {
    'Authorization': `Bearer ${process.env.DCYCLE_API_KEY}`,
    'Content-Type': 'application/json',
    'x-organization-id': process.env.DCYCLE_ORG_ID,
    'x-user-id': process.env.DCYCLE_USER_ID
  };

  // Example: Round-trip flight for client meeting
  const businessTravel = {
    origin: 'Madrid, Spain',
    destination: 'London, UK',
    transport_type: 'aircraft',
    travel_type: 'round',
    travel_number: 1,
    start_date: '2024-03-15',
    end_date: '2024-03-17',
    name: 'Client meeting - Acme Corp',
    email: 'john.smith@company.com'
  };

  const response = await axios.post(
    'https://api.dcycle.io/v1/business_travels',
    businessTravel,
    { headers }
  ).then(res => res.data);

  console.log('✅ Business travel created');
  console.log(`   ID: ${response.id}`);
  console.log(`   Route: ${businessTravel.origin} → ${businessTravel.destination}`);
  console.log(`   Transport: ${businessTravel.transport_type}`);
  console.log(`   Type: ${businessTravel.travel_type} trip`);
  ```
</CodeGroup>

### Common Travel Scenarios

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
# Example business travel records for different scenarios

travel_records = [
    # International flight (round trip)
    {
        "origin": "New York, USA",
        "destination": "London, UK",
        "transport_type": "aircraft",
        "travel_type": "round",
        "travel_number": 1,
        "start_date": "2024-01-15",
        "end_date": "2024-01-18",
        "name": "Annual conference",
    },
    # Domestic flight (one way)
    {
        "origin": "Barcelona, Spain",
        "destination": "Madrid, Spain",
        "transport_type": "aircraft",
        "travel_type": "one_way",
        "travel_number": 1,
        "start_date": "2024-02-10",
        "end_date": "2024-02-10",
        "name": "Office visit",
    },
    # Train travel (round trip)
    {
        "origin": "Paris, France",
        "destination": "Brussels, Belgium",
        "transport_type": "train",
        "travel_type": "round",
        "travel_number": 2,  # 2 round trips
        "start_date": "2024-02-01",
        "end_date": "2024-02-28",
        "name": "Monthly client visits",
    },
    # Rental car (multiple one-way trips)
    {
        "origin": "Munich, Germany",
        "destination": "Stuttgart, Germany",
        "transport_type": "car",
        "vehicle_size": "medium",
        "fuel_type": "diesel",
        "travel_type": "one_way",
        "travel_number": 5,
        "start_date": "2024-03-01",
        "end_date": "2024-03-31",
        "name": "Factory visits",
    },
    # Electric rental car
    {
        "origin": "Amsterdam, Netherlands",
        "destination": "Rotterdam, Netherlands",
        "transport_type": "car",
        "vehicle_size": "small",
        "fuel_type": "electric",
        "travel_type": "round",
        "travel_number": 3,
        "start_date": "2024-03-01",
        "end_date": "2024-03-31",
        "name": "Partner meetings",
    },
]

# Create all travel records
for travel in travel_records:
    response = requests.post(
        "https://api.dcycle.io/v1/business_travels",
        headers=headers,
        json=travel
    ).json()
    
    trip_type = "↔️" if travel['travel_type'] == 'round' else "→"
    print(f"   {travel['name']}: {travel['origin']} {trip_type} {travel['destination']}")
    print(f"      Mode: {travel['transport_type']} | Trips: {travel['travel_number']}")
    print(f"      CO₂e: {response.get('co2e', 'Calculating...')} kg")
    print()

print(f"✅ Created {len(travel_records)} travel records")
```

## Step 2: Bulk Upload Business Travel

For organizations with many trips, use CSV upload:

### CSV Format

```csv theme={"theme":{"light":"github-light","dark":"github-dark"}}
description(optional),start_date,end_date,origin,destination,distance_km(optional),transport_type,vehicle_size(optional),fuel_type(optional),travel_type,travel_number,email(optional)
"Annual conference",2024-01-15,2024-01-18,"New York, USA","London, UK",,aircraft,,,round,1,john@company.com
"Client meeting",2024-02-10,2024-02-10,"Barcelona, Spain","Madrid, Spain",,aircraft,,,one_way,1,
"Monthly visits",2024-02-01,2024-02-28,"Paris, France","Brussels, Belgium",,train,,,round,2,
"Factory visits",2024-03-01,2024-03-31,"Munich, Germany","Stuttgart, Germany",,car,medium,diesel,one_way,5,
"Partner meetings",2024-03-01,2024-03-31,,,80,car,small,electric,round,3,
```

<Note>
  **CSV Notes:**

  * `distance_km` can be provided instead of origin/destination
  * `vehicle_size` and `fuel_type` only apply to cars
  * `travel_type`: use `round` or `one_way`
  * `travel_number`: multiply for recurring trips
</Note>

### Upload CSV

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
import requests
import os

headers = {
    "Authorization": f"Bearer {os.getenv('DCYCLE_API_KEY')}",
    "x-organization-id": os.getenv("DCYCLE_ORG_ID"),
    "x-user-id": os.getenv("DCYCLE_USER_ID"),
}

# Upload CSV file
with open("business_travel_2024.csv", "rb") as f:
    files = {"file": ("business_travel_2024.csv", f, "text/csv")}
    
    response = requests.post(
        "https://api.dcycle.io/v1/business_travels/bulk/csv",
        headers=headers,
        files=files
    )

if response.status_code == 200:
    result = response.json()
    print(f"✅ Uploaded {result.get('records_processed', 0)} travel records")
    print(f"   Total CO₂e: {result.get('total_co2e', 0):,.0f} kg")
else:
    print(f"❌ Upload failed: {response.text}")
```

## Step 3: Query Category 6 Emissions

### Get Business Travel Totals

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
import requests
import os

headers = {
    "Authorization": f"Bearer {os.getenv('DCYCLE_API_KEY')}",
    "Content-Type": "application/json",
    "x-organization-id": os.getenv("DCYCLE_ORG_ID"),
    "x-user-id": os.getenv("DCYCLE_USER_ID"),
}

# Get all business travel for 2024
response = requests.get(
    "https://api.dcycle.io/v1/business_travels",
    headers=headers,
    params={
        "start_date": "2024-01-01",
        "end_date": "2024-12-31",
    }
).json()

print(f"📊 Scope 3 Category 6: Business Travel (2024)")
print("=" * 60)

total_distance = 0
total_co2e = 0
total_trips = 0

for travel in response.get('items', []):
    distance = travel.get('distance_km', 0) or 0
    co2e = travel.get('co2e', 0) or 0
    trips = travel.get('travel_number', 1)
    
    # Account for round trips
    if travel.get('travel_type') == 'round':
        distance *= 2
        trips *= 2
    
    total_distance += distance * trips
    total_co2e += co2e
    total_trips += trips

print(f"   Total trips: {total_trips:,}")
print(f"   Total distance: {total_distance:,.0f} km")
print(f"   Total CO₂e: {total_co2e:,.0f} kg ({total_co2e/1000:.1f} tonnes)")
```

### Analyze by Transport Mode

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
from collections import defaultdict

# Group by transport type
transport_summary = defaultdict(lambda: {"trips": 0, "distance": 0, "co2e": 0})

for travel in response.get('items', []):
    transport = travel.get('transport_type', 'unknown')
    distance = travel.get('distance_km', 0) or 0
    co2e = travel.get('co2e', 0) or 0
    trips = travel.get('travel_number', 1)
    
    if travel.get('travel_type') == 'round':
        distance *= 2
        trips *= 2
    
    transport_summary[transport]["trips"] += trips
    transport_summary[transport]["distance"] += distance * trips
    transport_summary[transport]["co2e"] += co2e

print("\n📊 Category 6 by Transport Mode:")
print("-" * 50)

transport_icons = {
    "aircraft": "✈️",
    "train": "🚂",
    "car": "🚗",
    "bus": "🚌",
    "metro": "🚇",
}

for transport, data in sorted(transport_summary.items(), key=lambda x: x[1]['co2e'], reverse=True):
    icon = transport_icons.get(transport, "🚀")
    percentage = (data['co2e'] / total_co2e * 100) if total_co2e > 0 else 0
    
    print(f"   {icon} {transport.capitalize()}:")
    print(f"      Trips: {data['trips']:,}")
    print(f"      Distance: {data['distance']:,.0f} km")
    print(f"      CO₂e: {data['co2e']:,.0f} kg ({percentage:.1f}%)")
    print()
```

### Analyze by Employee/Traveler

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
# Group by traveler email
traveler_summary = defaultdict(lambda: {"trips": 0, "co2e": 0})

for travel in response.get('items', []):
    email = travel.get('email', 'Unknown')
    co2e = travel.get('co2e', 0) or 0
    trips = travel.get('travel_number', 1)
    
    if travel.get('travel_type') == 'round':
        trips *= 2
    
    traveler_summary[email]["trips"] += trips
    traveler_summary[email]["co2e"] += co2e

print("\n📊 Top 10 Travelers by Emissions:")
print("-" * 50)

sorted_travelers = sorted(traveler_summary.items(), key=lambda x: x[1]['co2e'], reverse=True)[:10]

for i, (email, data) in enumerate(sorted_travelers, 1):
    print(f"   {i}. {email}")
    print(f"      Trips: {data['trips']:,} | CO₂e: {data['co2e']:,.0f} kg")
```

## Best Practices

### 1. Encourage Lower-Carbon Alternatives

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
# Identify flights that could be replaced by train
def suggest_train_alternatives(travels):
    """Find short flights that could use rail instead"""
    
    suggestions = []
    
    for travel in travels:
        if travel.get('transport_type') != 'aircraft':
            continue
        
        distance = travel.get('distance_km', 0)
        
        # Flights under 500km often have viable train alternatives
        if distance and distance < 500:
            suggestions.append({
                "travel_id": travel['id'],
                "route": f"{travel.get('origin')} → {travel.get('destination')}",
                "distance": distance,
                "current_co2e": travel.get('co2e', 0),
                "potential_savings": "50-80% with train",
            })
    
    return suggestions

alternatives = suggest_train_alternatives(response.get('items', []))

if alternatives:
    print("\n💡 Consider Train Alternatives for These Routes:")
    for alt in alternatives[:5]:
        print(f"   • {alt['route']} ({alt['distance']:.0f} km)")
        print(f"     Current: {alt['current_co2e']:.0f} kg CO₂e")
        print(f"     Potential savings: {alt['potential_savings']}")
```

### 2. Track Emission Intensity

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
# Calculate emissions per trip
def calculate_travel_intensity(travels):
    """Calculate kg CO₂e per trip"""
    
    total_trips = 0
    total_co2e = 0
    
    for travel in travels:
        trips = travel.get('travel_number', 1)
        if travel.get('travel_type') == 'round':
            trips *= 2
        
        total_trips += trips
        total_co2e += travel.get('co2e', 0) or 0
    
    if total_trips > 0:
        return total_co2e / total_trips
    return 0

intensity = calculate_travel_intensity(response.get('items', []))
print(f"\n📊 Average Emission Intensity: {intensity:.1f} kg CO₂e per trip")

# Benchmark
if intensity > 500:
    print("   ⚠️ High intensity - consider reducing long-haul flights")
elif intensity > 200:
    print("   📈 Moderate - look for rail alternatives")
else:
    print("   ✅ Good - maintain low-carbon travel habits")
```

### 3. Set Travel Policies

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
# Define and check against travel policy
travel_policy = {
    "max_flight_distance_for_rail": 500,  # km
    "preferred_car_fuel": "electric",
    "max_co2e_per_trip": 1000,  # kg
}

def check_policy_compliance(travel, policy):
    """Check if travel complies with company policy"""
    
    issues = []
    
    # Check if short flight could be train
    if travel.get('transport_type') == 'aircraft':
        distance = travel.get('distance_km', 0)
        if distance and distance < policy['max_flight_distance_for_rail']:
            issues.append(f"Consider train for routes under {policy['max_flight_distance_for_rail']} km")
    
    # Check car fuel type
    if travel.get('transport_type') == 'car':
        if travel.get('fuel_type') not in [policy['preferred_car_fuel'], 'hybrid']:
            issues.append(f"Prefer {policy['preferred_car_fuel']} vehicles")
    
    # Check emissions threshold
    co2e = travel.get('co2e', 0) or 0
    if co2e > policy['max_co2e_per_trip']:
        issues.append(f"Exceeds max CO₂e threshold ({policy['max_co2e_per_trip']} kg)")
    
    return issues

# Check all travels
non_compliant = []
for travel in response.get('items', []):
    issues = check_policy_compliance(travel, travel_policy)
    if issues:
        non_compliant.append({
            "travel": travel,
            "issues": issues
        })

print(f"\n⚠️ Policy Compliance Check:")
print(f"   Non-compliant trips: {len(non_compliant)} of {len(response.get('items', []))}")
```

<Tip>
  **Reduction Strategies for Category 6**

  1. **Virtual meetings**: Replace travel with video conferencing
  2. **Rail over air**: Use trains for routes under 500 km
  3. **Electric vehicles**: Choose EVs for rental cars
  4. **Trip consolidation**: Combine multiple meetings in one trip
  5. **Travel policy**: Set emissions budgets per employee/department
  6. **Carbon offsets**: Offset unavoidable travel (last resort)
</Tip>

## Troubleshooting

### Issue: Distance Not Calculated

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
# If origin/destination geocoding fails, provide distance directly
business_travel = {
    "distance_km": 1250,  # Provide direct distance
    "transport_type": "aircraft",
    "travel_type": "round",
    "travel_number": 1,
    "start_date": "2024-03-15",
    "end_date": "2024-03-17",
    "name": "Trip with known distance",
}
```

### Issue: Unknown Transport Type

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
# Valid transport types
valid_transport_types = [
    "aircraft",
    "car",
    "bus",
    "train",
    "metro",
    "tram",
]

# Map common aliases
transport_mapping = {
    "flight": "aircraft",
    "plane": "aircraft",
    "rail": "train",
    "subway": "metro",
    "taxi": "car",
    "rental": "car",
}

# Convert to valid type
user_input = "flight"
transport_type = transport_mapping.get(user_input.lower(), user_input.lower())

if transport_type not in valid_transport_types:
    print(f"⚠️ Unknown transport type: {user_input}")
    print(f"   Valid types: {', '.join(valid_transport_types)}")
```

### Issue: Category 6 Seems Too Low

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
# Common reasons for underreported business travel:
checks = {
    "Missing data sources": "Check expense reports, travel bookings",
    "Incomplete periods": "Ensure all months are covered",
    "Missing transport types": "Include taxis, rental cars, not just flights",
    "Conference travel": "Don't forget event-related travel",
    "Contractor travel": "Include if paid by your organization",
}

print("🔍 Checklist for Category 6 completeness:")
for issue, action in checks.items():
    print(f"   ☐ {issue}")
    print(f"      → {action}")
```

## Next Steps

<CardGroup cols={2}>
  <Card title="Category 7: Employee Commuting" icon="users" href="/guides/emissions/scope-3-category-7-employee-commuting">
    Track daily commuting emissions
  </Card>

  <Card title="Category 1: Purchased Goods" icon="bag-shopping" href="/guides/emissions/scope-3-category-1-purchased-goods">
    Track upstream product emissions
  </Card>

  <Card title="Category 4: Upstream Transport" icon="truck" href="/guides/emissions/scope-3-category-4-upstream-transport">
    Track inbound logistics
  </Card>

  <Card title="Scope 3 Overview" icon="layer-group" href="/guides/emissions/ghg-protocol-step-4-scope-3">
    Back to all Scope 3 categories
  </Card>
</CardGroup>
