FAF Profiles
FAF profiles hold the percentage-based freight rules used by the warehouse when calculating freight as a fee. They are used to standardise pricing across a set of carrier and default arrangements without hard-coding rate values into every charge.
These endpoints are primarily used by users to fetch the available FAF profiles and review rate details before selecting a profile for an ad hoc charge. In practice, this means a user can list the active profiles, inspect the relevant percentage schedule, and then apply that FAF profile logic when creating a charge.
What a FAF profile contains
A FAF profile is a named set of percentage rules with a lifecycle status:
| Property | Type | Description |
|---|---|---|
Id |
uuid | Unique profile identifier |
Name |
string | Human-readable profile name |
Status |
integer | 1 = Active, 2 = Inactive |
Rate schedule model
Each profile can have one default rate and zero or more carrier-specific override rates:
| Property | Type | Description |
|---|---|---|
Carrier |
object | Carrier the rate applies to; omitted for the default rule |
IsDefault |
boolean | Indicates whether the row is the general default |
FafPercent |
decimal | FAF percentage, stored as a decimal fraction; for example, 0.125 represents 12.5% |
EffectiveFromUtc |
datetime | The UTC date and time from which the rate is active |
IsExpired |
boolean | Whether the row has expired |
This lets the system resolve the most appropriate FAF percentage for a given carrier and date, while still supporting a standard fallback profile rate.
Important: A specific carrier override takes precedence over the default profile rate when the effective date matches and the carrier is applicable.
Typical use cases
- Define a standard inland freight profile for domestic shipments.
- Maintain a separate profile for urgent freight or restricted carriers.
- Resolve FAF values in rate cards or charge calculations without changing the overall pricing workflow.
Integration guidance
Use the profile list endpoint to discover available names and status values before calling the rate endpoint. Use the rates endpoint when you need to inspect the effective schedule, such as when validating a carrier override or reconciling a pricing configuration.