# Car: BASIC

:bulb: **High-Level Description**

The **BASIC** methodology is a transparent, input-driven calculator for car travel when you already know either:

* the **specific emission rate** of the vehicle in **gCO₂/km**, **or**
* the **energy/fuel consumption** (e.g., L/100 km, kWh/100 km) **plus** the **fuel type** (to derive gCO₂/km via fuel-specific factors).

It is designed for simple, traceable calculations where the data source is your own measurement, OEM specs, or a trusted dataset. BASIC does **not** infer vehicle classes or default factors; it relies on **your supplied intensity** (g/km) or **your supplied consumption** with **explicit fuel type**.

**Audit mode:** Set `items[].audit = true` to create immutable audit records (must be enabled for your account).

***

## Sample API Requests

### A. Direct intensity (preferred when you know gCO₂/km)

```json
{
  "expand": ["items"],
  "items": [
    {
      "audit": false,
      "type": "car",
      "methodology": "BASIC",
      "external_reference": "TRIP-001",
      "distance_in_km": 245.6,
      "co2_grams_per_km": 120
    }
  ]
}
```

### B. Consumption-based (derive g/km from 100-km consumption + fuel type)

```json
{
  "expand": ["items"],
  "items": [
    {
      "audit": false,
      "type": "car",
      "methodology": "BASIC",
      "external_reference": "TRIP-002",
      "origin": "Munich, Germany",
      "destination": "Prague, Czechia",
      "consumption_per_100_km": 6.2,
      "fuel_type": "petrol"
    }
  ]
}
```

### C. With audit mode (for finalized/post-booking calculations)

```json
{
  "expand": ["items"],
  "audit_for": "<Auditable Entity ID>",
  "items": [
    {
      "audit": true,
      "type": "car",
      "methodology": "BASIC",
      "external_reference": "TRIP-004",
      "distance_in_km": 245.6,
      "co2_grams_per_km": 120
    }
  ]
}
```

### D. Duration-based distance fallback (when distance is unknown)

> If you don’t have distance or origin/destination, you may pass `number_of_days`.\
> SQUAKE estimates: `estimated_distance_in_km = number_of_days * 60`.

```json
{
  "expand": ["items"],
  "items": [
    {
      "audit": false,
      "type": "car",
      "methodology": "BASIC",
      "external_reference": "TRIP-003",
      "number_of_days": 4,
      "co2_grams_per_km": 95
    }
  ]
}
```

> **Precedence rules**\
> **Distance source:** `distance_in_km` > `origin/destination` > `number_of_days`.\
> **Intensity source:** `co2_grams_per_km` > (`consumption_per_100_km` + `fuel_type`).\
> **Note:** `audit_for` is optional. Provide when calculating on behalf of a specific Auditable entity; otherwise omit.

***

## Sample API Response

```json
{
  "carbon_quantity": 29472,
  "carbon_unit": "gram",
  "items": [
    {
      "carbon_quantity": 29472,
      "carbon_unit": "gram",
      "external_reference": "TRIP-001",
      "type": "car",
      "methodology": "BASIC",
      "distance": 245.6,
      "distance_unit": "kilometer"
    }
  ]
}
```

***

## API Request Items

* `"type"`: `"car"` **(required)**
* `"methodology"`: `"BASIC"` **(required)**
* `"external_reference"`: Optional correlation ID (≤128 chars)
* **Distance inputs (choose one):**
  * `"distance_in_km"`: numeric (overrides other distance inputs)
  * `"origin"` **and** `"destination"`: postal text, UN/LOCODE, IATA/ICAO, or `"lat,lon"`
  * `"number_of_days"`: integer ≥ 1 (fallback; estimates distance as `days * 60`)
* **Intensity inputs (choose one path):**
  * `"co2_grams_per_km"`: number ≥ 0 **(direct gCO₂/km)**
  * **OR** `"consumption_per_100_km"` **and** `"fuel_type"`:
    * `"consumption_per_100_km"`: number \[0..1000]
    * `"fuel_type"`: one of\
      `"diesel" | "petrol" | "electricity" | "ethanol" | "bio_diesel" | "lpg" | "hydrogen" | "hvo"`
* `"audit"`: boolean (immutable audit record; feature-gated)

> **Validation tip:** For the **consumption** path, `fuel_type` is **mandatory**. For the **g/km** path, `fuel_type` is **not required**.

***

## Default Values

* No default for `"fuel_type"` (required **only** when using `"consumption_per_100_km"`).
* No default for `"co2_grams_per_km"` or `"consumption_per_100_km"`—you must provide **one** of the intensity paths.
* Distance estimation default for `"number_of_days"`: **60 km/day**.

***

## Notes

* Use **direct `co2_grams_per_km`** whenever available (OEM/telematics/lab data) for maximum fidelity.
* When using **consumption**, ensure the unit matches what your integration expects (e.g., **L/100 km** for liquid fuels, **kWh/100 km** for BEVs).
* BASIC does **not** infer vehicle classes or apply regional defaults; it uses exactly what you supply.
* For electric vehicles, either provide **`co2_grams_per_km`** (preferred if you have grid-mix allocation) or **`consumption_per_100_km`** with `"fuel_type": "electricity"` (uses configured electricity factors).

***

## Bibliography

* **Smart Freight Centre (SFC)** — *Global Logistics Emissions Council (GLEC) Framework for Logistics Emissions Accounting*, latest edition.
* **SFC** — *GLEC Framework Guidance & Technical Documentation* (supporting fuel/energy factors and calculation principles).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-integration.squake.earth/api-calculations-request-response/travel/car/car-basic.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
