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 and Method 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. Business days refers to Monday through Friday weekdays and does not include holidays. 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 & Shipment Labels 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)

Non-business day handling

The BDOT calculation skips non-business days when determining the target delivery date. Understanding what qualifies as a non-business day — and how holidays factor in — helps you predict how BDOT will behave for your shipments.

How BDOT calculates the delivery date

When you provide a businessDaysOfTransit value, Shipium converts it to a desired delivery date (DDD) internally. This conversion considers:

  • Weekends. Saturdays and Sundays are always considered non-business days for transit purposes and are skipped when counting business days.
  • Country-observed holidays. The BDOT-to-DDD conversion uses nationally observed holidays for the origin's country (such as Independence Day, Thanksgiving, and Christmas in the United States). These holidays are skipped when counting business days.

Business days for BDOT are always Monday through Friday, excluding country-observed holidays. This is because carriers typically move parcels every weekday, regardless of your fulfillment center's operating schedule.

📘

Origin schedule affects when transit begins, not how business days are counted

Your origin's configured Shipping Days determine when the shipment leaves your warehouse (Day 0), but they do not change what counts as a business day during transit. For example, if your origin ships on Saturdays and you ship a package on Saturday, Saturday is Day 0. However, Saturday and Sunday are still skipped when counting business days of transit — Day 1 would be Monday.

Country holidays vs. carrier holidays

Once Shipium converts your BDOT value to a target delivery date, it evaluates available carrier service methods to find options that can meet that date. During this evaluation, carrier-specific holidays affect each service method's estimated delivery date.

This creates an important distinction:

  • Country-observed holidays determine the target delivery date calculated from your BDOT value.
  • Carrier-observed holidays determine whether individual service methods can meet that target date.

Because carriers may observe different holidays than the national calendar, a service method's effective delivery date might differ from the BDOT-calculated target. Shipium prioritizes service methods that can meet the target delivery date based on their own holiday schedules.

🚧

Common misconception

Carrier holidays are not used in the BDOT-to-delivery-date calculation. If a carrier observes a holiday that is not a nationally observed holiday, the BDOT calculation does not account for it. The carrier holiday only affects whether that carrier's service methods can meet the calculated delivery date.

Using BDOT with desiredDeliveryDate

You cannot use businessDaysOfTransit and desiredDeliveryDate in the same API request. These parameters represent two different approaches to targeting a delivery date:

  • businessDaysOfTransit. Calculates the target delivery date by adding a specified number of business days to the effective ship date using country-observed holidays.
  • desiredDeliveryDate. Specifies an explicit target delivery date.

If you include both parameters in a request, the API returns a validation error. Choose one approach based on your use case.

Example 6: Shipment spanning a country-observed holiday, {BD} of 2 days

Example 6 inputs

Example 6 considers the following scenario:

  • The origin in question is configured with the following Shipping Days:
  • Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday
  • Thursday, July 4, 2024 (Independence Day) is a nationally observed holiday in the United States.
  • The shipment is being shipped on Wednesday, July 3, 2024.
  • The shipment is being shipped before the shipment cutoff time that has been configured for the origin in question.
  • The shipment is being passed a "businessDaysOfTransit" value of 2.
{
  ...
  ...
  "shippedDateTime": "2024-07-03T10:00:00-07:00",
  "businessDaysOfTransit": 2
  ...
  ...
}

Example 6 output

In this case, the target delivery date is calculated as follows:

  • Effective Ship Date: 2024-07-03 (Wednesday)
  • 2024-07-03 + 2 business days of transit == 2024-07-08 (Monday)
    • Thursday, July 4, is skipped because it is a country-observed holiday.
    • Saturday, July 5, and Sunday, July 6, are skipped because weekends are never counted as business days for transit, even though this origin is configured to ship on Saturdays.
    • Friday, July 5, is the first business day (day 1), and Monday, July 8, is the second business day (day 2).

Shipium then evaluates available service methods to find carriers that can deliver by Monday, July 8, factoring in each carrier's own holiday schedule.

Holidays by origin country

Shipium excludes nationally recognized holidays from business day calculations. The following holidays apply based on your origin country.

📘

Individual carriers may observe additional holidays beyond those listed here, which can affect business day calculations for specific carriers or service methods.

United States

  • New Year's Day
  • Martin Luther King Jr. Day
  • Presidents' Day
  • Memorial Day
  • Juneteenth
  • Independence Day
  • Labor Day
  • Columbus Day
  • Veterans Day
  • Thanksgiving Day
  • Christmas Day

Canada

  • New Year's Day
  • Good Friday
  • Victoria Day
  • Canada Day
  • Labour Day
  • Thanksgiving Day
  • Remembrance Day
  • Christmas Day
  • Boxing Day
📘

Canadian provinces may observe additional regional holidays. Contact your Shipium representative for region-specific configurations.

Mexico

  • New Year's Day
  • Constitution Day
  • Benito Juárez's Birthday
  • Labour Day
  • Independence Day
  • Revolution Day
  • Christmas Day

Resources

Your Shipium team member is available to help along the way. However, you might find these resources helpful:


What’s Next

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