improved

Cycle C13 updates, Q1 2024

Hey there 👋, fellow developers! Welcome to our latest release notes. We're excited to share with you all the new features and enhancements we've been working on. Let's dive in!

✨ New & Improved

New fuels ⛽ available in our CO2 Road and Shipment API ✅

We're happy to communicate the addition of new fuels to the family for road transportation:

  • HVO (hydrotreated vegetable oil) is a diesel-like fuel that can be produced without fossil resources by processing renewable waste lipids, making it a sustainable and low-carbon alternative for use in transportation and logistics.
  • LNG (liquefied natural gas) and CNG (compressed natural gas) are now available worldwide too.

:computer: Planning dashboard

At Searoutes, we're dedicated to simplifying emissions reporting and green shipping solutions. In our latest update, we've introduced two key dashboards:

  • Reporting Dashboard: gain insights into CO₂e emissions across all transport modes.
  • Planning Dashboard: let us assist you with your carbon reduction strategy during tender season. This tool helps you explore optimal maritime carrier options, and make data-driven decisions for greenest allocation choices.

During this cycle, we've worked hard on enhancing the Planning dashboard's data, design, and user experience to provide you with the ideal tool to navigate tender season and select the greenest carrier routes.

Interested in this new feature? Get in touch with us to let us know your interest !

🛠 Fixes & Updates.

:mag: Enhancing location search precision in the Shipment and Geocoding APIs.

If you're a user of the Shipment API, you must have noticed the flexibility it offers with the location input. As a matter of fact, you can input locations in various ways - using names, codes, or even zipcodes. However, this flexibility comes with a downside.

The problem is that when you have multiple ways to input locations, it becomes a bit of a guessing game. You might provide a location name, but the API could interpret it as something else and somewhere else, leading to incorrect results.

For instance, you enter "Cordoba," hoping to get Cordoba in Argentina, but instead the API could think it's about the city in Mexico or Colombia.

:arrow-right: Shipment API - location search rules

To address these issues, we have improved the Shipment API by implementing logical rules to refine location searches and ensure more accurate results.
Whenever a location search is done, it's ruled by the mode of transport.

  • for sea and inland waterways: we'll narrow the search down to ports as location type, and assume first that it's a locode whenever the location string is given in 5 letters.
  • for air: we'll narrow the search down to airports as location type, and assume first that it's a IATA code whenever the location string is given in 3 letters.
  • for rail and road: we'll respectively narrow the search down to rail terminals and road terminals as location types.

As an example: for an air leg, instead of guessing Madang in Indonesia for an input of "MAD", the Shipment API we'll assume this is about the IATA code "MAD" which is the code for Madrid Airport.

:arrow-right: Geocoding API - exact match search fields added

Because not all locations can be rightly guess with a good set of rules, we also worked on the quality of our Geocoding API. We expanded our fields possibilities:

  • Already available: the query field, designed for you to pass a full or partial string, and a full text search will be run. Exact match results will now be prioritized. If you pass a locationTypes, the search will be narrowed down to it.
  • New: you can now also use directly the following fields for to run an exact match search: locode, iataCode, postalCode.
  • Additional fields available to limit the above searches: countryCodes and excludeCountryCodes.

Let's have a look at the previous examples given. Here is how the search would go:

  • To search for Cordoba town in Argentina:query= Cordoba; countryCodes= AR; and eventually locationTypes = roadTerminal (see below).
curl --request GET \
     --url 'https://api.searoutes.com/geocoding/v2/all?query=Cordoba&locationTypes=roadTerminal&countryCodes=AR' \
     --header 'accept: application/json' \
     --header 'x-api-key: <YOUR_API_KEY>'
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "locationType": "roadTerminal",
        "name": "Córdoba",
        "locode": "ARCOR",
        "country": "AR",
        "countryCode": "AR",
        "countryName": "Argentina",
        "subdivisionCode": "X",
        "subdivisionName": "Córdoba"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -64.18333333333334,
          -31.4
        ]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "locationType": "roadTerminal",
        "name": "Caleta Córdoba",
        "locode": "ARCLC",
        "country": "AR",
        "countryCode": "AR",
        "countryName": "Argentina",
        "subdivisionCode": "X",
        "subdivisionName": "Córdoba"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -67.3688967559861,
          -45.7501549409567
        ]
      }
    }
  ],
  "properties": null
}
  • To search for Madrid airport in Spain, two possibilities:
    • The old way: query = MAD; locationTypes = airport; countryCodes: ES
    • The new and simpler way: iataCode= MAD (see below).
curl --request GET \
     --url 'https://api.searoutes.com/geocoding/v2/all?iataCode=MAD' \
     --header 'accept: application/json' \
     --header 'x-api-key: <YOUR_API_KEY>'
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "locationType": "airport",
        "name": "Adolfo Suárez Madrid–Barajas Airport",
        "locode": "ESMAD",
        "iataCode": "MAD",
        "city": "Madrid",
        "country": "ES",
        "countryCode": "ES",
        "countryName": "Spain",
        "size": "large"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -3.56264,
          40.471926
        ]
      }
    }
  ],
  "properties": null
}
  • Last but not least, we also said that exact match results are now prioritized when doing a search via the query field. Before, when passing Gent, we would get Gent as a result, but also Gentbrugges which was coming up first.
curl --request GET \
     --url 'https://api.searoutes.com/geocoding/v2/all?iataCode=MAD' \
     --header 'accept: application/json' \
     --header 'x-api-key: <YOUR_API_KEY>'
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "locationType": "airport",
        "name": "Adolfo Suárez Madrid–Barajas Airport",
        "locode": "ESMAD",
        "iataCode": "MAD",
        "city": "Madrid",
        "country": "ES",
        "countryCode": "ES",
        "countryName": "Spain",
        "size": "large"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -3.56264,
          40.471926
        ]
      }
    }
  ],
  "properties": null
}

:mag: These improvements are aimed at making location searches more precise, reliable, and simple, ultimately enhancing your user experience and facilitating accurate reporting.

👀 Preview of next Cycle C14

For the upcoming cycle, we will be focusing on

  • A new solution based on dashboard visualisation, helping you acknowledge the cost savings induced by applying the greenest strategies on the maritime part of your shipments.
  • Enhancing the CO₂e emissions calculation for road transportation powered by electricity.
  • Refining our API contracts and workflow to ensure seamless integration and an enhanced user experience.

And there's more to come. Stay tuned for exciting developments and progress in our mission to reduce carbon footprint in shipping. :rocket:

📘

You just read our Product Update 👏

We'd love to hear what you think about these updates. Send us your feedback at [email protected]!