Business Days of Transit

Optionally provide a value for expected business days of transit in your calls to Shipium's APIs.

About business days of transit

When you make a call to Shipium's Carrier Selection service (whether getting a label or not), you can optionally provide a Business Days of Transit value in the API call. The businessDaysOfTransit is part of the shipmentParameters field. It takes an integer number of days as its value. Based on that value, it chooses a carrier and ship method that will hit a date calculated based on operating days for the fulfillment center (FC), also referred to as an origin in the Shipium platform, from which it is shipping. The logic is roughly as follows.

Given a businessDaysOfTransit value of {BD} days:

  1. Check the shippedDateTime against the days of week that your origin ships.
    1. This can be found in Configuration / Schedules configured for an origin in Configuration / Origins under the Shipping Days values.
  2. Check the shippedDateTime against the shipment cutoff time for your FC.
    1. This can be found in Configuration / Schedules configured for an origin in Configuration / Origins under the Cutoff Time values.
  3. If the shippedDateTime is after the cutoff time or the date is a day that is not configured for shipping, then the effective ship date moves to the next business day. This is the first day after the shippedDateTime that is a day of week that the origin is configured to ship.
  4. From this date, add on {BD} business days, skipping over any non-business days to arrive at a delivery date.
  5. Select the least expensive carrier and ship method that is capable of hitting that delivery date based on the properties of the shipment, the origin address, and the destination address.

Business days of transit code sample

This example shows how to handle Business Days of Transit in API calls.

The following can be added to the shipment parameters when creating a shipment with ShipmentParameters or to the Carrier and Method Selection with Label Single Call (megamethod) request within the shipment parameters: MegaShipmentProcessCreate.shipmentParameters.


	"businessDaysOfTransit": 2

Business days of transit examples

Example 1: Monday shipment, before cutoff time, {BD} of 2 days

Example 1 inputs

Example 1 considers the following scenario:

  • The origin in question is configured with the following Shipping Days:
    • Monday, Tuesday, Wednesday, Thursday, and Friday
  • The shipment is being shipped on Monday, January 3, 2022.
  • The shipment is being shipped before the shipment cutoff time that has been configured for the origin in question.
    • The origin is being modeled in this case as an FC on the west coast of the United States.
  • The shipment is being passed a "businessDaysOfTransit" value of 2.
{
  ...
  ...
  "shippedDateTime": "2022-01-03T06:30:00-07:00",
  "businessDaysOfTransit": 2
  ...
  ...
}

Example 1 output

In this case, the date that Shipium will attempt to hit is calculated as follows:

  • Effective Ship Date: 2022-01-03 (Monday)
  • 2022-01-03 + 2 business days of transit == 2022-01-05 (Wednesday)

Example 2: Monday shipment, after cutoff time, {BD} of 2 days

Example 2 inputs

Example 2 considers the following scenario:

  • The origin in question is configured with the following Shipping Days:
    • Monday, Tuesday, Wednesday, Thursday, and Friday
  • The shipment is being shipped on Monday, January 3, 2022.
  • The shipment is being shipped after the shipment cutoff time that has been configured for the origin in question.
    • The origin is being modeled in this case as an FC on the west coast of the United States.
  • The shipment is being passed a "businessDaysOfTransit" value of 2.
{
  ...
  ...
  "shippedDateTime": "2022-01-03T21:00:00-21:00",
  "businessDaysOfTransit": 2
  ...
  ...
}

Example 2 output

In this case, the date that Shipium will attempt to hit is calculated as follows:

  • Effective Ship Date: 2022-01-04 (Tuesday)
  • 2022-01-04 + 2 business days of transit == 2022-01-06 (Thursday)

Example 3: Wednesday shipment, before cutoff time, {BD} of 2 days

Example 3 inputs

Example 3 considers the following scenario:

  • The origin in question is configured with the following Shipping Days:
    • Monday, Tuesday, Wednesday, Thursday, and Friday
  • The shipment is being shipped on Wednesday, January 5, 2022.
  • The shipment is being shipped before the shipment cutoff time that has been configured for the origin in question.
    • The origin is being modeled in this case as an FC on the west coast of the United States.
  • The shipment is being passed a "businessDaysOfTransit" value of 2.
{
  ...
  ...
  "shippedDateTime": "2022-01-05T06:30:00-07:00",
  "businessDaysOfTransit": 2
  ...
  ...
}

Example 3 output

In this case, the date that Shipium will attempt to hit is calculated as follows:

  • Effective Ship Date: 2022-01-05 (Wednesday)
  • 2022-01-05 + 2 business days of transit == 2022-01-07 (Friday)

Example 4: Wednesday shipment, after cutoff time, {BD} of 2 days

Example 4 inputs

Example 4 considers the following scenario:

  • The origin in question is configured with the following Shipping Days:
    • Monday, Tuesday, Wednesday, Thursday, and Friday
  • The shipment is being shipped on Wednesday, January 5, 2022.
  • The shipment is being shipped after the shipment cutoff time that has been configured for the origin in question.
    • The origin is being modeled in this case as an FC on the west coast of the United States.
  • The shipment is being passed a "businessDaysOfTransit" value of 2.
{
  ...
  ...
  "shippedDateTime": "2022-01-05T21:00:00-21:00",
  "businessDaysOfTransit": 2
  ...
  ...
}

Example 4 output

In this case, the date that Shipium will attempt to hit is calculated as follows:

  • Effective Ship Date: 2022-01-06 (Thursday)
  • 2022-01-06 + 2 business days of transit == 2022-01-10 (Monday)
    • The "natural" landing of 2 days of transit would be Saturday, but it is not considered a business day for delivery purposes and thus moves to Monday.

Example 5: Saturday or Sunday shipment, before cutoff time, {BD} of 2 days

Example 5 inputs

Example 5 considers the following scenario:

  • The origin in question is configured with the following Shipping Days:
    • Monday, Tuesday, Wednesday, Thursday, and Friday
  • The shipment is being shipped on Saturday, January 8, 2022, OR on Sunday, January 9, 2022. (The code sample uses Saturday, but all work the same way. Friday, January 7, after the shipment cutoff time would work the same.)
  • The shipment is being shipped before the shipment cutoff time that has been configured for the origin in question.
    • The origin is being modeled in this case as an FC on the west coast of the United States.
  • The shipment is being passed a "businessDaysOfTransit" value of 2.
{
  ...
  ...
  "shippedDateTime": "2022-01-08T06:30:00-07:00",
  "businessDaysOfTransit": 2
  ...
  ...
}

Example 5 output

In either the Saturday or the Sunday case, the date that Shipium will attempt to hit is calculated as follows:

  • Effective Ship Date: 2022-01-10 (Monday)
    • Regardless of whether the shipment was created on Saturday or Sunday, the effective ship date becomes Monday since it is the first configured Shipping Day after either Saturday or Sunday.
  • 2022-01-10 + 2 business days of transit == 2022-01-12 (Wednesday)

What’s Next

Closely related to Business Days of Transit are the other mechanisms for determining a time frame for shipping, Ship Option and Desired Delivery Date.