38 lines
1.7 KiB
XML
38 lines
1.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<providers xmlns="https://calco2la.to/schema/providers/v1">
|
|
<provider id="goclimate">
|
|
<name>GoClimate Flight Footprint</name>
|
|
<baseUrl>https://api.goclimate.com</baseUrl>
|
|
<auth type="basic">
|
|
<usernameIsApiKey>true</usernameIsApiKey>
|
|
<envKey>GOCLIMATE_API_KEY</envKey>
|
|
</auth>
|
|
<operations>
|
|
<operation id="travel.flight.estimate_emissions">
|
|
<http method="GET" path="/v1/flight_footprint"/>
|
|
<requestQuery>
|
|
#for leg in request.legs
|
|
<param name="segments[${index}][origin]" value="${leg.origin_iata}"/>
|
|
<param name="segments[${index}][destination]" value="${leg.destination_iata}"/>
|
|
#end
|
|
<param name="cabin_class" value="${request.cabin_class}"/>
|
|
#for currency in request.currencies
|
|
<param name="currencies[]" value="${currency}"/>
|
|
#end
|
|
</requestQuery>
|
|
<responseMapping mode="single" rootType="EmissionCalculationResult">
|
|
<constant target="EmissionCalculationResult.provider" value="goclimate"/>
|
|
<field source="$.footprint" target="EmissionCalculationResult.total.co2eKg"/>
|
|
<list source="$.offset_prices[*]" target="EmissionCalculationResult.prices" itemType="MoneyAmount">
|
|
<field source="$.amount" target="MoneyAmount.amountMinor"/>
|
|
<field source="$.currency" target="MoneyAmount.currency"/>
|
|
<field source="$.offset_url" target="MoneyAmount.url"/>
|
|
<field source="$.locale" target="MoneyAmount.locale"/>
|
|
</list>
|
|
<field source="$" target="EmissionCalculationResult.vendorRaw"/>
|
|
</responseMapping>
|
|
</operation>
|
|
</operations>
|
|
</provider>
|
|
</providers>
|