# About weekend and holiday delivery

Shipium provides several settings that control weekend delivery behavior. Some of these are parameters you pass in your API requests, while others are your organization's configurations managed by your Shipium team members. Understanding how these settings interact is essential for accurate carrier selection and delivery date predictions.

Along with weekend schedules, carrier-observed holidays will impact transit times. This document includes information about both weekend and holiday delivery.

# Request-level parameters

These parameters are included in your API requests and can vary per shipment.

## saturdayDelivery flag

The `saturdayDelivery` flag controls whether service methods are filtered based on their Saturday delivery capability.

- **saturdayDelivery: false (default).** No filtering occurs based on Saturday delivery capability. Service methods are evaluated normally, and if a service method's estimated delivery date lands on a Saturday, Shipium will pass the appropriate Saturday delivery indicator to the carrier.
- **saturdayDelivery: true.** This flag filters out all service methods that cannot deliver on Saturday, regardless of your desired delivery date. Only service methods with Saturday delivery capability remain in the selection pool.

> ### Use saturdayDelivery flag with caution
> Setting `saturdayDelivery: true` is a very constraining filter that significantly limits your carrier options. It excludes service methods that might deliver earlier than Saturday (such as Friday) simply because they don't support Saturday delivery. This can result in unexpected carrier selection or higher costs. Only use this flag when Saturday delivery capability is an absolute requirement.
> **Example of unintended consequences.** A customer sets `saturdayDelivery: true` with a Wednesday desired delivery date (DDD). A ground service that would deliver on Friday gets filtered out because it doesn't support Saturday delivery, even though Friday is before the DDD. The system then selects a more expensive service unnecessarily.

You can find more information about Saturday delivery in [Special Processing Properties](https://docs.shipium.com/docs/shipment-special-processing-properties).

## desiredDeliveryDate (DDD)

The `desiredDeliveryDate` is the date you would like the shipment delivered. Shipium selects the carrier service that best meets this date target.

- **When DDD falls on a Saturday.** Shipium evaluates service methods to find the best option to meet your Saturday target. If a service method's estimated delivery date lands on Saturday and that service charges a Saturday delivery fee, the system will consider that option and pass the Saturday delivery indicator to the carrier.
- **When DDD falls on a Sunday.** Similar behavior applies for Sunday delivery targets. _Key distinction._ The DDD is a target date that influences carrier selection optimization, not a hard filter on service capabilities. If your DDD is Saturday but a service method would deliver on Friday (before your target), that service method remains eligible for selection.

### How saturdayDelivery and DDD work together

The following scenarios illustrate the interaction:

**Scenario A: DDD on Saturday, saturdayDelivery: false**

- Service methods are NOT filtered based on Saturday capability.
- Shipium evaluates all eligible services to meet the Saturday target.
- If a service's EDD lands on Saturday and requires a fee, the system passes the Saturday indicator to the carrier.
- Services that deliver before Saturday (e.g., Friday) remain eligible.

**Scenario B: DDD on Saturday, saturdayDelivery: true**

- Service methods that cannot deliver on Saturday are filtered out entirely.
- Only Saturday-capable services are considered.
- This may exclude services that could deliver earlier (Friday) at lower cost.
- Use only when Saturday delivery capability is mandatory.

**Scenario C: DDD on Wednesday, saturdayDelivery: true**

- Service methods that cannot deliver on Saturday are still filtered out.
- Even though your target is Wednesday, non-Saturday-capable services are excluded.
- This is rarely the desired behavior—consider whether you actually need this flag.

You can find more information about the desired delivery date in [Desired, Exact, & Guaranteed Delivery Dates](https://docs.shipium.com/docs/desired-and-exact-delivery-dates).

## sundayDelivery Flag

Similar to `saturdayDelivery`, this flag filters service methods based on Sunday delivery capability. Currently, Sunday delivery support varies significantly by carrier and geographic region. The same caution applies: setting this to `true` is a constraining filter.

# Account settings configuration

These settings are configured at your account level by your Shipium Implementation or Customer Success team member. They apply to all shipments for your account.

## weekendsConsiderTransitDays

This setting determines whether weekends are counted as transit days when calculating the estimated delivery date (EDD).

- **When set to false (default).** Weekends are not counted as transit days. For example, if a shipment has a time-in-transit (TNT) of 2 days and is shipped on a Friday, the EDD will be Tuesday.
- **When set to true.** Weekends are counted as transit days. For example, if a shipment has a TNT of 2 days and is shipped on a Friday, the EDD will be Sunday.

If you need to change this setting to match your operational requirements, contact your Shipium Implementation or Customer Success representative.

# Interaction scenarios

Here are common scenarios that illustrate how these settings work in practice.

## Scenario 1: DDD on Saturday, saturdayDelivery false, weekendsConsiderTransitDays false

**Behavior.** The system evaluates all eligible service methods to meet the Saturday target. No filtering occurs based on Saturday capability. If a service's EDD lands on Saturday, the Saturday delivery indicator is passed to the carrier.

**Example.** You ship on Thursday with a DDD of Saturday. A 2-day ground service would deliver Saturday. A 1-day express service would deliver Friday. Both are considered. The system selects based on cost optimization and your carrier selection rules.

## Scenario 2: DDD on Saturday, saturdayDelivery true, weekendsConsiderTransitDays false

**Behavior.** The system filters out all service methods that cannot deliver on Saturday, then evaluates remaining options.

**Example.** You ship on Thursday with a DDD of Saturday. A 1-day express service that delivers Friday but doesn't support Saturday delivery is filtered out entirely. Only services with Saturday delivery capability are considered, potentially resulting in higher costs.

## Scenario 3: DDD on Tuesday, weekendsConsiderTransitDays false

**Behavior.** The system calculates EDDs without counting weekends as transit days.

**Example.** A shipment with a 3-day TNT shipped on Friday has an EDD of Wednesday.

## Scenario 4: DDD on Tuesday, weekendsConsiderTransitDays true

**Behavior.** The system calculates EDDs counting weekends as transit days.

**Example.** A shipment with a 3-day TNT shipped on Friday has an EDD of Monday.

# Importance of accurate shippedDateTime

The `shippedDateTime` you provide in your API requests directly influences the accuracy of Shipium's transit time predictions.

## How Shipium processes shippedDateTime

When you provide a `shippedDateTime`, Shipium calculates an effective ship date based on carrier cutoffs and schedules. This ensures transit time predictions account for when the carrier will actually pick up the package.

**Carrier cutoffs.** If you provide a `shippedDateTime` that falls after the carrier's pickup cutoff time, Shipium automatically advances the effective ship date to the next eligible pickup date.

## Why accuracy still matters

Even with these automatic adjustments, providing an accurate `shippedDateTime` remains critical. Shipium uses historical shipment data to train its transit time prediction models. If the `shippedDateTime` you provide is consistently earlier than needed due to internal processing delays, the system observes longer apparent transit times.

## Best practices

To get the most accurate time-in-transit (TNT) predictions:

- **Align `shippedDateTime` with when packages are actually ready.** 
- **Use `additionalDaysToProcess` if needed.** 
- **Account for carrier cutoffs.**

# Carrier holidays

In addition to weekend considerations, carrier holidays affect delivery timing. Major carriers observe holidays throughout the year when pickup and delivery services are not available.

## How holidays affect transit time

When a carrier holiday falls within a shipment's transit window, Shipium automatically accounts for this in delivery date calculations.

## Peak season considerations

During peak shipping seasons, carriers may have extended transit times due to volume. If you have questions about how specific carrier holidays affect your shipments, contact your Customer Success representative for guidance.

# Common issues and solutions

## Issue: Overly restrictive carrier selection

**Symptom.** Fewer carrier options than expected.

**Likely cause.** You're passing `saturdayDelivery: true` when you don't actually need to filter for Saturday capability.

**Solution.** Remove the `saturdayDelivery: true` flag unless Saturday delivery capability is an absolute requirement.

## Issue: Unexpected Saturday fees

**Symptom.** Shipments incur Saturday delivery fees when you didn't expect them.

**Likely cause.** Your DDD falls on a Saturday.

**Solution.** Set your DDD to Friday or Monday to avoid Saturday target dates.

## Issue: EDD later than expected

**Symptom.** A 2-day service shipped on Friday shows an EDD of Tuesday instead of Sunday.

**Likely cause.** Your account's `weekendsConsiderTransitDays` setting is false (the default).

**Solution.** If your carriers actually move packages over the weekend, consider adjusting this setting.

## Issue: Transit times seem too conservative

**Symptom.** Short-distance shipments receive 2-day or 3-day TNT predictions when you expect 1-day delivery.

**Likely cause.** Historical patterns show packages shipping later than the `shippedDateTime` provided.

**Solution.** Audit your `shippedDateTime` accuracy.

# Alternative approach: Business Days of Transit

If you want Shipium to calculate a delivery target based on a number of business days rather than specifying an explicit date, you can use the `businessDaysOfTransit` parameter instead of `desiredDeliveryDate`.

## BDOT and desiredDeliveryDate are mutually exclusive

You cannot use both parameters in the same request. Choose `desiredDeliveryDate` for a specific date, or `businessDaysOfTransit` for business days from shipment.
