{
  "openapi": "3.1.0",
  "info": {
    "title": "SQUAKE API Documentation",
    "version": "",
    "description": "# Introduction\n## Trusted technology to achieve your carbon targets.\n\nThe **SQUAKE Solution Suite** is live with industry leaders from several travel and logistics segments and performs accurate carbon calculations for all types of activities (e.g. flights, road, accommodation amongst others) according to national and international standards. It automates carbon reductions and/or compensations along the supply chain, from supplier selection (SAF, DAC, ecological restoration) to inventory management, invoicing and credit retirement.\n\n## Customer Support\nFor any issues or inquiries, you can reach our dedicated customer support team through our [Support Page](https://support.squake.earth/). This is the best place to ask questions, report incidents, or get assistance with integrating or using SQUAKE's solutions.\n\n## Contact Forms\nOur contact forms are designed to help you communicate with us effectively. Whether you want to get in contact with our support team or need to report an incident, we've got you covered. Please use the appropriate form below:\n\n* [Contact Form](https://support.squake.earth/hc/en-gb/requests/new?ticket_form_id=5351278647581): Get in contact with our customer support team or share your thoughts and suggestions about our services and processes.\n* [Incident Form](https://support.squake.earth/hc/en-gb/requests/new?ticket_form_id=21154347283741): Report any issues or incidents you've encountered, and our support team will respond as soon as possible.\n\n## Authentication\nSQUAKE uses API keys to authenticate requests. You can create and revoke API keys in the [Dashboard](https://app.squake.earth/), which you can access by contacting us under `product@squake.earth`. You should securely store your API keys; and encrypt them on rest if possible. Be aware that each API key is shown exactly once in the UI during creation. SQUAKE advises rotating API keys on a regular basis.\n\nTo use the sandbox environment, a separate API key must be created. Switch to sandbox mode in the dashboard, then create an API key.\n\nAll requests must be authenticated and made over HTTPS. SQUAKE supports TLS 1.2 - TLS 1.3. Requests without authentication or via plain HTTP result in an error.\n\nWhen using HTTP Basic Auth, the API key is the username; leave the password blank. For bearer auth, pass the API key as the token.\n\nExample using HTTP Basic Auth (note: there is no password, but a colon is still required):\n\n```shell\ncurl https://api.squake.earth/v2/pricing -u <YOUR_API_KEY>\n```\n\nExample using bearer auth:\n```shell\ncurl https://api.squake.earth/v2/pricing -H \"Authorization: Bearer <YOUR_API_KEY>\"\n```\n\n## Request ID\nSQUAKE associates each API request with a unique identifier. Find this value in the `SQUAKE-Request-Id` header. If you need to contact us regarding a specific request, providing the request identifier helps the resolution process.\n\n## Uptime Monitoring\nPlease visit [status.squake.earth](https://status.squake.earth) to check our uptime monitor. You can subscribe to events to stay informed of any service disruption. We will also publish a post-mortem about any incident should one occur.\n\nYou can programmatically check if servers are reachable. Read the documentation of the `Health Check` endpoints for details. The health check endpoints are the only endpoints that do not require authentication.\n\n## Sandbox\nThere is a sandbox server available for testing at\n\n`https://api.sandbox.squake.earth`\n\nSandbox and production are separate systems and share no data. Sandbox uses less computing power and may be slower than production. Both sandbox and production environments run the same version of the API; thus, they share the same feature set.\n\nTo use the sandbox environment, a separate API key must be created. Switch to sandbox mode in the dashboard, then create an API key.\n\n## Static IP Addresses\nAll outgoing traffic originates from one of the following static IP addresses. SQUAKE owns these IP addresses and never shares them for any other traffic.\n\n| Environment | IP Address     | Geo Region     |\n|-------------|----------------|----------------|\n| Production  | 52.59.66.213   | Europa/Germany |\n| Production  | 52.7.39.159    | USA            |\n| Sandbox     | 18.197.251.125 | Europa/Germany |\n\n## Getting Started with SQUAKE API\nThis guide will help you make requests to the SQUAKE API in order to calculate emissions for a travel journey.\n\n### Choose a group of Endpoints\nSQUAKE API has the following group of endpoints:\n- [Calculations](https://docs-v2.squake.earth/docs/openapi/calculations) - Calculates carbon emissions for various activities in a low-latency process.\n- [Pricing](https://docs-v2.squake.earth/docs/openapi/pricing) - Returns pricing for a given product and carbon quantity, valid for two weeks by default.\n- [Combined Calculation & Pricing](https://docs-v2.squake.earth/docs/openapi/combined-calculation-and-pricing) - Performs carbon calculation and pricing in a single call for convenience.\n- [Carbon Comparison](https://docs-v2.squake.earth/docs/openapi/carbon-comparison) - Compares carbon quantities to recognizable items like cars or light bulbs.\n- [Purchases](https://docs-v2.squake.earth/docs/openapi/purchases) - Registers a purchase to compensate for carbon emissions, requiring a prior pricing quote.\n- [Products](https://docs-v2.squake.earth/docs/openapi/products) - Lists purchasable compensation options, including single climate projects and bundles.\n- [Files](https://docs-v2.squake.earth/docs/openapi/files) - Manages file attachments related to purchases, such as compensation confirmations.\n- [Webhooks](https://docs-v2.squake.earth/docs/openapi/webhooks) - Allows you to receive notifications about events happening in SQUAKE.\n- [Audits](https://docs-v2.squake.earth/docs/openapi/audits) - Provides a list of audits or a specific audit for calculations.\n- [Health Check](https://docs-v2.squake.earth/docs/openapi/health-check) - Verifies if SQUAKE's server is reachable.\n\n### Precision of Calculations\n\n#### Bus Databases\nIf you want operator-specific calculations for buses, then use the following [dataset](https://squake.notion.site/31f83752e3bd4cf2ba314ceb8fa2acc6?v=5190873dd753431187b735a8fe40038f) supported by SQUAKE's methodology.\n\n#### Car Databases\nIf you have specific information about car models, then use one of the following methodologies: [ADEME](https://squake.notion.site/136f89fa8b1949e899f82f874d4f648c?v=49c586d0b74d4a6bbe2cf03d16546f5c) (France), [US-EPA](https://squake.notion.site/7f437246ecec4760a8b95b5c1d06f34a?v=454b352108e640ceb124890cf75f1c9f) (USA) and [EU-EEA](https://squake.notion.site/Car-EU-EEA-f38231a59f934d819ac1014c65bb701c) (EU).\n\n#### Hotel Databases\nUse the [HCMI](https://squake.notion.site/Hotel-HCMI-SQUAKE-7bd2c02fe23b45889e1c30ffc8018bcd) and [GreenView](https://squake.notion.site/Hotel-GreenView-Locations-237754e0050480fc9dfcd3ea65ce7c51?source=copy_link) methodologies to obtain more accurate emissions. \n\n#### GLEC Databases\nFor road and sea logistics activities according to GLEC, use the [GLEC dataset](https://squake.notion.site/GLEC-6947b398c6704220838ae5a16902b064).\n\n#### Train Databases\nFor operator-specific calculations for trains, use the [train dataset](https://squake.notion.site/21a17389cc5c4e38946f97ecaf6435bb?v=6be41159e77247599fe9b3672782fd5e).\n\n#### Van Databases\nFor van calculations, use the [EU-EEA supported dataset](https://squake.notion.site/b9afb2b6c23e4b60868c5b6148224c6d?v=49a2ac9295ab4cc18a328da841b7b583).\n\n### Carbon Comparison\nCompare carbon quantities to more recognizable items like cars or kettles. View accepted units in this [comparison database](https://squake.notion.site/96b220031e8e4d64aec4f0e46a5bde97?v=8c67ffdcf91c4477acf0640688beea11).\n<br>\n<br>\n<br>\n",
    "termsOfService": "https://www.squake.earth/legal/general-terms-and-conditions",
    "contact": {
      "name": "SQUAKE.earth",
      "url": "https://www.squake.earth/contact-us",
      "email": "product@squake.earth"
    }
  },
  "servers": [
    {
      "url": "https://api.squake.earth",
      "description": "Production"
    },
    {
      "url": "https://api.sandbox.squake.earth",
      "description": "Sandbox"
    }
  ],
  "security": [
    {},
    {
      "Bearer-Auth": []
    }
  ],
  "tags": [
    {
      "name": "Calculations",
      "description": ""
    },
    {
      "name": "Pricing",
      "description": ""
    },
    {
      "name": "Combined Calculation & Pricing",
      "description": ""
    },
    {
      "name": "Carbon Comparison",
      "description": ""
    },
    {
      "name": "Purchases",
      "description": ""
    },
    {
      "name": "Products",
      "description": ""
    },
    {
      "name": "Files",
      "description": ""
    },
    {
      "name": "Webhooks",
      "description": ""
    },
    {
      "name": "Audits",
      "description": "Audit logs are created when enabled on calculation requests.\n\n| ℹ️ To use this feature you need to have it enabled for your account, please contact us for more information.|\n|------------------------------------------------------------------------------------------------------------|\n\n<br>\nWhen Audit mode is enabled for a client, SQUAKE will generate audit logs if it's requested within the calculations request body. These logs are immutable; once they are created they cannot be altered—please use this feature only for final calculations.\n\nOperational notes:\n- Use **audit mode** whenever a calculation is for **past activity / post-booking (post-validated)** (e.g., ticketed & already-flown flights, completed stays/trips, historical backfills, invoice reconciliation/true-ups, corrections). These records are final and must be immutable.\n- **Audit mode must not be used for future-looking / pre-booking** or other non-final use cases (e.g., shopping/quotes, draft or tentative itineraries, forecasting/scenario planning, preliminary estimates, or POS value requests). These are expected to change.\n- **Post-booking (finalized) calculations MUST be performed with audit mode enabled.**\n- **Pre-booking (non-audit) calculated values must not be carried over into post-booking reporting**; after the activity is finalized, the calculation must be re-run with audit mode enabled.\n- Requests that handle **points-of-sale (POS) values** or other preview/estimation-only calls MUST be sent **without** audit mode.\n\nRule of thumb: **Past/post-validated = audit mode; Future/pre-booking = no audit mode**.\n\nIf you are calculating on behalf of a legal entity, you can create an Auditable entity via the [/v2/audits/entities](https://docs-v2.squake.earth/docs/openapi/audits/post-v2-audits-entities) endpoint and use the ID from the response as the `audit_for` property in the calculation request. This will associate all audit logs created for that calculation with the given Auditable entity.\n"
    },
    {
      "name": "Health Check",
      "description": "Check if SQUAKE's server can be reached."
    },
    {
      "name": "Travel Data",
      "description": "Create travel trip data and activities for reporting and analytics."
    }
  ],
  "paths": {
    "/v2/calculations": {
      "post": {
        "tags": [
          "Calculations"
        ],
        "summary": "Perform a Calculation",
        "description": "The calculations endpoint can calculate carbon emissions for one or multiple activities. The carbon footprint or your journey consisting of, for example, a return flight, two cab rides, and a hotel stay can be computed all at once, passing all five activities in the items array.\nInclude the string literal \"items\" in the \"expand\" array to retrieve values for each item separately in addition to the total carbon quantity.\n\n\nThis is a low-latency endpoint. SQUAKE does not provide you with a unique identifier for any calculation results. You must quote a price on the pricing endpoint to purchase compensation for your carbon emissions.\n\n\nSome data sets are extensive and thus documented separately [here](https://squake.notion.site/Databases-2a5a8e757fc74b62bef3be7c5ac2f699).",
        "operationId": "post-calculations",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "expand": {
                    "type": "array",
                    "description": "If you choose to expand on e.g. \"items\", SQUAKE returns emissions per each item separately (in addition to a total value).",
                    "items": {
                      "const": "items",
                      "examples": [
                        "items"
                      ]
                    }
                  },
                  "carbon_unit": {
                    "$ref": "#/components/schemas/carbon_unit"
                  },
                  "distance_unit": {
                    "$ref": "#/components/schemas/distance_unit"
                  },
                  "audit_for": {
                    "type": "string",
                    "description": "**(Optional)** Provide when calculating on behalf of a specific Auditable entity; otherwise omit.\n\nIf you make a calculation on behalf of a specific legal entity, you can specify the ID of the auditable entity. This will associate all audit logs created for that calculation with the given Auditable entity.\n"
                  },
                  "items": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Calculation-Items"
                    }
                  }
                },
                "required": [
                  "items"
                ]
              },
              "examples": {
                "calculation-flight-defra": {
                  "summary": "Flight type with DEFRA methodology",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "flight",
                        "audit": false,
                        "methodology": "DEFRA",
                        "external_reference": "string",
                        "booking_class": "economy",
                        "number_of_travelers": 1,
                        "aircraft_type": "7M7",
                        "fare_class": "Y",
                        "origin": "BER",
                        "destination": "CDG",
                        "airline": "LH",
                        "radiative_forcing_index": true,
                        "sustainable_fuels": {
                          "carbon_reduction_percentage_of_total": 0.25
                        },
                        "energy_scope": "ttw"
                      }
                    ]
                  }
                },
                "calculation-accommodation": {
                  "summary": "Accommodation type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "accommodation",
                        "audit": false,
                        "methodology": "SQUAKE",
                        "external_reference": "string",
                        "number_of_nights": 1,
                        "country": "DE",
                        "number_of_travelers": 1,
                        "square_meters": 50
                      }
                    ]
                  }
                },
                "calculation-air-freight": {
                  "summary": "Air Freight type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "air_freight",
                        "audit": false,
                        "methodology": "GLEC",
                        "external_reference": "string",
                        "number_of_travelers": 1,
                        "origin": "BER",
                        "destination": "CDG",
                        "weight_in_tonnes": 1
                      }
                    ]
                  }
                },
                "calculation-bus": {
                  "summary": "Bus type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "bus",
                        "audit": false,
                        "methodology": "SQUAKE",
                        "external_reference": "string",
                        "number_of_travelers": 1,
                        "origin": "BER",
                        "destination": "PAR",
                        "fuel_type": "diesel",
                        "operator_name": "hamburger_hochbahn"
                      }
                    ]
                  }
                },
                "calculation-car": {
                  "summary": "Car type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "car",
                        "audit": false,
                        "methodology": "ACRISS",
                        "external_reference": "string",
                        "number_of_travelers": 1,
                        "origin": "BER",
                        "destination": "CDG",
                        "distance_in_km": 878,
                        "fuel_type": "diesel",
                        "acriss_car_type": "C",
                        "sipp_car_type": "XCAR"
                      }
                    ]
                  }
                },
                "calculation-coffee-production": {
                  "summary": "Coffee Production type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "coffee_production",
                        "audit": false,
                        "methodology": "SQUAKE",
                        "external_reference": "string",
                        "country": "ET",
                        "organic": true,
                        "quantity": 6,
                        "unit": "tonne"
                      }
                    ]
                  }
                },
                "calculation-event": {
                  "summary": "Event type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "event",
                        "audit": false,
                        "methodology": "HCMI",
                        "external_reference": "string",
                        "number_of_days": 1,
                        "country": "DE",
                        "stars": 5,
                        "city": "Berlin",
                        "square_meters": 50,
                        "hotel_type": "hotel_average"
                      }
                    ]
                  }
                },
                "calculation-expenditure": {
                  "summary": "Expenditure type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "expenditure",
                        "audit": false,
                        "methodology": "OFNK",
                        "external_reference": "string",
                        "currency": "EUR",
                        "total": 500,
                        "country": "DE",
                        "category": "retail",
                        "merchant_category_code": 3000
                      }
                    ]
                  }
                },
                "calculation-ferry": {
                  "summary": "Ferry type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "ferry",
                        "audit": false,
                        "methodology": "ADEME",
                        "external_reference": "string",
                        "number_of_travelers": 1,
                        "origin": "BER",
                        "destination": "CDG",
                        "number_of_cars": 10,
                        "vesel_type": "day_ferry"
                      }
                    ]
                  }
                },
                "calculation-hotel": {
                  "summary": "Hotel type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "items": [
                      {
                        "type": "hotel",
                        "audit": false,
                        "methodology": "GREENVIEW",
                        "external_reference": "string",
                        "number_of_nights": 3,
                        "stars": 4,
                        "country": "DE",
                        "city": "Berlin"
                      }
                    ]
                  }
                },
                "calculation-inland-waterways": {
                  "summary": "Inland Waterways type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "inland_waterways",
                        "audit": false,
                        "methodology": "GLEC",
                        "external_reference": "string",
                        "origin": "BER",
                        "destination": "CDG",
                        "weight_in_tonnes": 3,
                        "vessel_type": "motor_vessels_under_50_m",
                        "energy_scope": "wtw"
                      }
                    ]
                  }
                },
                "calculation-logistics-site": {
                  "summary": "Logistics Site type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "logistics_site",
                        "audit": false,
                        "methodology": "GLEC",
                        "external_reference": "string",
                        "weight_in_tonnes": 3,
                        "logistics_site_type": "warehouse",
                        "condition_type": "mixed"
                      }
                    ]
                  }
                },
                "calculation-logistics": {
                  "summary": "Logistics type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "logistics",
                        "audit": false,
                        "methodology": "SQUAKE",
                        "external_reference": "string",
                        "weight_in_kg": 2500,
                        "origin": "BER",
                        "destination": "PAR",
                        "shipping_method": "express"
                      }
                    ]
                  }
                },
                "calculation-private-jet": {
                  "summary": "Private Jet type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "private_jet",
                        "audit": false,
                        "methodology": "SQUAKE",
                        "external_reference": "string",
                        "origin": "BER",
                        "destination": "CDG",
                        "identifier": "P18",
                        "identifier_kind": "ICAO"
                      }
                    ]
                  }
                },
                "calculation-rail-freight": {
                  "summary": "Rail Freight type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "rail_freight",
                        "audit": false,
                        "methodology": "GLEC",
                        "external_reference": "string",
                        "origin": "BER",
                        "destination": "CDG",
                        "weight_in_tonnes": 2.5,
                        "fuel_type": "diesel",
                        "energy_scope": "wtw",
                        "load_characteristic": "average"
                      }
                    ]
                  }
                },
                "calculation-restaurant": {
                  "summary": "Restaurant type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "restaurant",
                        "audit": false,
                        "methodology": "BASE-EMPREINTE",
                        "external_reference": "string",
                        "number_of_travelers": 1,
                        "meal_type": "average"
                      }
                    ]
                  }
                },
                "calculation-road-freight": {
                  "summary": "Road Freight type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "road_freight",
                        "audit": false,
                        "methodology": "GLEC",
                        "external_reference": "string",
                        "weight_in_tonnes": 1,
                        "origin": "BER",
                        "destination": "CDG",
                        "truck_type": "van_under_3.5_t",
                        "energy_scope": "wtw"
                      }
                    ]
                  }
                },
                "calculation-sea-freight": {
                  "summary": "Sea Freight type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "sea_freight",
                        "audit": false,
                        "methodology": "GLEC",
                        "external_reference": "string",
                        "weight_in_tonnes": 1,
                        "origin": "BER",
                        "destination": "CDG",
                        "continer": false,
                        "vessel_type": "general_cargo_under_4999_dwt",
                        "energy_scope": "wtw",
                        "fuel_type": "hfo"
                      }
                    ]
                  }
                },
                "calculation-train": {
                  "summary": "Train type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "train",
                        "audit": false,
                        "methodology": "SQUAKE",
                        "external_reference": "string",
                        "number_of_travelers": 1,
                        "origin": "BER",
                        "destination": "CDG",
                        "fuel_type": "diesel",
                        "train_type": "regional"
                      }
                    ]
                  }
                },
                "calculation-van": {
                  "summary": "Van type",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "van",
                        "audit": false,
                        "methodology": "EU-EEA",
                        "external_reference": "string",
                        "weight_in_tonnes": 1,
                        "origin": "BER",
                        "destination": "CDG",
                        "manufacturer": "ford",
                        "model": "transit",
                        "fuel_type": "diesel",
                        "engine_size_in_cubic_cm": 2000
                      }
                    ]
                  }
                },
                "calculation-flight-with-audit": {
                  "summary": "Flight type with audit",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "audit_for": "d3427e0d-5a3c-40ce-842e-5552e77caa4f",
                    "items": [
                      {
                        "type": "flight",
                        "audit": true,
                        "methodology": "DEFRA",
                        "external_reference": "string",
                        "booking_class": "economy",
                        "number_of_travelers": 1,
                        "aircraft_type": "7M7",
                        "fare_class": "Y",
                        "origin": "BER",
                        "destination": "CDG",
                        "airline": "LH",
                        "radiative_forcing_index": true,
                        "sustainable_fuels": {
                          "carbon_reduction_percentage_of_total": 0.25
                        },
                        "energy_scope": "ttw"
                      }
                    ]
                  }
                },
                "calculation-flight-ademe": {
                  "summary": "Flight type with ADEME methodology",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "flight",
                        "audit": false,
                        "methodology": "ADEME",
                        "external_reference": "string",
                        "number_of_travelers": 1,
                        "aircraft_type": "7M7",
                        "aircraft_size": "under_50_seats",
                        "origin": "BER",
                        "destination": "CDG",
                        "airline": "LH"
                      }
                    ]
                  }
                },
                "calculation-flight-base-empreinte": {
                  "summary": "Flight type with BASE EMPREINTE methodology",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "flight",
                        "audit": false,
                        "methodology": "BASE-EMPREINTE",
                        "external_reference": "string",
                        "number_of_travelers": 1,
                        "aircraft_type": "7M7",
                        "aircraft_size": "under_50_seats",
                        "origin": "BER",
                        "destination": "CDG",
                        "radiative_forcing_index": true,
                        "sustainable_fuels": {
                          "carbon_reduction_percentage_of_total": 0.25
                        }
                      }
                    ]
                  }
                },
                "calculation-flight-co2-emissiefactoren-nl": {
                  "summary": "Flight type with CO2 Emissiefactoren NL methodology",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "flight",
                        "audit": false,
                        "methodology": "CO2-EMISSIEFACTOREN-NL",
                        "external_reference": "string",
                        "booking_class": "economy",
                        "number_of_travelers": 1,
                        "aircraft_type": "7M7",
                        "fare_class": "Y",
                        "origin": "BER",
                        "destination": "CDG",
                        "airline": "LH",
                        "radiative_forcing_index": true,
                        "sustainable_fuels": {
                          "carbon_reduction_percentage_of_total": 0.25
                        },
                        "energy_scope": "ttw"
                      }
                    ]
                  }
                },
                "calculation-flight-gate4": {
                  "summary": "Flight type with GATE4 methodology",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "flight",
                        "audit": false,
                        "methodology": "GATE4",
                        "external_reference": "string",
                        "booking_class": "economy",
                        "number_of_travelers": 1,
                        "fare_class": "Y",
                        "origin": "BER",
                        "destination": "CDG",
                        "airline": "LH",
                        "flight_number": "BA115",
                        "departure_date": "2023-10-01",
                        "sustainable_fuels": {
                          "carbon_reduction_percentage_of_total": 0.25
                        }
                      }
                    ]
                  }
                },
                "calculation-flight-icao": {
                  "summary": "Flight type with ICAO methodology",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "flight",
                        "audit": false,
                        "methodology": "ICAO",
                        "external_reference": "string",
                        "booking_class": "economy",
                        "number_of_travelers": 1,
                        "aircraft_type": "7M7",
                        "origin": "BER",
                        "destination": "CDG",
                        "fare_class": "Y",
                        "airline": "LH",
                        "sustainable_fuels": {
                          "carbon_reduction_percentage_of_total": 0.25
                        }
                      }
                    ]
                  }
                },
                "calculation-flight-tim": {
                  "summary": "Flight type with TIM methodology",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "flight",
                        "audit": false,
                        "methodology": "TIM",
                        "external_reference": "string",
                        "booking_class": "economy",
                        "number_of_travelers": 1,
                        "fare_class": "Y",
                        "origin": "BER",
                        "destination": "CDG",
                        "airline": "LH",
                        "departure_date": "2023-10-01",
                        "sustainable_fuels": {
                          "carbon_reduction_percentage_of_total": 0.25
                        }
                      }
                    ]
                  }
                },
                "calculation-flight-tu-chalmers": {
                  "summary": "Flight type with TU Chalmers methodology",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "flight",
                        "audit": false,
                        "methodology": "TU-CHALMERS",
                        "external_reference": "string",
                        "booking_class": "economy",
                        "number_of_travelers": 1,
                        "fare_class": "Y",
                        "origin": "BER",
                        "destination": "CDG",
                        "airline": "LH",
                        "plane_type": "scheduled",
                        "biosfuel": true,
                        "sustainable_fuels": {
                          "carbon_reduction_percentage_of_total": 0.25
                        }
                      }
                    ]
                  }
                },
                "calculation-flight-up-epa": {
                  "summary": "Flight type with US EPA methodology",
                  "value": {
                    "expand": [
                      "items"
                    ],
                    "carbon_unit": "tonne",
                    "distance_unit": "kilometer",
                    "items": [
                      {
                        "type": "flight",
                        "audit": false,
                        "methodology": "US-EPA",
                        "external_reference": "string",
                        "number_of_travelers": 1,
                        "origin": "BER",
                        "destination": "CDG",
                        "sustainable_fuels": {
                          "carbon_reduction_percentage_of_total": 0.25
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "carbon_quantity",
                    "carbon_unit"
                  ],
                  "properties": {
                    "carbon_quantity": {
                      "type": "number",
                      "examples": [
                        0.37
                      ]
                    },
                    "carbon_unit": {
                      "$ref": "#/components/schemas/carbon_unit"
                    },
                    "items": {
                      "type": "array",
                      "description": "Expand items to receive emissions per item. By default, this is not included.",
                      "items": {
                        "type": "object",
                        "optional": [
                          "audit_id"
                        ],
                        "required": [
                          "carbon_quantity",
                          "carbon_unit",
                          "type",
                          "methodology"
                        ],
                        "properties": {
                          "carbon_quantity": {
                            "type": "number",
                            "examples": [
                              0.37
                            ]
                          },
                          "audit_id": {
                            "type": "string",
                            "description": "If the item was audited, this is the ID of the audit.\nThis is only present if the item was audited.\n"
                          },
                          "carbon_unit": {
                            "$ref": "#/components/schemas/carbon_unit"
                          },
                          "external_reference": {
                            "type": "string"
                          },
                          "type": {
                            "$ref": "#/components/schemas/Carbon-Activity-Type"
                          },
                          "methodology": {
                            "$ref": "#/components/schemas/Emissions-Calculation-Methodology"
                          },
                          "methodology_version": {
                            "type": "string",
                            "description": "The version of the methodology used for the calculation. Only present if the methodology is a versioned methodology.",
                            "examples": [
                              "2025",
                              "2024",
                              "2023",
                              "2022",
                              "2021",
                              "2020"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "regular_calculation": {
                    "$ref": "#/components/examples/regular_calculation"
                  },
                  "calculation_with_audit": {
                    "$ref": "#/components/examples/calculation_with_audit"
                  }
                }
              }
            },
            "headers": {
              "SQUAKE-Request-Id": {
                "schema": {
                  "$ref": "#/components/schemas/SQUAKE-Request-Id"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/pricing": {
      "get": {
        "tags": [
          "Pricing"
        ],
        "summary": "Quote a Pricing",
        "description": "Returns pricing for a given product and carbon quantity (or a fixed total amount in any supported currency).\n<br><br>\nBy default, requested pricing is valid for two weeks starting the moment you\nrequest it. Expired pricings can still be used as long as the underlying price\nhasn''t changed for your convenience.\n<br><br>\nRepeated purchases using the same pricing are possible via API and the checkout\npage using the pricing id or `payment_link`, respectively.\n<br><br>\nYou can append additional parameters to the `payment_link`; SQUAKE's checkout\npage supports the following:\n\n* **localization**: Please use a two-letter ISO 639-1 code, for example: `&locale=en`\nfor English.\n\n* **utm_***: any valid UTM tracking parameters, e.g., `&utm_medium=email`.\n<br><br>\n\nThis is a low-latency endpoint, useful for previewing pricing before making\na purchase either via API or on the SQUAKE checkout page via the returned\n`payment_link`.'\n",
        "operationId": "get-pricing",
        "parameters": [
          {
            "in": "query",
            "name": "filter",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "object",
              "properties": {
                "product": {
                  "description": "The product_id to calculate pricing for.",
                  "type": "string"
                },
                "carbon_quantity": {
                  "description": "The quantity of carbon to base the pricing on.",
                  "type": "number"
                },
                "carbon_unit": {
                  "$ref": "#/components/schemas/carbon_unit"
                },
                "fixed_total": {
                  "description": "A fixed amount to compensate for emissions. The number refers to the lowest denomination of the chosen currency, for example sending 1234 EUR means 12.34 EUR.",
                  "type": "integer"
                },
                "currency": {
                  "$ref": "#/components/schemas/currency"
                },
                "expand[]": {
                  "description": "Include the price or product as objects in the response (ID if omitted).",
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "product",
                      "price"
                    ],
                    "examples": [
                      "product"
                    ]
                  }
                },
                "payment_link_return_url": {
                  "description": "If the customer does not exit the browser after the purchase, on success, SQUAKE will redirect the customer to this link. This is used when you want your customer to use the SQUAKE checkout page for the purchase.",
                  "type": "string"
                },
                "payment_method": {
                  "$ref": "#/components/schemas/payment_method"
                }
              },
              "oneOf": [
                {
                  "title": "Carbon Quantity and Unit",
                  "required": [
                    "carbon_quantity",
                    "carbon_unit"
                  ]
                },
                {
                  "title": "Fixed Total",
                  "required": [
                    "fixed_total"
                  ]
                }
              ]
            },
            "examples": {
              "pricing-carbon-quantity": {
                "summary": "Pricing with carbon quantity",
                "value": {
                  "expand[]": [
                    "price"
                  ],
                  "product": "product_123ab",
                  "carbon_quantity": 0.123,
                  "carbon_unit": "tonne"
                }
              },
              "pricing-fixed-price": {
                "summary": "Pricing with fixed price",
                "value": {
                  "expand[]": [
                    "price"
                  ],
                  "product": "product_123ab",
                  "fixed_total": 465,
                  "currency": "EUR"
                }
              },
              "pricing-with-stripe": {
                "summary": "Pricing with Stripe payment method",
                "value": {
                  "expand[]": [
                    "price"
                  ],
                  "product": "product_123ab",
                  "carbon_quantity": 0.123,
                  "carbon_unit": "tonne",
                  "payment_method": "stripe"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Pricing-Response-Params",
                  "description": "foobarbaz"
                }
              }
            },
            "headers": {
              "SQUAKE-Request-Id": {
                "schema": {
                  "$ref": "#/components/schemas/SQUAKE-Request-Id"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/calculations-with-pricing": {
      "post": {
        "tags": [
          "Combined Calculation & Pricing"
        ],
        "summary": "Perform a Calculation including a Price Quote",
        "description": "Convenience all-in-one endpoint to perform carbon calculation\nand pricing. A purchase can be performed via API or SQUAKE's checkout page\nusing the returned `payment_link`.\n<br><br>\nAll features supported by either the `/calculations` or `/pricing` endpoint\nare equally valid for this combined endpoint. Please read the respective descriptions\nfor details.\n<br><br>\nIf you need only either pricing or carbon emissions, SQUAKE advises using\nthe specific endpoints for lower latency and reduced implementation complexity.'\n",
        "operationId": "post-calc-and-pricing",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "expand": {
                    "type": "array",
                    "description": "If you choose to expand on e.g. \"items\", SQUAKE returns emissions per each item separately (in addition to a total value). If you include `items.pricing` a pricing token will be returned for each item.",
                    "items": {
                      "type": "string",
                      "enum": [
                        "items",
                        "product",
                        "price",
                        "items.pricing"
                      ],
                      "examples": [
                        "items"
                      ]
                    }
                  },
                  "items": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Calculation-Items"
                    }
                  },
                  "product": {
                    "type": "string",
                    "pattern": "product_[A-Za-z0-9]*",
                    "examples": [
                      "product_afg3465afg3"
                    ]
                  },
                  "payment_link_return_url": {
                    "type": "string",
                    "description": "If the customer does not exit the browser after the purchase, on success, SQUAKE will redirect the customer to this link."
                  },
                  "currency": {
                    "$ref": "#/components/schemas/currency"
                  },
                  "carbon_unit": {
                    "$ref": "#/components/schemas/carbon_unit"
                  },
                  "distance_unit": {
                    "$ref": "#/components/schemas/distance_unit"
                  },
                  "payment_method": {
                    "$ref": "#/components/schemas/payment_method"
                  }
                },
                "required": [
                  "items",
                  "product"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "A token encoding the pricing. Used to make a purchase."
                    },
                    "carbon_quantity": {
                      "type": "number"
                    },
                    "carbon_unit": {
                      "$ref": "#/components/schemas/carbon_unit"
                    },
                    "payment_link": {
                      "type": "string"
                    },
                    "price": {
                      "oneOf": [
                        {
                          "type": "string",
                          "description": "ID of a price.",
                          "pattern": "price_[A-Za-z0-9]*",
                          "examples": [
                            "price_1MMroL2eZvKYlo2CxbxAACvb"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/Price"
                        }
                      ]
                    },
                    "product": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "ID of a product.",
                          "pattern": "product_[A-Za-z0-9]*",
                          "examples": [
                            "product_01fa2d8f04e424"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/Product"
                        }
                      ]
                    },
                    "valid_from": {
                      "$ref": "#/components/schemas/iso_8601_date"
                    },
                    "valid_until": {
                      "$ref": "#/components/schemas/iso_8601_date"
                    },
                    "currency": {
                      "$ref": "#/components/schemas/currency"
                    },
                    "total": {
                      "type": "integer",
                      "description": "The total amount in the lower denomination of the currency; e.g. 12.34 USD would be 1234."
                    },
                    "items": {
                      "type": "array",
                      "description": "Expand items to receive emissions per item. By default, this is not included.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "carbon_quantity": {
                            "type": "number"
                          },
                          "carbon_unit": {
                            "$ref": "#/components/schemas/carbon_unit"
                          },
                          "external_reference": {
                            "type": "string"
                          },
                          "type": {
                            "$ref": "#/components/schemas/Carbon-Activity-Type"
                          },
                          "methodology": {
                            "$ref": "#/components/schemas/Emissions-Calculation-Methodology"
                          },
                          "methodology_version": {
                            "type": "string",
                            "description": "The version of the methodology used for the calculation. Only present if the methodology is a versioned methodology.",
                            "examples": [
                              "2025",
                              "2024",
                              "2023",
                              "2022",
                              "2021",
                              "2020"
                            ]
                          },
                          "pricing": {
                            "type": "object",
                            "description": "Only included if `expand` includes `items.pricing`",
                            "properties": {
                              "id": {
                                "type": "string",
                                "description": "A token encoding the pricing. Used to make a purchase."
                              },
                              "total": {
                                "type": "string",
                                "description": "The total amount in the lower denomination of the currency; e.g. 12.34 USD would be 1234."
                              },
                              "currency": {
                                "$ref": "#/components/schemas/currency"
                              }
                            },
                            "required": [
                              "id",
                              "total",
                              "currency"
                            ]
                          }
                        },
                        "required": [
                          "carbon_quantity",
                          "carbon_unit",
                          "type",
                          "methodology"
                        ]
                      }
                    }
                  },
                  "required": [
                    "id",
                    "carbon_quantity",
                    "carbon_unit",
                    "price",
                    "product",
                    "valid_from",
                    "valid_until",
                    "currency",
                    "total"
                  ]
                }
              }
            },
            "headers": {
              "SQUAKE-Request-Id": {
                "schema": {
                  "$ref": "#/components/schemas/SQUAKE-Request-Id"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/carbon-comparison": {
      "post": {
        "tags": [
          "Carbon Comparison"
        ],
        "summary": "Compare Carbon Usage",
        "description": "This endpoint allows you to compare carbon quantities to more\nrecognizable items such as cars, light bulbs, or kettles.\n<br><br>\nOur list of metrics and comparison units are quite extensive so a list of\naccepted combinations has been compiled and is available [here](https://squake.notion.site/96b220031e8e4d64aec4f0e46a5bde97?v=8c67ffdcf91c4477acf0640688beea11&pvs=4)\n",
        "operationId": "post-v2-carbon-comparison",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "carbon_quantity": {
                    "type": "integer",
                    "minimum": 1,
                    "examples": [
                      2000
                    ]
                  },
                  "carbon_unit": {
                    "$ref": "#/components/schemas/carbon_unit"
                  },
                  "items": {
                    "type": "array",
                    "description": "You can define one or more metrics you want to compare your carbon quantity to.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "metric": {
                          "type": "string",
                          "examples": [
                            "annual_usage"
                          ]
                        },
                        "comparison_unit": {
                          "type": "string",
                          "description": "If you don't send a comparison unit then SQUAKE will find the best match for the amount of CO2 you send in the `carbon_quantity`",
                          "examples": [
                            "cars"
                          ]
                        }
                      },
                      "required": [
                        "metric"
                      ]
                    }
                  }
                },
                "required": [
                  "carbon_quantity",
                  "carbon_unit",
                  "items"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "carbon_quantity": {
                      "type": "integer",
                      "examples": [
                        5000
                      ]
                    },
                    "carbon_unit": {
                      "$ref": "#/components/schemas/carbon_unit"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "comparison_unit": {
                            "type": "string",
                            "description": "The unit used as the comparison, if you passed one in then it will be here. If you didn't send one then this will be the one SQUAKE selected",
                            "examples": [
                              "cars"
                            ]
                          },
                          "metric": {
                            "type": "string",
                            "examples": [
                              "annual_usage"
                            ]
                          },
                          "amount": {
                            "type": "number",
                            "description": "The amount based on the metric, for example if `metric` was `annual_usage` and `amount` was `0.5` then that would be half a year",
                            "format": "float"
                          }
                        },
                        "required": [
                          "comparison_unit",
                          "metric",
                          "amount"
                        ]
                      }
                    }
                  },
                  "required": [
                    "carbon_quantity",
                    "carbon_unit",
                    "items"
                  ]
                }
              }
            },
            "headers": {
              "SQUAKE-Request-Id": {
                "schema": {
                  "type": "string"
                },
                "description": "Unique identifier linked to this API request. If you need to contact us regarding a specific request, providing the request identifier helps the resolution process."
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/purchases": {
      "post": {
        "tags": [
          "Purchases"
        ],
        "summary": "Create a Purchase",
        "description": "You can register a purchase programmatically to compensate for\ncarbon emissions on this endpoint. You must quote for pricing beforehand and\npass the returned pricing ID as a parameter.\n\nAlternatively, you can use the `payment_link` from the pricing endpoint to\nfinalize the purchase using SQUAKE's provided checkout page.\n\n### Lifecycle\n\n#### When purchasing via API (this endpoint)\n\n* **reserved**: A successful purchase starts in the state \"reserved\";  SQUAKE\nregistered your purchase and reserved carbon credits accordingly.\n\n* **canceled**: SQUAKE offers 14 days to cancel a purchase worry-free. This\nis a terminal state.\n\n* **confirmed**: The refundable period has passed. If you need to cancel the\npurchase beyond this point, please request a refund on the refunds endpoint.\n\n* **invoiced**: Without further action, a purchase is invoiced after the grace\nperiod and transitions to \"invoiced\".\n\n#### When purchasing via the checkout page\n\n* **payment_initiated**: the end customer entered the payment flow on the\ncheckout page\n\n* **payment_aborted**: the payment failed permanently, for example, because\nthe customer exited the page without finalizing the payment and didn''t return\nbefore the pricing''s validity ended. This is a terminal state.\n\n* **confirmed**: the payment provider informed SQUAKE about the successful\npayment. In this flow, this state exists only for a short time; the purchase\nimmediately continues to \"settled\".\n\n#### Both\n\n* **settled**: SQUAKE has received the payment.\n\n* **refunded**: a refund request was successfully processed. This is a terminal\nstate.\n\n* **certificates_confirmed**: all certificates for the carbon credits have\nbeen confirmed from all project partners related to the purchase.\n\n* **certificates_retired**: all certificates have been retired in the corresponding\nregistries. This is a terminal state.\n",
        "operationId": "post-purchases",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "pricing": {
                    "type": "string",
                    "description": "The ID from the pricing endpoint"
                  },
                  "confirmation_document": {
                    "$ref": "#/components/schemas/Confirmation-Document"
                  },
                  "certificate_document": {
                    "$ref": "#/components/schemas/Certificate-Document"
                  },
                  "expand": {
                    "type": "array",
                    "description": "Receive either the file-id, or the file-object of a requested document. If omitted, only IDs are returned.",
                    "items": {
                      "const": "files",
                      "examples": [
                        "files"
                      ]
                    }
                  },
                  "metadata": {
                    "$ref": "#/components/schemas/Metadata"
                  },
                  "external_reference": {
                    "type": "string",
                    "description": "If given, this reference must be unique. Suppose you need idempotency on the purchase endpoint: in that case, the external reference must be provided, meaning you can retry a purchase call with the same pricing id multiple times without registering multiple purchases, e.g., to recover from a network failure. Remember: with a valid pricing id, you can register as many purchases as you need. The reference should have enough entropy; a great choice is a V4 UUID."
                  }
                },
                "required": [
                  "pricing"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Purchase"
                }
              }
            },
            "headers": {
              "SQUAKE-Request-Id": {
                "schema": {
                  "$ref": "#/components/schemas/SQUAKE-Request-Id"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/purchases/{id}": {
      "get": {
        "tags": [
          "Purchases"
        ],
        "summary": "Retrieve a Purchase",
        "description": "Retrieve a purchase placed earlier. Useful to check for its state.\nTo avoid short polling, you can register a webhook to stay informed about\nall your purchases automatically.\n\nYou can use the `external_reference` as ID as well for the lookup; i.e. your\nunique identifier.\n",
        "operationId": "get-purchases-id",
        "parameters": [
          {
            "name": "expand[]",
            "in": "query",
            "description": "Include e.g. \"files\" to retrieve files as a full object (defaults to just their IDs)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Purchase"
                }
              }
            },
            "headers": {
              "SQUAKE-Request-Id": {
                "schema": {
                  "$ref": "#/components/schemas/SQUAKE-Request-Id"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      },
      "patch": {
        "tags": [
          "Purchases"
        ],
        "summary": "Update a Purchase",
        "description": "Update a purchase placed earlier.\n\nYou can use the `external_reference` as ID as well for the lookup; i.e. your\nunique identifier.\n\nOmitted keys will not affect any present data. To remove optional data you must explicitly set the value to `null`.\n",
        "operationId": "patch-purchases-id",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "confirmation_document": {
                    "$ref": "#/components/schemas/Confirmation-Document"
                  },
                  "certificate_document": {
                    "$ref": "#/components/schemas/Certificate-Document"
                  },
                  "expand": {
                    "type": "array",
                    "description": "Receive either the file-id, or the file-object of a requested document. If omitted, only IDs are returned.",
                    "items": {
                      "const": "files",
                      "examples": [
                        "files"
                      ]
                    }
                  },
                  "metadata": {
                    "$ref": "#/components/schemas/Metadata"
                  },
                  "external_reference": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Purchase"
                }
              }
            },
            "headers": {
              "SQUAKE-Request-Id": {
                "schema": {
                  "$ref": "#/components/schemas/SQUAKE-Request-Id"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/purchases/{id}/cancel": {
      "post": {
        "tags": [
          "Purchases"
        ],
        "summary": "Cancel a Purchase",
        "description": "A purchase can be canceled as long as it is not confirmed; this\nis in the state `reserved`. After the cancelation period passes, the purchase\ntransitions to `confirmed`. Confirmed purchases go to the batch settlement.\n",
        "operationId": "post-purchases-id-cancel",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Purchase"
                }
              }
            },
            "headers": {
              "SQUAKE-Request-Id": {
                "schema": {
                  "$ref": "#/components/schemas/SQUAKE-Request-Id"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/products": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Retrieve Products",
        "description": "A product is any purchasable compensation option SQUAKE offers.\nIn the simplest case, a product maps to a single climate project such as \"Sustainable\nBiofuel for Shipping\". Depending on client need, SQUAKE also offers bundles\nof multiple climate projects; these can be centered around specific goals,\ne.g.,\"carbon reduction\", \"location\", or what is desired to achieve a particular\nprice point or sustainability goal. Feel free to contact us for more information\nor custom products.\n",
        "operationId": "get-products",
        "parameters": [
          {
            "name": "locale",
            "in": "query",
            "description": "Descriptions of products can be localized.",
            "schema": {
              "$ref": "#/components/schemas/Locale"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "An optional parameter that enables pagination, by default the amount of items per page is 25",
            "schema": {
              "type": "number",
              "minimum": 1
            }
          },
          {
            "name": "items",
            "in": "query",
            "description": "An optional parameter that enables pagination, this controls the amount of items per page. Can be used separetly or in conjunction with `page`",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 25,
              "examples": [
                5
              ]
            }
          },
          {
            "name": "category",
            "in": "query",
            "description": "Allows filtering of the categories of a product, filters by `code`",
            "schema": {
              "type": "string",
              "examples": [
                "Water"
              ]
            }
          },
          {
            "name": "class",
            "in": "query",
            "description": "Allows filtering of the classes of a product, filters by `code`",
            "schema": {
              "type": "string",
              "examples": [
                "Nature Based"
              ]
            }
          },
          {
            "name": "impact_type",
            "in": "query",
            "description": "Allows filtering of the impact types of a product, filters by `code`",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Product"
                  }
                }
              }
            },
            "headers": {
              "SQUAKE-Request-Id": {
                "schema": {
                  "$ref": "#/components/schemas/SQUAKE-Request-Id"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/401"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/products/{id}": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Retrieve a Product",
        "description": "Retrieve details about a specific product",
        "operationId": "get-products-id",
        "parameters": [
          {
            "name": "locale",
            "in": "query",
            "description": "Descriptions of products can be localized.",
            "schema": {
              "$ref": "#/components/schemas/Locale"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The product ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Product"
                }
              }
            },
            "headers": {
              "SQUAKE-Request-Id": {
                "schema": {
                  "$ref": "#/components/schemas/SQUAKE-Request-Id"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "404": {
            "$ref": "#/components/responses/404"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/files/{id}": {
      "get": {
        "tags": [
          "Files"
        ],
        "summary": "Retrieve a File",
        "description": "Certain records may have files attached. For a purchase, you can\nrequest a compensation confirmation, for example. SQUAKE can send this via\nemail; you can have it returned from the purchase request immediately or fetch\nthe file from this endpoint later.\n\nSQUAKE advises fetching files async after the purchase to keep the latency\nof the purchase API call low. You will always receive the file ID from the\npurchase endpoint if files are, or will be, attached to the record.\n",
        "operationId": "get-files-id",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/File"
                }
              }
            },
            "headers": {
              "SQUAKE-Request-Id": {
                "schema": {
                  "$ref": "#/components/schemas/SQUAKE-Request-Id"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/healthz": {
      "get": {
        "tags": [
          "Health Check"
        ],
        "summary": "Healthz",
        "description": "Simple health check to verify SQUAKE's server can be reached.",
        "operationId": "get-v2-healthz",
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/livez": {
      "get": {
        "tags": [
          "Health Check"
        ],
        "summary": "Livez",
        "description": "Health check to verify SQUAKE's server can be reached; this additionally checks the most critical sub-dependencies, such as database systems.",
        "operationId": "get-v2-livez",
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/readyz": {
      "get": {
        "tags": [
          "Health Check"
        ],
        "summary": "Readyz",
        "description": "Extensive health check to verify SQUAKE's server can be reached;\nthis additionally checks all sub-dependencies, such as database systems, and\nalso considers the error rate of the most recent history. Meaning even if\nSQUAKE's servers are reachable, including their sub-systems, if other clients\nexperience excessively many errors, this endpoint returns an error.\n",
        "operationId": "get-v2-readyz",
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/travel-data": {
      "post": {
        "tags": [
          "Travel Data"
        ],
        "summary": "Create Travel Data Items",
        "description": "Accepts trip records with nested activities for travel data ingestion.\n",
        "operationId": "post-v2-travel-data",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "trips": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Travel-Data-Trip"
                    }
                  }
                }
              },
              "examples": {
                "example_1": {
                  "summary": "Basic trip with one car activity",
                  "value": {
                    "trips": [
                      {
                        "amount_in_cents": 10000,
                        "currency": "USD",
                        "trip_name": "Business Trip to NYC",
                        "trip_purpose": "Client Meeting",
                        "trip_reference": "BT-2023-001",
                        "trip_status": "completed",
                        "start_date_utc": "2023-10-01",
                        "end_date_utc": "2023-10-05",
                        "booking_provider": "Test Provider",
                        "activities": [
                          {
                            "type": "car",
                            "methodology": "DEFRA",
                            "origin": "BER",
                            "destination": "MUC",
                            "fuel_type": "diesel",
                            "traveler": {
                              "name": "Mustermann",
                              "email": "test@company.io",
                              "traveler_type": "employee"
                            }
                          }
                        ],
                        "cost_center": {
                          "name": "Marketing",
                          "purpose": "Marketing Campaign",
                          "email": "cc@company.io"
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Travel-Data-Items-Response"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/webhooks": {
      "get": {
        "summary": "Retrieve Registered Webhooks",
        "description": "Webhooks are HTTP callbacks that notify your application when\nevents happen in SQUAKE's system.\n\nInstead of continuously polling our API, webhooks push data to your endpoint when events occur.\n\nThis endpoint returns the list of currently registered webhooks.\nSee the Integration Documentation for more information.\n",
        "operationId": "get-v2-webhooks",
        "tags": [
          "Webhooks"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Webhook"
                  }
                }
              }
            }
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      },
      "post": {
        "summary": "Register New Webhook",
        "description": "This endpoint allows you to register a new Webhook to subscribe to certain kind of events being triggered by Squake\n<br><br>\n**Important:** This endpoint returns a newly created webhook upon a successful request.\n<br>\nThe webhook includes a `signing_key` used to verify the authenticity of future webhook messages.\nPlease ensure you save this `signing_key`, as it cannot be retrieved later.\n",
        "operationId": "post-v2-webhooks",
        "tags": [
          "Webhooks"
        ],
        "requestBody": {
          "description": "This endpoint accepts JSON object with two fields:\n\n- `kind`\n- `endpoint_url`\n\n\nRight now we're supporting next types:\n\n- `order` - we'll send you an event when purchase which was made via stripe\nchanges status\n- `confirmation_document_available` - we'll send a document when it's\ngenerated\n- `certificate_document_available` - we'll send a document when it's generated\n\nThe `endpoint_url` value should be a valid URL that accepts `POST` requests.\n",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "order",
                      "confirmation_document_available",
                      "certificate_document_available"
                    ]
                  },
                  "endpoint_url": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookWithSigningKey"
                }
              }
            }
          },
          "422": {
            "$ref": "#/components/responses/422"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/webhooks/{id}": {
      "get": {
        "summary": "Retrieve Webhook Information",
        "description": "This endpoint allows you to retrieve an information about a specific Webhook",
        "operationId": "get-v2-webhooks-id",
        "tags": [
          "Webhooks"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Webhook"
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      },
      "put": {
        "summary": "Update Webhook",
        "description": "This endpoint allows you to update a previously registered webhook.\n\nIt accepts the same parameters as the Register New Webhook endpoint and\nresponds with an updated Webhook entity\n",
        "operationId": "put-v2-webhooks-id",
        "tags": [
          "Webhooks"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "order",
                      "confirmation_document_available",
                      "certificate_document_available"
                    ]
                  },
                  "endpoint_url": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Webhook"
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "422": {
            "$ref": "#/components/responses/422"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      },
      "delete": {
        "summary": "Delete Webhook",
        "description": "This endpoint allows you to delete previously registered webhook",
        "operationId": "delete-v2-webhooks-id",
        "tags": [
          "Webhooks"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/audits": {
      "get": {
        "summary": "Retrieve the list of Audit logs",
        "description": "Retrieve the list of audit logs for the authenticated client\n",
        "operationId": "get-v2-audits",
        "tags": [
          "Audits"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Audit"
                  }
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/403"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/audits/{id}": {
      "get": {
        "summary": "Retrieve a specific Audit log",
        "description": "Retrieves detailed information about a specific Audit log\n",
        "operationId": "get-v2-audits-id",
        "tags": [
          "Audits"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Audit"
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/audits/entities": {
      "get": {
        "summary": "Retrieve the list of Auditable entities",
        "description": "Retrieve the list of Auditable entities, which can be used for auditing\n",
        "operationId": "get-v2-audits-entities",
        "tags": [
          "Audits"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuditableEntity"
                  }
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/403"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      },
      "post": {
        "summary": "Create a new Auditable entity",
        "description": "Create a new Auditable entity, which can be used for auditing\n",
        "operationId": "post-v2-audits-entities",
        "tags": [
          "Audits"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuditableEntityRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuditableEntity"
                  }
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/403"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    },
    "/v2/audits/entities/{id}": {
      "get": {
        "summary": "Retrieve a specific Auditable entity",
        "description": "Retrieve a specific Auditable entity\n",
        "operationId": "get-v2-audits-entities-id",
        "tags": [
          "Audits"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditableEntity"
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/403"
          }
        },
        "security": [
          {},
          {
            "Bearer-Auth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.squake.earth",
            "description": "Production"
          },
          {
            "url": "https://api.sandbox.squake.earth",
            "description": "Sandbox"
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "HTTP-Basic-Auth": {
        "type": "http",
        "scheme": "basic"
      },
      "Bearer-Auth": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "responses": {
      "400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "$ref": "#/components/schemas/API-Error"
                }
              }
            }
          }
        },
        "headers": {
          "SQUAKE-Request-Id": {
            "schema": {
              "$ref": "#/components/schemas/SQUAKE-Request-Id"
            }
          }
        }
      },
      "401": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "$ref": "#/components/schemas/API-Error"
                }
              }
            }
          }
        },
        "headers": {
          "SQUAKE-Request-Id": {
            "schema": {
              "$ref": "#/components/schemas/SQUAKE-Request-Id"
            }
          }
        }
      },
      "403": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "$ref": "#/components/schemas/API-Error"
                }
              }
            }
          }
        },
        "headers": {
          "SQUAKE-Request-Id": {
            "schema": {
              "$ref": "#/components/schemas/SQUAKE-Request-Id"
            }
          }
        }
      },
      "404": {
        "description": "Not Found",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "$ref": "#/components/schemas/API-Error"
                }
              }
            }
          }
        },
        "headers": {
          "SQUAKE-Request-Id": {
            "schema": {
              "$ref": "#/components/schemas/SQUAKE-Request-Id"
            }
          }
        }
      },
      "422": {
        "description": "Unprocessable Entity",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "$ref": "#/components/schemas/API-Error"
                }
              }
            }
          }
        },
        "headers": {
          "SQUAKE-Request-Id": {
            "schema": {
              "$ref": "#/components/schemas/SQUAKE-Request-Id"
            }
          }
        }
      }
    },
    "schemas": {
      "Calculation-Items": {
        "title": "Carbon Emission Calculation Types",
        "anyOf": [
          {
            "$ref": "#/components/schemas/Accommodation"
          },
          {
            "$ref": "#/components/schemas/Air-Freight"
          },
          {
            "$ref": "#/components/schemas/Bus"
          },
          {
            "$ref": "#/components/schemas/Car"
          },
          {
            "$ref": "#/components/schemas/Coffee-Production"
          },
          {
            "$ref": "#/components/schemas/Event"
          },
          {
            "$ref": "#/components/schemas/Expenditure"
          },
          {
            "$ref": "#/components/schemas/Ferry"
          },
          {
            "$ref": "#/components/schemas/Flight"
          },
          {
            "$ref": "#/components/schemas/Hotel"
          },
          {
            "$ref": "#/components/schemas/Inland-Waterways"
          },
          {
            "$ref": "#/components/schemas/Logistics-Site"
          },
          {
            "$ref": "#/components/schemas/Logistics"
          },
          {
            "$ref": "#/components/schemas/Private-Jet"
          },
          {
            "$ref": "#/components/schemas/Rail-Freight"
          },
          {
            "$ref": "#/components/schemas/Restaurant"
          },
          {
            "$ref": "#/components/schemas/Road-Freight"
          },
          {
            "$ref": "#/components/schemas/Sea-Freight"
          },
          {
            "$ref": "#/components/schemas/Train"
          },
          {
            "$ref": "#/components/schemas/Van"
          }
        ]
      },
      "Carbon-Activity-Type": {
        "type": "string",
        "enum": [
          "accommodation",
          "air_freight",
          "bus",
          "camping_site",
          "car",
          "co2_amount",
          "coffee_production",
          "cruise",
          "expenditure",
          "ferry",
          "flight",
          "general",
          "hotel",
          "logistics",
          "logistics_site",
          "money_amount",
          "private_jet",
          "sea_freight",
          "inland_waterways",
          "train",
          "rail_freight",
          "road_freight",
          "van"
        ],
        "title": "Carbon-Activity-Type",
        "examples": [
          "air_freight"
        ]
      },
      "Emissions-Calculation-Methodology": {
        "type": "string",
        "enum": [
          "ACRISS",
          "ADEME",
          "BASIC",
          "CLEAN-CARGO",
          "CO2-EMISSIEFACTOREN-NL",
          "DIN-EN-16258",
          "DEFRA",
          "EU-EEA",
          "EU-EMSA",
          "US-EPA",
          "HCMI",
          "OFNK",
          "ECTA",
          "GLEC",
          "ICAO",
          "TIM",
          "SQUAKE"
        ],
        "title": "Emissions-Calculation-Methodology",
        "examples": [
          "GLEC"
        ]
      },
      "Pricing-Response-Params": {
        "type": "object",
        "title": "Pricing",
        "properties": {
          "id": {
            "type": "string",
            "description": "A token encoding the pricing; used to make a purchase. Requests for the same product and carbon quantity (or fixed total) may result in the same id. A pricing is valid for multiple purchases (the purchase endpoint is idempotent if you add an `external_reference` to the purchase call)."
          },
          "payment_link": {
            "type": "string"
          },
          "price": {
            "oneOf": [
              {
                "type": "string",
                "description": "ID of a price.",
                "pattern": "price_[A-Za-z0-9]*",
                "examples": [
                  "price_1MMroL2eZvKYlo2CxbxAACvb"
                ]
              },
              {
                "$ref": "#/components/schemas/Price"
              }
            ]
          },
          "product": {
            "anyOf": [
              {
                "type": "string",
                "description": "ID of a product.",
                "pattern": "product_[A-Za-z0-9]*",
                "examples": [
                  "product_01fa2d8f04e424"
                ]
              },
              {
                "$ref": "#/components/schemas/Product"
              }
            ]
          },
          "valid_until": {
            "$ref": "#/components/schemas/iso_8601_date",
            "description": "By default, a price quote is valid from the moment you request it for two weeks. Expired price quotes are accepted if the underlying price hasn't changed."
          },
          "carbon_quantity": {
            "type": "number",
            "description": "Volume of carbon emissions",
            "readOnly": true
          },
          "carbon_unit": {
            "$ref": "#/components/schemas/carbon_unit"
          },
          "currency": {
            "$ref": "#/components/schemas/currency"
          },
          "total": {
            "type": "integer",
            "description": "The total amount in the lower denomination of the currency; e.g. 12.34 USD would be 1234."
          }
        },
        "required": [
          "id",
          "price",
          "product",
          "valid_until",
          "carbon_quantity",
          "carbon_unit",
          "currency",
          "total"
        ]
      },
      "Price": {
        "type": "object",
        "title": "Price",
        "description": "For carbon compensation products, prices define the unit cost (per unit, e.g., \"tonne\"). Prices are valid for a given period as the market fluctuates.\n\n\nTypically there is one currently valid price for a product. As the market fluctuates, prices can change; usually, SQUAKE is informed by their project partners of future price changes; hence multiple prices can be returned for the same product.\n\n\nThis endpoint returns only valid prices. These are purley informational; for interacting with the API, `products` must be passed.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "price_[A-Za-z0-9]*",
            "readOnly": true,
            "examples": [
              "price_1MMroL2eZvKYlo2CxbxAACvb"
            ]
          },
          "product": {
            "type": "string",
            "examples": [
              "prod_N760vOJBvdEDY8"
            ]
          },
          "unit_amount": {
            "type": "integer",
            "description": "The total amount in the lower denomination of the currency; e.g. 12.34 USD would be 1234.",
            "format": "int64",
            "examples": [
              2500
            ]
          },
          "carbon_unit": {
            "$ref": "#/components/schemas/carbon_unit"
          },
          "currency": {
            "$ref": "#/components/schemas/currency"
          },
          "valid_from": {
            "$ref": "#/components/schemas/iso_8601_date"
          }
        },
        "required": [
          "id",
          "product",
          "unit_amount",
          "carbon_unit",
          "currency",
          "valid_from"
        ],
        "examples": []
      },
      "Product": {
        "type": "object",
        "title": "Product",
        "description": "A product is any purchasable compensation option SQUAKE offers. In the simplest case, a product maps to a single project such as \"GoodShipping Sustainable Biofuel for Shipping\". Depending on client need, SQUAKE also offers bundles of multiple projects; these can be centered around specific goals, e.g., \"carbon avoidance\", or mixed to achieve a particular price point. Feel free to contact us for more information or custom products.",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "product_[A-Za-z0-9]*",
            "examples": [
              "product_2rsg35sfsdf"
            ]
          },
          "locations": {
            "type": "array",
            "description": "List of all locations impacted by the projects used in this product.",
            "items": {
              "$ref": "#/components/schemas/Location"
            }
          },
          "certifications": {
            "type": "array",
            "description": "List of all certifications the projects for this product hold.",
            "items": {
              "$ref": "#/components/schemas/Certification"
            }
          },
          "title": {
            "type": "string",
            "description": "A short human readable summary of the description. "
          },
          "description": {
            "type": "string",
            "description": "A human readable description."
          },
          "sdgs": {
            "type": "array",
            "description": "The Sustainable Development Goals (SDGs) aim to transform our world. They are a call to action to end poverty and inequality, protect the planet, and ensure that all people enjoy health, justice and prosperity.",
            "items": {
              "type": "integer",
              "minimum": 1,
              "maximum": 17,
              "multipleOf": 1,
              "examples": [
                7
              ]
            }
          },
          "files": {
            "type": "array",
            "description": "Images attached to the product.",
            "items": {
              "$ref": "#/components/schemas/File"
            }
          },
          "prices": {
            "type": "array",
            "description": "Multiple prices may exist, for example, when future price changes are already known.",
            "items": {
              "$ref": "#/components/schemas/Price"
            }
          },
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductCategory"
            }
          },
          "impact_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImpactType"
            }
          },
          "classes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectClass"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "Location": {
        "type": "object",
        "title": "Location",
        "description": "Information on a location according to ISO 3166 or UN M49. This can be, for example, a country code such as `DE` for Germany (using alpha2), or a sub region code such as `155` for Western Europe, or region code such as `150` for Europe.",
        "properties": {
          "country": {
            "$ref": "#/components/schemas/country"
          },
          "sub_region": {
            "type": "string",
            "description": "One to Three-digit UN M49 sub region code.",
            "examples": [
              "150"
            ]
          },
          "region": {
            "type": "string",
            "description": "One to Three-digit UN M49 region code.",
            "examples": [
              "155"
            ]
          }
        },
        "required": [
          "country"
        ]
      },
      "Certification": {
        "type": "string",
        "enum": [
          "American Carbon Registry",
          "Australian Biodiversity Unit",
          "BAFU VER",
          "Clean Development Mechanism",
          "DNV",
          "Ernst & Young",
          "European Biochar Certification",
          "Gold Standard CER",
          "Gold Standard VER",
          "I-REC",
          "International Sustainability & Carbon Certification (ISCC)",
          "ISO 14064",
          "Moor Futures",
          "Müller BBM",
          "Plan Vivo",
          "TÜV",
          "Verified Carbon Standard"
        ],
        "title": "Certification",
        "description": "Certification organizations rate and evaluate the quality of emitted carbon credits; such organizations assess, for example, the inclusion of safeguarding principles, the impact of climate and sustainable development goals, or the presence of a monitoring plan.",
        "examples": [
          "European Biochar Certification"
        ]
      },
      "File": {
        "type": "object",
        "title": "File",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "file_[A-Za-z0-9]*",
            "examples": [
              "file_asfg454s25"
            ]
          },
          "filename": {
            "type": "string"
          },
          "purpose": {
            "type": "string",
            "enum": [
              "confirmation_document",
              "certificate_document",
              "project_image"
            ],
            "examples": [
              "confirmation_document"
            ]
          },
          "size": {
            "type": "integer",
            "description": "Byte size of the object"
          },
          "type": {
            "type": "string",
            "enum": [
              "csv",
              "jpg",
              "pdf",
              "png",
              "webp"
            ],
            "examples": [
              "pdf"
            ]
          },
          "download_url": {
            "type": "string",
            "description": "The link will expire after 1 year. If blank, the document has not been created yet. Please poll until a link is included.",
            "format": "uri"
          },
          "notification": {
            "type": "string",
            "description": "Information pertaining to the file, e.g., when the file will be available"
          }
        },
        "required": [
          "id",
          "filename",
          "purpose",
          "size",
          "type"
        ]
      },
      "ProductCategory": {
        "type": "object",
        "title": "ProductCategory",
        "properties": {
          "code": {
            "type": "string",
            "description": "Unique identifier for a category",
            "pattern": "^[a-z_]+$",
            "examples": [
              "forestry_and_land_use"
            ]
          },
          "title": {
            "type": "string",
            "description": "English human-readable name of the category.",
            "examples": [
              "Forestry and Land Use"
            ]
          }
        },
        "required": [
          "code"
        ]
      },
      "ImpactType": {
        "type": "object",
        "title": "ImpactType",
        "properties": {
          "code": {
            "type": "string",
            "description": "Unique identifier for a impact type",
            "pattern": "^[a-z_]+$",
            "examples": [
              "avoidance"
            ]
          },
          "title": {
            "type": "string",
            "description": "English human-readable name of the impact type",
            "examples": [
              "Avoidance"
            ]
          }
        },
        "required": [
          "code"
        ]
      },
      "ProjectClass": {
        "type": "object",
        "title": "ProjectClass",
        "properties": {
          "code": {
            "type": "string",
            "description": "Unique identifier for a project class",
            "pattern": "^[a-z_]+$",
            "examples": [
              "technology_based"
            ]
          },
          "title": {
            "type": "string",
            "description": "English human-readable name of the project class",
            "examples": [
              "Technology based"
            ]
          }
        },
        "required": [
          "code"
        ]
      },
      "Confirmation-Document": {
        "type": "object",
        "title": "Confirmation-Document",
        "properties": {
          "full_name": {
            "type": "string",
            "description": "Legal name of an entity or natural person to which the document shall be issued. If you cannot disclose this, you can send any de-personalized identifier (such as a UUID)."
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "email": {
            "type": "string",
            "description": "SQUAKE can send an email with the compensation confirmation. If omitted, no email is sent. In either case, a download link will be made available.",
            "format": "email"
          },
          "on_behalf_of": {
            "type": "object",
            "description": "If you make a compensation on behalf on another entity or person. This will be printed on the issued document.",
            "properties": {
              "full_name": {
                "type": "string"
              },
              "address": {
                "$ref": "#/components/schemas/Address"
              }
            },
            "required": [
              "full_name"
            ]
          },
          "locale": {
            "$ref": "#/components/schemas/Locale"
          }
        },
        "required": [
          "full_name",
          "address"
        ]
      },
      "Address": {
        "type": "object",
        "title": "Address",
        "description": "Address of a legal entity. Some (legal) documets require a full address to be given, e.g. an invoice.",
        "properties": {
          "city": {
            "type": "string",
            "description": "City, town, village,..."
          },
          "country": {
            "$ref": "#/components/schemas/country"
          },
          "line1": {
            "type": "string",
            "description": "street, post box, company name, ..."
          },
          "line2": {
            "type": "string",
            "description": "suite, apartment number, ..."
          },
          "postal_code": {
            "type": "string",
            "description": "ZIP or postal code"
          },
          "state": {
            "type": "string",
            "description": "County, Province, Region, State,..."
          }
        },
        "required": [
          "city",
          "country",
          "line1",
          "postal_code"
        ]
      },
      "Locale": {
        "type": "string",
        "enum": [
          "de",
          "en",
          "es",
          "fr",
          "hi",
          "it",
          "ja",
          "pt",
          "pt-BR",
          "zh-CN"
        ],
        "title": "Locale",
        "description": "Two-letter ISO 639-1 or BCP 47 code describing a language. Descriptions and emails meant for end users can be localized. System messages meant for developers are always in english.",
        "pattern": "^(?:[a-z]{2}|[a-z]{2}-[A-Z]{2})$",
        "minLength": 2,
        "maxLength": 5,
        "default": "en",
        "examples": [
          "en"
        ]
      },
      "Certificate-Document": {
        "type": "object",
        "title": "Certificate-Document",
        "properties": {
          "full_name": {
            "type": "string",
            "description": "Legal name of an entity or natural person to which the document shall be issued. If you cannot disclose this, you can send any de-personalized identifier (such as a UUID)."
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "email": {
            "type": "string",
            "description": "SQUAKE can send an email with the compensation certificate. If omitted, no email is sent. In either case, a download link will be made available.",
            "format": "email"
          },
          "flags": {
            "type": "array",
            "description": "If \"with_attribution\" is sent, your name will be mentioned on the certificate; e.g. \"(..) enabled by ${your_name} (..)\".",
            "items": {
              "const": "with_attribution",
              "examples": [
                "with_attribution"
              ]
            }
          },
          "locale": {
            "$ref": "#/components/schemas/Locale"
          }
        },
        "required": [
          "full_name",
          "address"
        ]
      },
      "Metadata": {
        "type": "object",
        "title": "Metadata",
        "description": "A set of key-value pairs of yours that helps you link this record in your system. Never displayed to users."
      },
      "Purchase": {
        "type": "object",
        "title": "Purchase",
        "examples": [],
        "properties": {
          "id": {
            "type": "string",
            "pattern": "purchase_[a-zA-Z0-9]*",
            "examples": [
              "purchase_sd234asdfl23"
            ]
          },
          "files": {
            "type": "array",
            "description": "Contains for example the certificate document if it was requested during the purchase.",
            "uniqueItems": true,
            "items": {
              "oneOf": [
                {
                  "type": "string",
                  "pattern": "file_[A-Za-z0-9]*",
                  "examples": [
                    "file_34sdfgJH9df4g35"
                  ]
                },
                {
                  "$ref": "#/components/schemas/File"
                }
              ]
            }
          },
          "payment_method": {
            "$ref": "#/components/schemas/Payment-Method"
          },
          "state": {
            "$ref": "#/components/schemas/Purchase-State"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "checkout_page": {
            "type": "object",
            "description": "Present if the payment method is `stripe`, meaning self-fulfillment by the customer on SQUAKEs payment page.",
            "properties": {
              "url": {
                "type": "string",
                "description": "Send your customer to this URL to finalise the purchase. This link is not the stateless payment link, but bound to this purchase.",
                "format": "uri",
                "examples": [
                  "https://checkout.squake.earth"
                ]
              },
              "return_url": {
                "type": "string",
                "description": "If the customer does not exit the browser after the purchase, on success, SQUAKE will redirect the customer to this link.",
                "format": "uri",
                "examples": [
                  "https://example.com"
                ]
              }
            }
          },
          "carbon_quantity": {
            "type": "number"
          },
          "carbon_unit": {
            "$ref": "#/components/schemas/carbon_unit"
          },
          "total": {
            "type": "integer"
          },
          "currency": {
            "$ref": "#/components/schemas/currency"
          },
          "external_reference": {
            "type": "string",
            "description": "Unique identifier from your system; used as idempotency when creating this resource."
          },
          "cancellable_until": {
            "description": "The date until which purchase can be cancelled",
            "type": "string",
            "format": "date-time",
            "example": "2025-01-01T15:00:00+00:00"
          }
        },
        "required": [
          "id",
          "payment_method",
          "state",
          "carbon_quantity",
          "carbon_unit",
          "total",
          "currency"
        ],
        "description": ""
      },
      "Payment-Method": {
        "type": "string",
        "enum": [
          "batch_settlement",
          "stripe"
        ],
        "title": "Payment-Method",
        "description": "Mode of payment. The batch settlement means SQUAKE will invoice you regularly for a batch of purchases. The checkout page is SQUAKEs self-fulfillment solution where end-customers can purchase a product directly from SQUAKE as the merchant of record.",
        "default": "batch_settlement",
        "examples": [
          "batch_settlement"
        ]
      },
      "Purchase-State": {
        "type": "string",
        "enum": [
          "reserved",
          "confirmed",
          "invoiced",
          "settled",
          "certificates_confirmed",
          "certificates_retired",
          "payment_initiated",
          "canceled",
          "voided",
          "refunded",
          "payment_aborted"
        ],
        "title": "Purchase State"
      },
      "Webhook": {
        "type": "object",
        "description": "Squake application generates events on certain actions. To be notified about these actions client can create a webhook. For now you can create one webhook per one kind of events.\n\nOn the first creation of webhook, you would receive `signing_key`. \nYou should save these signing key securely as we're using it to sign our webhooks, so later you can check the authentity of the received event.\n\nTo sign the webhook payload, we're creating HMAC signature of the payload using SHA256.",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique identifier for the webhook, represented as a universally unique identifier (UUID)",
            "format": "uuid"
          },
          "last_failed_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "The timestamp of the most recent failed delivery attempt. If no failures have occurred, this field is null",
            "format": "date-time"
          },
          "last_sent_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "The timestamp of the most recent successful delivery attempt. If no attempts have been made, this field is null",
            "format": "date-time"
          },
          "failed_attempts": {
            "type": "integer",
            "description": "The total number of consecutive failed delivery attempts"
          },
          "kind": {
            "type": "string",
            "enum": [
              "order",
              "carbon_activity_expired",
              "confirmation_document_available",
              "certificate_document_available"
            ],
            "description": "The type of event that triggers the webhook"
          },
          "endpoint_url": {
            "type": "string",
            "description": "The URL where the webhook payloads are sent. Must be a valid URI that accepts POST requests",
            "format": "uri"
          }
        },
        "examples": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "last_failed_at": "2024-08-22T14:10:78Z",
            "last_sent_at": "2024-08-24T14:15:22Z",
            "failed_attempts": 0,
            "kind": "order",
            "endpoint_url": "http://example.com",
            "signing_key": "TAWHPBAVckH8KmxRtlRX/rQ/mona5vUem7QFtozGHxM="
          }
        ],
        "x-examples": {
          "Example 1": {
            "id": "38b2be09-e80b-4684-96d6-0b5b6bdf7738",
            "last_failed_at": null,
            "last_sent_at": null,
            "client_id": "46ad191f-1f15-4328-8be0-7a5ce78f5a78",
            "failed_attempts": 0,
            "kind": "order",
            "endpoint_url": "testik.com",
            "created_at": "2024-11-29T13:07:55.753Z",
            "updated_at": "2024-11-29T13:07:55.753Z",
            "deleted_at": null
          }
        }
      },
      "WebhookWithSigningKey": {
        "type": "object",
        "description": "Squake application generates events on certain actions. To be notified about these actions client can create a webhook. For now you can create one webhook per one kind of events.\n\nOn the first creation of webhook, you would receive `signing_key`. \nYou should save these signing key securely as we're using it to sign our webhooks, so later you can check the authentity of the received event.\n\nTo sign the webhook payload, we're creating HMAC signature of the payload using SHA256.",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique identifier for the webhook, represented as a universally unique identifier (UUID)",
            "format": "uuid"
          },
          "last_failed_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "The timestamp of the most recent failed delivery attempt. If no failures have occurred, this field is null",
            "format": "date-time"
          },
          "last_sent_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "he timestamp of the most recent successful delivery attempt. If no attempts have been made, this field is null",
            "format": "date-time"
          },
          "failed_attempts": {
            "type": "integer",
            "description": "The total number of consecutive failed delivery attempts"
          },
          "kind": {
            "type": "string",
            "enum": [
              "order",
              "carbon_activity_expired",
              "confirmation_document_available",
              "certificate_document_available"
            ],
            "description": "The type of event that triggers the webhook"
          },
          "endpoint_url": {
            "type": "string",
            "description": "The URL where the webhook payloads are sent. Must be a valid URI that accepts POST requests",
            "format": "uri"
          },
          "signing_key": {
            "type": "string",
            "description": "32 bit signing key that we're using to generate webhook signature.  \n`signing_key` is being generated on webhook creation and being exposed only once, so make sure you've saved it"
          }
        },
        "examples": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "last_failed_at": "2024-08-22T14:10:78Z",
            "last_sent_at": "2024-08-24T14:15:22Z",
            "failed_attempts": 0,
            "kind": "order",
            "endpoint_url": "http://example.com",
            "signing_key": "TAWHPBAVckH8KmxRtlRX/rQ/mona5vUem7QFtozGHxM="
          }
        ],
        "x-examples": {
          "Example 1": {
            "id": "38b2be09-e80b-4684-96d6-0b5b6bdf7738",
            "last_failed_at": null,
            "last_sent_at": null,
            "client_id": "46ad191f-1f15-4328-8be0-7a5ce78f5a78",
            "failed_attempts": 0,
            "kind": "order",
            "endpoint_url": "testik.com",
            "created_at": "2024-11-29T13:07:55.753Z",
            "updated_at": "2024-11-29T13:07:55.753Z",
            "deleted_at": null
          }
        }
      },
      "API-Error": {
        "type": "array",
        "title": "API Error",
        "items": {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "field_validation_error",
                "server_error",
                "not_authorized",
                "not_found",
                "invalid_methodology",
                "invalid_type"
              ],
              "description": "An application-specific error code, expressed as a string value.",
              "examples": [
                "field_validation_error"
              ]
            },
            "detail": {
              "type": "string",
              "description": "A human-readable explanation specific to this occurrence of the problem. Like title, this field's value can be localized."
            },
            "source": {
              "$ref": "#/components/schemas/API-ErrorSource",
              "description": "An object containing references to the primary source of the error"
            }
          },
          "required": [
            "code"
          ]
        }
      },
      "API-ErrorSource": {
        "type": "object",
        "title": "API-ErrorSource",
        "properties": {
          "id": {
            "type": "string"
          },
          "attribute": {
            "type": "string"
          },
          "model": {
            "type": "string"
          }
        },
        "required": [
          "attribute"
        ]
      },
      "Travel-Data-Items-Response": {
        "type": "object",
        "title": "Travel-Data-Items-Response",
        "properties": {
          "carbon_quantity": {
            "type": "number",
            "description": "Total carbon quantity aggregated across all items"
          },
          "carbon_unit": {
            "$ref": "#/components/schemas/carbon_unit"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Travel-Data-Items-Response-Item"
            }
          }
        },
        "required": [
          "carbon_quantity",
          "carbon_unit"
        ]
      },
      "Travel-Data-Items-Response-Item": {
        "type": "object",
        "title": "Travel-Data-Items-Response-Item",
        "properties": {
          "carbon_quantity": {
            "type": "number"
          },
          "carbon_unit": {
            "$ref": "#/components/schemas/carbon_unit"
          },
          "external_reference": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "$ref": "#/components/schemas/Carbon-Activity-Type"
          },
          "methodology": {
            "$ref": "#/components/schemas/Travel-Data-Methodology-Details"
          },
          "distance": {
            "type": "number"
          },
          "distance_unit": {
            "$ref": "#/components/schemas/distance_unit"
          }
        },
        "required": [
          "carbon_quantity",
          "carbon_unit",
          "type"
        ]
      },
      "Travel-Data-Methodology-Details": {
        "type": "object",
        "title": "Travel-Data-Methodology-Details",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/API-Error"
            }
          },
          "carbon": {
            "type": "object",
            "properties": {
              "quantity": {
                "oneOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "unit": {
                "$ref": "#/components/schemas/carbon_unit"
              }
            },
            "required": [
              "quantity",
              "unit"
            ]
          },
          "distance": {
            "type": "object",
            "properties": {
              "distance": {
                "oneOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "unit": {
                "$ref": "#/components/schemas/distance_unit"
              }
            },
            "required": [
              "distance",
              "unit"
            ]
          },
          "original_distance": {
            "type": "object",
            "properties": {
              "distance": {
                "oneOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "unit": {
                "$ref": "#/components/schemas/distance_unit"
              }
            },
            "required": [
              "distance",
              "unit"
            ]
          },
          "emission_factors": {
            "type": "object",
            "properties": {
              "co2_per_km_grams": {
                "oneOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "energy_scope": {
                "$ref": "#/components/schemas/energy_scope"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "carbon_unit": {
        "type": "string",
        "enum": [
          "tonne",
          "kilogram",
          "gram"
        ],
        "title": "Carbon Unit",
        "description": "SQUAKE uses The International System of Units (SI), commonly referred to as \"metric system\".",
        "examples": [
          "tonne"
        ]
      },
      "distance_unit": {
        "type": "string",
        "enum": [
          "meter",
          "kilometer",
          "feet",
          "mile",
          "nautical_mile"
        ],
        "title": "Distance-Unit",
        "description": "SQUAKE uses common distance units",
        "default": "kilometer",
        "examples": [
          "kilometer"
        ]
      },
      "Calculation-Base-Item": {
        "type": "object",
        "properties": {
          "audit": {
            "type": "boolean",
            "title": "Audit mode",
            "description": "SQUAKE provides you the option to create audit records for your calculations requests. These records are immutable, once they are created they cannot be altered, please use this feature only for final calculations.\n\n**Note:** to use this feature you need to have it enabled for your account, please contact us for more information.\n",
            "default": false
          }
        }
      },
      "external_reference": {
        "type": "string",
        "title": "external_reference",
        "description": "A unique identifier that helps you link the resulting emissions to the requested item. Especially useful if multiple items are requested since SQUAKE cannot guarantee to keep the same order. The maximum length is 128 characters.",
        "maxLength": 128
      },
      "country": {
        "type": "string",
        "title": "Country",
        "description": "Two-letter or three-letter code as defined in ISO 3166-1 alpha-2 and alpha-3 respectively.",
        "pattern": "^[A-Z]{2,3}$",
        "minLength": 2,
        "maxLength": 3,
        "examples": [
          "DE"
        ]
      },
      "Accommodation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Accommodation",
            "description": "Accommodation considers only activities related to short-term\nrentals, lodging, sublets, etc.\n\nSQUAKE has country-specific values for most parameters. If the country is\nomitted, default values will apply.\n",
            "properties": {
              "type": {
                "const": "accommodation",
                "examples": [
                  "accommodation"
                ]
              },
              "methodology": {
                "const": "SQUAKE",
                "description": "Detailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/accommodation/accommodation-squake).\n",
                "default": "SQUAKE",
                "examples": [
                  "SQUAKE"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "number_of_nights": {
                "type": "integer",
                "description": "Required if start and end dates are omitted; else this is ignored.",
                "format": "int32",
                "minimum": 1,
                "examples": [
                  2
                ]
              },
              "starts_on": {
                "type": "string",
                "description": "The format is ISO 8601 Date, `YYYY-MM-DD`. Required if season-specific methodology shall be used, or number of nights is omitted.",
                "format": "date",
                "examples": [
                  "2020-01-01"
                ]
              },
              "ends_on": {
                "type": "string",
                "description": "The format is ISO 8601 Date, `YYYY-MM-DD`. Required if season-specific methodology shall be used, or number of nights is omitted.",
                "format": "date",
                "examples": [
                  "2020-01-01"
                ]
              },
              "country": {
                "$ref": "#/components/schemas/country"
              },
              "number_of_travelers": {
                "type": "integer",
                "description": "The default value depends on the country.",
                "minimum": 1,
                "examples": [
                  1
                ]
              },
              "square_meters": {
                "type": "number",
                "description": "The default value depends on the country.",
                "format": "double",
                "minimum": 1,
                "examples": [
                  50
                ]
              },
              "sauna": {
                "type": "boolean",
                "default": false
              },
              "parking": {
                "type": "boolean",
                "default": true
              },
              "swimming_pool": {
                "type": "boolean",
                "default": false
              },
              "air_conditioner": {
                "type": "boolean",
                "default": false
              },
              "garage": {
                "type": "boolean",
                "default": false
              }
            },
            "anyOf": [
              {
                "title": "Specified interval",
                "required": [
                  "type",
                  "methodology",
                  "starts_on",
                  "ends_on",
                  "number_of_travelers",
                  "square_meters"
                ]
              },
              {
                "title": "Specified number of nights",
                "required": [
                  "type",
                  "methodology",
                  "number_of_nights",
                  "number_of_travelers",
                  "square_meters"
                ]
              }
            ]
          }
        ]
      },
      "origin_destination": {
        "type": "string",
        "title": "origin_destination",
        "description": "SQUAKE will try to resolve the origin/destination regardless of its format. Ideally, for addresses use the Post standard, for airports use IATA/ICAO code (format: `^[A-Z]{3,4}$`, e.g. `\"MUC\"`), for other locations used in trade and transportation use UN/LOCODE codes (format: `^[A-Z]{2}\\W?[A-Z2-9]{3}$`, e.g. `\"DEHAM\"`). You can also pass lat/long (format: `^[-+]?\\d{1,3}\\.\\d{1,10}\\s?,\\s?[-+]?\\d{1,3}\\.\\d{1,10}$`, e.g. `\"+40.712,-74.006\"`)."
      },
      "distance_in_km": {
        "type": "number",
        "title": "distance_in_km",
        "description": "If you don't have a `distance_in_km`, you can use `origin` and `destination` and the distance will be automatically resolved. If you pass both `distance_in_km` and `origin`/`destination`, then `distance_in_km` will be used.",
        "format": "double",
        "examples": [
          137.11
        ]
      },
      "weight_in_tonnes": {
        "type": "number",
        "format": "float",
        "default": 1,
        "exclusiveMinimum": 0,
        "examples": [
          2.1
        ]
      },
      "energy_scope": {
        "type": "string",
        "enum": [
          "ttw",
          "wtw"
        ],
        "title": "EnergyScope",
        "description": "`ttw` - Tank-to-Wheel\n\n`wtw` - Well-to-Wheel\n",
        "default": "wtw",
        "examples": [
          "ttw"
        ]
      },
      "Air-Freight-DIN-EN-16258": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Air Freight DIN-EN-16258",
            "properties": {
              "type": {
                "const": "air_freight",
                "examples": [
                  "air_freight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "DIN-EN-16258",
                "description": "Default: `\"GLEC\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/logistics/air-freight/air-freight-din-en-16258).\n"
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "weight_in_tonnes": {
                "$ref": "#/components/schemas/weight_in_tonnes"
              },
              "plane_type": {
                "type": "string",
                "enum": [
                  "belly_freighter",
                  "freighter"
                ],
                "default": "belly_freighter",
                "examples": [
                  "belly_freighter"
                ]
              },
              "energy_scope": {
                "$ref": "#/components/schemas/energy_scope",
                "default": "wtw"
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination",
              "weight_in_tonnes"
            ]
          }
        ]
      },
      "Air-Freight-GLEC": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Air Freight GLEC",
            "properties": {
              "type": {
                "const": "air_freight",
                "examples": [
                  "air_freight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "GLEC",
                "description": "Default: `\"GLEC\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/logistics/air-freight/air-freight-glec).\n"
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "weight_in_tonnes": {
                "$ref": "#/components/schemas/weight_in_tonnes"
              },
              "plane_type": {
                "type": "string",
                "enum": [
                  "belly_freighter",
                  "freighter",
                  "average"
                ],
                "default": "average",
                "examples": [
                  "average"
                ]
              },
              "energy_scope": {
                "$ref": "#/components/schemas/energy_scope",
                "default": "wtw"
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination",
              "weight_in_tonnes"
            ]
          }
        ]
      },
      "Air-Freight": {
        "type": "object",
        "title": "Air Freight",
        "description": "If you have freight and don't know the type, you can use `Logistics`.\n\nAdditional information may be returned in the response for `GLEC`.\n\nThe format is:\n\n```json\n  \"data\": [\n    {\n      \"co2e_in_g\": int,  \n      \"co2e_emissions_wtw_in_g\": int,\n      \"co2e_per_tonne_km_in_g\": int,\n      \"tonne_km\": int,\n      \"reporting_year\": int,\n      \"transportation_mode\": \"string\"\n    }\n  ]\n```\n\nAdditional information may be returned in the response for `DIN-EN-16258`.\n\nThe format is:\n```json\n  \"data\": [\n    {\n      \"energy_factor_ttw_in_MJ\": int,\n      \"energy_factor_wtw_in_MJ\": int,\n      \"ghg_emissions_ttw_in_g\": int,\n      \"ghg_emissions_wtw_in_g\": int\n    }\n  ]\n```\n",
        "properties": {
          "type": {
            "const": "air_freight",
            "examples": [
              "air_freight"
            ]
          },
          "methodology": {
            "type": "string"
          }
        },
        "discriminator": {
          "propertyName": "methodology",
          "mapping": {
            "DIN-EN-16258": "#/components/schemas/Air-Freight-DIN-EN-16258",
            "GLEC": "#/components/schemas/Air-Freight-GLEC"
          }
        },
        "anyOf": [
          {
            "$ref": "#/components/schemas/Air-Freight-DIN-EN-16258"
          },
          {
            "$ref": "#/components/schemas/Air-Freight-GLEC"
          }
        ],
        "Air-Freight-DIN-EN-16258": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Air Freight DIN-EN-16258",
              "properties": {
                "type": {
                  "const": "air_freight",
                  "examples": [
                    "air_freight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "DIN-EN-16258",
                  "description": "Default: `\"GLEC\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/logistics/air-freight/air-freight-din-en-16258).\n"
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "weight_in_tonnes": {
                  "$ref": "#/components/schemas/weight_in_tonnes"
                },
                "plane_type": {
                  "type": "string",
                  "enum": [
                    "belly_freighter",
                    "freighter"
                  ],
                  "default": "belly_freighter",
                  "examples": [
                    "belly_freighter"
                  ]
                },
                "energy_scope": {
                  "$ref": "#/components/schemas/energy_scope",
                  "default": "wtw"
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination",
                "weight_in_tonnes"
              ]
            }
          ]
        },
        "Air-Freight-GLEC": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Air Freight GLEC",
              "properties": {
                "type": {
                  "const": "air_freight",
                  "examples": [
                    "air_freight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "GLEC",
                  "description": "Default: `\"GLEC\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/logistics/air-freight/air-freight-glec).\n"
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "weight_in_tonnes": {
                  "$ref": "#/components/schemas/weight_in_tonnes"
                },
                "plane_type": {
                  "type": "string",
                  "enum": [
                    "belly_freighter",
                    "freighter",
                    "average"
                  ],
                  "default": "average",
                  "examples": [
                    "average"
                  ]
                },
                "energy_scope": {
                  "$ref": "#/components/schemas/energy_scope",
                  "default": "wtw"
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination",
                "weight_in_tonnes"
              ]
            }
          ]
        }
      },
      "bus_origin_destination": {
        "type": "string",
        "title": "bus_origin_destination",
        "description": "SQUAKE will try to resolve the origin/destination regardless of\nits format. Ideally, for addresses use the Post standard, for airports use\nIATA/ICAO code (format: `^[A-Z]{3,4}$`, e.g. `\"MUC\"`), for other locations\nused in trade and transportation use UN/LOCODE codes (format: `^[A-Z]{2}\\W?[A-Z2-9]{3}$`,\ne.g. `\"DEHAM\"`). You can also pass lat/long (format: `^[-+]?\\d{1,3}\\.\\d{1,10}\\s?,\\s?[-+]?\\d{1,3}\\.\\d{1,10}$`,\ne.g. `\"+40.712,-74.006\"`).\n\nUIC code is also a valid format for buses. If the value is not valid, we'll fallback to general, non-journey specific emission data.\nWhen you want to use UIC, you should use the following format: _`provider:uic_code`_, e.g. `sncf:FRAAA`.\nPossible provider prefixes are:\n- `uic`\n- `uic8_sncf`\n- `sncf`\n- `sncf_tvs`\n- `entur`\n- `db`\n- `busbud`\n- `distribusion`\n- `flixbus`\n- `cff`\n- `leoexpress`\n- `obb`\n- `trenitalia`\n- `trenitalia_rtvt`\n- `trenord`\n- `ntv_rtiv`\n- `ntv`\n- `hkx`\n- `renfe`\n- `atoc`\n- `benerail`\n- `westbahn`\n"
      },
      "Bus-DEFRA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Bus DEFRA",
            "properties": {
              "type": {
                "const": "bus",
                "examples": [
                  "bus"
                ]
              },
              "methodology": {
                "const": "DEFRA",
                "examples": [
                  "DEFRA"
                ],
                "description": "Default: `\"SQUAKE\"`.\n\nDetailed description of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/bus/bus-defra).\n"
              },
              "methodology_version": {
                "type": "string",
                "description": "The version of the DEFRA methodology used.",
                "default": "latest",
                "enum": [
                  "2024",
                  "2025",
                  "latest"
                ],
                "examples": [
                  "2024"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "origin": {
                "$ref": "#/components/schemas/bus_origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/bus_origin_destination"
              },
              "number_of_travelers": {
                "type": "integer",
                "minimum": 1,
                "default": 1,
                "examples": [
                  2
                ]
              },
              "energy_scope": {
                "$ref": "#/components/schemas/energy_scope",
                "default": "wtw"
              },
              "bus_type": {
                "type": "string",
                "default": "average_local_bus",
                "example": "average_local_bus",
                "enum": [
                  "local_bus_not_london",
                  "local_bus_london",
                  "average_local_bus",
                  "coach"
                ]
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "Bus-SQUAKE": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Bus SQUAKE",
            "properties": {
              "type": {
                "const": "bus",
                "examples": [
                  "bus"
                ]
              },
              "methodology": {
                "const": "SQUAKE",
                "examples": [
                  "SQUAKE"
                ],
                "description": "Default: `\"SQUAKE\"`.\n\nDetailed description of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/bus/bus-squake).\n"
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "origin": {
                "$ref": "#/components/schemas/bus_origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/bus_origin_destination"
              },
              "number_of_travelers": {
                "type": "integer",
                "minimum": 1,
                "default": 1,
                "examples": [
                  2
                ]
              },
              "fuel_type": {
                "type": "string",
                "enum": [
                  "lng",
                  "diesel",
                  "lpg",
                  "phev",
                  "hydrogen",
                  "electricity",
                  "average"
                ],
                "default": "average",
                "example": "diesel"
              },
              "operator_name": {
                "type": "string",
                "example": "flixbus",
                "description": "`SQUAKE`'s methodology allows passing the operator's name to get a more accurate result. Here is [the database](https://squake.notion.site/31f83752e3bd4cf2ba314ceb8fa2acc6?v=5190873dd753431187b735a8fe40038f) with the supported operators. If your operator is not supported, feel free to contact us."
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "Bus": {
        "type": "object",
        "title": "Bus",
        "properties": {
          "type": {
            "const": "bus",
            "examples": [
              "bus"
            ]
          },
          "methodology": {
            "type": "string"
          }
        },
        "discriminator": {
          "propertyName": "methodology",
          "mapping": {
            "DEFRA": "#/components/schemas/Bus-DEFRA",
            "SQUAKE": "#/components/schemas/Bus-SQUAKE"
          }
        },
        "anyOf": [
          {
            "$ref": "#/components/schemas/Bus-DEFRA"
          },
          {
            "$ref": "#/components/schemas/Bus-SQUAKE"
          }
        ],
        "Bus-DEFRA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Bus DEFRA",
              "properties": {
                "type": {
                  "const": "bus",
                  "examples": [
                    "bus"
                  ]
                },
                "methodology": {
                  "const": "DEFRA",
                  "examples": [
                    "DEFRA"
                  ],
                  "description": "Default: `\"SQUAKE\"`.\n\nDetailed description of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/bus/bus-defra).\n"
                },
                "methodology_version": {
                  "type": "string",
                  "description": "The version of the DEFRA methodology used.",
                  "default": "latest",
                  "enum": [
                    "2024",
                    "2025",
                    "latest"
                  ],
                  "examples": [
                    "2024"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "origin": {
                  "$ref": "#/components/schemas/bus_origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/bus_origin_destination"
                },
                "number_of_travelers": {
                  "type": "integer",
                  "minimum": 1,
                  "default": 1,
                  "examples": [
                    2
                  ]
                },
                "energy_scope": {
                  "$ref": "#/components/schemas/energy_scope",
                  "default": "wtw"
                },
                "bus_type": {
                  "type": "string",
                  "default": "average_local_bus",
                  "example": "average_local_bus",
                  "enum": [
                    "local_bus_not_london",
                    "local_bus_london",
                    "average_local_bus",
                    "coach"
                  ]
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ]
            }
          ]
        },
        "Bus-SQUAKE": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Bus SQUAKE",
              "properties": {
                "type": {
                  "const": "bus",
                  "examples": [
                    "bus"
                  ]
                },
                "methodology": {
                  "const": "SQUAKE",
                  "examples": [
                    "SQUAKE"
                  ],
                  "description": "Default: `\"SQUAKE\"`.\n\nDetailed description of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/bus/bus-squake).\n"
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "origin": {
                  "$ref": "#/components/schemas/bus_origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/bus_origin_destination"
                },
                "number_of_travelers": {
                  "type": "integer",
                  "minimum": 1,
                  "default": 1,
                  "examples": [
                    2
                  ]
                },
                "fuel_type": {
                  "type": "string",
                  "enum": [
                    "lng",
                    "diesel",
                    "lpg",
                    "phev",
                    "hydrogen",
                    "electricity",
                    "average"
                  ],
                  "default": "average",
                  "example": "diesel"
                },
                "operator_name": {
                  "type": "string",
                  "example": "flixbus",
                  "description": "`SQUAKE`'s methodology allows passing the operator's name to get a more accurate result. Here is [the database](https://squake.notion.site/31f83752e3bd4cf2ba314ceb8fa2acc6?v=5190873dd753431187b735a8fe40038f) with the supported operators. If your operator is not supported, feel free to contact us."
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ]
            }
          ]
        }
      },
      "Acriss-Car-Type": {
        "type": "string",
        "enum": [
          "M",
          "N",
          "E",
          "H",
          "C",
          "D",
          "I",
          "J",
          "S",
          "R",
          "F",
          "G",
          "P",
          "U",
          "L",
          "W",
          "X",
          "O"
        ],
        "description": "Available car types:\n|Code|Description|\n|--|--------|\n|C|Compact|\n|D|Compact Elite|\n|E|Economy|\n|F|Fullsize|\n|G|Fullsize Elite|\n|H|Economy Elite|\n|I|Intermediate|\n|J|Intermediate Elite|\n|L|Luxury|\n|M|Mini|\n|N|Mini Elite|\n|P|Premium|\n|R|Standard Elite|\n|S|Standard|\n|U|Premium Elite|\n|W|Luxury Elite|\n|X|Special|\n|O|Oversize|\n",
        "pattern": "^[A-Z]{1}$",
        "default": "E",
        "examples": [
          "E"
        ]
      },
      "SIPP-Car-Code": {
        "type": "string",
        "enum": [
          "CBAN",
          "CBAR",
          "CBMN",
          "CBMR",
          "CCAN",
          "CCAR",
          "CCMD",
          "CCMN",
          "CCMR",
          "CDAN",
          "CDAR",
          "CDMD",
          "CDMN",
          "CDMR",
          "CFAR",
          "CFMN",
          "CFMR",
          "CIMR",
          "CLMR",
          "CPAR",
          "CPMN",
          "CPMR",
          "CTAR",
          "CTMN",
          "CTMR",
          "CVAR",
          "CVMD",
          "CVMR",
          "CWAR",
          "CWMD",
          "CWMN",
          "CWMR",
          "CXAN",
          "CXAR",
          "CXMN",
          "CXMR",
          "EBAN",
          "EBAR",
          "EBMN",
          "EBMR",
          "ECAN",
          "ECAR",
          "ECMD",
          "ECMN",
          "ECMR",
          "EDAN",
          "EDAR",
          "EDMD",
          "EDMN",
          "EDMR",
          "EFAD",
          "EFAR",
          "EFMR",
          "EKMN",
          "ESAR",
          "ESMR",
          "ETAR",
          "ETMN",
          "ETMR",
          "EVMN",
          "EVMR",
          "EWMN",
          "EWMR",
          "EXAR",
          "EXMN",
          "EXMR",
          "FBAR",
          "FCAR",
          "FCMR",
          "FDAD",
          "FDAR",
          "FDMD",
          "FDMN",
          "FDMR",
          "FFAN",
          "FFAR",
          "FFMN",
          "FFMR",
          "FIAR",
          "FIMR",
          "FPAR",
          "FPMR",
          "FTAR",
          "FTMR",
          "FVAN",
          "FVAR",
          "FVMD",
          "FVMN",
          "FVMR",
          "FWAD",
          "FWAR",
          "FWMR",
          "FXAR",
          "FXMR",
          "GVAR",
          "GVMR",
          "IBAR",
          "IBMD",
          "IBMR",
          "ICAN",
          "ICAR",
          "ICMN",
          "ICMR",
          "IDAD",
          "IDAN",
          "IDAR",
          "IDMD",
          "IDMN",
          "IDMR",
          "IFAN",
          "IFAR",
          "IFMN",
          "IFMR",
          "IGMR",
          "IIMR",
          "IJAR",
          "IJMR",
          "ILMR",
          "IPMR",
          "ITAR",
          "ITMN",
          "ITMR",
          "IVAN",
          "IVAR",
          "IVMN",
          "IVMR",
          "IWAN",
          "IWAR",
          "IWMD",
          "IWMN",
          "IWMR",
          "IXAR",
          "IXMN",
          "IXMR",
          "JFAR",
          "LCAN",
          "LCAR",
          "LCMR",
          "LDAD",
          "LDAR",
          "LDMR",
          "LFAR",
          "LFMR",
          "LSAR",
          "LSMR",
          "LTAR",
          "LTMR",
          "LVAN",
          "LVAR",
          "LVMN",
          "LVMR",
          "LWAR",
          "LXAR",
          "MBAR",
          "MBMN",
          "MBMR",
          "MCAR",
          "MCMN",
          "MCMR",
          "MDAR",
          "MDMN",
          "MDMR",
          "MFMR",
          "MTAN",
          "MTMN",
          "MTMR",
          "MVAR",
          "MVMN",
          "MVMR",
          "MXAR",
          "MXMN",
          "MXMR",
          "NTAN",
          "NTMN",
          "PCAR",
          "PCMR",
          "PDAD",
          "PDAR",
          "PDMD",
          "PDMN",
          "PDMR",
          "PFAR",
          "PFMN",
          "PFMR",
          "PIAR",
          "PSAR",
          "PTAR",
          "PTMR",
          "PVAR",
          "PVMN",
          "PVMR",
          "PWAR",
          "PWMN",
          "PWMR",
          "PXAR",
          "PXMR",
          "RVMR",
          "SBAR",
          "SCAN",
          "SCAR",
          "SCMD",
          "SCMN",
          "SCMR",
          "SDAD",
          "SDAN",
          "SDAR",
          "SDMD",
          "SDMN",
          "SDMR",
          "SFAN",
          "SFAR",
          "SFMN",
          "SFMR",
          "STAR",
          "STMR",
          "SVAN",
          "SVAR",
          "SVMD",
          "SVMN",
          "SVMR",
          "SWAN",
          "SWAR",
          "SWMD",
          "SWMN",
          "SWMR",
          "SXMR",
          "XBAR",
          "XCAR",
          "XCMN",
          "XCMR",
          "XDAR",
          "XDMN",
          "XDMR",
          "XFAR",
          "XFMN",
          "XFMR",
          "XJAR",
          "XPMN",
          "XRAR",
          "XSAR",
          "XTAR",
          "XWAR",
          "XXAR"
        ],
        "title": "SIPP Car Code",
        "description": "If `acriss_car_type` is not passed then SQUAKE will automatically resolve it using the SIPP code.\n\n**Mutually exclusive** with `pseudo_car_type`, only one can be given at the same time.\n",
        "examples": [
          "SDAN"
        ]
      },
      "Pseudo-Car-Code": {
        "type": "string",
        "enum": [
          "ACAR",
          "ACGO",
          "ACNV",
          "ACPG",
          "ACPR",
          "ACRS",
          "ADSL",
          "AEIG",
          "AELC",
          "AELT",
          "AETH",
          "AFWD",
          "AGRN",
          "AHYB",
          "AHYD",
          "ALLB",
          "ALLC",
          "ALLD",
          "ALMO",
          "AMAN",
          "AMCY",
          "AMFP",
          "AMNO",
          "AMTO",
          "ANIN",
          "AOFR",
          "APET",
          "APUP",
          "AREC",
          "ASEV",
          "ASIX",
          "ASPC",
          "ASPT",
          "ASUV",
          "ATRV",
          "AUTO",
          "AVAN",
          "AWGN"
        ],
        "title": "Pseudo-Car-Code",
        "description": "If neither `acriss_car_type` nor `sipp_car_type` are not\npassed, then SQUAKE will automatically resolve it using the Pseudo code.\n\n**Mutually exclusive** with `sipp_car_type`, only one can be given at the same time.\n",
        "examples": [
          "ACAR"
        ]
      },
      "Number-Of-Days": {
        "type": "integer",
        "minimum": 1,
        "examples": [
          3
        ],
        "description": "When the trip distance is unknown, you may pass `number_of_days`. The API will estimate `distance_in_km` as:\n`estimated_distance_in_km = number_of_days * 60`\n"
      },
      "Car-ACRISS": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Car ACRISS",
            "examples": [],
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ],
            "properties": {
              "type": {
                "const": "car",
                "examples": [
                  "car"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "ACRISS",
                "description": "ACRISS methodology uses tank-to-wheel factors, therefore it might return 0 emissions for electric cars.\n\nDefault: `\"DEFRA\"`. Detailed methodology description can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/car/car-acriss).\n",
                "examples": [
                  "ACRISS"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "fuel_type": {
                "type": "string",
                "enum": [
                  "diesel",
                  "petrol",
                  "electricity",
                  "hev",
                  "phev"
                ],
                "default": "petrol",
                "examples": [
                  "petrol"
                ]
              },
              "acriss_car_type": {
                "$ref": "#/components/schemas/Acriss-Car-Type",
                "default": "E"
              },
              "sipp_car_type": {
                "$ref": "#/components/schemas/SIPP-Car-Code"
              },
              "pseudo_car_type": {
                "$ref": "#/components/schemas/Pseudo-Car-Code"
              },
              "number_of_days": {
                "$ref": "#/components/schemas/Number-Of-Days"
              }
            }
          }
        ]
      },
      "Car-DEFRA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Car DEFRA",
            "examples": [],
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ],
            "properties": {
              "type": {
                "const": "car",
                "examples": [
                  "car"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "DEFRA",
                "description": "Default: `\"DEFRA\"`.\n\nDetailed methodology description can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/car/car-defra).\n",
                "examples": [
                  "DEFRA"
                ]
              },
              "methodology_version": {
                "type": "string",
                "description": "The version of the DEFRA methodology used.",
                "default": "latest",
                "enum": [
                  "2018",
                  "2019",
                  "2020",
                  "2021",
                  "2022",
                  "2023",
                  "2024",
                  "2025",
                  "latest"
                ],
                "examples": [
                  "2024"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "fuel_type": {
                "type": "string",
                "default": "average",
                "enum": [
                  "diesel",
                  "petrol",
                  "average",
                  "electricity",
                  "hev",
                  "cng",
                  "lpg",
                  "phev"
                ],
                "examples": [
                  "petrol"
                ]
              },
              "car_type": {
                "type": "string",
                "default": "average",
                "enum": [
                  "mini",
                  "supermini",
                  "lower_medium",
                  "upper_medium",
                  "executive",
                  "luxury",
                  "sports",
                  "dual_purpose_4x4",
                  "mpv",
                  "average"
                ],
                "examples": [
                  "sports"
                ]
              },
              "acriss_car_type": {
                "$ref": "#/components/schemas/Acriss-Car-Type"
              },
              "sipp_car_type": {
                "$ref": "#/components/schemas/SIPP-Car-Code"
              },
              "energy_scope": {
                "$ref": "#/components/schemas/energy_scope"
              },
              "number_of_days": {
                "$ref": "#/components/schemas/Number-Of-Days"
              }
            }
          }
        ]
      },
      "Car-BASIC": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Car BASIC",
            "examples": [],
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ],
            "properties": {
              "type": {
                "const": "car",
                "examples": [
                  "car"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "BASIC",
                "description": "Default: `\"DEFRA\"`.\n",
                "examples": [
                  "BASIC"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "fuel_type": {
                "type": "string",
                "enum": [
                  "diesel",
                  "electricity",
                  "petrol",
                  "ethanol",
                  "bio_diesel",
                  "lpg",
                  "hydrogen",
                  "hvo"
                ],
                "examples": [
                  "petrol"
                ]
              },
              "co2_grams_per_km": {
                "type": "number",
                "description": "CO2 amount in grams per kilometer.",
                "minimum": 0,
                "examples": [
                  110.4
                ]
              },
              "consumption_per_100_km": {
                "type": "number",
                "description": "Consumption per 100 kilometer.",
                "minimum": 0,
                "maximum": 1000,
                "examples": [
                  8.5
                ]
              },
              "number_of_days": {
                "$ref": "#/components/schemas/Number-Of-Days"
              }
            }
          }
        ]
      },
      "Car-EU-EEA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Car EU-EEA",
            "examples": [],
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ],
            "properties": {
              "type": {
                "const": "car",
                "examples": [
                  "car"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "EU-EEA",
                "description": "Default: `\"DEFRA\"`.\n\nDetailed methodology description can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/car/car-eea).\n",
                "examples": [
                  "EU-EEA"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "fuel_type": {
                "type": "string",
                "default": "petrol",
                "enum": [
                  "diesel",
                  "petrol",
                  "hybrid_petrol",
                  "hybrid_diesel",
                  "ng",
                  "ng-biomethane",
                  "hydrogen",
                  "e85",
                  "average",
                  "biodiesel",
                  "electricity",
                  "lpg"
                ],
                "examples": [
                  "petrol"
                ]
              },
              "manufacturer": {
                "type": "string",
                "examples": [
                  "mercedes_benz"
                ]
              },
              "model": {
                "type": "string",
                "examples": [
                  "500sel"
                ]
              },
              "model_year": {
                "type": "integer",
                "examples": [
                  1985
                ]
              },
              "country": {
                "$ref": "#/components/schemas/country"
              },
              "electric_energy_consumption_in_kw": {
                "type": "number"
              },
              "engine_capacity_in_cubic_cm": {
                "type": "number"
              },
              "number_of_days": {
                "$ref": "#/components/schemas/Number-Of-Days"
              }
            }
          }
        ]
      },
      "Car-US-EPA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Car US-EPA",
            "examples": [],
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ],
            "properties": {
              "type": {
                "const": "car",
                "examples": [
                  "car"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "US-EPA",
                "description": "Default: `\"DEFRA\"`.\n\nDetailed methodology description can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/car/car-epa).\n",
                "examples": [
                  "US-EPA"
                ]
              },
              "methodology_version": {
                "type": "string",
                "description": "The version of the US EPA methodology used. Used when passing only 'distance_in_km', if other properties are provided then the version will be ignored.",
                "default": "latest",
                "enum": [
                  "2011",
                  "2012",
                  "2013",
                  "2014",
                  "2015",
                  "2016",
                  "2017",
                  "2018",
                  "2019",
                  "2020",
                  "2021",
                  "2022",
                  "2023",
                  "2024",
                  "2025",
                  "latest"
                ],
                "examples": [
                  "latest",
                  "2025",
                  "2011"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "fuel_type": {
                "type": "string",
                "default": "regular_gasoline",
                "enum": [
                  "diesel",
                  "electricity",
                  "midgrade_gasoline",
                  "natural_gas",
                  "premium_gasoline",
                  "regular_gasoline",
                  "propane"
                ],
                "examples": [
                  "diesel"
                ]
              },
              "manufacturer": {
                "type": "string",
                "examples": [
                  "mercedes_benz"
                ]
              },
              "model": {
                "type": "string",
                "examples": [
                  "500sel"
                ]
              },
              "model_year": {
                "type": "integer",
                "examples": [
                  1985
                ]
              },
              "epa_vehicle_size_class": {
                "type": "string",
                "description": "EPA size class has a specific division of car sizes according to `US-EPA`.",
                "examples": [
                  "midsize_cars"
                ]
              },
              "specific_transmission": {
                "type": "string",
                "description": "Specific transmission type of the car.",
                "examples": [
                  "automatic_4_spd"
                ]
              },
              "engine_displacement_in_liters": {
                "type": "number",
                "description": "Engine displacement in liters.",
                "examples": [
                  5
                ]
              },
              "epa_model_type_index": {
                "type": "integer",
                "description": "A specific index of a car model according to `US-EPA`.",
                "examples": [
                  27914
                ]
              },
              "engine_cylinders": {
                "type": "integer",
                "description": "Number of engine cylinders.",
                "examples": [
                  8
                ]
              },
              "number_of_days": {
                "$ref": "#/components/schemas/Number-Of-Days"
              }
            }
          }
        ]
      },
      "Car": {
        "type": "object",
        "title": "Car",
        "description": "`US-EPA` is the methodology from the \"United States Environmental Protection Agency\".\n\n`EU-EEA` is the methodology from the \"European Energy Agency\". `ACRISS` methodology uses tank-to-wheel factors, therefore\n        it might return 0 emissions for electric cars.\nIf you have more details available, use `EU-EEA` and `US-EPA` methodologies\n    for a more precise result. In case of using `BASIC`, you must provide either\n    `co2_grams_per_km` or consumption_per_100_km` and `fuel_type.\n",
        "examples": [],
        "required": [
          "type",
          "methodology",
          "origin",
          "destination"
        ],
        "properties": {
          "type": {
            "const": "car",
            "examples": [
              "car"
            ]
          },
          "methodology": {
            "type": "string"
          }
        },
        "discriminator": {
          "propertyName": "methodology",
          "mapping": {
            "ACRISS": "#/components/schemas/Car-ACRISS",
            "DEFRA": "#/components/schemas/Car-DEFRA",
            "BASIC": "#/components/schemas/Car-BASIC",
            "EU-EEA": "#/components/schemas/Car-EU-EEA",
            "US-EPA": "#/components/schemas/Car-US-EPA"
          }
        },
        "anyOf": [
          {
            "$ref": "#/components/schemas/Car-ACRISS"
          },
          {
            "$ref": "#/components/schemas/Car-DEFRA"
          },
          {
            "$ref": "#/components/schemas/Car-BASIC"
          },
          {
            "$ref": "#/components/schemas/Car-EU-EEA"
          },
          {
            "$ref": "#/components/schemas/Car-US-EPA"
          }
        ],
        "Car-ACRISS": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Car ACRISS",
              "examples": [],
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ],
              "properties": {
                "type": {
                  "const": "car",
                  "examples": [
                    "car"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "ACRISS",
                  "description": "ACRISS methodology uses tank-to-wheel factors, therefore it might return 0 emissions for electric cars.\n\nDefault: `\"DEFRA\"`. Detailed methodology description can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/car/car-acriss).\n",
                  "examples": [
                    "ACRISS"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "fuel_type": {
                  "type": "string",
                  "enum": [
                    "diesel",
                    "petrol",
                    "electricity",
                    "hev",
                    "phev"
                  ],
                  "default": "petrol",
                  "examples": [
                    "petrol"
                  ]
                },
                "acriss_car_type": {
                  "$ref": "#/components/schemas/Acriss-Car-Type",
                  "default": "E"
                },
                "sipp_car_type": {
                  "$ref": "#/components/schemas/SIPP-Car-Code"
                },
                "pseudo_car_type": {
                  "$ref": "#/components/schemas/Pseudo-Car-Code"
                },
                "number_of_days": {
                  "$ref": "#/components/schemas/Number-Of-Days"
                }
              }
            }
          ]
        },
        "Car-DEFRA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Car DEFRA",
              "examples": [],
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ],
              "properties": {
                "type": {
                  "const": "car",
                  "examples": [
                    "car"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "DEFRA",
                  "description": "Default: `\"DEFRA\"`.\n\nDetailed methodology description can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/car/car-defra).\n",
                  "examples": [
                    "DEFRA"
                  ]
                },
                "methodology_version": {
                  "type": "string",
                  "description": "The version of the DEFRA methodology used.",
                  "default": "latest",
                  "enum": [
                    "2018",
                    "2019",
                    "2020",
                    "2021",
                    "2022",
                    "2023",
                    "2024",
                    "2025",
                    "latest"
                  ],
                  "examples": [
                    "2024"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "fuel_type": {
                  "type": "string",
                  "default": "average",
                  "enum": [
                    "diesel",
                    "petrol",
                    "average",
                    "electricity",
                    "hev",
                    "cng",
                    "lpg",
                    "phev"
                  ],
                  "examples": [
                    "petrol"
                  ]
                },
                "car_type": {
                  "type": "string",
                  "default": "average",
                  "enum": [
                    "mini",
                    "supermini",
                    "lower_medium",
                    "upper_medium",
                    "executive",
                    "luxury",
                    "sports",
                    "dual_purpose_4x4",
                    "mpv",
                    "average"
                  ],
                  "examples": [
                    "sports"
                  ]
                },
                "acriss_car_type": {
                  "$ref": "#/components/schemas/Acriss-Car-Type"
                },
                "sipp_car_type": {
                  "$ref": "#/components/schemas/SIPP-Car-Code"
                },
                "energy_scope": {
                  "$ref": "#/components/schemas/energy_scope"
                },
                "number_of_days": {
                  "$ref": "#/components/schemas/Number-Of-Days"
                }
              }
            }
          ]
        },
        "Car-BASIC": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Car BASIC",
              "examples": [],
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ],
              "properties": {
                "type": {
                  "const": "car",
                  "examples": [
                    "car"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "BASIC",
                  "description": "Default: `\"DEFRA\"`.\n",
                  "examples": [
                    "BASIC"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "fuel_type": {
                  "type": "string",
                  "enum": [
                    "diesel",
                    "electricity",
                    "petrol",
                    "ethanol",
                    "bio_diesel",
                    "lpg",
                    "hydrogen",
                    "hvo"
                  ],
                  "examples": [
                    "petrol"
                  ]
                },
                "co2_grams_per_km": {
                  "type": "number",
                  "description": "CO2 amount in grams per kilometer.",
                  "minimum": 0,
                  "examples": [
                    110.4
                  ]
                },
                "consumption_per_100_km": {
                  "type": "number",
                  "description": "Consumption per 100 kilometer.",
                  "minimum": 0,
                  "maximum": 1000,
                  "examples": [
                    8.5
                  ]
                },
                "number_of_days": {
                  "$ref": "#/components/schemas/Number-Of-Days"
                }
              }
            }
          ]
        },
        "Car-EU-EEA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Car EU-EEA",
              "examples": [],
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ],
              "properties": {
                "type": {
                  "const": "car",
                  "examples": [
                    "car"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "EU-EEA",
                  "description": "Default: `\"DEFRA\"`.\n\nDetailed methodology description can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/car/car-eea).\n",
                  "examples": [
                    "EU-EEA"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "fuel_type": {
                  "type": "string",
                  "default": "petrol",
                  "enum": [
                    "diesel",
                    "petrol",
                    "hybrid_petrol",
                    "hybrid_diesel",
                    "ng",
                    "ng-biomethane",
                    "hydrogen",
                    "e85",
                    "average",
                    "biodiesel",
                    "electricity",
                    "lpg"
                  ],
                  "examples": [
                    "petrol"
                  ]
                },
                "manufacturer": {
                  "type": "string",
                  "examples": [
                    "mercedes_benz"
                  ]
                },
                "model": {
                  "type": "string",
                  "examples": [
                    "500sel"
                  ]
                },
                "model_year": {
                  "type": "integer",
                  "examples": [
                    1985
                  ]
                },
                "country": {
                  "$ref": "#/components/schemas/country"
                },
                "electric_energy_consumption_in_kw": {
                  "type": "number"
                },
                "engine_capacity_in_cubic_cm": {
                  "type": "number"
                },
                "number_of_days": {
                  "$ref": "#/components/schemas/Number-Of-Days"
                }
              }
            }
          ]
        },
        "Car-US-EPA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Car US-EPA",
              "examples": [],
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ],
              "properties": {
                "type": {
                  "const": "car",
                  "examples": [
                    "car"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "US-EPA",
                  "description": "Default: `\"DEFRA\"`.\n\nDetailed methodology description can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/car/car-epa).\n",
                  "examples": [
                    "US-EPA"
                  ]
                },
                "methodology_version": {
                  "type": "string",
                  "description": "The version of the US EPA methodology used. Used when passing only 'distance_in_km', if other properties are provided then the version will be ignored.",
                  "default": "latest",
                  "enum": [
                    "2011",
                    "2012",
                    "2013",
                    "2014",
                    "2015",
                    "2016",
                    "2017",
                    "2018",
                    "2019",
                    "2020",
                    "2021",
                    "2022",
                    "2023",
                    "2024",
                    "2025",
                    "latest"
                  ],
                  "examples": [
                    "latest",
                    "2025",
                    "2011"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "fuel_type": {
                  "type": "string",
                  "default": "regular_gasoline",
                  "enum": [
                    "diesel",
                    "electricity",
                    "midgrade_gasoline",
                    "natural_gas",
                    "premium_gasoline",
                    "regular_gasoline",
                    "propane"
                  ],
                  "examples": [
                    "diesel"
                  ]
                },
                "manufacturer": {
                  "type": "string",
                  "examples": [
                    "mercedes_benz"
                  ]
                },
                "model": {
                  "type": "string",
                  "examples": [
                    "500sel"
                  ]
                },
                "model_year": {
                  "type": "integer",
                  "examples": [
                    1985
                  ]
                },
                "epa_vehicle_size_class": {
                  "type": "string",
                  "description": "EPA size class has a specific division of car sizes according to `US-EPA`.",
                  "examples": [
                    "midsize_cars"
                  ]
                },
                "specific_transmission": {
                  "type": "string",
                  "description": "Specific transmission type of the car.",
                  "examples": [
                    "automatic_4_spd"
                  ]
                },
                "engine_displacement_in_liters": {
                  "type": "number",
                  "description": "Engine displacement in liters.",
                  "examples": [
                    5
                  ]
                },
                "epa_model_type_index": {
                  "type": "integer",
                  "description": "A specific index of a car model according to `US-EPA`.",
                  "examples": [
                    27914
                  ]
                },
                "engine_cylinders": {
                  "type": "integer",
                  "description": "Number of engine cylinders.",
                  "examples": [
                    8
                  ]
                },
                "number_of_days": {
                  "$ref": "#/components/schemas/Number-Of-Days"
                }
              }
            }
          ]
        },
        "Acriss-Car-Type": {
          "type": "string",
          "enum": [
            "M",
            "N",
            "E",
            "H",
            "C",
            "D",
            "I",
            "J",
            "S",
            "R",
            "F",
            "G",
            "P",
            "U",
            "L",
            "W",
            "X",
            "O"
          ],
          "description": "Available car types:\n|Code|Description|\n|--|--------|\n|C|Compact|\n|D|Compact Elite|\n|E|Economy|\n|F|Fullsize|\n|G|Fullsize Elite|\n|H|Economy Elite|\n|I|Intermediate|\n|J|Intermediate Elite|\n|L|Luxury|\n|M|Mini|\n|N|Mini Elite|\n|P|Premium|\n|R|Standard Elite|\n|S|Standard|\n|U|Premium Elite|\n|W|Luxury Elite|\n|X|Special|\n|O|Oversize|\n",
          "pattern": "^[A-Z]{1}$",
          "default": "E",
          "examples": [
            "E"
          ]
        },
        "SIPP-Car-Code": {
          "type": "string",
          "enum": [
            "CBAN",
            "CBAR",
            "CBMN",
            "CBMR",
            "CCAN",
            "CCAR",
            "CCMD",
            "CCMN",
            "CCMR",
            "CDAN",
            "CDAR",
            "CDMD",
            "CDMN",
            "CDMR",
            "CFAR",
            "CFMN",
            "CFMR",
            "CIMR",
            "CLMR",
            "CPAR",
            "CPMN",
            "CPMR",
            "CTAR",
            "CTMN",
            "CTMR",
            "CVAR",
            "CVMD",
            "CVMR",
            "CWAR",
            "CWMD",
            "CWMN",
            "CWMR",
            "CXAN",
            "CXAR",
            "CXMN",
            "CXMR",
            "EBAN",
            "EBAR",
            "EBMN",
            "EBMR",
            "ECAN",
            "ECAR",
            "ECMD",
            "ECMN",
            "ECMR",
            "EDAN",
            "EDAR",
            "EDMD",
            "EDMN",
            "EDMR",
            "EFAD",
            "EFAR",
            "EFMR",
            "EKMN",
            "ESAR",
            "ESMR",
            "ETAR",
            "ETMN",
            "ETMR",
            "EVMN",
            "EVMR",
            "EWMN",
            "EWMR",
            "EXAR",
            "EXMN",
            "EXMR",
            "FBAR",
            "FCAR",
            "FCMR",
            "FDAD",
            "FDAR",
            "FDMD",
            "FDMN",
            "FDMR",
            "FFAN",
            "FFAR",
            "FFMN",
            "FFMR",
            "FIAR",
            "FIMR",
            "FPAR",
            "FPMR",
            "FTAR",
            "FTMR",
            "FVAN",
            "FVAR",
            "FVMD",
            "FVMN",
            "FVMR",
            "FWAD",
            "FWAR",
            "FWMR",
            "FXAR",
            "FXMR",
            "GVAR",
            "GVMR",
            "IBAR",
            "IBMD",
            "IBMR",
            "ICAN",
            "ICAR",
            "ICMN",
            "ICMR",
            "IDAD",
            "IDAN",
            "IDAR",
            "IDMD",
            "IDMN",
            "IDMR",
            "IFAN",
            "IFAR",
            "IFMN",
            "IFMR",
            "IGMR",
            "IIMR",
            "IJAR",
            "IJMR",
            "ILMR",
            "IPMR",
            "ITAR",
            "ITMN",
            "ITMR",
            "IVAN",
            "IVAR",
            "IVMN",
            "IVMR",
            "IWAN",
            "IWAR",
            "IWMD",
            "IWMN",
            "IWMR",
            "IXAR",
            "IXMN",
            "IXMR",
            "JFAR",
            "LCAN",
            "LCAR",
            "LCMR",
            "LDAD",
            "LDAR",
            "LDMR",
            "LFAR",
            "LFMR",
            "LSAR",
            "LSMR",
            "LTAR",
            "LTMR",
            "LVAN",
            "LVAR",
            "LVMN",
            "LVMR",
            "LWAR",
            "LXAR",
            "MBAR",
            "MBMN",
            "MBMR",
            "MCAR",
            "MCMN",
            "MCMR",
            "MDAR",
            "MDMN",
            "MDMR",
            "MFMR",
            "MTAN",
            "MTMN",
            "MTMR",
            "MVAR",
            "MVMN",
            "MVMR",
            "MXAR",
            "MXMN",
            "MXMR",
            "NTAN",
            "NTMN",
            "PCAR",
            "PCMR",
            "PDAD",
            "PDAR",
            "PDMD",
            "PDMN",
            "PDMR",
            "PFAR",
            "PFMN",
            "PFMR",
            "PIAR",
            "PSAR",
            "PTAR",
            "PTMR",
            "PVAR",
            "PVMN",
            "PVMR",
            "PWAR",
            "PWMN",
            "PWMR",
            "PXAR",
            "PXMR",
            "RVMR",
            "SBAR",
            "SCAN",
            "SCAR",
            "SCMD",
            "SCMN",
            "SCMR",
            "SDAD",
            "SDAN",
            "SDAR",
            "SDMD",
            "SDMN",
            "SDMR",
            "SFAN",
            "SFAR",
            "SFMN",
            "SFMR",
            "STAR",
            "STMR",
            "SVAN",
            "SVAR",
            "SVMD",
            "SVMN",
            "SVMR",
            "SWAN",
            "SWAR",
            "SWMD",
            "SWMN",
            "SWMR",
            "SXMR",
            "XBAR",
            "XCAR",
            "XCMN",
            "XCMR",
            "XDAR",
            "XDMN",
            "XDMR",
            "XFAR",
            "XFMN",
            "XFMR",
            "XJAR",
            "XPMN",
            "XRAR",
            "XSAR",
            "XTAR",
            "XWAR",
            "XXAR"
          ],
          "title": "SIPP Car Code",
          "description": "If `acriss_car_type` is not passed then SQUAKE will automatically resolve it using the SIPP code.\n\n**Mutually exclusive** with `pseudo_car_type`, only one can be given at the same time.\n",
          "examples": [
            "SDAN"
          ]
        },
        "Pseudo-Car-Code": {
          "type": "string",
          "enum": [
            "ACAR",
            "ACGO",
            "ACNV",
            "ACPG",
            "ACPR",
            "ACRS",
            "ADSL",
            "AEIG",
            "AELC",
            "AELT",
            "AETH",
            "AFWD",
            "AGRN",
            "AHYB",
            "AHYD",
            "ALLB",
            "ALLC",
            "ALLD",
            "ALMO",
            "AMAN",
            "AMCY",
            "AMFP",
            "AMNO",
            "AMTO",
            "ANIN",
            "AOFR",
            "APET",
            "APUP",
            "AREC",
            "ASEV",
            "ASIX",
            "ASPC",
            "ASPT",
            "ASUV",
            "ATRV",
            "AUTO",
            "AVAN",
            "AWGN"
          ],
          "title": "Pseudo-Car-Code",
          "description": "If neither `acriss_car_type` nor `sipp_car_type` are not\npassed, then SQUAKE will automatically resolve it using the Pseudo code.\n\n**Mutually exclusive** with `sipp_car_type`, only one can be given at the same time.\n",
          "examples": [
            "ACAR"
          ]
        },
        "Number-Of-Days": {
          "type": "integer",
          "minimum": 1,
          "examples": [
            3
          ],
          "description": "When the trip distance is unknown, you may pass `number_of_days`. The API will estimate `distance_in_km` as:\n`estimated_distance_in_km = number_of_days * 60`\n"
        }
      },
      "Coffee-Production": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Coffee Production",
            "properties": {
              "type": {
                "const": "coffee_production"
              },
              "methodology": {
                "const": "SQUAKE",
                "default": "SQUAKE",
                "examples": [
                  "SQUAKE"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "country": {
                "type": "string",
                "enum": [
                  "BR",
                  "CI",
                  "CO",
                  "CR",
                  "ET",
                  "GN",
                  "HN",
                  "IN",
                  "PE",
                  "UG",
                  "VN",
                  "average"
                ],
                "description": "Alpha2 country code of the coffee-producing country",
                "default": "average",
                "examples": [
                  "BR"
                ]
              },
              "organic": {
                "type": "boolean",
                "description": "Whether the coffee is organic or not.",
                "default": false
              },
              "quantity": {
                "type": "number",
                "description": "The quantity of coffee in `unit`.",
                "format": "float",
                "minimum": 1,
                "examples": [
                  3.2
                ]
              },
              "unit": {
                "$ref": "#/components/schemas/carbon_unit"
              }
            },
            "required": [
              "type",
              "methodology",
              "quantity"
            ]
          }
        ]
      },
      "Event": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Event",
            "description": "Use one of the available options for calculation depending on the available parameters.",
            "properties": {
              "type": {
                "const": "event",
                "examples": [
                  "event"
                ]
              },
              "methodology": {
                "const": "HCMI",
                "description": "Detailed methodology description can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/event/event-hcmi).",
                "examples": [
                  "HCMI"
                ],
                "default": "HCMI"
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "stars": {
                "type": "integer",
                "description": "`stars` is mutually exclusive with `hotel_type`, `stars` is prioritized over `hotel_type`.",
                "format": "int32",
                "minimum": 1,
                "maximum": 5,
                "examples": [
                  5
                ]
              },
              "country": {
                "$ref": "#/components/schemas/country"
              },
              "city": {
                "type": "string",
                "description": "You can find the list of supported cities [here](https://squake.notion.site/51e2eb5f9e484c4dad4ceb100d2b90bb?v=013db568cf4c4dbd8403ab5f329458bf)."
              },
              "state": {
                "type": "string",
                "description": "You can find the list of supported states [here](https://squake.notion.site/66a1450838b84494b0a17684b578ffa0?v=d1ee83f184cc4856bfa2a3f23a15c9ff)."
              },
              "square_meters": {
                "type": "number",
                "format": "double",
                "minimum": 1,
                "examples": [
                  120
                ]
              },
              "number_of_days": {
                "type": "integer",
                "format": "int32",
                "minimum": 1,
                "examples": [
                  5
                ]
              },
              "hotel_type": {
                "type": "string",
                "enum": [
                  "airport_location",
                  "convention_hotel",
                  "extended_stay",
                  "full_service_nonresort",
                  "full_service_resort",
                  "hotel_average",
                  "integrated_resort",
                  "limited_service",
                  "luxury_segment_nonresort",
                  "luxury_segment_resort",
                  "nonresort",
                  "resort",
                  "rural_highway_location",
                  "small_metro_town_location",
                  "suburban_location",
                  "upper_midscale_segment_nonresort",
                  "upper_midscale_segmentnonresort",
                  "upper_upscale_segment_nonresort",
                  "upper_upscale_segment_resort",
                  "upscale_segment_nonresort",
                  "upscale_segment_resort",
                  "urban_location"
                ],
                "description": "`hotel_type` is mutually exclusive with `stars`. `stars` is prioritized over `hotel_type`.",
                "default": "hotel_average",
                "examples": [
                  "hotel_average"
                ]
              }
            },
            "required": [
              "type",
              "methodology",
              "country",
              "square_meters",
              "number_of_days"
            ]
          }
        ]
      },
      "MerchantName": {
        "type": "string",
        "enum": [
          "buckaroo*swapfiets",
          "donkey.bike",
          "easyparkb.v.",
          "eshop.sz.si",
          "freshmile*plbii8ysho",
          "hopp.bike",
          "https://www.ns.nl/",
          "ignitride.com",
          "ing*prod.europodroze.p",
          "lim*temphold",
          "mol*includingbikes",
          "mps*vwwechargeeur",
          "nearme.",
          "parkster.com/de",
          "paypal*dbvertriebg",
          "poferries(web)",
          "pyu*uber",
          "suntransfers.com",
          "teslainc.",
          "uber*rides*dl",
          "ubr*pending.uber.com",
          "www.mopla.solutions",
          "www.veoride.com",
          "yego*ride11min",
          "a1",
          "abc",
          "abodeinauto",
          "aboeinauto",
          "accel",
          "agip",
          "airportbusmunich",
          "akpet",
          "amoco",
          "ampol",
          "aobairportbus",
          "aobairportbusbusweb",
          "aobairportbusweb",
          "apco",
          "aral",
          "arco",
          "asda",
          "avanti",
          "avocargo",
          "bapco",
          "bayerischeregiobahn",
          "berlinerverkehrsbetri",
          "berlinerverkehrsbetriebe",
          "bharatpetroleum",
          "bicimad",
          "bird",
          "bkk",
          "bkkbudapestgo",
          "bkkbudapestgokartyar",
          "bkkkartyar",
          "blablacar",
          "blunavy",
          "blunavyferries",
          "blunavytraghetti",
          "bndinavigazione",
          "bndinavigazionespa",
          "bolt",
          "bonnet",
          "bonnetev",
          "bonnetevcharging",
          "bp",
          "brb",
          "buckarooswapfiets",
          "budapestgo",
          "budapestgokartyar",
          "burmah",
          "bvg",
          "cabify",
          "callabike",
          "caltex",
          "cepsa",
          "cfl",
          "cflgroupe",
          "cflmobility",
          "chargeassist",
          "chargemap",
          "chevron",
          "circ",
          "citylink",
          "clark",
          "cluno",
          "compagniedestransportsstrasbourgeois",
          "cooltra",
          "cosan",
          "cts",
          "dance",
          "db",
          "dbvertrieb",
          "dbvertriebg",
          "dcs",
          "delek",
          "deutschebahn",
          "digitalchargingsoluti",
          "digitalchargingsolutions",
          "digitalchargingsolutionsdcs",
          "digitalchargingsolutionsgmbh",
          "digitalchargingsolutionsgmbhdcs",
          "donkeybike",
          "donkeyrepublic",
          "dot",
          "dresdnerverkehrsbetriebe",
          "dvb",
          "easypark",
          "easyparkbv",
          "easyparkgmbh",
          "ecobici",
          "eddy",
          "elf",
          "emmy",
          "emtbicimad",
          "enbw",
          "enbwenergie",
          "enbwenergiebadenwuer",
          "enbwenergiebadenwuertt",
          "enbwenergiebadenwuettenberg",
          "enbwenergiebadenwuttenberg",
          "eneos",
          "engen",
          "eni",
          "eshopszsi",
          "esso",
          "essoimperialoil",
          "europodroze",
          "exxon",
          "exxonmobil",
          "fairtiq",
          "fairtiqaustriaapp",
          "faritiqapp",
          "faritiqaustria",
          "faritiqaustriaapp",
          "fastned",
          "fastnedbv",
          "fastneddeutschland",
          "fastneddeutschlandgm",
          "fastneddeutschlandgmbh",
          "fastnedgmbh",
          "federatedcooperatives",
          "felyx",
          "ferryhopper",
          "ferryhoppersa",
          "finn",
          "finnassets",
          "finnassetsgmbh",
          "finnassetsigmbh",
          "finngmbh",
          "flixbus",
          "freenow",
          "freshmile",
          "freshmileplbii8ysho",
          "galp",
          "galpenergy",
          "gemeentevervoerbedrijf",
          "gemeentevervoerbedrijfamsterdam",
          "gett",
          "golfoil",
          "gosharing",
          "groppoapi",
          "grossraumverkehrhannover",
          "gvb",
          "gvh",
          "hamburgerverkehrsverbund",
          "helenoftroy",
          "hindustanpetroleum",
          "hopp",
          "hoppbike",
          "hsl",
          "hsllogistik",
          "httpsnsnl",
          "httpswwwnsnl",
          "husky",
          "huskyenergy",
          "hvv",
          "hyundaioilbank",
          "iberdolla",
          "idemitsu",
          "ignit",
          "imperialoil",
          "indianoilcorporation",
          "ingitride",
          "ingitridecom",
          "ingprodeuropodrozep",
          "iocl",
          "ipiranga",
          "irvingoil",
          "jadrolinija",
          "jadrolinijaweb",
          "jxtd",
          "karlsruherverkehrsverbund",
          "kolnerverkehrsbetriebe",
          "kolnerverkehrsbetriebeaktiengesellschaft",
          "kroger",
          "kvb",
          "kvv",
          "leipzigerverkehrsbetriebe",
          "libertyglobal",
          "lime",
          "limtemphold",
          "lotos",
          "lufthansaexpressbus",
          "lukoil",
          "lvb",
          "lwsncfconnect",
          "lyft",
          "magdeburgerverkehrsbetriebe",
          "manulife",
          "marathon",
          "marathonoil",
          "marathonpetrolium",
          "martinbauer",
          "martinbauergroup",
          "metropolenantesmetro",
          "metropolenantesmetrop",
          "miele",
          "mietwagenmarkt",
          "mietwagenmarktde",
          "miles",
          "mitsubishi",
          "mitsubishienergy",
          "mitsubishienergybusinessgroup",
          "mitsubishimotors",
          "mobil",
          "mohawk",
          "moia",
          "molbubi",
          "molbubibike",
          "molincludingbikes",
          "mopla",
          "moplasolutions",
          "moplasolutionsgmbh",
          "motivaenterprises",
          "movacar",
          "mpsvwwechargeeur",
          "multix",
          "mumtaz",
          "munchnerverkehrsundtarifverbund",
          "munichairportparking",
          "murphyoil",
          "mvb",
          "mvv",
          "mvvenergiechargingstation",
          "nantesmetro",
          "nationalexpress",
          "nearme",
          "nearmeinc",
          "nederlandsespoorwegen",
          "neste",
          "nextbike",
          "nippon",
          "nippongas",
          "nipponoil",
          "nipponoilandgas",
          "nipponoilgas",
          "ns",
          "nsnl",
          "obb",
          "oebb",
          "omv",
          "opet",
          "oronegro",
          "osterreichischebundesbahnen",
          "pace",
          "parkabilastaedi",
          "parkopedia",
          "parkopedialimited",
          "parkopedialtd",
          "parkster",
          "parkstercom",
          "parkstercomde",
          "paypaldbvertriebg",
          "petrobras",
          "petrom",
          "petron",
          "petronas",
          "phillips66",
          "phoenix",
          "plugsurfing",
          "poferries",
          "poferriesweb",
          "preem",
          "pumaenergy",
          "pyuuber",
          "q8",
          "regioverkehrsverbundfreiburg",
          "reitangruppen",
          "repsol",
          "rheinmainverkehrsverbund",
          "rheinneckarverkehr",
          "richoil",
          "rigassatiksme",
          "rmv",
          "rnv",
          "rnvvrn",
          "rvf",
          "ryd",
          "sainsburys",
          "sasol",
          "saudiamarco",
          "scotrail",
          "servicenavigo",
          "servicenavigo4042878",
          "servicenavigo4889279",
          "sgroup",
          "sharenow",
          "shell",
          "shellaustralia",
          "shellcanada",
          "shellvpower",
          "simpsonoil",
          "sinclair",
          "sitycleta",
          "skenergy",
          "skgas",
          "skinnovation",
          "skoil",
          "slovenskezeleznice",
          "sncf",
          "sncfconnect",
          "socar",
          "societedestransportsintercommunauxdebruxellesmaatschappijvoorhetintercommunaalvervoertebrussel",
          "societenationaledescheminsdeferfrancais",
          "sohio",
          "soil",
          "solgroup",
          "solpetroleum",
          "speedway",
          "spiritpetroleum",
          "stib",
          "stibmivb",
          "stork",
          "sunnycars",
          "sunnycarsautovermietung",
          "sunnycarsgmbh",
          "suntransfers",
          "suntransferscom",
          "superpedestrian",
          "superpedestrianlink",
          "swapfiets",
          "szsi",
          "teboil",
          "terpel",
          "tesla",
          "teslainc",
          "texaco",
          "thalys",
          "thorntons",
          "tidewater",
          "tidewateroil",
          "tier",
          "total",
          "totalenergies",
          "transilien",
          "transliniensncf",
          "trenitalia",
          "uber",
          "uberrides",
          "uberridesdl",
          "ubrpendingubercom",
          "ubrpengingubercom",
          "unox",
          "velib",
          "velibmetropo",
          "velibmetropole",
          "velibmetropole2532669",
          "veomicromobility",
          "veomobility",
          "veoride",
          "verkehrsundtarifverbundstuttgart",
          "verkehrsverbundgrossraumnurnberg",
          "verkehrsverbundmittelthuringen",
          "verkehrsverbundtirol",
          "verkehrsverbundwarnow",
          "vgn",
          "vickers",
          "vivelacar",
          "vmt",
          "voi",
          "vvs",
          "vvt",
          "vvw",
          "vwwecharge",
          "wecharge",
          "wechargeeur",
          "weshare",
          "westbahn",
          "westbahnmanagement",
          "wirelane",
          "wirelanegmbh",
          "wwwmoplasolutions",
          "wwwveoridecom",
          "xyenergy",
          "yandextaxi",
          "yego",
          "yegoride",
          "yegoride11min",
          "yoio",
          "zenergy",
          "zeusscooters",
          "zeusscooterslimited",
          "zeusscooterslmt",
          "zigzag",
          "zigzagsharing"
        ]
      },
      "Expenditure": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Expenditure",
            "properties": {
              "type": {
                "const": "expenditure",
                "examples": [
                  "expenditure"
                ]
              },
              "methodology": {
                "const": "OFNK",
                "examples": [
                  "OFNK"
                ],
                "default": "OFNK"
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "merchant_category_code": {
                "type": "integer",
                "description": "4-digit number. **Mutually exclusive** with \"merchant_category\". One of both must be given."
              },
              "merchant_name": {
                "$ref": "#/components/schemas/MerchantName"
              },
              "total": {
                "type": "integer",
                "description": "Amount of money per transaction."
              },
              "currency": {
                "type": "string",
                "default": "EUR"
              },
              "country": {
                "type": "string",
                "enum": [
                  "AE",
                  "CA",
                  "DE",
                  "DK",
                  "FI",
                  "GB",
                  "GR",
                  "HK",
                  "IT",
                  "JP",
                  "LU",
                  "MX",
                  "NL",
                  "NO",
                  "QA",
                  "SE",
                  "SK"
                ],
                "description": "Alpha2 country code",
                "examples": [
                  "DE",
                  "US",
                  "JP"
                ]
              }
            },
            "anyOf": [
              {
                "title": "With merchant_category",
                "required": [
                  "type",
                  "methodology",
                  "merchant_category",
                  "total"
                ],
                "anyOf": [
                  {
                    "title": "With country code",
                    "properties": {
                      "merchant_category": {
                        "enum": [
                          "groceries",
                          "food",
                          "retail",
                          "air_travel",
                          "clothing",
                          "shopping",
                          "service_stations",
                          "catering",
                          "lodging",
                          "accommodation",
                          "streaming_services",
                          "video_streaming_services",
                          "train_travel",
                          "taxi_cabs",
                          "limousines",
                          "bakeries",
                          "cafes",
                          "drug_stores",
                          "local_public_transport",
                          "travel_agencies",
                          "travel_package_holidays",
                          "online_shopping",
                          "car_rental",
                          "furniture",
                          "energy",
                          "convenience_store",
                          "alcoholic_beverages",
                          "non-alcoholic_beverages",
                          "general",
                          "household_appliances",
                          "communication",
                          "glassware",
                          "tableware",
                          "household_utensils",
                          "rent",
                          "home",
                          "maintenance",
                          "repair",
                          "security",
                          "household_textiles",
                          "tools_for_garden",
                          "tools_for_house",
                          "equipment_for_garden",
                          "equipment_for_house",
                          "water_supply",
                          "miscellaneous_services",
                          "education",
                          "financial_services",
                          "health_services",
                          "insurance",
                          "recreational_equipment",
                          "recreational_items",
                          "gardens",
                          "pets",
                          "outpatient_care_services",
                          "recreational_services",
                          "cultural_services",
                          "services",
                          "social_protection",
                          "audio_streaming_services",
                          "tobacco",
                          "footwear_shopping",
                          "personal_care",
                          "personal_effects",
                          "durables_for_culture",
                          "durables_for_recreation",
                          "secondhand_clothing",
                          "newspapers",
                          "books",
                          "stationery",
                          "audio_visual_equipment",
                          "photographic_equipment",
                          "information_processing_equipment",
                          "electric_vehicles",
                          "e-mobility",
                          "operation_of_personal_transport_equipment",
                          "purchase_of_vehicles"
                        ]
                      }
                    }
                  },
                  {
                    "title": "Without country code",
                    "properties": {
                      "merchant_category": {
                        "enum": [
                          "air_travel",
                          "automobile_parking_lots_and_garages",
                          "automotive_service_shops",
                          "bakeries_cafes",
                          "bicycle_shops",
                          "business_services",
                          "car_and_truck_dealers",
                          "car_rental",
                          "catering",
                          "clothes_shopping",
                          "commercial_sports_athletic_fields_professional_sport_clubs_and_sport_promoters",
                          "computer_programming_integrated_systems_design_and_data_processing_services",
                          "computers_peripherals_and_software",
                          "convenience_stores",
                          "direct_marketing",
                          "drug_stores",
                          "electric_gas_sanitary_and_water_utilities",
                          "electric_vehicle_charging_services",
                          "furniture",
                          "government_services",
                          "groceries",
                          "intra_government_purchases",
                          "local_public_transport",
                          "lodging_accommodation",
                          "management_consulting_and_public_relations_services",
                          "marinas_service_and_supplies",
                          "membership_clubs_country_clubs_and_private_golf_courses",
                          "miscellaneous_general_merchandise",
                          "miscellaneous_personal_services",
                          "miscellaneous_specialty_retail",
                          "motor_home_and_recreational_vehicle_rentals",
                          "not_elsewhere_classified",
                          "online_shopping",
                          "real_estate_agents_and_managers",
                          "retail",
                          "service_stations",
                          "steamship_cruise_line",
                          "streaming_services",
                          "streaming_services_video",
                          "streaming_services_audio",
                          "taxi_cabs",
                          "theatrical_producers_and_ticket_agencies",
                          "toll_and_bridge_fees",
                          "train_travel",
                          "travel_agencies",
                          "variety_stores"
                        ]
                      }
                    }
                  }
                ]
              },
              {
                "title": "With merchant_category_code",
                "required": [
                  "type",
                  "methodology",
                  "merchant_category_code",
                  "total"
                ]
              }
            ]
          }
        ],
        "MerchantName": {
          "type": "string",
          "enum": [
            "buckaroo*swapfiets",
            "donkey.bike",
            "easyparkb.v.",
            "eshop.sz.si",
            "freshmile*plbii8ysho",
            "hopp.bike",
            "https://www.ns.nl/",
            "ignitride.com",
            "ing*prod.europodroze.p",
            "lim*temphold",
            "mol*includingbikes",
            "mps*vwwechargeeur",
            "nearme.",
            "parkster.com/de",
            "paypal*dbvertriebg",
            "poferries(web)",
            "pyu*uber",
            "suntransfers.com",
            "teslainc.",
            "uber*rides*dl",
            "ubr*pending.uber.com",
            "www.mopla.solutions",
            "www.veoride.com",
            "yego*ride11min",
            "a1",
            "abc",
            "abodeinauto",
            "aboeinauto",
            "accel",
            "agip",
            "airportbusmunich",
            "akpet",
            "amoco",
            "ampol",
            "aobairportbus",
            "aobairportbusbusweb",
            "aobairportbusweb",
            "apco",
            "aral",
            "arco",
            "asda",
            "avanti",
            "avocargo",
            "bapco",
            "bayerischeregiobahn",
            "berlinerverkehrsbetri",
            "berlinerverkehrsbetriebe",
            "bharatpetroleum",
            "bicimad",
            "bird",
            "bkk",
            "bkkbudapestgo",
            "bkkbudapestgokartyar",
            "bkkkartyar",
            "blablacar",
            "blunavy",
            "blunavyferries",
            "blunavytraghetti",
            "bndinavigazione",
            "bndinavigazionespa",
            "bolt",
            "bonnet",
            "bonnetev",
            "bonnetevcharging",
            "bp",
            "brb",
            "buckarooswapfiets",
            "budapestgo",
            "budapestgokartyar",
            "burmah",
            "bvg",
            "cabify",
            "callabike",
            "caltex",
            "cepsa",
            "cfl",
            "cflgroupe",
            "cflmobility",
            "chargeassist",
            "chargemap",
            "chevron",
            "circ",
            "citylink",
            "clark",
            "cluno",
            "compagniedestransportsstrasbourgeois",
            "cooltra",
            "cosan",
            "cts",
            "dance",
            "db",
            "dbvertrieb",
            "dbvertriebg",
            "dcs",
            "delek",
            "deutschebahn",
            "digitalchargingsoluti",
            "digitalchargingsolutions",
            "digitalchargingsolutionsdcs",
            "digitalchargingsolutionsgmbh",
            "digitalchargingsolutionsgmbhdcs",
            "donkeybike",
            "donkeyrepublic",
            "dot",
            "dresdnerverkehrsbetriebe",
            "dvb",
            "easypark",
            "easyparkbv",
            "easyparkgmbh",
            "ecobici",
            "eddy",
            "elf",
            "emmy",
            "emtbicimad",
            "enbw",
            "enbwenergie",
            "enbwenergiebadenwuer",
            "enbwenergiebadenwuertt",
            "enbwenergiebadenwuettenberg",
            "enbwenergiebadenwuttenberg",
            "eneos",
            "engen",
            "eni",
            "eshopszsi",
            "esso",
            "essoimperialoil",
            "europodroze",
            "exxon",
            "exxonmobil",
            "fairtiq",
            "fairtiqaustriaapp",
            "faritiqapp",
            "faritiqaustria",
            "faritiqaustriaapp",
            "fastned",
            "fastnedbv",
            "fastneddeutschland",
            "fastneddeutschlandgm",
            "fastneddeutschlandgmbh",
            "fastnedgmbh",
            "federatedcooperatives",
            "felyx",
            "ferryhopper",
            "ferryhoppersa",
            "finn",
            "finnassets",
            "finnassetsgmbh",
            "finnassetsigmbh",
            "finngmbh",
            "flixbus",
            "freenow",
            "freshmile",
            "freshmileplbii8ysho",
            "galp",
            "galpenergy",
            "gemeentevervoerbedrijf",
            "gemeentevervoerbedrijfamsterdam",
            "gett",
            "golfoil",
            "gosharing",
            "groppoapi",
            "grossraumverkehrhannover",
            "gvb",
            "gvh",
            "hamburgerverkehrsverbund",
            "helenoftroy",
            "hindustanpetroleum",
            "hopp",
            "hoppbike",
            "hsl",
            "hsllogistik",
            "httpsnsnl",
            "httpswwwnsnl",
            "husky",
            "huskyenergy",
            "hvv",
            "hyundaioilbank",
            "iberdolla",
            "idemitsu",
            "ignit",
            "imperialoil",
            "indianoilcorporation",
            "ingitride",
            "ingitridecom",
            "ingprodeuropodrozep",
            "iocl",
            "ipiranga",
            "irvingoil",
            "jadrolinija",
            "jadrolinijaweb",
            "jxtd",
            "karlsruherverkehrsverbund",
            "kolnerverkehrsbetriebe",
            "kolnerverkehrsbetriebeaktiengesellschaft",
            "kroger",
            "kvb",
            "kvv",
            "leipzigerverkehrsbetriebe",
            "libertyglobal",
            "lime",
            "limtemphold",
            "lotos",
            "lufthansaexpressbus",
            "lukoil",
            "lvb",
            "lwsncfconnect",
            "lyft",
            "magdeburgerverkehrsbetriebe",
            "manulife",
            "marathon",
            "marathonoil",
            "marathonpetrolium",
            "martinbauer",
            "martinbauergroup",
            "metropolenantesmetro",
            "metropolenantesmetrop",
            "miele",
            "mietwagenmarkt",
            "mietwagenmarktde",
            "miles",
            "mitsubishi",
            "mitsubishienergy",
            "mitsubishienergybusinessgroup",
            "mitsubishimotors",
            "mobil",
            "mohawk",
            "moia",
            "molbubi",
            "molbubibike",
            "molincludingbikes",
            "mopla",
            "moplasolutions",
            "moplasolutionsgmbh",
            "motivaenterprises",
            "movacar",
            "mpsvwwechargeeur",
            "multix",
            "mumtaz",
            "munchnerverkehrsundtarifverbund",
            "munichairportparking",
            "murphyoil",
            "mvb",
            "mvv",
            "mvvenergiechargingstation",
            "nantesmetro",
            "nationalexpress",
            "nearme",
            "nearmeinc",
            "nederlandsespoorwegen",
            "neste",
            "nextbike",
            "nippon",
            "nippongas",
            "nipponoil",
            "nipponoilandgas",
            "nipponoilgas",
            "ns",
            "nsnl",
            "obb",
            "oebb",
            "omv",
            "opet",
            "oronegro",
            "osterreichischebundesbahnen",
            "pace",
            "parkabilastaedi",
            "parkopedia",
            "parkopedialimited",
            "parkopedialtd",
            "parkster",
            "parkstercom",
            "parkstercomde",
            "paypaldbvertriebg",
            "petrobras",
            "petrom",
            "petron",
            "petronas",
            "phillips66",
            "phoenix",
            "plugsurfing",
            "poferries",
            "poferriesweb",
            "preem",
            "pumaenergy",
            "pyuuber",
            "q8",
            "regioverkehrsverbundfreiburg",
            "reitangruppen",
            "repsol",
            "rheinmainverkehrsverbund",
            "rheinneckarverkehr",
            "richoil",
            "rigassatiksme",
            "rmv",
            "rnv",
            "rnvvrn",
            "rvf",
            "ryd",
            "sainsburys",
            "sasol",
            "saudiamarco",
            "scotrail",
            "servicenavigo",
            "servicenavigo4042878",
            "servicenavigo4889279",
            "sgroup",
            "sharenow",
            "shell",
            "shellaustralia",
            "shellcanada",
            "shellvpower",
            "simpsonoil",
            "sinclair",
            "sitycleta",
            "skenergy",
            "skgas",
            "skinnovation",
            "skoil",
            "slovenskezeleznice",
            "sncf",
            "sncfconnect",
            "socar",
            "societedestransportsintercommunauxdebruxellesmaatschappijvoorhetintercommunaalvervoertebrussel",
            "societenationaledescheminsdeferfrancais",
            "sohio",
            "soil",
            "solgroup",
            "solpetroleum",
            "speedway",
            "spiritpetroleum",
            "stib",
            "stibmivb",
            "stork",
            "sunnycars",
            "sunnycarsautovermietung",
            "sunnycarsgmbh",
            "suntransfers",
            "suntransferscom",
            "superpedestrian",
            "superpedestrianlink",
            "swapfiets",
            "szsi",
            "teboil",
            "terpel",
            "tesla",
            "teslainc",
            "texaco",
            "thalys",
            "thorntons",
            "tidewater",
            "tidewateroil",
            "tier",
            "total",
            "totalenergies",
            "transilien",
            "transliniensncf",
            "trenitalia",
            "uber",
            "uberrides",
            "uberridesdl",
            "ubrpendingubercom",
            "ubrpengingubercom",
            "unox",
            "velib",
            "velibmetropo",
            "velibmetropole",
            "velibmetropole2532669",
            "veomicromobility",
            "veomobility",
            "veoride",
            "verkehrsundtarifverbundstuttgart",
            "verkehrsverbundgrossraumnurnberg",
            "verkehrsverbundmittelthuringen",
            "verkehrsverbundtirol",
            "verkehrsverbundwarnow",
            "vgn",
            "vickers",
            "vivelacar",
            "vmt",
            "voi",
            "vvs",
            "vvt",
            "vvw",
            "vwwecharge",
            "wecharge",
            "wechargeeur",
            "weshare",
            "westbahn",
            "westbahnmanagement",
            "wirelane",
            "wirelanegmbh",
            "wwwmoplasolutions",
            "wwwveoridecom",
            "xyenergy",
            "yandextaxi",
            "yego",
            "yegoride",
            "yegoride11min",
            "yoio",
            "zenergy",
            "zeusscooters",
            "zeusscooterslimited",
            "zeusscooterslmt",
            "zigzag",
            "zigzagsharing"
          ]
        }
      },
      "Ferry": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Ferry",
            "properties": {
              "type": {
                "const": "ferry",
                "examples": [
                  "ferry"
                ]
              },
              "methodology": {
                "const": "ADEME",
                "examples": [
                  "ADEME"
                ],
                "default": "ADEME",
                "description": "Detailed methodology description can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/ferry/ferry-ademe)."
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "number_of_travelers": {
                "type": "number",
                "default": 1,
                "examples": [
                  2
                ]
              },
              "number_of_cars": {
                "type": "number",
                "default": 0,
                "examples": [
                  1
                ]
              },
              "vessel_type": {
                "type": "string",
                "enum": [
                  "night_ferry",
                  "day_ferry",
                  "ro_pax",
                  "river_vessel"
                ],
                "default": "day_ferry",
                "examples": [
                  "night_ferry"
                ]
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "IATA-Aircraft-Type-Flight": {
        "type": "string",
        "enum": [
          "CS1",
          "CS3",
          "31N",
          "32N",
          "32Q",
          "338",
          "339",
          "359",
          "7M7",
          "7M8",
          "7M9",
          "789",
          "141",
          "142",
          "143",
          "146",
          "310",
          "312",
          "313",
          "318",
          "319",
          "320",
          "321",
          "330",
          "332",
          "333",
          "340",
          "342",
          "343",
          "345",
          "346",
          "380",
          "388",
          "703",
          "707",
          "717",
          "721",
          "722",
          "727",
          "731",
          "732",
          "733",
          "734",
          "735",
          "736",
          "737",
          "738",
          "739",
          "741",
          "742",
          "743",
          "744",
          "747",
          "752",
          "753",
          "757",
          "762",
          "763",
          "764",
          "767",
          "772",
          "773",
          "777",
          "787",
          "788",
          "14F",
          "31F",
          "31Y",
          "32A",
          "32F",
          "32S",
          "33F",
          "33X",
          "70F",
          "70M",
          "72A",
          "72F",
          "72M",
          "72S",
          "73A",
          "73C",
          "73E",
          "73F",
          "73G",
          "73H",
          "73J",
          "73L",
          "73M",
          "73N",
          "73P",
          "73Q",
          "73R",
          "73S",
          "73W",
          "73X",
          "73Y",
          "74C",
          "74D",
          "74E",
          "74F",
          "74H",
          "74J",
          "74L",
          "74M",
          "74N",
          "74R",
          "74T",
          "74X",
          "74Y",
          "75F",
          "75M",
          "75T",
          "75W",
          "76F",
          "76W",
          "76X",
          "76Y",
          "77F",
          "77L",
          "77W",
          "77X",
          "A28",
          "A40",
          "A4F",
          "A81",
          "AB3",
          "AB4",
          "AB6",
          "ABF",
          "ABX",
          "ABY",
          "ACD",
          "AGH",
          "AN4",
          "AN6",
          "AN7",
          "ANF",
          "AR1",
          "AR7",
          "AR8",
          "ARJ",
          "AT3",
          "AT4",
          "AT5",
          "AT7",
          "ATF",
          "ATP",
          "ATR",
          "B11",
          "B12",
          "B13",
          "B14",
          "B15",
          "BE1",
          "BE2",
          "BE9",
          "BEC",
          "BEH",
          "BES",
          "BET",
          "BH2",
          "BNI",
          "BNT",
          "CCJ",
          "CD2",
          "CL4",
          "CN1",
          "CNA",
          "CNC",
          "CNF",
          "CNJ",
          "CNT",
          "CR1",
          "CR2",
          "CR7",
          "CR9",
          "CRA",
          "CRF",
          "CRJ",
          "CRK",
          "CS2",
          "CS5",
          "CV5",
          "CVF",
          "CVR",
          "CWC",
          "D10",
          "D11",
          "D1C",
          "D1F",
          "D1Y",
          "D28",
          "D38",
          "D3F",
          "D6F",
          "D8F",
          "D8X",
          "D8Y",
          "D91",
          "D92",
          "D93",
          "D94",
          "D95",
          "D9F",
          "D9S",
          "DC3",
          "DC6",
          "DC8",
          "DC9",
          "DF2",
          "DFL",
          "DH1",
          "DH2",
          "DH3",
          "DH4",
          "DH7",
          "DH8",
          "DHB",
          "DHC",
          "DHL",
          "DHO",
          "DHP",
          "DHS",
          "DHT",
          "E70",
          "E75",
          "E90",
          "E95",
          "EM2",
          "EMB",
          "EMJ",
          "ER3",
          "ER4",
          "ERD",
          "ERJ",
          "F21",
          "F22",
          "F23",
          "F24",
          "F27",
          "F28",
          "F50",
          "F70",
          "FK7",
          "FRJ",
          "GRG",
          "GRM",
          "GRS",
          "HEC",
          "HS7",
          "I14",
          "IL6",
          "IL7",
          "IL8",
          "IL9",
          "ILW",
          "J31",
          "J32",
          "J41",
          "JST",
          "L10",
          "L11",
          "L12",
          "L15",
          "L1F",
          "L49",
          "L4T",
          "LOE",
          "LOF",
          "LOH",
          "LOM",
          "LRJ",
          "M11",
          "M1F",
          "M1M",
          "M80",
          "M81",
          "M82",
          "M83",
          "M87",
          "M88",
          "M90",
          "MA6",
          "MBH",
          "MD9",
          "MIH",
          "MU2",
          "ND2",
          "NDC",
          "NDE",
          "NDH",
          "PA1",
          "PA2",
          "PAG",
          "PAT",
          "PL2",
          "PL6",
          "PN6",
          "S20",
          "S58",
          "S61",
          "S76",
          "SF3",
          "SFB",
          "SFF",
          "SH3",
          "SH6",
          "SHB",
          "SHS",
          "SSC",
          "SU9",
          "SWM",
          "T20",
          "T2F",
          "TU3",
          "TU5",
          "VCV",
          "WWP",
          "YK2",
          "YK4",
          "YN2",
          "YN7",
          "YS1",
          "221",
          "223",
          "290",
          "295",
          "351",
          "781"
        ],
        "title": "IATA Aircraft Type Flight",
        "description": "For example, the Airbus A321 has the IATA short code `321`. ICAO publishes a similar list, their designator for the Airbus A321 is `A321`. Please don't hesitate to contact us if you can only work with ICAO codes.",
        "examples": [
          "321"
        ]
      },
      "airline": {
        "type": "string",
        "description": "The IATA Designator of an airline, e.g., 2-digit format like `LH` or 3-digit format like `220`. Airline names and ICAO codes are also supported, SQUAKE will then automatically resolve it. The combination of `fare_class` and `airline` is mutually exclusive with `booking_class`.",
        "examples": [
          "`LH` / `220` or `Lufthansa` or `DLH`, `DL` / `006` or `Delta Airlines` or `DAL`"
        ]
      },
      "Flight-ADEME": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Flight ADEME",
            "properties": {
              "type": {
                "const": "flight",
                "examples": [
                  "flight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "ADEME",
                "description": "Default: `\"DEFRA\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/flight/flight-ademe).\n",
                "examples": [
                  "ADEME"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "number_of_travelers": {
                "type": "integer",
                "format": "int32",
                "minimum": 1,
                "default": 1,
                "examples": [
                  2
                ]
              },
              "aircraft_size": {
                "type": "string",
                "enum": [
                  "under_50_seats",
                  "under_100_seats",
                  "under_180_seats",
                  "under_250_seats",
                  "over_250_seats"
                ],
                "description": "An estimation of the aircraft's size based on the number of seats. When `aircraft_size`, there is a possibility to pass over `aircraft_type`, which we use to approximate the amount of seats.",
                "examples": [
                  "under_100_seats"
                ]
              },
              "aircraft_type": {
                "$ref": "#/components/schemas/IATA-Aircraft-Type-Flight"
              },
              "airline": {
                "$ref": "#/components/schemas/airline"
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "radiative_forcing_index": {
        "type": "boolean",
        "description": "Controls if a multiplier that factors in gases emitted to the atmosphere when flying at altitude should be applied.",
        "default": true
      },
      "sustainable_fuels": {
        "type": "object",
        "title": "sustainable_fuels",
        "description": "Indicates the usage of sustainable fuels. This lowers the computed emissions in SQUAKE but is not part of the current official emissions frameworks.",
        "properties": {
          "carbon_reduction_percentage_of_total": {
            "type": "number",
            "description": "The percentage of emissions reduction through the usage of  sustainable fuel.",
            "minimum": 0,
            "maximum": 1,
            "default": 0,
            "examples": [
              0.25
            ]
          }
        },
        "examples": [
          {
            "carbon_reduction_percentage_of_total": 0.25
          }
        ]
      },
      "Flight-BASE-EMPREINTE": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Flight BASE-EMPREINTE",
            "properties": {
              "type": {
                "const": "flight",
                "examples": [
                  "flight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "BASE-EMPREINTE",
                "description": "Default: `\"DEFRA\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/flight/flight-base-empreinte).\n",
                "examples": [
                  "BASE-EMPREINTE"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "number_of_travelers": {
                "type": "integer",
                "format": "int32",
                "minimum": 1,
                "default": 1,
                "examples": [
                  2
                ]
              },
              "aircraft_size": {
                "type": "string",
                "enum": [
                  "under_50_seats",
                  "under_50_seats_jet",
                  "under_50_seats_turboprop",
                  "under_100_seats",
                  "under_100_seats_jet",
                  "under_100_seats_turboprop",
                  "under_220_seats",
                  "above_220_seats"
                ],
                "description": "An estimation of the aircraft's size based on the number of seats. An estimation of the aircraft's size based on the number of seats. When `aircraft_size`, there is a possibility to pass over `aircraft_type`, which we use to approximate the amount of seats.",
                "examples": [
                  "under_100_seats"
                ]
              },
              "aircraft_type": {
                "$ref": "#/components/schemas/IATA-Aircraft-Type-Flight"
              },
              "radiative_forcing_index": {
                "$ref": "#/components/schemas/radiative_forcing_index",
                "default": true
              },
              "sustainable_fuels": {
                "$ref": "#/components/schemas/sustainable_fuels"
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "booking_class": {
        "type": "string",
        "enum": [
          "first",
          "premium_economy",
          "economy",
          "business"
        ],
        "description": "When `fare_class` and `airline` SQUAKE will then automatically resolve the correct `booking_class`.",
        "examples": [
          "economy"
        ]
      },
      "fare_class": {
        "type": "string",
        "description": "The combination of `fare_class` and `airline` is mutually exclusive with `booking_class`. This is a single letter e.g. `Y`, `J`, etc.",
        "examples": [
          "B"
        ]
      },
      "Flight-CO2-EMISSIEFACTOREN-NL": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Flight CO2-EMISSIEFACTOREN-NL",
            "properties": {
              "type": {
                "const": "flight",
                "examples": [
                  "flight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "CO2-EMISSIEFACTOREN-NL",
                "description": "Default: `\"DEFRA\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/flight/flight-co2-emissiefactoren).\n",
                "examples": [
                  "CO2-EMISSIEFACTOREN-NL"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "booking_class": {
                "$ref": "#/components/schemas/booking_class",
                "enum": [
                  "first",
                  "premium_economy",
                  "economy",
                  "business",
                  "average"
                ],
                "default": "average"
              },
              "number_of_travelers": {
                "type": "integer",
                "format": "int32",
                "minimum": 1,
                "default": 1,
                "examples": [
                  2
                ]
              },
              "fare_class": {
                "$ref": "#/components/schemas/fare_class"
              },
              "airline": {
                "$ref": "#/components/schemas/airline"
              },
              "radiative_forcing_index": {
                "$ref": "#/components/schemas/radiative_forcing_index",
                "default": true
              },
              "sustainable_fuels": {
                "$ref": "#/components/schemas/sustainable_fuels"
              },
              "energy_scope": {
                "$ref": "#/components/schemas/energy_scope",
                "default": "wtw"
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "Flight-DEFRA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Flight DEFRA",
            "properties": {
              "type": {
                "const": "flight",
                "examples": [
                  "flight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "DEFRA",
                "description": "Default: `\"DEFRA\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/flight/flight-defra).\n",
                "examples": [
                  "DEFRA"
                ]
              },
              "methodology_version": {
                "type": "string",
                "description": "The version of the DEFRA methodology used.",
                "default": "latest",
                "enum": [
                  "2018",
                  "2019",
                  "2020",
                  "2021",
                  "2022",
                  "2023",
                  "2024",
                  "2025",
                  "latest"
                ],
                "examples": [
                  "2024"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "booking_class": {
                "$ref": "#/components/schemas/booking_class",
                "default": "average"
              },
              "number_of_travelers": {
                "type": "integer",
                "format": "int32",
                "minimum": 1,
                "default": 1,
                "examples": [
                  2
                ]
              },
              "aircraft_type": {
                "$ref": "#/components/schemas/IATA-Aircraft-Type-Flight"
              },
              "fare_class": {
                "$ref": "#/components/schemas/fare_class"
              },
              "airline": {
                "$ref": "#/components/schemas/airline"
              },
              "radiative_forcing_index": {
                "$ref": "#/components/schemas/radiative_forcing_index",
                "default": true
              },
              "sustainable_fuels": {
                "$ref": "#/components/schemas/sustainable_fuels"
              },
              "energy_scope": {
                "$ref": "#/components/schemas/energy_scope",
                "default": "wtw"
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "flight_number": {
        "type": "string",
        "description": "Flight numbers should include the airline designator, for example `BA115` is accepted but `115` also works with passed separately `airline`.",
        "examples": [
          "BA115"
        ]
      },
      "iso_8601_date": {
        "type": "string",
        "title": "ISO-8601-Date",
        "description": "Date in ISO 8601 notation.",
        "format": "date",
        "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
        "examples": [
          "2023-01-28"
        ]
      },
      "Flight-GATE4": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Flight GATE4",
            "properties": {
              "type": {
                "const": "flight",
                "examples": [
                  "flight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "GATE4",
                "description": "Default: `\"DEFRA\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/flight/flight-gate4).\n",
                "examples": [
                  "GATE4"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "booking_class": {
                "$ref": "#/components/schemas/booking_class"
              },
              "number_of_travelers": {
                "type": "integer",
                "format": "int32",
                "minimum": 1,
                "default": 1,
                "examples": [
                  2
                ]
              },
              "fare_class": {
                "$ref": "#/components/schemas/fare_class"
              },
              "airline": {
                "$ref": "#/components/schemas/airline"
              },
              "flight_number": {
                "$ref": "#/components/schemas/flight_number"
              },
              "departure_date": {
                "$ref": "#/components/schemas/iso_8601_date"
              },
              "sustainable_fuels": {
                "$ref": "#/components/schemas/sustainable_fuels"
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "Flight-ICAO": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Flight ICAO",
            "properties": {
              "type": {
                "const": "flight",
                "examples": [
                  "flight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "ICAO",
                "description": "Default: `\"DEFRA\"`.\n\nAcceptable for internal use or general estimation, but it does not retrieve data from ICEC. To get access to the ICEC dataset, talk with your account manager.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/flight/flight-icao).\n",
                "examples": [
                  "ICAO"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "booking_class": {
                "$ref": "#/components/schemas/booking_class",
                "default": "economy"
              },
              "number_of_travelers": {
                "type": "integer",
                "format": "int32",
                "minimum": 1,
                "default": 1,
                "examples": [
                  2
                ]
              },
              "aircraft_type": {
                "$ref": "#/components/schemas/IATA-Aircraft-Type-Flight",
                "description": "`\"aircraft_type\": \"737\"` for flights under 550 km; `\"aircraft_type\": \"321\"` for flights under 5500 and above 550 km; `\"aircraft_type\": \"320\"` for flights above 5500 km"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "fare_class": {
                "$ref": "#/components/schemas/fare_class"
              },
              "airline": {
                "$ref": "#/components/schemas/airline"
              },
              "sustainable_fuels": {
                "$ref": "#/components/schemas/sustainable_fuels"
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "origin_destination_TIM": {
        "type": "string",
        "title": "origin_destination",
        "description": "TIM supports use of IATA code (format: `^[A-Z]{3}$`, e.g. `\"MUC\"` or `\"BER\"`)"
      },
      "Flight-TIM": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Flight TIM",
            "properties": {
              "type": {
                "const": "flight",
                "examples": [
                  "flight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "TIM",
                "description": "Default: `\"DEFRA\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/flight/flight-tim).\n",
                "examples": [
                  "TIM"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination_TIM"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination_TIM"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "energy_scope": {
                "$ref": "#/components/schemas/energy_scope"
              },
              "booking_class": {
                "$ref": "#/components/schemas/booking_class",
                "default": "economy"
              },
              "number_of_travelers": {
                "type": "integer",
                "format": "int32",
                "minimum": 1,
                "default": 1,
                "examples": [
                  2
                ]
              },
              "fare_class": {
                "$ref": "#/components/schemas/fare_class"
              },
              "airline": {
                "$ref": "#/components/schemas/airline"
              },
              "flight_number": {
                "$ref": "#/components/schemas/flight_number"
              },
              "departure_date": {
                "$ref": "#/components/schemas/iso_8601_date"
              },
              "sustainable_fuels": {
                "$ref": "#/components/schemas/sustainable_fuels"
              },
              "logistics_hub": {
                "type": "boolean",
                "default": false,
                "description": "If the flight is a logistics hub flight"
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "Flight-TU-CHALMERS": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Flight TU-CHALMERS",
            "properties": {
              "type": {
                "const": "flight",
                "examples": [
                  "flight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "TU-CHALMERS",
                "description": "Default: `\"DEFRA\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/flight/flight-tu-chalmers).\n",
                "examples": [
                  "TU-CHALMERS"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "booking_class": {
                "$ref": "#/components/schemas/booking_class",
                "default": "economy"
              },
              "number_of_travelers": {
                "type": "integer",
                "format": "int32",
                "minimum": 1,
                "default": 1,
                "examples": [
                  2
                ]
              },
              "fare_class": {
                "$ref": "#/components/schemas/fare_class"
              },
              "airline": {
                "$ref": "#/components/schemas/airline"
              },
              "sustainable_fuels": {
                "$ref": "#/components/schemas/sustainable_fuels"
              },
              "plane_type": {
                "type": "string",
                "enum": [
                  "scheduled",
                  "charter"
                ],
                "default": "scheduled",
                "example": "scheduled"
              },
              "biofuel": {
                "type": "boolean",
                "default": false
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "Flight-US-EPA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Flight",
            "properties": {
              "type": {
                "const": "flight",
                "examples": [
                  "flight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "US-EPA",
                "description": "Default: `\"DEFRA\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/flight/flight-epa).\n",
                "examples": [
                  "US-EPA"
                ]
              },
              "methodology_version": {
                "type": "string",
                "description": "The version of the US EPA methodology used.",
                "default": "latest",
                "enum": [
                  "2011",
                  "2012",
                  "2013",
                  "2014",
                  "2015",
                  "2016",
                  "2017",
                  "2018",
                  "2019",
                  "2020",
                  "2021",
                  "2022",
                  "2023",
                  "2024",
                  "2025",
                  "latest"
                ],
                "examples": [
                  "2024"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "number_of_travelers": {
                "type": "integer",
                "format": "int32",
                "minimum": 1,
                "default": 1,
                "examples": [
                  2
                ]
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "sustainable_fuels": {
                "$ref": "#/components/schemas/sustainable_fuels"
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "Flight": {
        "type": "object",
        "title": "Flight",
        "properties": {
          "type": {
            "const": "flight",
            "examples": [
              "flight"
            ]
          },
          "methodology": {
            "type": "string"
          }
        },
        "discriminator": {
          "propertyName": "methodology",
          "mapping": {
            "ADEME": "#/components/schemas/Flight-ADEME",
            "BASE-EMPREINTE": "#/components/schemas/Flight-BASE-EMPREINTE",
            "CO2-EMISSIEFACTOREN-NL": "#/components/schemas/Flight-CO2-EMISSIEFACTOREN-NL",
            "DEFRA": "#/components/schemas/Flight-DEFRA",
            "GATE4": "#/components/schemas/Flight-GATE4",
            "ICAO": "#/components/schemas/Flight-ICAO",
            "TIM": "#/components/schemas/Flight-TIM",
            "TU-CHALMERS": "#/components/schemas/Flight-TU-CHALMERS",
            "US-EPA": "#/components/schemas/Flight-US-EPA"
          }
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/Flight-ADEME"
          },
          {
            "$ref": "#/components/schemas/Flight-BASE-EMPREINTE"
          },
          {
            "$ref": "#/components/schemas/Flight-CO2-EMISSIEFACTOREN-NL"
          },
          {
            "$ref": "#/components/schemas/Flight-DEFRA"
          },
          {
            "$ref": "#/components/schemas/Flight-GATE4"
          },
          {
            "$ref": "#/components/schemas/Flight-ICAO"
          },
          {
            "$ref": "#/components/schemas/Flight-TIM"
          },
          {
            "$ref": "#/components/schemas/Flight-TU-CHALMERS"
          },
          {
            "$ref": "#/components/schemas/Flight-US-EPA"
          }
        ],
        "Flight-ADEME": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Flight ADEME",
              "properties": {
                "type": {
                  "const": "flight",
                  "examples": [
                    "flight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "ADEME",
                  "description": "Default: `\"DEFRA\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/flight/flight-ademe).\n",
                  "examples": [
                    "ADEME"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "number_of_travelers": {
                  "type": "integer",
                  "format": "int32",
                  "minimum": 1,
                  "default": 1,
                  "examples": [
                    2
                  ]
                },
                "aircraft_size": {
                  "type": "string",
                  "enum": [
                    "under_50_seats",
                    "under_100_seats",
                    "under_180_seats",
                    "under_250_seats",
                    "over_250_seats"
                  ],
                  "description": "An estimation of the aircraft's size based on the number of seats. When `aircraft_size`, there is a possibility to pass over `aircraft_type`, which we use to approximate the amount of seats.",
                  "examples": [
                    "under_100_seats"
                  ]
                },
                "aircraft_type": {
                  "$ref": "#/components/schemas/IATA-Aircraft-Type-Flight"
                },
                "airline": {
                  "$ref": "#/components/schemas/airline"
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ]
            }
          ]
        },
        "Flight-BASE-EMPREINTE": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Flight BASE-EMPREINTE",
              "properties": {
                "type": {
                  "const": "flight",
                  "examples": [
                    "flight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "BASE-EMPREINTE",
                  "description": "Default: `\"DEFRA\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/flight/flight-base-empreinte).\n",
                  "examples": [
                    "BASE-EMPREINTE"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "number_of_travelers": {
                  "type": "integer",
                  "format": "int32",
                  "minimum": 1,
                  "default": 1,
                  "examples": [
                    2
                  ]
                },
                "aircraft_size": {
                  "type": "string",
                  "enum": [
                    "under_50_seats",
                    "under_50_seats_jet",
                    "under_50_seats_turboprop",
                    "under_100_seats",
                    "under_100_seats_jet",
                    "under_100_seats_turboprop",
                    "under_220_seats",
                    "above_220_seats"
                  ],
                  "description": "An estimation of the aircraft's size based on the number of seats. An estimation of the aircraft's size based on the number of seats. When `aircraft_size`, there is a possibility to pass over `aircraft_type`, which we use to approximate the amount of seats.",
                  "examples": [
                    "under_100_seats"
                  ]
                },
                "aircraft_type": {
                  "$ref": "#/components/schemas/IATA-Aircraft-Type-Flight"
                },
                "radiative_forcing_index": {
                  "$ref": "#/components/schemas/radiative_forcing_index",
                  "default": true
                },
                "sustainable_fuels": {
                  "$ref": "#/components/schemas/sustainable_fuels"
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ]
            }
          ]
        },
        "Flight-CO2-EMISSIEFACTOREN-NL": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Flight CO2-EMISSIEFACTOREN-NL",
              "properties": {
                "type": {
                  "const": "flight",
                  "examples": [
                    "flight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "CO2-EMISSIEFACTOREN-NL",
                  "description": "Default: `\"DEFRA\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/flight/flight-co2-emissiefactoren).\n",
                  "examples": [
                    "CO2-EMISSIEFACTOREN-NL"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "booking_class": {
                  "$ref": "#/components/schemas/booking_class",
                  "enum": [
                    "first",
                    "premium_economy",
                    "economy",
                    "business",
                    "average"
                  ],
                  "default": "average"
                },
                "number_of_travelers": {
                  "type": "integer",
                  "format": "int32",
                  "minimum": 1,
                  "default": 1,
                  "examples": [
                    2
                  ]
                },
                "fare_class": {
                  "$ref": "#/components/schemas/fare_class"
                },
                "airline": {
                  "$ref": "#/components/schemas/airline"
                },
                "radiative_forcing_index": {
                  "$ref": "#/components/schemas/radiative_forcing_index",
                  "default": true
                },
                "sustainable_fuels": {
                  "$ref": "#/components/schemas/sustainable_fuels"
                },
                "energy_scope": {
                  "$ref": "#/components/schemas/energy_scope",
                  "default": "wtw"
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ]
            }
          ]
        },
        "Flight-DEFRA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Flight DEFRA",
              "properties": {
                "type": {
                  "const": "flight",
                  "examples": [
                    "flight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "DEFRA",
                  "description": "Default: `\"DEFRA\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/flight/flight-defra).\n",
                  "examples": [
                    "DEFRA"
                  ]
                },
                "methodology_version": {
                  "type": "string",
                  "description": "The version of the DEFRA methodology used.",
                  "default": "latest",
                  "enum": [
                    "2018",
                    "2019",
                    "2020",
                    "2021",
                    "2022",
                    "2023",
                    "2024",
                    "2025",
                    "latest"
                  ],
                  "examples": [
                    "2024"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "booking_class": {
                  "$ref": "#/components/schemas/booking_class",
                  "default": "average"
                },
                "number_of_travelers": {
                  "type": "integer",
                  "format": "int32",
                  "minimum": 1,
                  "default": 1,
                  "examples": [
                    2
                  ]
                },
                "aircraft_type": {
                  "$ref": "#/components/schemas/IATA-Aircraft-Type-Flight"
                },
                "fare_class": {
                  "$ref": "#/components/schemas/fare_class"
                },
                "airline": {
                  "$ref": "#/components/schemas/airline"
                },
                "radiative_forcing_index": {
                  "$ref": "#/components/schemas/radiative_forcing_index",
                  "default": true
                },
                "sustainable_fuels": {
                  "$ref": "#/components/schemas/sustainable_fuels"
                },
                "energy_scope": {
                  "$ref": "#/components/schemas/energy_scope",
                  "default": "wtw"
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ]
            }
          ]
        },
        "Flight-GATE4": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Flight GATE4",
              "properties": {
                "type": {
                  "const": "flight",
                  "examples": [
                    "flight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "GATE4",
                  "description": "Default: `\"DEFRA\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/flight/flight-gate4).\n",
                  "examples": [
                    "GATE4"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "booking_class": {
                  "$ref": "#/components/schemas/booking_class"
                },
                "number_of_travelers": {
                  "type": "integer",
                  "format": "int32",
                  "minimum": 1,
                  "default": 1,
                  "examples": [
                    2
                  ]
                },
                "fare_class": {
                  "$ref": "#/components/schemas/fare_class"
                },
                "airline": {
                  "$ref": "#/components/schemas/airline"
                },
                "flight_number": {
                  "$ref": "#/components/schemas/flight_number"
                },
                "departure_date": {
                  "$ref": "#/components/schemas/iso_8601_date"
                },
                "sustainable_fuels": {
                  "$ref": "#/components/schemas/sustainable_fuels"
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ]
            }
          ]
        },
        "Flight-ICAO": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Flight ICAO",
              "properties": {
                "type": {
                  "const": "flight",
                  "examples": [
                    "flight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "ICAO",
                  "description": "Default: `\"DEFRA\"`.\n\nAcceptable for internal use or general estimation, but it does not retrieve data from ICEC. To get access to the ICEC dataset, talk with your account manager.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/flight/flight-icao).\n",
                  "examples": [
                    "ICAO"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "booking_class": {
                  "$ref": "#/components/schemas/booking_class",
                  "default": "economy"
                },
                "number_of_travelers": {
                  "type": "integer",
                  "format": "int32",
                  "minimum": 1,
                  "default": 1,
                  "examples": [
                    2
                  ]
                },
                "aircraft_type": {
                  "$ref": "#/components/schemas/IATA-Aircraft-Type-Flight",
                  "description": "`\"aircraft_type\": \"737\"` for flights under 550 km; `\"aircraft_type\": \"321\"` for flights under 5500 and above 550 km; `\"aircraft_type\": \"320\"` for flights above 5500 km"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "fare_class": {
                  "$ref": "#/components/schemas/fare_class"
                },
                "airline": {
                  "$ref": "#/components/schemas/airline"
                },
                "sustainable_fuels": {
                  "$ref": "#/components/schemas/sustainable_fuels"
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ]
            }
          ]
        },
        "Flight-TIM": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Flight TIM",
              "properties": {
                "type": {
                  "const": "flight",
                  "examples": [
                    "flight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "TIM",
                  "description": "Default: `\"DEFRA\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/flight/flight-tim).\n",
                  "examples": [
                    "TIM"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination_TIM"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination_TIM"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "energy_scope": {
                  "$ref": "#/components/schemas/energy_scope"
                },
                "booking_class": {
                  "$ref": "#/components/schemas/booking_class",
                  "default": "economy"
                },
                "number_of_travelers": {
                  "type": "integer",
                  "format": "int32",
                  "minimum": 1,
                  "default": 1,
                  "examples": [
                    2
                  ]
                },
                "fare_class": {
                  "$ref": "#/components/schemas/fare_class"
                },
                "airline": {
                  "$ref": "#/components/schemas/airline"
                },
                "flight_number": {
                  "$ref": "#/components/schemas/flight_number"
                },
                "departure_date": {
                  "$ref": "#/components/schemas/iso_8601_date"
                },
                "sustainable_fuels": {
                  "$ref": "#/components/schemas/sustainable_fuels"
                },
                "logistics_hub": {
                  "type": "boolean",
                  "default": false,
                  "description": "If the flight is a logistics hub flight"
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ]
            }
          ]
        },
        "Flight-TU-CHALMERS": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Flight TU-CHALMERS",
              "properties": {
                "type": {
                  "const": "flight",
                  "examples": [
                    "flight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "TU-CHALMERS",
                  "description": "Default: `\"DEFRA\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/flight/flight-tu-chalmers).\n",
                  "examples": [
                    "TU-CHALMERS"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "booking_class": {
                  "$ref": "#/components/schemas/booking_class",
                  "default": "economy"
                },
                "number_of_travelers": {
                  "type": "integer",
                  "format": "int32",
                  "minimum": 1,
                  "default": 1,
                  "examples": [
                    2
                  ]
                },
                "fare_class": {
                  "$ref": "#/components/schemas/fare_class"
                },
                "airline": {
                  "$ref": "#/components/schemas/airline"
                },
                "sustainable_fuels": {
                  "$ref": "#/components/schemas/sustainable_fuels"
                },
                "plane_type": {
                  "type": "string",
                  "enum": [
                    "scheduled",
                    "charter"
                  ],
                  "default": "scheduled",
                  "example": "scheduled"
                },
                "biofuel": {
                  "type": "boolean",
                  "default": false
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ]
            }
          ]
        },
        "Flight-US-EPA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Flight",
              "properties": {
                "type": {
                  "const": "flight",
                  "examples": [
                    "flight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "US-EPA",
                  "description": "Default: `\"DEFRA\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/flight/flight-epa).\n",
                  "examples": [
                    "US-EPA"
                  ]
                },
                "methodology_version": {
                  "type": "string",
                  "description": "The version of the US EPA methodology used.",
                  "default": "latest",
                  "enum": [
                    "2011",
                    "2012",
                    "2013",
                    "2014",
                    "2015",
                    "2016",
                    "2017",
                    "2018",
                    "2019",
                    "2020",
                    "2021",
                    "2022",
                    "2023",
                    "2024",
                    "2025",
                    "latest"
                  ],
                  "examples": [
                    "2024"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "number_of_travelers": {
                  "type": "integer",
                  "format": "int32",
                  "minimum": 1,
                  "default": 1,
                  "examples": [
                    2
                  ]
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "sustainable_fuels": {
                  "$ref": "#/components/schemas/sustainable_fuels"
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ]
            }
          ]
        },
        "IATA-Aircraft-Type-Flight": {
          "type": "string",
          "enum": [
            "CS1",
            "CS3",
            "31N",
            "32N",
            "32Q",
            "338",
            "339",
            "359",
            "7M7",
            "7M8",
            "7M9",
            "789",
            "141",
            "142",
            "143",
            "146",
            "310",
            "312",
            "313",
            "318",
            "319",
            "320",
            "321",
            "330",
            "332",
            "333",
            "340",
            "342",
            "343",
            "345",
            "346",
            "380",
            "388",
            "703",
            "707",
            "717",
            "721",
            "722",
            "727",
            "731",
            "732",
            "733",
            "734",
            "735",
            "736",
            "737",
            "738",
            "739",
            "741",
            "742",
            "743",
            "744",
            "747",
            "752",
            "753",
            "757",
            "762",
            "763",
            "764",
            "767",
            "772",
            "773",
            "777",
            "787",
            "788",
            "14F",
            "31F",
            "31Y",
            "32A",
            "32F",
            "32S",
            "33F",
            "33X",
            "70F",
            "70M",
            "72A",
            "72F",
            "72M",
            "72S",
            "73A",
            "73C",
            "73E",
            "73F",
            "73G",
            "73H",
            "73J",
            "73L",
            "73M",
            "73N",
            "73P",
            "73Q",
            "73R",
            "73S",
            "73W",
            "73X",
            "73Y",
            "74C",
            "74D",
            "74E",
            "74F",
            "74H",
            "74J",
            "74L",
            "74M",
            "74N",
            "74R",
            "74T",
            "74X",
            "74Y",
            "75F",
            "75M",
            "75T",
            "75W",
            "76F",
            "76W",
            "76X",
            "76Y",
            "77F",
            "77L",
            "77W",
            "77X",
            "A28",
            "A40",
            "A4F",
            "A81",
            "AB3",
            "AB4",
            "AB6",
            "ABF",
            "ABX",
            "ABY",
            "ACD",
            "AGH",
            "AN4",
            "AN6",
            "AN7",
            "ANF",
            "AR1",
            "AR7",
            "AR8",
            "ARJ",
            "AT3",
            "AT4",
            "AT5",
            "AT7",
            "ATF",
            "ATP",
            "ATR",
            "B11",
            "B12",
            "B13",
            "B14",
            "B15",
            "BE1",
            "BE2",
            "BE9",
            "BEC",
            "BEH",
            "BES",
            "BET",
            "BH2",
            "BNI",
            "BNT",
            "CCJ",
            "CD2",
            "CL4",
            "CN1",
            "CNA",
            "CNC",
            "CNF",
            "CNJ",
            "CNT",
            "CR1",
            "CR2",
            "CR7",
            "CR9",
            "CRA",
            "CRF",
            "CRJ",
            "CRK",
            "CS2",
            "CS5",
            "CV5",
            "CVF",
            "CVR",
            "CWC",
            "D10",
            "D11",
            "D1C",
            "D1F",
            "D1Y",
            "D28",
            "D38",
            "D3F",
            "D6F",
            "D8F",
            "D8X",
            "D8Y",
            "D91",
            "D92",
            "D93",
            "D94",
            "D95",
            "D9F",
            "D9S",
            "DC3",
            "DC6",
            "DC8",
            "DC9",
            "DF2",
            "DFL",
            "DH1",
            "DH2",
            "DH3",
            "DH4",
            "DH7",
            "DH8",
            "DHB",
            "DHC",
            "DHL",
            "DHO",
            "DHP",
            "DHS",
            "DHT",
            "E70",
            "E75",
            "E90",
            "E95",
            "EM2",
            "EMB",
            "EMJ",
            "ER3",
            "ER4",
            "ERD",
            "ERJ",
            "F21",
            "F22",
            "F23",
            "F24",
            "F27",
            "F28",
            "F50",
            "F70",
            "FK7",
            "FRJ",
            "GRG",
            "GRM",
            "GRS",
            "HEC",
            "HS7",
            "I14",
            "IL6",
            "IL7",
            "IL8",
            "IL9",
            "ILW",
            "J31",
            "J32",
            "J41",
            "JST",
            "L10",
            "L11",
            "L12",
            "L15",
            "L1F",
            "L49",
            "L4T",
            "LOE",
            "LOF",
            "LOH",
            "LOM",
            "LRJ",
            "M11",
            "M1F",
            "M1M",
            "M80",
            "M81",
            "M82",
            "M83",
            "M87",
            "M88",
            "M90",
            "MA6",
            "MBH",
            "MD9",
            "MIH",
            "MU2",
            "ND2",
            "NDC",
            "NDE",
            "NDH",
            "PA1",
            "PA2",
            "PAG",
            "PAT",
            "PL2",
            "PL6",
            "PN6",
            "S20",
            "S58",
            "S61",
            "S76",
            "SF3",
            "SFB",
            "SFF",
            "SH3",
            "SH6",
            "SHB",
            "SHS",
            "SSC",
            "SU9",
            "SWM",
            "T20",
            "T2F",
            "TU3",
            "TU5",
            "VCV",
            "WWP",
            "YK2",
            "YK4",
            "YN2",
            "YN7",
            "YS1",
            "221",
            "223",
            "290",
            "295",
            "351",
            "781"
          ],
          "title": "IATA Aircraft Type Flight",
          "description": "For example, the Airbus A321 has the IATA short code `321`. ICAO publishes a similar list, their designator for the Airbus A321 is `A321`. Please don't hesitate to contact us if you can only work with ICAO codes.",
          "examples": [
            "321"
          ]
        },
        "airline": {
          "type": "string",
          "description": "The IATA Designator of an airline, e.g., 2-digit format like `LH` or 3-digit format like `220`. Airline names and ICAO codes are also supported, SQUAKE will then automatically resolve it. The combination of `fare_class` and `airline` is mutually exclusive with `booking_class`.",
          "examples": [
            "`LH` / `220` or `Lufthansa` or `DLH`, `DL` / `006` or `Delta Airlines` or `DAL`"
          ]
        },
        "booking_class": {
          "type": "string",
          "enum": [
            "first",
            "premium_economy",
            "economy",
            "business"
          ],
          "description": "When `fare_class` and `airline` SQUAKE will then automatically resolve the correct `booking_class`.",
          "examples": [
            "economy"
          ]
        },
        "fare_class": {
          "type": "string",
          "description": "The combination of `fare_class` and `airline` is mutually exclusive with `booking_class`. This is a single letter e.g. `Y`, `J`, etc.",
          "examples": [
            "B"
          ]
        },
        "flight_number": {
          "type": "string",
          "description": "Flight numbers should include the airline designator, for example `BA115` is accepted but `115` also works with passed separately `airline`.",
          "examples": [
            "BA115"
          ]
        },
        "radiative_forcing_index": {
          "type": "boolean",
          "description": "Controls if a multiplier that factors in gases emitted to the atmosphere when flying at altitude should be applied.",
          "default": true
        },
        "sustainable_fuels": {
          "type": "object",
          "title": "sustainable_fuels",
          "description": "Indicates the usage of sustainable fuels. This lowers the computed emissions in SQUAKE but is not part of the current official emissions frameworks.",
          "properties": {
            "carbon_reduction_percentage_of_total": {
              "type": "number",
              "description": "The percentage of emissions reduction through the usage of  sustainable fuel.",
              "minimum": 0,
              "maximum": 1,
              "default": 0,
              "examples": [
                0.25
              ]
            }
          },
          "examples": [
            {
              "carbon_reduction_percentage_of_total": 0.25
            }
          ]
        }
      },
      "number_of_nights": {
        "type": "integer",
        "format": "int32",
        "minimum": 1,
        "multipleOf": 1,
        "default": 3,
        "examples": [
          2
        ]
      },
      "Hotel-DEFRA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Hotel DEFRA",
            "properties": {
              "type": {
                "const": "hotel",
                "examples": [
                  "hotel"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "DEFRA",
                "description": "Default: `\"GREENVIEW\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/hotel/hotel-defra).\n",
                "examples": [
                  "DEFRA"
                ]
              },
              "methodology_version": {
                "type": "string",
                "description": "The version of the DEFRA methodology used.",
                "default": "latest",
                "enum": [
                  "2018",
                  "2019",
                  "2020",
                  "2021",
                  "2022",
                  "2023",
                  "2024",
                  "2025",
                  "latest"
                ],
                "examples": [
                  "2024"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "number_of_nights": {
                "$ref": "#/components/schemas/number_of_nights"
              },
              "country": {
                "$ref": "#/components/schemas/country",
                "default": "GB"
              },
              "city": {
                "type": "string",
                "description": "A city where the hotel is located. You can find the list of supported cities [here](https://squake.notion.site/51e2eb5f9e484c4dad4ceb100d2b90bb?v=013db568cf4c4dbd8403ab5f329458bf).\n\n`DEFRA` currently only supports `London` as a city.\n"
              }
            },
            "required": [
              "type",
              "methodology",
              "number_of_nights"
            ]
          }
        ]
      },
      "stars": {
        "type": "integer",
        "description": "`stars` is mutually exclusive with `hotel_type`, `stars` is prioritized over `hotel_type`.",
        "format": "int32",
        "minimum": 1,
        "maximum": 5,
        "multipleOf": 1,
        "examples": [
          5
        ]
      },
      "hotel_type": {
        "type": "string",
        "enum": [
          "resort",
          "nonresort",
          "full_service_resort",
          "full_service_nonresort",
          "limited_service",
          "economy_segment_nonresort",
          "midscale_segment_nonresort",
          "upper_midscale_segment_resort",
          "upper_midscale_segment_nonresort",
          "upscale_segment_resort",
          "upscale_segment_nonresort",
          "upper_upscale_segment_resort",
          "upper_upscale_segment_nonresort",
          "luxury_segment_resort",
          "luxury_segment_nonresort",
          "urban_location",
          "suburban_location",
          "small_metro_town_location",
          "rural_highway_location",
          "airport_location",
          "all_suites_or_extended_stay_hotel",
          "convention_or_conference_hotel",
          "hotel_average",
          "all_inclusive_resort",
          "beach_resort",
          "all_other_resort"
        ],
        "description": "`hotel_type` is mutually exclusive with `stars`, `stars` is prioritized over `hotel_type`.",
        "default": "hotel_average"
      },
      "Hotel-HCMI": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Hotel HCMI",
            "properties": {
              "type": {
                "const": "hotel",
                "examples": [
                  "hotel"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "HCMI",
                "description": "Default: `\"GREENVIEW\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/hotel/hotel-hcmi).\n",
                "examples": [
                  "HCMI"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "stars": {
                "$ref": "#/components/schemas/stars"
              },
              "number_of_nights": {
                "$ref": "#/components/schemas/number_of_nights"
              },
              "hcmi_member": {
                "type": "boolean",
                "default": false,
                "examples": [
                  true
                ]
              },
              "hotel_type": {
                "$ref": "#/components/schemas/hotel_type"
              },
              "country": {
                "$ref": "#/components/schemas/country",
                "default": "GB"
              },
              "state": {
                "type": "string",
                "description": "A state or province where the hotel is located. You can find the list of supported states [here](https://squake.notion.site/66a1450838b84494b0a17684b578ffa0?v=d1ee83f184cc4856bfa2a3f23a15c9ff)."
              },
              "city": {
                "type": "string",
                "description": "A city where the hotel is located. You can find the list of supported cities [here](https://squake.notion.site/51e2eb5f9e484c4dad4ceb100d2b90bb?v=013db568cf4c4dbd8403ab5f329458bf)."
              }
            },
            "required": [
              "type",
              "methodology",
              "number_of_nights"
            ]
          }
        ]
      },
      "Hotel-GREENVIEW": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Hotel Greenview",
            "properties": {
              "type": {
                "const": "hotel",
                "examples": [
                  "hotel"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "GREENVIEW",
                "description": "Default: `\"GREENVIEW\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/hotel/hotel-greenview).\n",
                "examples": [
                  "GREENVIEW"
                ]
              },
              "methodology_version": {
                "type": "string",
                "description": "The version of the GreenView HFT dataset used.",
                "default": "latest",
                "enum": [
                  "2021",
                  "2022",
                  "2023",
                  "2024",
                  "2025",
                  "2026",
                  "latest"
                ],
                "examples": [
                  "2024"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "number_of_nights": {
                "$ref": "#/components/schemas/number_of_nights"
              },
              "country": {
                "$ref": "#/components/schemas/country"
              },
              "city": {
                "type": "string",
                "description": "The city where the hotel is located. The full list of the supported cities is [here](https://squake.notion.site/237754e0050481838a1deea7dc0a7ba0?v=237754e00504812aba8d000c4b480cf4&source=copy_link).\n"
              },
              "state": {
                "type": "string",
                "description": "The state or province where the hotel is located. The full list of the supported states is [here](https://squake.notion.site/237754e005048191a59ef561244c09b0?v=237754e0050481758081000c23e8e4dd&source=copy_link)."
              }
            },
            "required": [
              "type",
              "methodology",
              "number_of_nights"
            ]
          }
        ]
      },
      "Hotel": {
        "type": "object",
        "title": "Hotel",
        "description": "Hotel considers only activities related to the rentals of rooms.\n",
        "properties": {
          "type": {
            "const": "hotel",
            "examples": [
              "hotel"
            ]
          },
          "methodology": {
            "type": "string"
          }
        },
        "discriminator": {
          "propertyName": "methodology",
          "mapping": {
            "DEFRA": "#/components/schemas/Hotel-DEFRA",
            "HCMI": "#/components/schemas/Hotel-HCMI",
            "GREENVIEW": "#/components/schemas/Hotel-GREENVIEW"
          }
        },
        "anyOf": [
          {
            "$ref": "#/components/schemas/Hotel-DEFRA"
          },
          {
            "$ref": "#/components/schemas/Hotel-HCMI"
          },
          {
            "$ref": "#/components/schemas/Hotel-GREENVIEW"
          }
        ],
        "Hotel-DEFRA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Hotel DEFRA",
              "properties": {
                "type": {
                  "const": "hotel",
                  "examples": [
                    "hotel"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "DEFRA",
                  "description": "Default: `\"GREENVIEW\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/hotel/hotel-defra).\n",
                  "examples": [
                    "DEFRA"
                  ]
                },
                "methodology_version": {
                  "type": "string",
                  "description": "The version of the DEFRA methodology used.",
                  "default": "latest",
                  "enum": [
                    "2018",
                    "2019",
                    "2020",
                    "2021",
                    "2022",
                    "2023",
                    "2024",
                    "2025",
                    "latest"
                  ],
                  "examples": [
                    "2024"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "number_of_nights": {
                  "$ref": "#/components/schemas/number_of_nights"
                },
                "country": {
                  "$ref": "#/components/schemas/country",
                  "default": "GB"
                },
                "city": {
                  "type": "string",
                  "description": "A city where the hotel is located. You can find the list of supported cities [here](https://squake.notion.site/51e2eb5f9e484c4dad4ceb100d2b90bb?v=013db568cf4c4dbd8403ab5f329458bf).\n\n`DEFRA` currently only supports `London` as a city.\n"
                }
              },
              "required": [
                "type",
                "methodology",
                "number_of_nights"
              ]
            }
          ]
        },
        "Hotel-GREENVIEW": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Hotel Greenview",
              "properties": {
                "type": {
                  "const": "hotel",
                  "examples": [
                    "hotel"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "GREENVIEW",
                  "description": "Default: `\"GREENVIEW\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/hotel/hotel-greenview).\n",
                  "examples": [
                    "GREENVIEW"
                  ]
                },
                "methodology_version": {
                  "type": "string",
                  "description": "The version of the GreenView HFT dataset used.",
                  "default": "latest",
                  "enum": [
                    "2021",
                    "2022",
                    "2023",
                    "2024",
                    "2025",
                    "2026",
                    "latest"
                  ],
                  "examples": [
                    "2024"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "number_of_nights": {
                  "$ref": "#/components/schemas/number_of_nights"
                },
                "country": {
                  "$ref": "#/components/schemas/country"
                },
                "city": {
                  "type": "string",
                  "description": "The city where the hotel is located. The full list of the supported cities is [here](https://squake.notion.site/237754e0050481838a1deea7dc0a7ba0?v=237754e00504812aba8d000c4b480cf4&source=copy_link).\n"
                },
                "state": {
                  "type": "string",
                  "description": "The state or province where the hotel is located. The full list of the supported states is [here](https://squake.notion.site/237754e005048191a59ef561244c09b0?v=237754e0050481758081000c23e8e4dd&source=copy_link)."
                }
              },
              "required": [
                "type",
                "methodology",
                "number_of_nights"
              ]
            }
          ]
        },
        "Hotel-HCMI": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Hotel HCMI",
              "properties": {
                "type": {
                  "const": "hotel",
                  "examples": [
                    "hotel"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "HCMI",
                  "description": "Default: `\"GREENVIEW\"`.\n\nDetails for the methodology can be found in [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/hotel/hotel-hcmi).\n",
                  "examples": [
                    "HCMI"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "stars": {
                  "$ref": "#/components/schemas/stars"
                },
                "number_of_nights": {
                  "$ref": "#/components/schemas/number_of_nights"
                },
                "hcmi_member": {
                  "type": "boolean",
                  "default": false,
                  "examples": [
                    true
                  ]
                },
                "hotel_type": {
                  "$ref": "#/components/schemas/hotel_type"
                },
                "country": {
                  "$ref": "#/components/schemas/country",
                  "default": "GB"
                },
                "state": {
                  "type": "string",
                  "description": "A state or province where the hotel is located. You can find the list of supported states [here](https://squake.notion.site/66a1450838b84494b0a17684b578ffa0?v=d1ee83f184cc4856bfa2a3f23a15c9ff)."
                },
                "city": {
                  "type": "string",
                  "description": "A city where the hotel is located. You can find the list of supported cities [here](https://squake.notion.site/51e2eb5f9e484c4dad4ceb100d2b90bb?v=013db568cf4c4dbd8403ab5f329458bf)."
                }
              },
              "required": [
                "type",
                "methodology",
                "number_of_nights"
              ]
            }
          ]
        },
        "hotel_type": {
          "type": "string",
          "enum": [
            "resort",
            "nonresort",
            "full_service_resort",
            "full_service_nonresort",
            "limited_service",
            "economy_segment_nonresort",
            "midscale_segment_nonresort",
            "upper_midscale_segment_resort",
            "upper_midscale_segment_nonresort",
            "upscale_segment_resort",
            "upscale_segment_nonresort",
            "upper_upscale_segment_resort",
            "upper_upscale_segment_nonresort",
            "luxury_segment_resort",
            "luxury_segment_nonresort",
            "urban_location",
            "suburban_location",
            "small_metro_town_location",
            "rural_highway_location",
            "airport_location",
            "all_suites_or_extended_stay_hotel",
            "convention_or_conference_hotel",
            "hotel_average",
            "all_inclusive_resort",
            "beach_resort",
            "all_other_resort"
          ],
          "description": "`hotel_type` is mutually exclusive with `stars`, `stars` is prioritized over `hotel_type`.",
          "default": "hotel_average"
        },
        "number_of_nights": {
          "type": "integer",
          "format": "int32",
          "minimum": 1,
          "multipleOf": 1,
          "default": 3,
          "examples": [
            2
          ]
        },
        "room_type": {
          "type": "string",
          "enum": [
            "adjacent_room",
            "adjoining_room",
            "cabana",
            "connecting_rooms",
            "double_double",
            "double",
            "executive_floor",
            "hollywood_twin",
            "king",
            "mini_suite",
            "murphy_room",
            "president_suite",
            "quad",
            "queen",
            "single",
            "suite",
            "triple",
            "twin"
          ],
          "description": "If you have less specific sizes, choose one of `single`, `double,` `suite` for best results.",
          "default": "double",
          "examples": [
            "single"
          ]
        },
        "stars": {
          "type": "integer",
          "description": "`stars` is mutually exclusive with `hotel_type`, `stars` is prioritized over `hotel_type`.",
          "format": "int32",
          "minimum": 1,
          "maximum": 5,
          "multipleOf": 1,
          "examples": [
            5
          ]
        }
      },
      "Inland-Waterways": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Inland Waterways",
            "description": "If you have freight and don't know the type, you can use `Logistics`. Additional information may be returned in the response for `GLEC`. The format is:\n```json\n  \"data\": [\n    {\n      \"co2e_in_g\": int,\n      \"co2e_emissions_wtw_in_g\": int,\n      \"co2e_per_tonne_km_in_g\": int,\n      \"tonne_km\": int,\n      \"reporting_year\": int,\n      \"transportation_mode\": \"string\"\n    }\n  ]\n```\n",
            "properties": {
              "type": {
                "const": "inland_waterways",
                "examples": [
                  "inland_waterways"
                ]
              },
              "methodology": {
                "const": "GLEC",
                "description": "Detailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/logistics/inland-waterways/inland-waterways-glec).\n",
                "examples": [
                  "GLEC"
                ],
                "default": "GLEC"
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "weight_in_tonnes": {
                "type": "number",
                "format": "float",
                "exclusiveMinimum": 0,
                "examples": [
                  2.5
                ]
              },
              "vessel_type": {
                "type": "string",
                "enum": [
                  "container_vessel_110_m",
                  "container_vessel_135_m",
                  "container_vessel_coupled_convoys",
                  "coupled_convoys",
                  "motor_vessels_under_50_m",
                  "motor_vessels_under_80_m",
                  "motor_vessel_under_110_m",
                  "motor_vessel_135_m",
                  "pushed_convoy_push_boat_2_barges",
                  "pushed_convoy_push_boat_4_5_barges",
                  "pushed_convoy_push_boat_6_barges",
                  "tanker_vessel"
                ],
                "default": "motor_vessels_under_50_m",
                "examples": [
                  "motor_vessels_under_50_m"
                ]
              },
              "energy_scope": {
                "$ref": "#/components/schemas/energy_scope",
                "default": "wtw"
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination",
              "weight_in_tonnes"
            ]
          }
        ]
      },
      "Logistics-Site": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Logistics Site",
            "description": "Additional information may be returned in the response for `GLEC`. The format is:\n```json\n  \"data\": [\n    {\n      \"co2e_in_g\": int,\n      \"co2e_per_tonne_in_g\": int,\n      \"reporting_year\": int, \n      \"transportation_mode\": \"string\"\n    }\n  ]\n```\n",
            "properties": {
              "type": {
                "const": "logistics_site",
                "examples": [
                  "logistics_site"
                ]
              },
              "methodology": {
                "const": "GLEC",
                "description": "Detailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/logistics/logistics-site/logistics-site-glec).\n",
                "examples": [
                  "GLEC"
                ],
                "default": "GLEC"
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "weight_in_tonnes": {
                "$ref": "#/components/schemas/weight_in_tonnes"
              },
              "logistics_site_type": {
                "type": "string",
                "enum": [
                  "transhipment_site",
                  "storage_and_transhipment",
                  "warehouse",
                  "maritime_container_terminal",
                  "liquid_bulk_terminal"
                ],
                "default": "warehouse",
                "examples": [
                  "warehouse"
                ]
              },
              "condition_type": {
                "type": "string",
                "enum": [
                  "ambient",
                  "mixed",
                  "temperature_controlled"
                ],
                "description": "`temperature_controlled` is only relevant for `logistics_site_type: 'maritime_container_terminal'`\n",
                "default": "mixed",
                "examples": [
                  "ambient"
                ]
              }
            },
            "required": [
              "type",
              "methodology",
              "weight_in_tonnes"
            ]
          }
        ]
      },
      "Logistics": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Logistics",
            "description": "Logistics is a generalization of air, sea, rail, and road freight. The journey provided via either `distance_in_km` or `origin` & `destination` is split into multiple parts, and the appropriate specific freight methodologies are used for each part, depending on the parameters provided. If you know the type in advance, prefer using the specific type.",
            "properties": {
              "type": {
                "const": "logistics",
                "examples": [
                  "logistics"
                ]
              },
              "methodology": {
                "const": "SQUAKE",
                "examples": [
                  "SQUAKE"
                ],
                "default": "SQUAKE"
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "weight_in_kg": {
                "type": "number",
                "format": "float",
                "exclusiveMinimum": 0,
                "default": 10,
                "examples": [
                  23.4
                ]
              },
              "shipping_method": {
                "type": "string",
                "enum": [
                  "express",
                  "normal"
                ],
                "default": "express",
                "examples": [
                  "normal"
                ]
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              }
            },
            "required": [
              "type",
              "methodology",
              "weight_in_kg",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "IATA-Aircraft-Type-Private-Jet": {
        "type": "string",
        "enum": [
          "100",
          "141",
          "142",
          "143",
          "146",
          "14F",
          "221",
          "223",
          "290",
          "295",
          "310",
          "312",
          "313",
          "318",
          "319",
          "31F",
          "31N",
          "31X",
          "31Y",
          "320",
          "321",
          "32A",
          "32B",
          "32F",
          "32N",
          "32Q",
          "32S",
          "330",
          "332",
          "333",
          "338",
          "339",
          "33F",
          "33X",
          "340",
          "342",
          "343",
          "345",
          "346",
          "350",
          "351",
          "359",
          "380",
          "388",
          "703",
          "707",
          "70F",
          "70M",
          "717",
          "721",
          "722",
          "725",
          "727",
          "72A",
          "72F",
          "72M",
          "731",
          "732",
          "733",
          "734",
          "735",
          "736",
          "737",
          "738",
          "739",
          "73A",
          "73C",
          "73E",
          "73F",
          "73G",
          "73H",
          "73J",
          "73L",
          "73M",
          "73N",
          "73P",
          "73Q",
          "73R",
          "73S",
          "73W",
          "73X",
          "73Y",
          "741",
          "742",
          "743",
          "744",
          "747",
          "74C",
          "74D",
          "74E",
          "74F",
          "74H",
          "74I",
          "74L",
          "74M",
          "74N",
          "74R",
          "74T",
          "74X",
          "74Y",
          "752",
          "753",
          "757",
          "75M",
          "75T",
          "75W",
          "762",
          "763",
          "764",
          "767",
          "76F",
          "76W",
          "76X",
          "76Y",
          "772",
          "773",
          "777",
          "77F",
          "77L",
          "77W",
          "77X",
          "781",
          "787",
          "788",
          "789",
          "7M8",
          "7M9",
          "A26",
          "A28",
          "A40",
          "A4F",
          "A81",
          "AB3",
          "AB4",
          "AB6",
          "ABF",
          "ABX",
          "ABY",
          "ACD",
          "AGH",
          "AN4",
          "AN6",
          "AN7",
          "ANF",
          "AR1",
          "AR7",
          "AR8",
          "ARJ",
          "AT3",
          "AT4",
          "AT5",
          "AT7",
          "ATF",
          "ATP",
          "ATR",
          "B11",
          "B12",
          "B13",
          "B14",
          "B15",
          "BE1",
          "BE2",
          "BE4",
          "BE9",
          "BEC",
          "BEH",
          "BES",
          "BET",
          "BH2",
          "BNI",
          "BNT",
          "C55",
          "CCJ",
          "CCX",
          "CD2",
          "CL4",
          "CN1",
          "CN2",
          "CNA",
          "CNC",
          "CNF",
          "CNJ",
          "CNT",
          "CR1",
          "CR2",
          "CR7",
          "CR9",
          "CRA",
          "CRF",
          "CRJ",
          "CRK",
          "CS2",
          "CV5",
          "CVF",
          "CVR",
          "CWC",
          "D10",
          "D11",
          "D1C",
          "D1F",
          "D1Y",
          "D20",
          "D28",
          "D38",
          "D3F",
          "D6F",
          "D8F",
          "D8X",
          "D8Y",
          "D91",
          "D92",
          "D93",
          "D94",
          "D95",
          "D9F",
          "D9S",
          "DC3",
          "DC6",
          "DC8",
          "DC9",
          "DF2",
          "DF7",
          "DF8",
          "DF9",
          "DFL",
          "DH1",
          "DH2",
          "DH3",
          "DH4",
          "DH7",
          "DH8",
          "DHB",
          "DHC",
          "DHL",
          "DHO",
          "DHP",
          "DHS",
          "DHT",
          "E70",
          "E75",
          "E90",
          "E95",
          "EC3",
          "EM2",
          "EMB",
          "EMJ",
          "EP1",
          "EP3",
          "ER3",
          "ER4",
          "ERD",
          "ERJ",
          "F21",
          "F22",
          "F23",
          "F24",
          "F27",
          "F28",
          "F50",
          "F70",
          "FK7",
          "FRJ",
          "GJ4",
          "GJ5",
          "GJ6",
          "GR3",
          "GRG",
          "GRJ",
          "GRM",
          "GRS",
          "H25",
          "HEC",
          "HHJ",
          "HS7",
          "I14",
          "IL6",
          "IL7",
          "IL8",
          "IL9",
          "ILW",
          "J31",
          "J41",
          "JST",
          "L10",
          "L11",
          "L12",
          "L15",
          "L1F",
          "L2J",
          "L49",
          "L4T",
          "LOE",
          "LOF",
          "LOH",
          "LOM",
          "LRJ",
          "M11",
          "M1F",
          "M1M",
          "M80",
          "M81",
          "M82",
          "M83",
          "M87",
          "M88",
          "M90",
          "MA6",
          "MBH",
          "MD9",
          "MIH",
          "MU2",
          "ND2",
          "NDC",
          "NDE",
          "NDH",
          "P18",
          "PA1",
          "PA2",
          "PAG",
          "PAT",
          "PL2",
          "PL4",
          "PL6",
          "PN6",
          "S20",
          "S58",
          "S61",
          "S76",
          "SF3",
          "SFB",
          "SFF",
          "SH3",
          "SH6",
          "SHB",
          "SHS",
          "SSC",
          "SU9",
          "SWM",
          "T20",
          "T2F",
          "TU3",
          "TU5",
          "VCV",
          "WWP",
          "YK2",
          "YK4",
          "YN2",
          "YN7",
          "YS1"
        ],
        "title": "IATA Aircraft Type Private Jet",
        "description": "For example, the Airbus A321 has the IATA short code `321`. All ICAO codes that correspond to the published IATA codes are also supported.",
        "examples": [
          "321"
        ]
      },
      "Private-Jet": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Private Jet",
            "description": "The full list of aircraft supported by SQUAKE could be found [here](https://squake.notion.site/Private-Jet-SQUAKE-11928ae8ff5f4aa6a71578681a9a9bf6). If your aircraft type is not supported, feel free to contact us.",
            "properties": {
              "type": {
                "const": "private_jet",
                "examples": [
                  "private_jet"
                ]
              },
              "methodology": {
                "const": "SQUAKE",
                "default": "SQUAKE",
                "examples": [
                  "SQUAKE"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "identifier": {
                "$ref": "#/components/schemas/IATA-Aircraft-Type-Private-Jet",
                "description": "`IATA` or `ICAO` code of the aircraft.",
                "example": "P18"
              },
              "identifier_kind": {
                "type": "string",
                "enum": [
                  "ICAO",
                  "IATA"
                ],
                "default": "ICAO",
                "examples": [
                  "IATA"
                ]
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination",
              "identifier",
              "identifier_kind"
            ]
          }
        ],
        "IATA-Aircraft-Type-Private-Jet": {
          "type": "string",
          "enum": [
            "100",
            "141",
            "142",
            "143",
            "146",
            "14F",
            "221",
            "223",
            "290",
            "295",
            "310",
            "312",
            "313",
            "318",
            "319",
            "31F",
            "31N",
            "31X",
            "31Y",
            "320",
            "321",
            "32A",
            "32B",
            "32F",
            "32N",
            "32Q",
            "32S",
            "330",
            "332",
            "333",
            "338",
            "339",
            "33F",
            "33X",
            "340",
            "342",
            "343",
            "345",
            "346",
            "350",
            "351",
            "359",
            "380",
            "388",
            "703",
            "707",
            "70F",
            "70M",
            "717",
            "721",
            "722",
            "725",
            "727",
            "72A",
            "72F",
            "72M",
            "731",
            "732",
            "733",
            "734",
            "735",
            "736",
            "737",
            "738",
            "739",
            "73A",
            "73C",
            "73E",
            "73F",
            "73G",
            "73H",
            "73J",
            "73L",
            "73M",
            "73N",
            "73P",
            "73Q",
            "73R",
            "73S",
            "73W",
            "73X",
            "73Y",
            "741",
            "742",
            "743",
            "744",
            "747",
            "74C",
            "74D",
            "74E",
            "74F",
            "74H",
            "74I",
            "74L",
            "74M",
            "74N",
            "74R",
            "74T",
            "74X",
            "74Y",
            "752",
            "753",
            "757",
            "75M",
            "75T",
            "75W",
            "762",
            "763",
            "764",
            "767",
            "76F",
            "76W",
            "76X",
            "76Y",
            "772",
            "773",
            "777",
            "77F",
            "77L",
            "77W",
            "77X",
            "781",
            "787",
            "788",
            "789",
            "7M8",
            "7M9",
            "A26",
            "A28",
            "A40",
            "A4F",
            "A81",
            "AB3",
            "AB4",
            "AB6",
            "ABF",
            "ABX",
            "ABY",
            "ACD",
            "AGH",
            "AN4",
            "AN6",
            "AN7",
            "ANF",
            "AR1",
            "AR7",
            "AR8",
            "ARJ",
            "AT3",
            "AT4",
            "AT5",
            "AT7",
            "ATF",
            "ATP",
            "ATR",
            "B11",
            "B12",
            "B13",
            "B14",
            "B15",
            "BE1",
            "BE2",
            "BE4",
            "BE9",
            "BEC",
            "BEH",
            "BES",
            "BET",
            "BH2",
            "BNI",
            "BNT",
            "C55",
            "CCJ",
            "CCX",
            "CD2",
            "CL4",
            "CN1",
            "CN2",
            "CNA",
            "CNC",
            "CNF",
            "CNJ",
            "CNT",
            "CR1",
            "CR2",
            "CR7",
            "CR9",
            "CRA",
            "CRF",
            "CRJ",
            "CRK",
            "CS2",
            "CV5",
            "CVF",
            "CVR",
            "CWC",
            "D10",
            "D11",
            "D1C",
            "D1F",
            "D1Y",
            "D20",
            "D28",
            "D38",
            "D3F",
            "D6F",
            "D8F",
            "D8X",
            "D8Y",
            "D91",
            "D92",
            "D93",
            "D94",
            "D95",
            "D9F",
            "D9S",
            "DC3",
            "DC6",
            "DC8",
            "DC9",
            "DF2",
            "DF7",
            "DF8",
            "DF9",
            "DFL",
            "DH1",
            "DH2",
            "DH3",
            "DH4",
            "DH7",
            "DH8",
            "DHB",
            "DHC",
            "DHL",
            "DHO",
            "DHP",
            "DHS",
            "DHT",
            "E70",
            "E75",
            "E90",
            "E95",
            "EC3",
            "EM2",
            "EMB",
            "EMJ",
            "EP1",
            "EP3",
            "ER3",
            "ER4",
            "ERD",
            "ERJ",
            "F21",
            "F22",
            "F23",
            "F24",
            "F27",
            "F28",
            "F50",
            "F70",
            "FK7",
            "FRJ",
            "GJ4",
            "GJ5",
            "GJ6",
            "GR3",
            "GRG",
            "GRJ",
            "GRM",
            "GRS",
            "H25",
            "HEC",
            "HHJ",
            "HS7",
            "I14",
            "IL6",
            "IL7",
            "IL8",
            "IL9",
            "ILW",
            "J31",
            "J41",
            "JST",
            "L10",
            "L11",
            "L12",
            "L15",
            "L1F",
            "L2J",
            "L49",
            "L4T",
            "LOE",
            "LOF",
            "LOH",
            "LOM",
            "LRJ",
            "M11",
            "M1F",
            "M1M",
            "M80",
            "M81",
            "M82",
            "M83",
            "M87",
            "M88",
            "M90",
            "MA6",
            "MBH",
            "MD9",
            "MIH",
            "MU2",
            "ND2",
            "NDC",
            "NDE",
            "NDH",
            "P18",
            "PA1",
            "PA2",
            "PAG",
            "PAT",
            "PL2",
            "PL4",
            "PL6",
            "PN6",
            "S20",
            "S58",
            "S61",
            "S76",
            "SF3",
            "SFB",
            "SFF",
            "SH3",
            "SH6",
            "SHB",
            "SHS",
            "SSC",
            "SU9",
            "SWM",
            "T20",
            "T2F",
            "TU3",
            "TU5",
            "VCV",
            "WWP",
            "YK2",
            "YK4",
            "YN2",
            "YN7",
            "YS1"
          ],
          "title": "IATA Aircraft Type Private Jet",
          "description": "For example, the Airbus A321 has the IATA short code `321`. All ICAO codes that correspond to the published IATA codes are also supported.",
          "examples": [
            "321"
          ]
        }
      },
      "Rail-Freight-DIN-EN-16258": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Rail Freight DIN-EN-16258",
            "properties": {
              "type": {
                "const": "rail_freight",
                "examples": [
                  "rail_freight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "DIN-EN-16258",
                "description": "Default: `\"GLEC\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/logistics/rail-freight/rail-freight-din-en-16258).\n",
                "examples": [
                  "DIN-EN-16258"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "weight_in_tonnes": {
                "$ref": "#/components/schemas/weight_in_tonnes"
              },
              "train_type": {
                "type": "string",
                "enum": [
                  "500t",
                  "1000t",
                  "1500t",
                  "2000t"
                ],
                "default": "1000t",
                "examples": [
                  "1000t"
                ]
              },
              "fuel_type": {
                "type": "string",
                "enum": [
                  "electric",
                  "diesel",
                  "average",
                  "us_diesel"
                ],
                "default": "diesel",
                "examples": [
                  "diesel"
                ]
              },
              "energy_scope": {
                "$ref": "#/components/schemas/energy_scope",
                "default": "wtw"
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination",
              "weight_in_tonnes",
              "train_type"
            ]
          }
        ]
      },
      "Rail-Freight-ECTA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Rail Freight ECTA",
            "properties": {
              "type": {
                "const": "rail_freight",
                "examples": [
                  "rail_freight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "ECTA",
                "description": "Default: `\"GLEC\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/logistics/rail-freight/rail-freight-ecta).\n",
                "examples": [
                  "ECTA"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "weight_in_tonnes": {
                "$ref": "#/components/schemas/weight_in_tonnes"
              },
              "train_type": {
                "type": "string",
                "enum": [
                  "average",
                  "container_train_intermodal",
                  "blocktrain_rtc",
                  "single_wagon_train_rtc"
                ],
                "examples": [
                  "1000t"
                ],
                "default": "average"
              },
              "fuel_type": {
                "type": "string",
                "enum": [
                  "electricity",
                  "diesel",
                  "average"
                ],
                "default": "average",
                "examples": [
                  "diesel"
                ]
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination",
              "weight_in_tonnes"
            ]
          }
        ]
      },
      "Rail-Freight-GLEC": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Rail Freight GLEC",
            "properties": {
              "type": {
                "const": "rail_freight",
                "examples": [
                  "rail_freight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "GLEC",
                "description": "Default: `\"GLEC\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/logistics/rail-freight/rail-freight-glec).\n",
                "examples": [
                  "GLEC"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "weight_in_tonnes": {
                "$ref": "#/components/schemas/weight_in_tonnes"
              },
              "fuel_type": {
                "type": "string",
                "enum": [
                  "electricity",
                  "diesel",
                  "average",
                  "us_diesel"
                ],
                "default": "diesel",
                "examples": [
                  "diesel"
                ]
              },
              "energy_scope": {
                "$ref": "#/components/schemas/energy_scope",
                "default": "wtw"
              },
              "load_characteristic": {
                "type": "string",
                "enum": [
                  "average",
                  "container",
                  "cars",
                  "chemicals",
                  "coal_steel",
                  "building_materials",
                  "manufactured_products",
                  "cereals",
                  "truck_trailer_on_train",
                  "trailer_only_on_train"
                ],
                "default": "average",
                "examples": [
                  "average"
                ]
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination",
              "weight_in_tonnes",
              "load_characteristic"
            ]
          }
        ]
      },
      "Rail-Freight": {
        "type": "object",
        "title": "Rail Freight",
        "description": "If you have freight and don't know the type, you can use `Logistics`.\nAdditional information may be returned in the response.\n\nThe format for `DIN-EN-16258` is:\n```json\n  \"data\": [\n    {\n      \"energy_factor_ttw_in_MJ\": int,\n      \"energy_factor_wtw_in_MJ\": int,\n      \"ghg_emissions_ttw_in_g\": int,\n      \"ghg_emissions_wtw_in_g\": int\n    }\n  ]\n```\n\nThe format for `GLEC` is:\n```json\n  \"data\": [\n    {\n      \"co2e_in_g\": int,\n      \"co2e_emissions_wtw_in_g\": int,\n      \"co2e_per_tonne_km_in_g\": int,\n      \"tonne_km\": int,\n      \"reporting_year\": int,\n      \"transportation_mode\": \"string\"\n    }\n  ]\n```\n",
        "properties": {
          "type": {
            "const": "rail_freight",
            "examples": [
              "rail_freight"
            ]
          },
          "methodology": {
            "type": "string"
          }
        },
        "discriminator": {
          "propertyName": "methodology",
          "mapping": {
            "DIN-EN-16258": "#/components/schemas/Rail-Freight-DIN-EN-16258",
            "ECTA": "#/components/schemas/Rail-Freight-ECTA",
            "GLEC": "#/components/schemas/Rail-Freight-GLEC"
          }
        },
        "anyOf": [
          {
            "$ref": "#/components/schemas/Rail-Freight-DIN-EN-16258"
          },
          {
            "$ref": "#/components/schemas/Rail-Freight-ECTA"
          },
          {
            "$ref": "#/components/schemas/Rail-Freight-GLEC"
          }
        ],
        "Rail-Freight-DIN-EN-16258": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Rail Freight DIN-EN-16258",
              "properties": {
                "type": {
                  "const": "rail_freight",
                  "examples": [
                    "rail_freight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "DIN-EN-16258",
                  "description": "Default: `\"GLEC\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/logistics/rail-freight/rail-freight-din-en-16258).\n",
                  "examples": [
                    "DIN-EN-16258"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "weight_in_tonnes": {
                  "$ref": "#/components/schemas/weight_in_tonnes"
                },
                "train_type": {
                  "type": "string",
                  "enum": [
                    "500t",
                    "1000t",
                    "1500t",
                    "2000t"
                  ],
                  "default": "1000t",
                  "examples": [
                    "1000t"
                  ]
                },
                "fuel_type": {
                  "type": "string",
                  "enum": [
                    "electric",
                    "diesel",
                    "average",
                    "us_diesel"
                  ],
                  "default": "diesel",
                  "examples": [
                    "diesel"
                  ]
                },
                "energy_scope": {
                  "$ref": "#/components/schemas/energy_scope",
                  "default": "wtw"
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination",
                "weight_in_tonnes",
                "train_type"
              ]
            }
          ]
        },
        "Rail-Freight-ECTA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Rail Freight ECTA",
              "properties": {
                "type": {
                  "const": "rail_freight",
                  "examples": [
                    "rail_freight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "ECTA",
                  "description": "Default: `\"GLEC\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/logistics/rail-freight/rail-freight-ecta).\n",
                  "examples": [
                    "ECTA"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "weight_in_tonnes": {
                  "$ref": "#/components/schemas/weight_in_tonnes"
                },
                "train_type": {
                  "type": "string",
                  "enum": [
                    "average",
                    "container_train_intermodal",
                    "blocktrain_rtc",
                    "single_wagon_train_rtc"
                  ],
                  "examples": [
                    "1000t"
                  ],
                  "default": "average"
                },
                "fuel_type": {
                  "type": "string",
                  "enum": [
                    "electricity",
                    "diesel",
                    "average"
                  ],
                  "default": "average",
                  "examples": [
                    "diesel"
                  ]
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination",
                "weight_in_tonnes"
              ]
            }
          ]
        },
        "Rail-Freight-GLEC": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Rail Freight GLEC",
              "properties": {
                "type": {
                  "const": "rail_freight",
                  "examples": [
                    "rail_freight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "GLEC",
                  "description": "Default: `\"GLEC\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/logistics/rail-freight/rail-freight-glec).\n",
                  "examples": [
                    "GLEC"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "weight_in_tonnes": {
                  "$ref": "#/components/schemas/weight_in_tonnes"
                },
                "fuel_type": {
                  "type": "string",
                  "enum": [
                    "electricity",
                    "diesel",
                    "average",
                    "us_diesel"
                  ],
                  "default": "diesel",
                  "examples": [
                    "diesel"
                  ]
                },
                "energy_scope": {
                  "$ref": "#/components/schemas/energy_scope",
                  "default": "wtw"
                },
                "load_characteristic": {
                  "type": "string",
                  "enum": [
                    "average",
                    "container",
                    "cars",
                    "chemicals",
                    "coal_steel",
                    "building_materials",
                    "manufactured_products",
                    "cereals",
                    "truck_trailer_on_train",
                    "trailer_only_on_train"
                  ],
                  "default": "average",
                  "examples": [
                    "average"
                  ]
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination",
                "weight_in_tonnes",
                "load_characteristic"
              ]
            }
          ]
        }
      },
      "Restaurant": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Restaurant",
            "properties": {
              "type": {
                "const": "restaurant",
                "examples": [
                  "restaurant"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "BASE-EMPREINTE",
                "default": "BASE-EMPREINTE",
                "examples": [
                  "BASE-EMPREINTE"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "number_of_travelers": {
                "type": "number"
              },
              "meal_type": {
                "type": "string",
                "enum": [
                  "average",
                  "vegetarian",
                  "plant_based_with_chicken",
                  "plant_based_with_beef",
                  "classic_with_chicken",
                  "classic_with_beef",
                  "animal_dominated_with_chicken",
                  "animal_dominated_with_beef"
                ],
                "default": "average",
                "examples": [
                  "average"
                ]
              }
            },
            "required": [
              "type",
              "methodology"
            ]
          }
        ]
      },
      "Road-Freight-DIN-EN-16258": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Road Freight DIN-EN-16258",
            "properties": {
              "type": {
                "const": "road_freight",
                "examples": [
                  "road_freight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "DIN-EN-16258",
                "description": "Default: `\"GLEC\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/logistics/road-freight/road-freight-din-en-16258).\n",
                "examples": [
                  "DIN-EN-16258"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "weight_in_tonnes": {
                "$ref": "#/components/schemas/weight_in_tonnes"
              },
              "truck_type": {
                "type": "string",
                "enum": [
                  "under_7.5_t",
                  "under_12_t",
                  "under_24_t",
                  "under_40_t"
                ],
                "examples": [
                  "under_7.5_t"
                ],
                "default": "under_7.5_t"
              },
              "energy_scope": {
                "$ref": "#/components/schemas/energy_scope",
                "default": "wtw"
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination",
              "weight_in_tonnes"
            ]
          }
        ]
      },
      "Road-Freight-GLEC": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Road Freight GLEC",
            "properties": {
              "type": {
                "const": "road_freight",
                "examples": [
                  "road_freight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "GLEC",
                "description": "Default: `\"GLEC\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/logistics/road-freight/road-freight-glec).\n",
                "examples": [
                  "GLEC"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "weight_in_tonnes": {
                "$ref": "#/components/schemas/weight_in_tonnes"
              },
              "truck_type": {
                "type": "string",
                "enum": [
                  "artic_truck_40_gvw_lightweight_trailer",
                  "artic_truck_under_34_gvw",
                  "artic_truck_under_40_gvw",
                  "artic_truck_under_40_gvw_hpdi",
                  "artic_truck_under_40_gvw_si_engine",
                  "artic_truck_under_44_gvw",
                  "artic_truck_under_60_gvw",
                  "articulated_truck_hdv_above_49_t_gvw",
                  "articulated_truck_hdv_under_18_t_gvw",
                  "articulated_truck_hdv_under_27_t_gvw",
                  "articulated_truck_hdv_under_35_t_gvw",
                  "articulated_truck_hdv_under_40_t_gvw",
                  "articulated_truck_hdv_under_43_t_gvw",
                  "articulated_truck_hdv_under_46_t_gvw",
                  "articulated_truck_hdv_under_49_t_gvw",
                  "auto_carrier",
                  "dray",
                  "dump_truck_hdv_above_31_t_gvw",
                  "dump_truck_hdv_under_16_t_gvw",
                  "dump_truck_hdv_under_20_t_gvw",
                  "dump_truck_hdv_under_25_t_gvw",
                  "dump_truck_hdv_under_31_t_gvw",
                  "dump_truck_ldt_under_4.5_t_gvw",
                  "dump_truck_mdt_under_5.5_t_gvw",
                  "dump_truck_mdt_under_7_t_gvw",
                  "dump_truck_mdt_under_8.5_t_gvw",
                  "dump_truck_mdt_under_10.5_t_gvw",
                  "dump_truck_mdt_under_12.5_t_gvw",
                  "expedited",
                  "flatbed",
                  "general",
                  "heavy_bulk",
                  "ltl_dry_van",
                  "mixed",
                  "moving",
                  "package",
                  "refrigerated",
                  "rigid_truck_hdv_above_31_t_gvw",
                  "rigid_truck_ldt_under_4.5_t_gvw",
                  "rigid_truck_mdt_under_5.5_t_gvw",
                  "rigid_truck_mdt_under_7_t_gvw",
                  "rigid_truck_mdt_under_8.5_t_gvw",
                  "rigid_truck_mdt_under_10.5_t_gvw",
                  "rigid_truck_mdt_under_12.5_t_gvw",
                  "rigid_truck_mdt_under_16_t_gvw",
                  "rigid_truck_mdt_under_20_t_gvw",
                  "rigid_truck_mdt_under_25_t_gvw",
                  "rigid_truck_mdt_under_31_t_gvw",
                  "rigid_truck_under_12_gvw",
                  "rigid_truck_under_20_gvw",
                  "rigid_truck_under_26_gvw",
                  "rigid_truck_under_32_gvw",
                  "rigid_truck_under_7.5_gvw",
                  "specialized",
                  "tanker",
                  "tl_dry_van",
                  "van_under_3.5_t"
                ],
                "description": "North American truck types are `van_under_3.5_t`, `general`, `auto_carrier`, `dray`,\n`expedited`, `flatbed`, `heavy_bulk`, `ltl_dry_van`, `mixed`, `moving`,\n`package`, `refrigerated`, `specialized`, `tanker`, `tl_dry_van`.\n\nFor more detailed mapping of load characteristics, fuel and truck types\nrefer to [the GLEC database](https://squake.notion.site/Road-Freight-GLEC-dfad37dfe8c34d83aef1822357f39fa7).\n",
                "examples": [
                  "rigid_truck_under_7.5_gvw"
                ],
                "default": "van_under_3.5_t"
              },
              "energy_scope": {
                "$ref": "#/components/schemas/energy_scope",
                "default": "wtw"
              },
              "load_characteristic": {
                "type": "string",
                "enum": [
                  "average",
                  "heavy",
                  "light",
                  "container"
                ],
                "default": "average",
                "examples": [
                  "average"
                ]
              },
              "fuel_type": {
                "type": "string",
                "enum": [
                  "average",
                  "diesel",
                  "petrol",
                  "lng",
                  "lpg",
                  "bio-lng",
                  "cng"
                ],
                "description": "Considered by `GLEC`.",
                "default": "average",
                "examples": [
                  "diesel"
                ]
              },
              "temperature_controlled_freight": {
                "type": "boolean",
                "default": false
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination",
              "weight_in_tonnes"
            ]
          }
        ]
      },
      "Road-Freight": {
        "type": "object",
        "title": "Road Freight",
        "description": "If you have freight and don't know the type, you can use `Logistics`.\nAdditional information may be returned in the response.\n\nThe format for `DIN-EN-16258` is:\n```json\n  \"data\": [\n    {\n      \"energy_factor_ttw_in_MJ\": int,\n      \"energy_factor_wtw_in_MJ\": int,\n      \"ghg_emissions_ttw_in_g\": int,\n      \"ghg_emissions_wtw_in_g\": int\n    }\n  ]\n```\n\nThe format for `GLEC` is:\n```json\n  \"data\": [\n    {\n      \"co2e_in_g\": int,\n      \"co2e_emissions_wtw_in_g\": int,\n      \"co2e_per_tonne_km_in_g\": int,\n      \"tonne_km\": int,\n      \"reporting_year\": int,\n      \"transportation_mode\": \"string\"\n    }\n  ]\n```\n",
        "properties": {
          "type": {
            "const": "road_freight",
            "examples": [
              "road_freight"
            ]
          },
          "methodology": {
            "type": "string"
          }
        },
        "discriminator": {
          "propertyName": "methodology",
          "mapping": {
            "DIN-EN-16258": "#/components/schemas/Road-Freight-DIN-EN-16258",
            "GLEC": "#/components/schemas/Road-Freight-GLEC"
          }
        },
        "anyOf": [
          {
            "$ref": "#/components/schemas/Road-Freight-DIN-EN-16258"
          },
          {
            "$ref": "#/components/schemas/Road-Freight-GLEC"
          }
        ],
        "Road-Freight-DIN-EN-16258": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Road Freight DIN-EN-16258",
              "properties": {
                "type": {
                  "const": "road_freight",
                  "examples": [
                    "road_freight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "DIN-EN-16258",
                  "description": "Default: `\"GLEC\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/logistics/road-freight/road-freight-din-en-16258).\n",
                  "examples": [
                    "DIN-EN-16258"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "weight_in_tonnes": {
                  "$ref": "#/components/schemas/weight_in_tonnes"
                },
                "truck_type": {
                  "type": "string",
                  "enum": [
                    "under_7.5_t",
                    "under_12_t",
                    "under_24_t",
                    "under_40_t"
                  ],
                  "examples": [
                    "under_7.5_t"
                  ],
                  "default": "under_7.5_t"
                },
                "energy_scope": {
                  "$ref": "#/components/schemas/energy_scope",
                  "default": "wtw"
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination",
                "weight_in_tonnes"
              ]
            }
          ]
        },
        "Road-Freight-GLEC": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Road Freight GLEC",
              "properties": {
                "type": {
                  "const": "road_freight",
                  "examples": [
                    "road_freight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "GLEC",
                  "description": "Default: `\"GLEC\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/logistics/road-freight/road-freight-glec).\n",
                  "examples": [
                    "GLEC"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "weight_in_tonnes": {
                  "$ref": "#/components/schemas/weight_in_tonnes"
                },
                "truck_type": {
                  "type": "string",
                  "enum": [
                    "artic_truck_40_gvw_lightweight_trailer",
                    "artic_truck_under_34_gvw",
                    "artic_truck_under_40_gvw",
                    "artic_truck_under_40_gvw_hpdi",
                    "artic_truck_under_40_gvw_si_engine",
                    "artic_truck_under_44_gvw",
                    "artic_truck_under_60_gvw",
                    "articulated_truck_hdv_above_49_t_gvw",
                    "articulated_truck_hdv_under_18_t_gvw",
                    "articulated_truck_hdv_under_27_t_gvw",
                    "articulated_truck_hdv_under_35_t_gvw",
                    "articulated_truck_hdv_under_40_t_gvw",
                    "articulated_truck_hdv_under_43_t_gvw",
                    "articulated_truck_hdv_under_46_t_gvw",
                    "articulated_truck_hdv_under_49_t_gvw",
                    "auto_carrier",
                    "dray",
                    "dump_truck_hdv_above_31_t_gvw",
                    "dump_truck_hdv_under_16_t_gvw",
                    "dump_truck_hdv_under_20_t_gvw",
                    "dump_truck_hdv_under_25_t_gvw",
                    "dump_truck_hdv_under_31_t_gvw",
                    "dump_truck_ldt_under_4.5_t_gvw",
                    "dump_truck_mdt_under_5.5_t_gvw",
                    "dump_truck_mdt_under_7_t_gvw",
                    "dump_truck_mdt_under_8.5_t_gvw",
                    "dump_truck_mdt_under_10.5_t_gvw",
                    "dump_truck_mdt_under_12.5_t_gvw",
                    "expedited",
                    "flatbed",
                    "general",
                    "heavy_bulk",
                    "ltl_dry_van",
                    "mixed",
                    "moving",
                    "package",
                    "refrigerated",
                    "rigid_truck_hdv_above_31_t_gvw",
                    "rigid_truck_ldt_under_4.5_t_gvw",
                    "rigid_truck_mdt_under_5.5_t_gvw",
                    "rigid_truck_mdt_under_7_t_gvw",
                    "rigid_truck_mdt_under_8.5_t_gvw",
                    "rigid_truck_mdt_under_10.5_t_gvw",
                    "rigid_truck_mdt_under_12.5_t_gvw",
                    "rigid_truck_mdt_under_16_t_gvw",
                    "rigid_truck_mdt_under_20_t_gvw",
                    "rigid_truck_mdt_under_25_t_gvw",
                    "rigid_truck_mdt_under_31_t_gvw",
                    "rigid_truck_under_12_gvw",
                    "rigid_truck_under_20_gvw",
                    "rigid_truck_under_26_gvw",
                    "rigid_truck_under_32_gvw",
                    "rigid_truck_under_7.5_gvw",
                    "specialized",
                    "tanker",
                    "tl_dry_van",
                    "van_under_3.5_t"
                  ],
                  "description": "North American truck types are `van_under_3.5_t`, `general`, `auto_carrier`, `dray`,\n`expedited`, `flatbed`, `heavy_bulk`, `ltl_dry_van`, `mixed`, `moving`,\n`package`, `refrigerated`, `specialized`, `tanker`, `tl_dry_van`.\n\nFor more detailed mapping of load characteristics, fuel and truck types\nrefer to [the GLEC database](https://squake.notion.site/Road-Freight-GLEC-dfad37dfe8c34d83aef1822357f39fa7).\n",
                  "examples": [
                    "rigid_truck_under_7.5_gvw"
                  ],
                  "default": "van_under_3.5_t"
                },
                "energy_scope": {
                  "$ref": "#/components/schemas/energy_scope",
                  "default": "wtw"
                },
                "load_characteristic": {
                  "type": "string",
                  "enum": [
                    "average",
                    "heavy",
                    "light",
                    "container"
                  ],
                  "default": "average",
                  "examples": [
                    "average"
                  ]
                },
                "fuel_type": {
                  "type": "string",
                  "enum": [
                    "average",
                    "diesel",
                    "petrol",
                    "lng",
                    "lpg",
                    "bio-lng",
                    "cng"
                  ],
                  "description": "Considered by `GLEC`.",
                  "default": "average",
                  "examples": [
                    "diesel"
                  ]
                },
                "temperature_controlled_freight": {
                  "type": "boolean",
                  "default": false
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination",
                "weight_in_tonnes"
              ]
            }
          ]
        }
      },
      "Sea-Freight-CLEAN-CARGO": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Sea Freight",
            "properties": {
              "type": {
                "const": "sea_freight",
                "examples": [
                  "sea_freight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "CLEAN-CARGO",
                "description": "Default: `\"GLEC\"`.\n",
                "examples": [
                  "CLEAN-CARGO"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "weight_in_tonnes": {
                "type": "number"
              },
              "cargo_type": {
                "type": "string",
                "enum": [
                  "dry",
                  "reefer"
                ],
                "default": "reefer"
              },
              "energy_scope": {
                "$ref": "#/components/schemas/energy_scope",
                "default": "wtw"
              },
              "trade_lane": {
                "type": "string",
                "enum": [
                  "panama",
                  "trans_atlantic",
                  "trans_suez",
                  "trans_pacific",
                  "other"
                ]
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination",
              "weight_in_tonnes"
            ]
          }
        ]
      },
      "Sea-Freight-DIN-EN-16258": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Sea Freight DIN-EN-16258",
            "properties": {
              "type": {
                "const": "sea_freight",
                "examples": [
                  "sea_freight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "DIN-EN-16258",
                "description": "Default: `\"GLEC\"`.\n",
                "examples": [
                  "DIN-EN-16258"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "weight_in_tonnes": {
                "type": "number"
              },
              "vessel_type": {
                "type": "string",
                "enum": [
                  "container",
                  "tanker"
                ],
                "examples": [
                  "tanker"
                ],
                "default": "container"
              },
              "energy_scope": {
                "$ref": "#/components/schemas/energy_scope",
                "default": "wtw"
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination",
              "weight_in_tonnes"
            ]
          }
        ]
      },
      "Sea-Freight-EU-EMSA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Sea Freight EU-EMSA",
            "properties": {
              "type": {
                "const": "sea_freight",
                "examples": [
                  "sea_freight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "EU-EMSA",
                "description": "`EU-EMSA` is the methodology from the \"European Maritime\nSafety Agency\".\n\nDefault: `\"GLEC\"`.\n",
                "examples": [
                  "EU-EMSA"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "weight_in_tonnes": {
                "type": "number"
              },
              "vessel_type": {
                "type": "string",
                "enum": [
                  "bulk_carrier",
                  "chemical_tanker",
                  "combination_carrier",
                  "container_ro_ro_cargo_ship",
                  "container_ship",
                  "gas_carrier",
                  "general_cargo_ship",
                  "lng_carrier",
                  "oil_tanker",
                  "other_ship_types",
                  "passenger_ship",
                  "refrigerated_cargo_carrier",
                  "ro_pax_ship",
                  "ro_ro_ship",
                  "vehicle_carrier"
                ],
                "examples": [
                  "oil_tanker"
                ]
              },
              "vessel_model": {
                "type": "string",
                "description": "For detailed mapping of vessel models refer to [EU-EMSA database](https://squake.notion.site/82f29988eecf41beb246719ecf0bc26f?v=6700188164c9431089b117b9e8f2babb).",
                "examples": [
                  "lita"
                ]
              },
              "verifier_name": {
                "type": "string",
                "description": "Verifiers are environmental service providers, who claim to calculate and check actual carbon emissions from vessels."
              },
              "verifier_accreditation_number": {
                "type": "string",
                "description": "Mutually exclusive with `verifier_name`."
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination",
              "weight_in_tonnes"
            ]
          }
        ]
      },
      "Sea-Freight-GLEC": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Sea Freight GLEC",
            "properties": {
              "type": {
                "const": "sea_freight",
                "examples": [
                  "sea_freight"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "GLEC",
                "description": "Default: `\"GLEC\"`.\n",
                "examples": [
                  "GLEC"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "weight_in_tonnes": {
                "type": "number"
              },
              "container": {
                "type": "boolean",
                "default": false
              },
              "vessel_type": {
                "type": "string",
                "enum": [
                  "bulk_carrier_under_9999_dwt",
                  "bulk_carrier_under_34999_dwt",
                  "bulk_carrier_under_59999_dwt",
                  "bulk_carrier_under_99999_dwt",
                  "bulk_carrier_under_199999_dwt",
                  "bulk_carrier_above_200000_dwt",
                  "chemical_tanker_under_4999_dwt",
                  "chemical_tanker_under_9999_dwt",
                  "chemical_tanker_under_19999_dwt",
                  "chemical_tanker_under_39999_dwt",
                  "chemical_tanker_above_40000_dwt",
                  "general_cargo_under_4999_dwt",
                  "general_cargo_under_9999_dwt",
                  "general_cargo_under_19999_dwt",
                  "general_cargo_above_20000_dwt",
                  "liquefied_gas_tanker_under_49999_dwt",
                  "liquefied_gas_tanker_under_99999_dwt",
                  "liquefied_gas_tanker_under_199999_dwt",
                  "liquefied_gas_tanker_above_200000_dwt",
                  "oil_tanker_under_4999_dwt",
                  "oil_tanker_under_9999_dwt",
                  "oil_tanker_under_19999_dwt",
                  "oil_tanker_under_59999_dwt",
                  "oil_tanker_under_79999_dwt",
                  "oil_tanker_under_119999_dwt",
                  "oil_tanker_under_199999_dwt",
                  "oil_tanker_above_200000_dwt",
                  "other_liquids_tankers_under_999_dwt",
                  "other_liquids_tankers_above_1000_dwt",
                  "ferry_ropax_under_1999_gt",
                  "ferry_ropax_under_1999_dwt",
                  "ferry_ropax_under_4999_gt",
                  "ferry_ropax_under_9999_gt",
                  "ferry_ropax_under_19999_gt",
                  "ferry_ropax_above_20000_gt",
                  "refrigerated_bulk_under_1999_dwt",
                  "refrigerated_bulk_under_5999_dwt",
                  "refrigerated_bulk_under_9999_dwt",
                  "refrigerated_bulk_above_10000_dwt",
                  "roro_under_4999_dwt",
                  "roro_under_9999_dwt",
                  "roro_under_14999_dwt",
                  "roro_above_15000_dwt",
                  "vehicle_under_29999_gt",
                  "vehicle_under_49999_gt",
                  "vehicle_above_50000_gt"
                ],
                "description": "For more detailed mapping of vessel and fuel types refer to [the GLEC database](https://squake.notion.site/Sea-Freight-GLEC-a0d79edb30bc4fbc9f79e7b55a5e3807).",
                "examples": [
                  "general_cargo_under_4999_dwt"
                ],
                "default": "general_cargo_under_4999_dwt"
              },
              "energy_scope": {
                "$ref": "#/components/schemas/energy_scope",
                "default": "wtw"
              },
              "fuel_type": {
                "type": "string",
                "enum": [
                  "hfo",
                  "vlsfo",
                  "mdo"
                ],
                "default": "hfo",
                "examples": [
                  "hfo"
                ]
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination",
              "weight_in_tonnes"
            ]
          }
        ]
      },
      "Sea-Freight": {
        "type": "object",
        "title": "Sea Freight",
        "description": "If you have freight and don't know the type, you can use `Logistics`.\nAdditional information may be returned in the response.\n\nThe format for `DIN-EN-16258` is:\n```json\n  \"data\": [\n    {\n      \"energy_factor_ttw_in_MJ\": int,\n      \"energy_factor_wtw_in_MJ\": int,\n      \"ghg_emissions_ttw_in_g\": int,\n      \"ghg_emissions_wtw_in_g\": int\n    }\n  ]\n```\n\nThe format for `CLEAN-CARGO` and `GLEC` is:\n```json\n  \"data\": [\n    {\n      \"co2e_in_g\": int,\n      \"co2e_emissions_wtw_in_g\": int,\n      \"co2e_per_tonne_km_in_g\": int,\n      \"tonne_km\": int,\n      \"reporting_year\": int,\n      \"transportation_mode\": \"string\"\n    }\n  ]\n```\n",
        "properties": {
          "type": {
            "const": "sea_freight",
            "examples": [
              "sea_freight"
            ]
          },
          "methodology": {
            "type": "string"
          }
        },
        "discriminator": {
          "propertyName": "methodology",
          "mapping": {
            "CLEAN-CARGO": "#/components/schemas/Sea-Freight-CLEAN-CARGO",
            "DIN-EN-16258": "#/components/schemas/Sea-Freight-DIN-EN-16258",
            "EU-EMSA": "#/components/schemas/Sea-Freight-EU-EMSA",
            "GLEC": "#/components/schemas/Sea-Freight-GLEC"
          }
        },
        "anyOf": [
          {
            "$ref": "#/components/schemas/Sea-Freight-CLEAN-CARGO"
          },
          {
            "$ref": "#/components/schemas/Sea-Freight-DIN-EN-16258"
          },
          {
            "$ref": "#/components/schemas/Sea-Freight-EU-EMSA"
          },
          {
            "$ref": "#/components/schemas/Sea-Freight-GLEC"
          }
        ],
        "Sea-Freight-CLEAN-CARGO": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Sea Freight",
              "properties": {
                "type": {
                  "const": "sea_freight",
                  "examples": [
                    "sea_freight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "CLEAN-CARGO",
                  "description": "Default: `\"GLEC\"`.\n",
                  "examples": [
                    "CLEAN-CARGO"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "weight_in_tonnes": {
                  "type": "number"
                },
                "cargo_type": {
                  "type": "string",
                  "enum": [
                    "dry",
                    "reefer"
                  ],
                  "default": "reefer"
                },
                "energy_scope": {
                  "$ref": "#/components/schemas/energy_scope",
                  "default": "wtw"
                },
                "trade_lane": {
                  "type": "string",
                  "enum": [
                    "panama",
                    "trans_atlantic",
                    "trans_suez",
                    "trans_pacific",
                    "other"
                  ]
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination",
                "weight_in_tonnes"
              ]
            }
          ]
        },
        "Sea-Freight-DIN-EN-16258": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Sea Freight DIN-EN-16258",
              "properties": {
                "type": {
                  "const": "sea_freight",
                  "examples": [
                    "sea_freight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "DIN-EN-16258",
                  "description": "Default: `\"GLEC\"`.\n",
                  "examples": [
                    "DIN-EN-16258"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "weight_in_tonnes": {
                  "type": "number"
                },
                "vessel_type": {
                  "type": "string",
                  "enum": [
                    "container",
                    "tanker"
                  ],
                  "examples": [
                    "tanker"
                  ],
                  "default": "container"
                },
                "energy_scope": {
                  "$ref": "#/components/schemas/energy_scope",
                  "default": "wtw"
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination",
                "weight_in_tonnes"
              ]
            }
          ]
        },
        "Sea-Freight-EU-EMSA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Sea Freight EU-EMSA",
              "properties": {
                "type": {
                  "const": "sea_freight",
                  "examples": [
                    "sea_freight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "EU-EMSA",
                  "description": "`EU-EMSA` is the methodology from the \"European Maritime\nSafety Agency\".\n\nDefault: `\"GLEC\"`.\n",
                  "examples": [
                    "EU-EMSA"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "weight_in_tonnes": {
                  "type": "number"
                },
                "vessel_type": {
                  "type": "string",
                  "enum": [
                    "bulk_carrier",
                    "chemical_tanker",
                    "combination_carrier",
                    "container_ro_ro_cargo_ship",
                    "container_ship",
                    "gas_carrier",
                    "general_cargo_ship",
                    "lng_carrier",
                    "oil_tanker",
                    "other_ship_types",
                    "passenger_ship",
                    "refrigerated_cargo_carrier",
                    "ro_pax_ship",
                    "ro_ro_ship",
                    "vehicle_carrier"
                  ],
                  "examples": [
                    "oil_tanker"
                  ]
                },
                "vessel_model": {
                  "type": "string",
                  "description": "For detailed mapping of vessel models refer to [EU-EMSA database](https://squake.notion.site/82f29988eecf41beb246719ecf0bc26f?v=6700188164c9431089b117b9e8f2babb).",
                  "examples": [
                    "lita"
                  ]
                },
                "verifier_name": {
                  "type": "string",
                  "description": "Verifiers are environmental service providers, who claim to calculate and check actual carbon emissions from vessels."
                },
                "verifier_accreditation_number": {
                  "type": "string",
                  "description": "Mutually exclusive with `verifier_name`."
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination",
                "weight_in_tonnes"
              ]
            }
          ]
        },
        "Sea-Freight-GLEC": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Sea Freight GLEC",
              "properties": {
                "type": {
                  "const": "sea_freight",
                  "examples": [
                    "sea_freight"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "GLEC",
                  "description": "Default: `\"GLEC\"`.\n",
                  "examples": [
                    "GLEC"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "origin": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/origin_destination"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "weight_in_tonnes": {
                  "type": "number"
                },
                "container": {
                  "type": "boolean",
                  "default": false
                },
                "vessel_type": {
                  "type": "string",
                  "enum": [
                    "bulk_carrier_under_9999_dwt",
                    "bulk_carrier_under_34999_dwt",
                    "bulk_carrier_under_59999_dwt",
                    "bulk_carrier_under_99999_dwt",
                    "bulk_carrier_under_199999_dwt",
                    "bulk_carrier_above_200000_dwt",
                    "chemical_tanker_under_4999_dwt",
                    "chemical_tanker_under_9999_dwt",
                    "chemical_tanker_under_19999_dwt",
                    "chemical_tanker_under_39999_dwt",
                    "chemical_tanker_above_40000_dwt",
                    "general_cargo_under_4999_dwt",
                    "general_cargo_under_9999_dwt",
                    "general_cargo_under_19999_dwt",
                    "general_cargo_above_20000_dwt",
                    "liquefied_gas_tanker_under_49999_dwt",
                    "liquefied_gas_tanker_under_99999_dwt",
                    "liquefied_gas_tanker_under_199999_dwt",
                    "liquefied_gas_tanker_above_200000_dwt",
                    "oil_tanker_under_4999_dwt",
                    "oil_tanker_under_9999_dwt",
                    "oil_tanker_under_19999_dwt",
                    "oil_tanker_under_59999_dwt",
                    "oil_tanker_under_79999_dwt",
                    "oil_tanker_under_119999_dwt",
                    "oil_tanker_under_199999_dwt",
                    "oil_tanker_above_200000_dwt",
                    "other_liquids_tankers_under_999_dwt",
                    "other_liquids_tankers_above_1000_dwt",
                    "ferry_ropax_under_1999_gt",
                    "ferry_ropax_under_1999_dwt",
                    "ferry_ropax_under_4999_gt",
                    "ferry_ropax_under_9999_gt",
                    "ferry_ropax_under_19999_gt",
                    "ferry_ropax_above_20000_gt",
                    "refrigerated_bulk_under_1999_dwt",
                    "refrigerated_bulk_under_5999_dwt",
                    "refrigerated_bulk_under_9999_dwt",
                    "refrigerated_bulk_above_10000_dwt",
                    "roro_under_4999_dwt",
                    "roro_under_9999_dwt",
                    "roro_under_14999_dwt",
                    "roro_above_15000_dwt",
                    "vehicle_under_29999_gt",
                    "vehicle_under_49999_gt",
                    "vehicle_above_50000_gt"
                  ],
                  "description": "For more detailed mapping of vessel and fuel types refer to [the GLEC database](https://squake.notion.site/Sea-Freight-GLEC-a0d79edb30bc4fbc9f79e7b55a5e3807).",
                  "examples": [
                    "general_cargo_under_4999_dwt"
                  ],
                  "default": "general_cargo_under_4999_dwt"
                },
                "energy_scope": {
                  "$ref": "#/components/schemas/energy_scope",
                  "default": "wtw"
                },
                "fuel_type": {
                  "type": "string",
                  "enum": [
                    "hfo",
                    "vlsfo",
                    "mdo"
                  ],
                  "default": "hfo",
                  "examples": [
                    "hfo"
                  ]
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination",
                "weight_in_tonnes"
              ]
            }
          ]
        }
      },
      "train_origin_destination": {
        "type": "string",
        "title": "origin_destination",
        "description": "SQUAKE will try to resolve the origin/destination regardless of\nits format. Ideally, for addresses use the Post standard, for airports use\nIATA/ICAO code (format: `^[A-Z]{3,4}$`, e.g. `\"MUC\"`), for other locations\nused in trade and transportation use UN/LOCODE codes (format: `^[A-Z]{2}\\W?[A-Z2-9]{3}$`,\ne.g. `\"DEHAM\"`). You can also pass lat/long (format: `^[-+]?\\d{1,3}\\.\\d{1,10}\\s?,\\s?[-+]?\\d{1,3}\\.\\d{1,10}$`,\ne.g. `\"+40.712,-74.006\"`).\n\nUIC code is also a valid format for trains. If the value is not valid, we'll fallback to general, non-journey specific emission data.\nWhen you want to use UIC, you should use the following format: _`provider:uic_code`_, e.g. `sncf:FRAAA`.\nPossible provider prefixes are:\n- `uic`\n- `uic8_sncf`\n- `sncf`\n- `sncf_tvs`\n- `entur`\n- `db`\n- `busbud`\n- `distribusion`\n- `flixbus`\n- `cff`\n- `leoexpress`\n- `obb`\n- `trenitalia`\n- `trenitalia_rtvt`\n- `trenord`\n- `ntv_rtiv`\n- `ntv`\n- `hkx`\n- `renfe`\n- `atoc`\n- `benerail`\n- `westbahn`\n"
      },
      "Train-ADEME": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Train ADEME",
            "description": "The full list of operators supported by SQUAKE could be found [here](https://squake.notion.site/21a17389cc5c4e38946f97ecaf6435bb?v=6be41159e77247599fe9b3672782fd5e). If your operator is not supported, feel free to contact us.",
            "properties": {
              "type": {
                "const": "train",
                "examples": [
                  "train"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "ADEME",
                "description": "Default: `\"SQUAKE\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/train/train-ademe).\n",
                "examples": [
                  "ADEME"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "origin": {
                "$ref": "#/components/schemas/train_origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/train_origin_destination"
              },
              "train_type": {
                "type": "string",
                "enum": [
                  "average",
                  "mainline",
                  "local_express"
                ],
                "examples": [
                  "mainline"
                ],
                "default": "local_express"
              },
              "fuel_type": {
                "type": "string",
                "enum": [
                  "diesel",
                  "electricity"
                ],
                "examples": [
                  "diesel"
                ],
                "default": "diesel"
              },
              "number_of_travelers": {
                "type": "integer",
                "minimum": 1,
                "default": 1,
                "examples": [
                  2
                ]
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "Train-BASE-EMPREINTE": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Train BASE-EMPREINTE",
            "properties": {
              "type": {
                "const": "train",
                "examples": [
                  "train"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "BASE-EMPREINTE",
                "description": "Default: `\"SQUAKE\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/train/train-base-empreinte).\n",
                "examples": [
                  "BASE-EMPREINTE"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "origin": {
                "$ref": "#/components/schemas/train_origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/train_origin_destination"
              },
              "train_type": {
                "type": "string",
                "enum": [
                  "ter",
                  "tgv",
                  "intercity",
                  "mainline",
                  "metro",
                  "tram",
                  "rer",
                  "trolleybus"
                ],
                "examples": [
                  "metro"
                ],
                "default": "mainline"
              },
              "number_of_travelers": {
                "type": "integer",
                "minimum": 1,
                "default": 1,
                "examples": [
                  2
                ]
              },
              "state": {
                "type": "string",
                "enum": [
                  "Ile-de-France",
                  "Corsica"
                ],
                "examples": [
                  "Ile-de-France"
                ]
              },
              "city_type": {
                "type": "string",
                "enum": [
                  "population_under_250000",
                  "population_above_250000"
                ],
                "examples": [
                  "population_above_250000"
                ],
                "default": "population_under_250000"
              },
              "country": {
                "type": "string",
                "enum": [
                  "AT",
                  "BE",
                  "CH",
                  "DE",
                  "DK",
                  "ES",
                  "FI",
                  "FR",
                  "GB",
                  "GR",
                  "IE",
                  "IT",
                  "LU",
                  "NL",
                  "NO",
                  "PT",
                  "SE"
                ],
                "examples": [
                  "DE"
                ],
                "default": "FR"
              },
              "year": {
                "type": "string",
                "examples": [
                  "2022"
                ]
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "Train-CO2-EMISSIEFACTOREN-NL": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Train CO2-EMISSIEFACTOREN-NL",
            "properties": {
              "type": {
                "const": "train",
                "examples": [
                  "train"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "CO2-EMISSIEFACTOREN-NL",
                "description": "Default: `\"SQUAKE\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/train/train-co2-emissiefactoren).\n",
                "examples": [
                  "CO2-EMISSIEFACTOREN-NL"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "origin": {
                "$ref": "#/components/schemas/train_origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/train_origin_destination"
              },
              "train_type": {
                "type": "string",
                "enum": [
                  "average",
                  "international"
                ],
                "examples": [
                  "average"
                ],
                "default": "average"
              },
              "fuel_type": {
                "type": "string",
                "enum": [
                  "diesel",
                  "electricity",
                  "average"
                ],
                "examples": [
                  "diesel"
                ],
                "default": "average"
              },
              "number_of_travelers": {
                "type": "integer",
                "minimum": 1,
                "default": 1,
                "examples": [
                  2
                ]
              },
              "energy_scope": {
                "$ref": "#/components/schemas/energy_scope"
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "Train-DEFRA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Train ADEME",
            "properties": {
              "type": {
                "const": "train",
                "examples": [
                  "train"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "DEFRA",
                "description": "Default: `\"SQUAKE\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/train/train-defra).\n",
                "examples": [
                  "DEFRA"
                ]
              },
              "methodology_version": {
                "type": "string",
                "description": "The version of the DEFRA methodology used.",
                "default": "latest",
                "enum": [
                  "2018",
                  "2019",
                  "2020",
                  "2021",
                  "2022",
                  "2023",
                  "2024",
                  "2025",
                  "latest"
                ],
                "examples": [
                  "2024"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "origin": {
                "$ref": "#/components/schemas/train_origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/train_origin_destination"
              },
              "train_type": {
                "type": "string",
                "enum": [
                  "international",
                  "light",
                  "national",
                  "tram",
                  "underground"
                ],
                "examples": [
                  "tram"
                ],
                "default": "national"
              },
              "number_of_travelers": {
                "type": "integer",
                "minimum": 1,
                "default": 1,
                "examples": [
                  2
                ]
              },
              "energy_scope": {
                "$ref": "#/components/schemas/energy_scope",
                "default": "wtw"
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "Train-GREEN-TRAVEL-PLEDGE": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Train GREEN-TRAVEL-PLEDGE",
            "properties": {
              "type": {
                "const": "train",
                "examples": [
                  "train"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "GREEN-TRAVEL-PLEDGE",
                "description": "Default: `\"SQUAKE\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/train/train-green-travel-pledge).\n",
                "examples": [
                  "GREEN-TRAVEL-PLEDGE"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "origin": {
                "description": "Expected a valid UIC code (e.g.: for Abbey Wood station, use `ABW`). If the value is not valid, we'll fallback to general, non-journey specific emission data.\n"
              },
              "destination": {
                "description": "Expected a valid UIC code (e.g.: for Abbey Wood station, use `ABW`). If the value is not valid, we'll fallback to general, non-journey specific emission data.\n"
              },
              "number_of_travelers": {
                "type": "integer",
                "minimum": 1,
                "default": 1,
                "examples": [
                  2
                ]
              },
              "seat_type": {
                "type": "string",
                "enum": [
                  "first_class",
                  "second_class",
                  "average"
                ],
                "default": "first_class",
                "examples": [
                  "second_class"
                ]
              }
            },
            "required": [
              "type",
              "methodology",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "Train-SQUAKE": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Train SQUAKE",
            "properties": {
              "type": {
                "const": "train",
                "examples": [
                  "train"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "SQUAKE",
                "description": "Default: `\"SQUAKE\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/train/train-squake).\n",
                "examples": [
                  "SQUAKE"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "origin": {
                "$ref": "#/components/schemas/train_origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/train_origin_destination"
              },
              "train_type": {
                "type": "string",
                "enum": [
                  "high_speed",
                  "regional",
                  "intercity"
                ],
                "description": "`SQUAKE`'s methodology defaults to `high_speed` when `operator_name` is provided, otherwise the default value is `regional`.",
                "examples": [
                  "regional"
                ],
                "default": "regional"
              },
              "fuel_type": {
                "type": "string",
                "enum": [
                  "diesel",
                  "electricity",
                  "hydrogen",
                  "hybrid"
                ],
                "description": "If `operator_name` is passed, then `fuel_type` is ignored.",
                "examples": [
                  "diesel"
                ],
                "default": "diesel"
              },
              "number_of_travelers": {
                "type": "integer",
                "minimum": 1,
                "default": 1,
                "examples": [
                  2
                ]
              },
              "operator_name": {
                "type": "string",
                "description": "`SQUAKE`'s methodology allows passing the operator's name to get a more accurate result.\n`train_type` defaults to `high_speed` if `operator_name` is passed.\n\nHere is [the database](https://squake.notion.site/21a17389cc5c4e38946f97ecaf6435bb?v=6be41159e77247599fe9b3672782fd5e) with the supported operators.\n",
                "examples": [
                  "sncf"
                ]
              },
              "seat_type": {
                "type": "string",
                "enum": [
                  "first_class",
                  "second_class"
                ],
                "default": "first_class",
                "examples": [
                  "second_class"
                ]
              }
            },
            "required": [
              "type",
              "methodology"
            ]
          }
        ]
      },
      "Train-US-EPA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Train US EPA",
            "properties": {
              "type": {
                "const": "train",
                "examples": [
                  "train"
                ]
              },
              "methodology": {
                "type": "string",
                "const": "US-EPA",
                "description": "Default: `\"SQUAKE\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/train/train-us-epa).\n",
                "examples": [
                  "US-EPA"
                ]
              },
              "methodology_version": {
                "type": "string",
                "description": "The version of the US EPA methodology used.",
                "default": "latest",
                "enum": [
                  "2011",
                  "2012",
                  "2013",
                  "2014",
                  "2015",
                  "2016",
                  "2017",
                  "2018",
                  "2019",
                  "2020",
                  "2021",
                  "2022",
                  "2023",
                  "2024",
                  "2025",
                  "latest"
                ],
                "examples": [
                  "2024"
                ]
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "origin": {
                "$ref": "#/components/schemas/train_origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/train_origin_destination"
              },
              "train_type": {
                "type": "string",
                "enum": [
                  "intercity_northeast_corridor",
                  "intercity_national_average",
                  "intercity_other_routes",
                  "commuter_rail",
                  "transit_rail"
                ],
                "description": "The type of the train.",
                "examples": [
                  "commuter_rail"
                ],
                "default": "intercity_national_average"
              },
              "number_of_travelers": {
                "type": "integer",
                "minimum": 1,
                "default": 1,
                "examples": [
                  2
                ]
              }
            },
            "required": [
              "type",
              "methodology"
            ]
          }
        ]
      },
      "Train": {
        "type": "object",
        "title": "Train",
        "properties": {
          "type": {
            "type": "string",
            "const": "train",
            "examples": [
              "train"
            ]
          },
          "methodology": {
            "type": "string"
          }
        },
        "discriminator": {
          "propertyName": "methodology",
          "mapping": {
            "ADEME": "#/components/schemas/Train-ADEME",
            "BASE-EMPREINTE": "#/components/schemas/Train-BASE-EMPREINTE",
            "CO2-EMISSIEFACTOREN-NL": "#/components/schemas/Train-CO2-EMISSIEFACTOREN-NL",
            "DEFRA": "#/components/schemas/Train-DEFRA",
            "GREEN-TRAVEL-PLEDGE": "#/components/schemas/Train-GREEN-TRAVEL-PLEDGE",
            "SQUAKE": "#/components/schemas/Train-SQUAKE",
            "US-EPA": "#/components/schemas/Train-US-EPA"
          }
        },
        "anyOf": [
          {
            "$ref": "#/components/schemas/Train-ADEME"
          },
          {
            "$ref": "#/components/schemas/Train-BASE-EMPREINTE"
          },
          {
            "$ref": "#/components/schemas/Train-CO2-EMISSIEFACTOREN-NL"
          },
          {
            "$ref": "#/components/schemas/Train-DEFRA"
          },
          {
            "$ref": "#/components/schemas/Train-GREEN-TRAVEL-PLEDGE"
          },
          {
            "$ref": "#/components/schemas/Train-SQUAKE"
          },
          {
            "$ref": "#/components/schemas/Train-US-EPA"
          }
        ],
        "Train-ADEME": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Train ADEME",
              "description": "The full list of operators supported by SQUAKE could be found [here](https://squake.notion.site/21a17389cc5c4e38946f97ecaf6435bb?v=6be41159e77247599fe9b3672782fd5e). If your operator is not supported, feel free to contact us.",
              "properties": {
                "type": {
                  "const": "train",
                  "examples": [
                    "train"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "ADEME",
                  "description": "Default: `\"SQUAKE\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/train/train-ademe).\n",
                  "examples": [
                    "ADEME"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "origin": {
                  "$ref": "#/components/schemas/train_origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/train_origin_destination"
                },
                "train_type": {
                  "type": "string",
                  "enum": [
                    "average",
                    "mainline",
                    "local_express"
                  ],
                  "examples": [
                    "mainline"
                  ],
                  "default": "local_express"
                },
                "fuel_type": {
                  "type": "string",
                  "enum": [
                    "diesel",
                    "electricity"
                  ],
                  "examples": [
                    "diesel"
                  ],
                  "default": "diesel"
                },
                "number_of_travelers": {
                  "type": "integer",
                  "minimum": 1,
                  "default": 1,
                  "examples": [
                    2
                  ]
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ]
            }
          ]
        },
        "Train-BASE-EMPREINTE": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Train BASE-EMPREINTE",
              "properties": {
                "type": {
                  "const": "train",
                  "examples": [
                    "train"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "BASE-EMPREINTE",
                  "description": "Default: `\"SQUAKE\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/train/train-base-empreinte).\n",
                  "examples": [
                    "BASE-EMPREINTE"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "origin": {
                  "$ref": "#/components/schemas/train_origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/train_origin_destination"
                },
                "train_type": {
                  "type": "string",
                  "enum": [
                    "ter",
                    "tgv",
                    "intercity",
                    "mainline",
                    "metro",
                    "tram",
                    "rer",
                    "trolleybus"
                  ],
                  "examples": [
                    "metro"
                  ],
                  "default": "mainline"
                },
                "number_of_travelers": {
                  "type": "integer",
                  "minimum": 1,
                  "default": 1,
                  "examples": [
                    2
                  ]
                },
                "state": {
                  "type": "string",
                  "enum": [
                    "Ile-de-France",
                    "Corsica"
                  ],
                  "examples": [
                    "Ile-de-France"
                  ]
                },
                "city_type": {
                  "type": "string",
                  "enum": [
                    "population_under_250000",
                    "population_above_250000"
                  ],
                  "examples": [
                    "population_above_250000"
                  ],
                  "default": "population_under_250000"
                },
                "country": {
                  "type": "string",
                  "enum": [
                    "AT",
                    "BE",
                    "CH",
                    "DE",
                    "DK",
                    "ES",
                    "FI",
                    "FR",
                    "GB",
                    "GR",
                    "IE",
                    "IT",
                    "LU",
                    "NL",
                    "NO",
                    "PT",
                    "SE"
                  ],
                  "examples": [
                    "DE"
                  ],
                  "default": "FR"
                },
                "year": {
                  "type": "string",
                  "examples": [
                    "2022"
                  ]
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ]
            }
          ]
        },
        "Train-CO2-EMISSIEFACTOREN-NL": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Train CO2-EMISSIEFACTOREN-NL",
              "properties": {
                "type": {
                  "const": "train",
                  "examples": [
                    "train"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "CO2-EMISSIEFACTOREN-NL",
                  "description": "Default: `\"SQUAKE\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/train/train-co2-emissiefactoren).\n",
                  "examples": [
                    "CO2-EMISSIEFACTOREN-NL"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "origin": {
                  "$ref": "#/components/schemas/train_origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/train_origin_destination"
                },
                "train_type": {
                  "type": "string",
                  "enum": [
                    "average",
                    "international"
                  ],
                  "examples": [
                    "average"
                  ],
                  "default": "average"
                },
                "fuel_type": {
                  "type": "string",
                  "enum": [
                    "diesel",
                    "electricity",
                    "average"
                  ],
                  "examples": [
                    "diesel"
                  ],
                  "default": "average"
                },
                "number_of_travelers": {
                  "type": "integer",
                  "minimum": 1,
                  "default": 1,
                  "examples": [
                    2
                  ]
                },
                "energy_scope": {
                  "$ref": "#/components/schemas/energy_scope"
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ]
            }
          ]
        },
        "Train-DEFRA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Train ADEME",
              "properties": {
                "type": {
                  "const": "train",
                  "examples": [
                    "train"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "DEFRA",
                  "description": "Default: `\"SQUAKE\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/train/train-defra).\n",
                  "examples": [
                    "DEFRA"
                  ]
                },
                "methodology_version": {
                  "type": "string",
                  "description": "The version of the DEFRA methodology used.",
                  "default": "latest",
                  "enum": [
                    "2018",
                    "2019",
                    "2020",
                    "2021",
                    "2022",
                    "2023",
                    "2024",
                    "2025",
                    "latest"
                  ],
                  "examples": [
                    "2024"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "origin": {
                  "$ref": "#/components/schemas/train_origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/train_origin_destination"
                },
                "train_type": {
                  "type": "string",
                  "enum": [
                    "international",
                    "light",
                    "national",
                    "tram",
                    "underground"
                  ],
                  "examples": [
                    "tram"
                  ],
                  "default": "national"
                },
                "number_of_travelers": {
                  "type": "integer",
                  "minimum": 1,
                  "default": 1,
                  "examples": [
                    2
                  ]
                },
                "energy_scope": {
                  "$ref": "#/components/schemas/energy_scope",
                  "default": "wtw"
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ]
            }
          ]
        },
        "Train-GREEN-TRAVEL-PLEDGE": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Train GREEN-TRAVEL-PLEDGE",
              "properties": {
                "type": {
                  "const": "train",
                  "examples": [
                    "train"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "GREEN-TRAVEL-PLEDGE",
                  "description": "Default: `\"SQUAKE\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/train/train-green-travel-pledge).\n",
                  "examples": [
                    "GREEN-TRAVEL-PLEDGE"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "origin": {
                  "description": "Expected a valid UIC code (e.g.: for Abbey Wood station, use `ABW`). If the value is not valid, we'll fallback to general, non-journey specific emission data.\n"
                },
                "destination": {
                  "description": "Expected a valid UIC code (e.g.: for Abbey Wood station, use `ABW`). If the value is not valid, we'll fallback to general, non-journey specific emission data.\n"
                },
                "number_of_travelers": {
                  "type": "integer",
                  "minimum": 1,
                  "default": 1,
                  "examples": [
                    2
                  ]
                },
                "seat_type": {
                  "type": "string",
                  "enum": [
                    "first_class",
                    "second_class",
                    "average"
                  ],
                  "default": "first_class",
                  "examples": [
                    "second_class"
                  ]
                }
              },
              "required": [
                "type",
                "methodology",
                "origin",
                "destination"
              ]
            }
          ]
        },
        "Train-SQUAKE": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Train SQUAKE",
              "properties": {
                "type": {
                  "const": "train",
                  "examples": [
                    "train"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "SQUAKE",
                  "description": "Default: `\"SQUAKE\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/train/train-squake).\n",
                  "examples": [
                    "SQUAKE"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "origin": {
                  "$ref": "#/components/schemas/train_origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/train_origin_destination"
                },
                "train_type": {
                  "type": "string",
                  "enum": [
                    "high_speed",
                    "regional",
                    "intercity"
                  ],
                  "description": "`SQUAKE`'s methodology defaults to `high_speed` when `operator_name` is provided, otherwise the default value is `regional`.",
                  "examples": [
                    "regional"
                  ],
                  "default": "regional"
                },
                "fuel_type": {
                  "type": "string",
                  "enum": [
                    "diesel",
                    "electricity",
                    "hydrogen",
                    "hybrid"
                  ],
                  "description": "If `operator_name` is passed, then `fuel_type` is ignored.",
                  "examples": [
                    "diesel"
                  ],
                  "default": "diesel"
                },
                "number_of_travelers": {
                  "type": "integer",
                  "minimum": 1,
                  "default": 1,
                  "examples": [
                    2
                  ]
                },
                "operator_name": {
                  "type": "string",
                  "description": "`SQUAKE`'s methodology allows passing the operator's name to get a more accurate result.\n`train_type` defaults to `high_speed` if `operator_name` is passed.\n\nHere is [the database](https://squake.notion.site/21a17389cc5c4e38946f97ecaf6435bb?v=6be41159e77247599fe9b3672782fd5e) with the supported operators.\n",
                  "examples": [
                    "sncf"
                  ]
                },
                "seat_type": {
                  "type": "string",
                  "enum": [
                    "first_class",
                    "second_class"
                  ],
                  "default": "first_class",
                  "examples": [
                    "second_class"
                  ]
                }
              },
              "required": [
                "type",
                "methodology"
              ]
            }
          ]
        },
        "Train-US-EPA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Calculation-Base-Item"
            },
            {
              "type": "object",
              "title": "Train US EPA",
              "properties": {
                "type": {
                  "const": "train",
                  "examples": [
                    "train"
                  ]
                },
                "methodology": {
                  "type": "string",
                  "const": "US-EPA",
                  "description": "Default: `\"SQUAKE\"`.\n\nDetailed documentation of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/travel/train/train-us-epa).\n",
                  "examples": [
                    "US-EPA"
                  ]
                },
                "methodology_version": {
                  "type": "string",
                  "description": "The version of the US EPA methodology used.",
                  "default": "latest",
                  "enum": [
                    "2011",
                    "2012",
                    "2013",
                    "2014",
                    "2015",
                    "2016",
                    "2017",
                    "2018",
                    "2019",
                    "2020",
                    "2021",
                    "2022",
                    "2023",
                    "2024",
                    "2025",
                    "latest"
                  ],
                  "examples": [
                    "2024"
                  ]
                },
                "external_reference": {
                  "$ref": "#/components/schemas/external_reference"
                },
                "distance_in_km": {
                  "$ref": "#/components/schemas/distance_in_km"
                },
                "origin": {
                  "$ref": "#/components/schemas/train_origin_destination"
                },
                "destination": {
                  "$ref": "#/components/schemas/train_origin_destination"
                },
                "train_type": {
                  "type": "string",
                  "enum": [
                    "intercity_northeast_corridor",
                    "intercity_national_average",
                    "intercity_other_routes",
                    "commuter_rail",
                    "transit_rail"
                  ],
                  "description": "The type of the train.",
                  "examples": [
                    "commuter_rail"
                  ],
                  "default": "intercity_national_average"
                },
                "number_of_travelers": {
                  "type": "integer",
                  "minimum": 1,
                  "default": 1,
                  "examples": [
                    2
                  ]
                }
              },
              "required": [
                "type",
                "methodology"
              ]
            }
          ]
        }
      },
      "Van": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Calculation-Base-Item"
          },
          {
            "type": "object",
            "title": "Van",
            "description": "If you have freight and don't know the type, you can use `Logistics`. If you have more details available, use the `EU-EEA` methodology for a more precise result.",
            "properties": {
              "type": {
                "const": "van",
                "examples": [
                  "van"
                ]
              },
              "methodology": {
                "const": "EU-EEA",
                "description": "`EU-EEA` is the methodology from the \"European Environmental Agency\".\n\nDescription of the methodology can be found in the [integration docs](https://docs-integration.squake.earth/api-calculations-request-response/logistics/van/van-eea). \n",
                "examples": [
                  "EU-EEA"
                ],
                "default": "EU-EEA"
              },
              "external_reference": {
                "$ref": "#/components/schemas/external_reference"
              },
              "weight_in_tonnes": {
                "$ref": "#/components/schemas/weight_in_tonnes"
              },
              "origin": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "destination": {
                "$ref": "#/components/schemas/origin_destination"
              },
              "distance_in_km": {
                "$ref": "#/components/schemas/distance_in_km"
              },
              "manufacturer": {
                "type": "string",
                "examples": [
                  "ford"
                ]
              },
              "model": {
                "type": "string",
                "examples": [
                  "fiesta"
                ]
              },
              "fuel_type": {
                "type": "string",
                "enum": [
                  "diesel",
                  "electric",
                  "petrol",
                  "lpg"
                ],
                "examples": [
                  "diesel"
                ]
              },
              "engine_size_in_cubic_cm": {
                "type": "number",
                "examples": [
                  1499
                ]
              }
            },
            "required": [
              "type",
              "methodology",
              "weight_in_tonnes",
              "origin",
              "destination"
            ]
          }
        ]
      },
      "SQUAKE-Request-Id": {
        "id": "2620f69f89024",
        "key": "SQUAKE-Request-Id",
        "name": "SQUAKE-Request-Id",
        "style": "simple",
        "description": "Unique identifier linked to this API request. If you need to contact us regarding a specific request, providing the request identifier helps the resolution process.",
        "explicitProperties": [
          "name",
          "in",
          "schema",
          "description"
        ],
        "examples": [],
        "schema": {
          "type": "string",
          "pattern": "req_[a-zA-Z0-9-]+",
          "examples": [
            "req_70394c00-728e-4d70-90bc-2b589c9ebdf8"
          ]
        }
      },
      "currency": {
        "type": "string",
        "enum": [
          "AED",
          "AMD",
          "ARS",
          "AUD",
          "AZN",
          "BAM",
          "BGN",
          "BHD",
          "BRL",
          "CAD",
          "CHF",
          "CLP",
          "CNY",
          "COP",
          "CRC",
          "CZK",
          "DKK",
          "DZD",
          "EGP",
          "ETB",
          "EUR",
          "GBP",
          "GEL",
          "HKD",
          "HUF",
          "IDR",
          "INR",
          "ISK",
          "JMD",
          "JOD",
          "JPY",
          "KES",
          "KRW",
          "KWD",
          "KZT",
          "LKR",
          "LYD",
          "MAD",
          "MUR",
          "MXN",
          "MYR",
          "NOK",
          "NZD",
          "OMR",
          "PHP",
          "PKR",
          "PLN",
          "QAR",
          "RSD",
          "RUB",
          "SAR",
          "SEK",
          "SGD",
          "SYP",
          "THB",
          "TND",
          "TRY",
          "TTD",
          "TWD",
          "UAH",
          "USD",
          "VND",
          "XAF",
          "XOF",
          "ZAR"
        ],
        "title": "Currency",
        "description": "3-letter ISO 4217 alpha code of the currency.",
        "pattern": "^[A-Z]{3}$",
        "minLength": 3,
        "maxLength": 3,
        "default": "EUR",
        "examples": [
          "EUR"
        ]
      },
      "payment_method": {
        "description": "Controls the way you want to process the purchase.\n\nIf `stripe` is used then you''ll receive a `payment_link` in response.\n\nIf `batch_settlement` is used, then you''ll have to use `/purchases` endpoint to finalise the purchase.\n",
        "type": "string",
        "enum": [
          "stripe",
          "batch_settlement"
        ],
        "default": "batch_settlement"
      },
      "Travel-Data-Traveler": {
        "title": "Travel-Data-Traveler",
        "type": "object",
        "description": "Traveler information for a given activity.",
        "properties": {
          "department": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "name": {
            "type": "string"
          },
          "traveler_type": {
            "type": "string",
            "description": "Type of traveler.",
            "enum": [
              "employee",
              "contractor",
              "guest"
            ]
          }
        },
        "required": [
          "email",
          "name"
        ]
      },
      "Travel-Data-Activity-Car-Base": {
        "type": "object",
        "properties": {
          "start_date_utc": {
            "$ref": "#/components/schemas/iso_8601_date"
          },
          "end_date_utc": {
            "$ref": "#/components/schemas/iso_8601_date"
          },
          "traveler": {
            "$ref": "#/components/schemas/Travel-Data-Traveler"
          },
          "provider_company": {
            "type": "string",
            "description": "Only applicable for usage_type 'rental' or 'taxi'.",
            "examples": [
              "Sixt",
              "Hertz",
              "Avis",
              "Bolt",
              "Uber"
            ]
          },
          "rental_contract_number": {
            "type": "string"
          },
          "usage_type": {
            "type": "string",
            "description": "Mapping intent:\n\n- rental → car rental (Scope 3.6)\n- taxi → taxi/ride-hailing (Scope 3.6)\n- company → company fleet (Scope 1)\n- personal_car → private car reimbursement (Scope 3.6)",
            "enum": [
              "rental",
              "taxi",
              "company",
              "personal_car"
            ],
            "default": "rental",
            "examples": [
              "rental"
            ]
          }
        }
      },
      "Travel-Data-Activity-Car-ACRISS": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Car-Base"
          },
          {
            "$ref": "#/components/schemas/Car-ACRISS"
          }
        ]
      },
      "Travel-Data-Activity-Car-BASIC": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Car-Base"
          },
          {
            "$ref": "#/components/schemas/Car-BASIC"
          }
        ]
      },
      "Travel-Data-Activity-Car-DEFRA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Car-Base"
          },
          {
            "$ref": "#/components/schemas/Car-DEFRA"
          }
        ]
      },
      "Travel-Data-Activity-Car-EU-EEA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Car-Base"
          },
          {
            "$ref": "#/components/schemas/Car-EU-EEA"
          }
        ]
      },
      "Travel-Data-Activity-Car-US-EPA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Car-Base"
          },
          {
            "$ref": "#/components/schemas/Car-US-EPA"
          }
        ]
      },
      "Travel-Data-Activity-Car": {
        "title": "Car",
        "type": "object",
        "description": "Car activity payload for travel data ingestion.",
        "properties": {
          "type": {
            "type": "string",
            "const": "car"
          },
          "external_reference": {
            "type": "string",
            "description": "External reference for the activity. If provided, calculations with differing methodologies can be attached to this activity."
          },
          "start_date_utc": {
            "$ref": "#/components/schemas/iso_8601_date"
          },
          "end_date_utc": {
            "$ref": "#/components/schemas/iso_8601_date"
          },
          "traveler": {
            "$ref": "#/components/schemas/Travel-Data-Traveler"
          },
          "methodology": {
            "type": "string"
          }
        },
        "discriminator": {
          "propertyName": "methodology",
          "mapping": {
            "ACRISS": "#/components/schemas/Travel-Data-Activity-Car-ACRISS",
            "BASIC": "#/components/schemas/Travel-Data-Activity-Car-BASIC",
            "DEFRA": "#/components/schemas/Travel-Data-Activity-Car-DEFRA",
            "EU-EEA": "#/components/schemas/Travel-Data-Activity-Car-EU-EEA",
            "US-EPA": "#/components/schemas/Travel-Data-Activity-Car-US-EPA"
          }
        },
        "anyOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Car-ACRISS"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Car-BASIC"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Car-DEFRA"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Car-EU-EEA"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Car-US-EPA"
          }
        ],
        "Travel-Data-Activity-Car-Base": {
          "type": "object",
          "properties": {
            "start_date_utc": {
              "$ref": "#/components/schemas/iso_8601_date"
            },
            "end_date_utc": {
              "$ref": "#/components/schemas/iso_8601_date"
            },
            "traveler": {
              "$ref": "#/components/schemas/Travel-Data-Traveler"
            },
            "provider_company": {
              "type": "string",
              "description": "Only applicable for usage_type 'rental' or 'taxi'.",
              "examples": [
                "Sixt",
                "Hertz",
                "Avis",
                "Bolt",
                "Uber"
              ]
            },
            "rental_contract_number": {
              "type": "string"
            },
            "usage_type": {
              "type": "string",
              "description": "Mapping intent:\n\n- rental → car rental (Scope 3.6)\n- taxi → taxi/ride-hailing (Scope 3.6)\n- company → company fleet (Scope 1)\n- personal_car → private car reimbursement (Scope 3.6)",
              "enum": [
                "rental",
                "taxi",
                "company",
                "personal_car"
              ],
              "default": "rental",
              "examples": [
                "rental"
              ]
            }
          }
        },
        "Travel-Data-Activity-Car-ACRISS": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Car-Base"
            },
            {
              "$ref": "#/components/schemas/Car-ACRISS"
            }
          ]
        },
        "Travel-Data-Activity-Car-BASIC": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Car-Base"
            },
            {
              "$ref": "#/components/schemas/Car-BASIC"
            }
          ]
        },
        "Travel-Data-Activity-Car-DEFRA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Car-Base"
            },
            {
              "$ref": "#/components/schemas/Car-DEFRA"
            }
          ]
        },
        "Travel-Data-Activity-Car-EU-EEA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Car-Base"
            },
            {
              "$ref": "#/components/schemas/Car-EU-EEA"
            }
          ]
        },
        "Travel-Data-Activity-Car-US-EPA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Car-Base"
            },
            {
              "$ref": "#/components/schemas/Car-US-EPA"
            }
          ]
        }
      },
      "Travel-Data-Activity-Flight-Base": {
        "type": "object",
        "properties": {
          "start_date_utc": {
            "$ref": "#/components/schemas/iso_8601_date"
          },
          "end_date_utc": {
            "$ref": "#/components/schemas/iso_8601_date"
          },
          "airline_code": {
            "type": "string",
            "maxLength": 10
          },
          "airline_group": {
            "type": "string"
          },
          "airline_name": {
            "type": "string"
          },
          "flight_duration_in_minutes": {
            "type": "integer"
          },
          "flight_geo_scope_type": {
            "type": "string"
          },
          "flight_type": {
            "type": "string"
          },
          "traveler": {
            "$ref": "#/components/schemas/Travel-Data-Traveler"
          }
        }
      },
      "Travel-Data-Activity-Flight-ADEME": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight-Base"
          },
          {
            "$ref": "#/components/schemas/Flight-ADEME"
          }
        ]
      },
      "Travel-Data-Activity-Flight-BASE-EMPREINTE": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight-Base"
          },
          {
            "$ref": "#/components/schemas/Flight-BASE-EMPREINTE"
          }
        ]
      },
      "Travel-Data-Activity-Flight-CO2-EMISSIEFACTOREN-NL": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight-Base"
          },
          {
            "$ref": "#/components/schemas/Flight-CO2-EMISSIEFACTOREN-NL"
          }
        ]
      },
      "Travel-Data-Activity-Flight-DEFRA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight-Base"
          },
          {
            "$ref": "#/components/schemas/Flight-DEFRA"
          }
        ]
      },
      "Travel-Data-Activity-Flight-GATE4": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight-Base"
          },
          {
            "$ref": "#/components/schemas/Flight-GATE4"
          }
        ]
      },
      "Travel-Data-Activity-Flight-ICAO": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight-Base"
          },
          {
            "$ref": "#/components/schemas/Flight-ICAO"
          }
        ]
      },
      "Travel-Data-Activity-Flight-TIM": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight-Base"
          },
          {
            "$ref": "#/components/schemas/Flight-TIM"
          }
        ]
      },
      "Travel-Data-Activity-Flight-TU-CHALMERS": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight-Base"
          },
          {
            "$ref": "#/components/schemas/Flight-TU-CHALMERS"
          }
        ]
      },
      "Travel-Data-Activity-Flight-US-EPA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight-Base"
          },
          {
            "$ref": "#/components/schemas/Flight-US-EPA"
          }
        ]
      },
      "Travel-Data-Activity-Flight": {
        "title": "Flight",
        "type": "object",
        "description": "Flight activity payload for travel data ingestion.",
        "properties": {
          "type": {
            "type": "string",
            "const": "flight"
          },
          "external_reference": {
            "type": "string",
            "description": "External reference for the activity. If provided, calculations with differing methodologies can be attached to this activity."
          },
          "methodology": {
            "type": "string"
          }
        },
        "discriminator": {
          "propertyName": "methodology",
          "mapping": {
            "ADEME": "#/components/schemas/Travel-Data-Activity-Flight-ADEME",
            "BASE-EMPREINTE": "#/components/schemas/Travel-Data-Activity-Flight-BASE-EMPREINTE",
            "CO2-EMISSIEFACTOREN-NL": "#/components/schemas/Travel-Data-Activity-Flight-CO2-EMISSIEFACTOREN-NL",
            "DEFRA": "#/components/schemas/Travel-Data-Activity-Flight-DEFRA",
            "GATE4": "#/components/schemas/Travel-Data-Activity-Flight-GATE4",
            "ICAO": "#/components/schemas/Travel-Data-Activity-Flight-ICAO",
            "TIM": "#/components/schemas/Travel-Data-Activity-Flight-TIM",
            "TU-CHALMERS": "#/components/schemas/Travel-Data-Activity-Flight-TU-CHALMERS",
            "US-EPA": "#/components/schemas/Travel-Data-Activity-Flight-US-EPA"
          }
        },
        "anyOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight-ADEME"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight-BASE-EMPREINTE"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight-CO2-EMISSIEFACTOREN-NL"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight-DEFRA"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight-GATE4"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight-ICAO"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight-TIM"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight-TU-CHALMERS"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight-US-EPA"
          }
        ],
        "Travel-Data-Activity-Flight-Base": {
          "type": "object",
          "properties": {
            "start_date_utc": {
              "$ref": "#/components/schemas/iso_8601_date"
            },
            "end_date_utc": {
              "$ref": "#/components/schemas/iso_8601_date"
            },
            "airline_code": {
              "type": "string",
              "maxLength": 10
            },
            "airline_group": {
              "type": "string"
            },
            "airline_name": {
              "type": "string"
            },
            "flight_duration_in_minutes": {
              "type": "integer"
            },
            "flight_geo_scope_type": {
              "type": "string"
            },
            "flight_type": {
              "type": "string"
            },
            "traveler": {
              "$ref": "#/components/schemas/Travel-Data-Traveler"
            }
          }
        },
        "Travel-Data-Activity-Flight-ADEME": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Flight-Base"
            },
            {
              "$ref": "#/components/schemas/Flight-ADEME"
            }
          ]
        },
        "Travel-Data-Activity-Flight-BASE-EMPREINTE": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Flight-Base"
            },
            {
              "$ref": "#/components/schemas/Flight-BASE-EMPREINTE"
            }
          ]
        },
        "Travel-Data-Activity-Flight-CO2-EMISSIEFACTOREN-NL": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Flight-Base"
            },
            {
              "$ref": "#/components/schemas/Flight-CO2-EMISSIEFACTOREN-NL"
            }
          ]
        },
        "Travel-Data-Activity-Flight-DEFRA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Flight-Base"
            },
            {
              "$ref": "#/components/schemas/Flight-DEFRA"
            }
          ]
        },
        "Travel-Data-Activity-Flight-GATE4": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Flight-Base"
            },
            {
              "$ref": "#/components/schemas/Flight-GATE4"
            }
          ]
        },
        "Travel-Data-Activity-Flight-ICAO": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Flight-Base"
            },
            {
              "$ref": "#/components/schemas/Flight-ICAO"
            }
          ]
        },
        "Travel-Data-Activity-Flight-TIM": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Flight-Base"
            },
            {
              "$ref": "#/components/schemas/Flight-TIM"
            }
          ]
        },
        "Travel-Data-Activity-Flight-TU-CHALMERS": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Flight-Base"
            },
            {
              "$ref": "#/components/schemas/Flight-TU-CHALMERS"
            }
          ]
        },
        "Travel-Data-Activity-Flight-US-EPA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Flight-Base"
            },
            {
              "$ref": "#/components/schemas/Flight-US-EPA"
            }
          ]
        }
      },
      "Travel-Data-Activity-Hotel-Base": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the hotel. Supports better reporting drilldowns + supplier analytics."
          },
          "start_date_utc": {
            "$ref": "#/components/schemas/iso_8601_date"
          },
          "end_date_utc": {
            "$ref": "#/components/schemas/iso_8601_date"
          },
          "country_alpha2": {
            "type": "string",
            "title": "The two letter country code as defined in ISO 3166-1 alpha-2",
            "pattern": "^[A-Z]{2}$",
            "examples": [
              "FR",
              "DE",
              "GB"
            ]
          },
          "number_of_travelers": {
            "type": "integer",
            "minimum": 1,
            "examples": [
              1
            ]
          },
          "traveler": {
            "$ref": "#/components/schemas/Travel-Data-Traveler"
          }
        }
      },
      "Travel-Data-Activity-Hotel-DEFRA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Hotel-Base"
          },
          {
            "$ref": "#/components/schemas/Hotel-DEFRA"
          }
        ]
      },
      "Travel-Data-Activity-Hotel-HCMI": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Hotel-Base"
          },
          {
            "$ref": "#/components/schemas/Hotel-HCMI"
          }
        ]
      },
      "Travel-Data-Activity-Hotel-GREENVIEW": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Hotel-Base"
          },
          {
            "$ref": "#/components/schemas/Hotel-GREENVIEW"
          }
        ]
      },
      "Travel-Data-Activity-Hotel": {
        "title": "Hotel",
        "type": "object",
        "description": "Hotel activity payload for travel data ingestion.",
        "properties": {
          "type": {
            "type": "string",
            "const": "hotel"
          },
          "external_reference": {
            "type": "string",
            "description": "External reference for the activity. If provided, calculations with differing methodologies can be attached to this activity."
          },
          "methodology": {
            "type": "string"
          }
        },
        "discriminator": {
          "propertyName": "methodology",
          "mapping": {
            "DEFRA": "#/components/schemas/Travel-Data-Activity-Hotel-DEFRA",
            "HCMI": "#/components/schemas/Travel-Data-Activity-Hotel-HCMI",
            "GREENVIEW": "#/components/schemas/Travel-Data-Activity-Hotel-GREENVIEW"
          }
        },
        "anyOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Hotel-DEFRA"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Hotel-HCMI"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Hotel-GREENVIEW"
          }
        ],
        "Travel-Data-Activity-Hotel-Base": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "Name of the hotel. Supports better reporting drilldowns + supplier analytics."
            },
            "start_date_utc": {
              "$ref": "#/components/schemas/iso_8601_date"
            },
            "end_date_utc": {
              "$ref": "#/components/schemas/iso_8601_date"
            },
            "country_alpha2": {
              "type": "string",
              "title": "The two letter country code as defined in ISO 3166-1 alpha-2",
              "pattern": "^[A-Z]{2}$",
              "examples": [
                "FR",
                "DE",
                "GB"
              ]
            },
            "number_of_travelers": {
              "type": "integer",
              "minimum": 1,
              "examples": [
                1
              ]
            },
            "traveler": {
              "$ref": "#/components/schemas/Travel-Data-Traveler"
            }
          }
        },
        "Travel-Data-Activity-Hotel-DEFRA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Hotel-Base"
            },
            {
              "$ref": "#/components/schemas/Hotel-DEFRA"
            }
          ]
        },
        "Travel-Data-Activity-Hotel-HCMI": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Hotel-Base"
            },
            {
              "$ref": "#/components/schemas/Hotel-HCMI"
            }
          ]
        },
        "Travel-Data-Activity-Hotel-GREENVIEW": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Hotel-Base"
            },
            {
              "$ref": "#/components/schemas/Hotel-GREENVIEW"
            }
          ]
        }
      },
      "Travel-Data-Activity-Train-Base": {
        "type": "object",
        "properties": {
          "fare_class": {
            "type": "string",
            "description": "Fare class according to the methodology used, list of available fare classes per methodlogy can be found [here](https://docs-v2.squake.earth/docs/openapi/calculations/post-calculations)"
          },
          "start_date_utc": {
            "$ref": "#/components/schemas/iso_8601_date"
          },
          "end_date_utc": {
            "$ref": "#/components/schemas/iso_8601_date"
          },
          "traveler": {
            "$ref": "#/components/schemas/Travel-Data-Traveler"
          }
        }
      },
      "Travel-Data-Activity-Train-ADEME": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Train-Base"
          },
          {
            "$ref": "#/components/schemas/Train-ADEME"
          }
        ]
      },
      "Travel-Data-Activity-Train-BASE-EMPREINTE": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Train-Base"
          },
          {
            "$ref": "#/components/schemas/Train-BASE-EMPREINTE"
          }
        ]
      },
      "Travel-Data-Activity-Train-CO2-EMISSIEFACTOREN-NL": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Train-Base"
          },
          {
            "$ref": "#/components/schemas/Train-CO2-EMISSIEFACTOREN-NL"
          }
        ]
      },
      "Travel-Data-Activity-Train-DEFRA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Train-Base"
          },
          {
            "$ref": "#/components/schemas/Train-DEFRA"
          }
        ]
      },
      "Travel-Data-Activity-Train-GREEN-TRAVEL-PLEDGE": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Train-Base"
          },
          {
            "$ref": "#/components/schemas/Train-GREEN-TRAVEL-PLEDGE"
          }
        ]
      },
      "Travel-Data-Activity-Train-SQUAKE": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Train-Base"
          },
          {
            "$ref": "#/components/schemas/Train-SQUAKE"
          }
        ]
      },
      "Travel-Data-Activity-Train-US-EPA": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Train-Base"
          },
          {
            "$ref": "#/components/schemas/Train-US-EPA"
          }
        ]
      },
      "Travel-Data-Activity-Train": {
        "title": "Train",
        "type": "object",
        "description": "Train activity payload for travel data ingestion.",
        "properties": {
          "type": {
            "type": "string",
            "const": "train"
          },
          "external_reference": {
            "type": "string",
            "description": "External reference for the activity. If provided, calculations with differing methodologies can be attached to this activity."
          },
          "methodology": {
            "type": "string"
          }
        },
        "discriminator": {
          "propertyName": "methodology",
          "mapping": {
            "ADEME": "#/components/schemas/Travel-Data-Activity-Train-ADEME",
            "BASE-EMPREINTE": "#/components/schemas/Travel-Data-Activity-Train-BASE-EMPREINTE",
            "CO2-EMISSIEFACTOREN-NL": "#/components/schemas/Travel-Data-Activity-Train-CO2-EMISSIEFACTOREN-NL",
            "DEFRA": "#/components/schemas/Travel-Data-Activity-Train-DEFRA",
            "GREEN-TRAVEL-PLEDGE": "#/components/schemas/Travel-Data-Activity-Train-GREEN-TRAVEL-PLEDGE",
            "SQUAKE": "#/components/schemas/Travel-Data-Activity-Train-SQUAKE",
            "US-EPA": "#/components/schemas/Travel-Data-Activity-Train-US-EPA"
          }
        },
        "anyOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Train-ADEME"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Train-BASE-EMPREINTE"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Train-CO2-EMISSIEFACTOREN-NL"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Train-DEFRA"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Train-GREEN-TRAVEL-PLEDGE"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Train-SQUAKE"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Train-US-EPA"
          }
        ],
        "Travel-Data-Activity-Train-Base": {
          "type": "object",
          "properties": {
            "fare_class": {
              "type": "string",
              "description": "Fare class according to the methodology used, list of available fare classes per methodlogy can be found [here](https://docs-v2.squake.earth/docs/openapi/calculations/post-calculations)"
            },
            "start_date_utc": {
              "$ref": "#/components/schemas/iso_8601_date"
            },
            "end_date_utc": {
              "$ref": "#/components/schemas/iso_8601_date"
            },
            "traveler": {
              "$ref": "#/components/schemas/Travel-Data-Traveler"
            }
          }
        },
        "Travel-Data-Activity-Train-ADEME": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Train-Base"
            },
            {
              "$ref": "#/components/schemas/Train-ADEME"
            }
          ]
        },
        "Travel-Data-Activity-Train-BASE-EMPREINTE": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Train-Base"
            },
            {
              "$ref": "#/components/schemas/Train-BASE-EMPREINTE"
            }
          ]
        },
        "Travel-Data-Activity-Train-CO2-EMISSIEFACTOREN-NL": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Train-Base"
            },
            {
              "$ref": "#/components/schemas/Train-CO2-EMISSIEFACTOREN-NL"
            }
          ]
        },
        "Travel-Data-Activity-Train-DEFRA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Train-Base"
            },
            {
              "$ref": "#/components/schemas/Train-DEFRA"
            }
          ]
        },
        "Travel-Data-Activity-Train-GREEN-TRAVEL-PLEDGE": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Train-Base"
            },
            {
              "$ref": "#/components/schemas/Train-GREEN-TRAVEL-PLEDGE"
            }
          ]
        },
        "Travel-Data-Activity-Train-SQUAKE": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Train-Base"
            },
            {
              "$ref": "#/components/schemas/Train-SQUAKE"
            }
          ]
        },
        "Travel-Data-Activity-Train-US-EPA": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Travel-Data-Activity-Train-Base"
            },
            {
              "$ref": "#/components/schemas/Train-US-EPA"
            }
          ]
        }
      },
      "Travel-Data-Activity": {
        "title": "Travel-Data-Activity",
        "description": "Aggregated activity type for travel data ingestion.",
        "anyOf": [
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Car"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Flight"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Hotel"
          },
          {
            "$ref": "#/components/schemas/Travel-Data-Activity-Train"
          }
        ]
      },
      "Travel-Data-Cost-Center": {
        "title": "Travel-Data-Cost-Center",
        "type": "object",
        "description": "Cost center associated with a trip.",
        "properties": {
          "department": {
            "type": "string",
            "description": "Department associated with the cost center. This field is optional, but if provided will be avaialble as a filter option in the UI."
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "name": {
            "type": "string"
          },
          "purpose": {
            "type": "string"
          },
          "country_alpha2": {
            "type": "string",
            "pattern": "^[A-Z]{2}$",
            "examples": [
              "DE",
              "US",
              "JP"
            ]
          },
          "city": {
            "type": "string"
          },
          "business_unit": {
            "type": "string"
          }
        },
        "required": [
          "email",
          "name"
        ]
      },
      "Travel-Data-Trip": {
        "title": "Travel-Data-Trip",
        "type": "object",
        "description": "A trip containing one or more activities and optional cost center information.",
        "properties": {
          "audit_for": {
            "type": "string",
            "description": "UUID of the Auditable entity this trip is audited for."
          },
          "booking_id": {
            "type": "string"
          },
          "booking_provider": {
            "type": "string"
          },
          "currency": {
            "$ref": "#/components/schemas/currency"
          },
          "amount_in_cents": {
            "type": "integer"
          },
          "metadata": {
            "type": "object",
            "description": "Metadata associated with the trip, Key-Value pairs."
          },
          "start_date_utc": {
            "$ref": "#/components/schemas/iso_8601_date"
          },
          "end_date_utc": {
            "$ref": "#/components/schemas/iso_8601_date"
          },
          "external_source_id": {
            "type": "string",
            "description": "ID of the trip in the external system that created this trip."
          },
          "external_source": {
            "type": "string",
            "description": "Name of the external system that created this trip."
          },
          "external_created_at": {
            "$ref": "#/components/schemas/iso_8601_date"
          },
          "pnr": {
            "type": "string",
            "description": "Passenger Name Record, commonly used in flight bookings."
          },
          "trip_name": {
            "type": "string"
          },
          "trip_purpose": {
            "type": "string"
          },
          "trip_reference": {
            "type": "string",
            "description": "If given, this field must be unique. An API call with the same `trip_reference` will attach new activities to the existing trip instead of creating a new trip."
          },
          "trip_status": {
            "type": "string"
          },
          "project_reference": {
            "type": "string"
          },
          "activities": {
            "type": "array",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/Travel-Data-Activity"
            }
          },
          "cost_center": {
            "$ref": "#/components/schemas/Travel-Data-Cost-Center"
          }
        },
        "required": [
          "activities",
          "start_date_utc"
        ]
      },
      "AuditCalculation": {
        "type": "object",
        "description": "More details information like the distance and the emission factors used during the calculation. To have this feature enabled, please contact SQUAKE support",
        "properties": {
          "distance": {
            "type": "object",
            "description": "The distance used for the calculation.",
            "properties": {
              "corrected": {
                "type": "object",
                "properties": {
                  "distance": {
                    "type": "number"
                  },
                  "distance_unit": {
                    "$ref": "#/components/schemas/distance_unit"
                  }
                }
              },
              "original": {
                "type": "object",
                "properties": {
                  "distance": {
                    "type": "number"
                  },
                  "distance_unit": {
                    "$ref": "#/components/schemas/distance_unit"
                  }
                }
              }
            }
          },
          "emission_factors": {
            "type": "object",
            "description": "The emission factors used during the calculation. This object can contain various factors, which will differ from methodology to methodology."
          }
        }
      },
      "AuditMethodology": {
        "type": "object",
        "description": "Information about the methodology used for the calculation.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the methodology used for the calculation."
          },
          "version": {
            "type": "string",
            "description": "Version of the methodology used for the calculation."
          },
          "source": {
            "type": "string",
            "description": "URL linking to the official documentation or source of the methodology used in the calculation."
          }
        }
      },
      "Audit": {
        "type": "object",
        "description": "When Audit mode is enabled for a client, SQUAKE will generate audit logs if it's requested within the calculations request body. These logs are immutable; once they are created they cannot be altered—please use this feature only for final calculations.\n\nOperational notes:\n- Use **audit mode** whenever a calculation is for **past activity / post-booking (post-validated)** (e.g., ticketed & already-flown flights, completed stays/trips, historical backfills, invoice reconciliation/true-ups, corrections). These records are final and must be immutable.\n- **Audit mode must not be used for future-looking / pre-booking** or other non-final use cases (e.g., shopping/quotes, draft or tentative itineraries, forecasting/scenario planning, preliminary estimates, or POS value requests). These are expected to change.\n- **Post-booking (finalized) calculations MUST be performed with audit mode enabled.**\n- **Pre-booking (non-audit) calculated values must not be carried over into post-booking reporting**; after the activity is finalized, the calculation must be re-run with audit mode enabled.\n- Requests that handle **points-of-sale (POS) values** or other preview/estimation-only calls MUST be sent **without** audit mode.\n\nRule of thumb: **Past/post-validated = audit mode; Future/pre-booking = no audit mode**.",
        "examples": [
          {
            "id": "0194d6b4-8711-7873-899d-c8133cd742f8",
            "calculated_at": "2025-02-18T16:39:10Z",
            "request": {
              "type": "flight",
              "methodology": "ICAO",
              "origin": "SAF",
              "destination": "ATL"
            },
            "response": {
              "carbon_quantity": 302.75,
              "carbon_unit": "kilogram"
            },
            "calculation": {
              "distance": {
                "corrected": {
                  "distance": 3438,
                  "distance_unit": "kilometer"
                },
                "original": {
                  "distance": 3437.83,
                  "distance_unit": "kilometer"
                }
              },
              "emission_factors": {
                "co2_per_passenger": 0.5,
                "flight_type": "long_haul"
              }
            },
            "methodology": {
              "name": "ICAO",
              "version": "1.0",
              "source": "https://applications.icao.int/icec/Methodology%20ICAO%20Carbon%20Emissions%20Calculator_v13_Final.pdf"
            }
          }
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique identifier for the audit, represented as a universally unique identifier (UUID)",
            "format": "uuid"
          },
          "calculated_at": {
            "description": "The date of the calculation requested.",
            "format": "date-time",
            "type": "string",
            "example": "2025-02-18T16:39:10Z"
          },
          "request": {
            "type": "object",
            "description": "The item from the request body used for the calculation. The structure of this property may vary based on the parameters of the calculation request."
          },
          "response": {
            "type": "object",
            "description": "The calculation results provided in the response by SQUAKE."
          },
          "calculation": {
            "$ref": "#/components/schemas/AuditCalculation"
          },
          "methodology": {
            "$ref": "#/components/schemas/AuditMethodology"
          },
          "audit_for": {
            "type": "string",
            "description": "If you make a calculation on behalf of a specific legal entity, you can specify the ID of the auditable entity."
          }
        },
        "AuditCalculation": {
          "type": "object",
          "description": "More details information like the distance and the emission factors used during the calculation. To have this feature enabled, please contact SQUAKE support",
          "properties": {
            "distance": {
              "type": "object",
              "description": "The distance used for the calculation.",
              "properties": {
                "corrected": {
                  "type": "object",
                  "properties": {
                    "distance": {
                      "type": "number"
                    },
                    "distance_unit": {
                      "$ref": "#/components/schemas/distance_unit"
                    }
                  }
                },
                "original": {
                  "type": "object",
                  "properties": {
                    "distance": {
                      "type": "number"
                    },
                    "distance_unit": {
                      "$ref": "#/components/schemas/distance_unit"
                    }
                  }
                }
              }
            },
            "emission_factors": {
              "type": "object",
              "description": "The emission factors used during the calculation. This object can contain various factors, which will differ from methodology to methodology."
            }
          }
        },
        "AuditMethodology": {
          "type": "object",
          "description": "Information about the methodology used for the calculation.",
          "properties": {
            "name": {
              "type": "string",
              "description": "Name of the methodology used for the calculation."
            },
            "version": {
              "type": "string",
              "description": "Version of the methodology used for the calculation."
            },
            "source": {
              "type": "string",
              "description": "URL linking to the official documentation or source of the methodology used in the calculation."
            }
          }
        }
      },
      "AuditableEntityAddress": {
        "type": "object",
        "title": "Auditable entity address",
        "description": "Address of a legal entity. Some (legal) documets require a full address to be given, e.g. an invoice.",
        "properties": {
          "city": {
            "type": "string",
            "description": "City, town, village,..."
          },
          "line1": {
            "type": "string",
            "description": "Street name and number, P.O. box, c/o,..."
          },
          "line2": {
            "type": "string",
            "description": "Additional address information, e.g. building, floor, ..."
          },
          "email": {
            "type": "string",
            "description": "Email address associated with this address",
            "format": "email"
          },
          "country_alpha2": {
            "$ref": "#/components/schemas/country"
          },
          "state": {
            "type": "string",
            "description": "County, Province, Region, State,..."
          },
          "postal_code": {
            "type": "string",
            "description": "ZIP or postal code"
          }
        },
        "required": [
          "city",
          "country_alpha2",
          "line1",
          "postal_code"
        ]
      },
      "AuditableEntity": {
        "type": "object",
        "description": "Auditable entity represents a legal entity, which can be attached to an audit entry, so the user can provide detailed information.",
        "examples": [
          {
            "id": "0194d6b4-8711-7873-899d-c8133cd742f8",
            "legal_name": "Test Company Inc.",
            "email": "test@squake.earth",
            "vat_id": "DE123456789",
            "external_id": "external-id",
            "address": {
              "city": "Berlin",
              "line_1": "Street 1",
              "line_2": "Building A",
              "email": "test@squake.earth",
              "country_alpha2": "DE",
              "name_line_1": "Test Company Inc.",
              "name_line_2": "c/o John Doe",
              "state": "BE",
              "zip_code": "12345"
            }
          }
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique identifier for the audit entity record, represented as a universally unique identifier (UUID)",
            "format": "uuid"
          },
          "legal_name": {
            "type": "string",
            "description": "The legal name of the entity.",
            "example": "Test Company Inc."
          },
          "email": {
            "type": "string",
            "description": "The email address associated with the entity.",
            "format": "email"
          },
          "vat_id": {
            "type": "string",
            "description": "The VAT identification number of the entity.",
            "example": "DE123456789"
          },
          "external_id": {
            "type": "string",
            "description": "An external identifier for the entity, which can be used to link the entity to an external system or database.",
            "example": "external-id"
          },
          "address": {
            "$ref": "#/components/schemas/AuditableEntityAddress"
          }
        }
      },
      "AuditableEntityRequest": {
        "type": "object",
        "description": "Auditable entity represents a legal entity, which can be attached to an audit entry, so the user can provide detailed information.",
        "example": {
          "legal_name": "Test Company Inc.",
          "email": "test@squake.earth",
          "vat_id": "DE123456789",
          "external_id": "external-id",
          "address": {
            "city": "Berlin",
            "line1": "Street 1",
            "line2": "Building A",
            "email": "test@squake.earth",
            "country_alpha2": "DE",
            "state": "BE",
            "postal_code": "12345"
          }
        },
        "properties": {
          "legal_name": {
            "type": "string",
            "description": "The legal name of the entity.",
            "example": "Test Company Inc."
          },
          "email": {
            "type": "string",
            "description": "The email address associated with the entity.",
            "format": "email"
          },
          "vat_id": {
            "type": "string",
            "description": "The VAT identification number of the entity.",
            "example": "DE123456789"
          },
          "external_id": {
            "type": "string",
            "description": "An external identifier for the entity, which can be used to link the entity to an external system or database.",
            "example": "external-id"
          },
          "address": {
            "$ref": "#/components/schemas/AuditableEntityAddress"
          }
        }
      }
    },
    "examples": {
      "regular_calculation": {
        "summary": "Regular calculation",
        "value": {
          "carbon_quantity": 0.37,
          "carbon_unit": "tonne",
          "items": [
            {
              "carbon_quantity": 0.37,
              "carbon_unit": "tonne",
              "type": "flight",
              "methodology": "DEFRA",
              "external_reference": "string"
            }
          ]
        }
      },
      "calculation_with_audit": {
        "summary": "Calculation with Audit mode",
        "value": {
          "carbon_quantity": 0.37,
          "carbon_unit": "tonne",
          "items": [
            {
              "carbon_quantity": 0.37,
              "carbon_unit": "tonne",
              "type": "flight",
              "methodology": "DEFRA",
              "external_reference": "string",
              "audit_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"
            }
          ]
        }
      }
    }
  }
}