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:
- Check the
shippedDateTimeagainst the days of week that your origin ships.- This can be found in
Configuration / Schedulesconfigured for an origin inConfiguration / Originsunder theShipping Daysvalues.
- This can be found in
- Check the
shippedDateTimeagainst the shipment cutoff time for your FC.- This can be found in
Configuration / Schedulesconfigured for an origin inConfiguration / Originsunder theCutoff Timevalues.
- This can be found in
- If the
shippedDateTimeis 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 theshippedDateTimethat is a day of week that the origin is configured to ship. - From this date, add on {BD} business days, skipping over any non-business days to arrive at a delivery date.
- 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
{BD} of 2 daysExample 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 of2.
{
...
...
"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
{BD} of 2 daysExample 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 of2.
{
...
...
"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
{BD} of 2 daysExample 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 of2.
{
...
...
"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
{BD} of 2 daysExample 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 of2.
{
...
...
"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
{BD} of 2 daysExample 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 of2.
{
...
...
"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 Dayafter either Saturday or Sunday.
- Regardless of whether the shipment was created on Saturday or Sunday, the effective ship date becomes Monday since it is the first configured
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 countedYour 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 misconceptionCarrier 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
{BD} of 2 daysExample 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 of2.
{
...
...
"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:
Updated 7 days ago
Closely related to Business Days of Transit are the other mechanisms for determining a time frame for shipping, Ship Options and Desired Delivery Date.
