initial draft commit

This commit is contained in:
2026-05-20 16:47:05 +02:00
parent c43f3fc948
commit e0b1da2149
7 changed files with 525 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<providers xmlns="https://calco2la.to/schema/providers/v1">
<!-- Google TIM -->
<provider id="google_tim">
<name>Google Travel Impact Model</name>
<baseUrl>https://travelimpactmodel.googleapis.com/v1</baseUrl>
<auth type="apiKey">
<header>X-Goog-Api-Key</header>
<format>${API_KEY}</format>
</auth>
<operations>
<operation id="travel.flight.estimate_emissions">
<http method="POST" path="/flights:computeFlightEmissions" />
<requestBody format="json">
{
"flightSegments": [
#for leg in request.legs
{
"departureAirport": { "code": "${leg.origin_iata}" },
"arrivalAirport": { "code": "${leg.destination_iata}" }
}#sep,
#end
],
"cabinClass": "${request.cabin_class}",
"passengerCount": ${request.passengers}
}
</requestBody>
<responseMapping>
<map source="$.flightEmissions[0].co2Grams"
target="EmissionEstimate.co2_kg"
transform="divideBy1000" />
<map source="$.flightEmissions[0].co2eGrams"
target="EmissionEstimate.co2e_kg"
transform="divideBy1000" />
<map source="$.modelVersion"
target="EmissionEstimate.method_version" />
<constant target="EmissionEstimate.method_name" value="Travel Impact Model" />
<constant target="EmissionEstimate.vendor" value="google_tim" />
<map source="$" target="EmissionEstimate.vendor_raw" />
</responseMapping>
</operation>
</operations>
</provider>
</providers>