Skip to main content

ShippingMethod

ShippingMethod

A ShippingMethod is used to apply a shipping price to an Order. It is composed of a ShippingEligibilityChecker and a ShippingCalculator. For a given Order, the checker is used to determine whether this ShippingMethod can be used. If yes, then the ShippingMethod can be applied and the calculator is used to determine the price of shipping.

Signature
class ShippingMethod extends VendureEntity implements ChannelAware, SoftDeletable, HasCustomFields, Translatable {
constructor(input?: DeepPartial<ShippingMethod>)
@Column({ type: Date, nullable: true })
deletedAt: Date | null;
@Column() code: string;
name: LocaleString;
description: LocaleString;
@Column('simple-json') checker: ConfigurableOperation;
@Column('simple-json') calculator: ConfigurableOperation;
@Column()
fulfillmentHandlerCode: string;
@ManyToMany(type => Channel, channel => channel.shippingMethods)
@JoinTable()
channels: Channel[];
@OneToMany(type => ShippingMethodTranslation, translation => translation.base, { eager: true })
translations: Array<Translation<ShippingMethod>>;
@Column(type => CustomShippingMethodFields)
customFields: CustomShippingMethodFields;
apply(ctx: RequestContext, order: Order) => Promise<ShippingCalculationResult | undefined>;
test(ctx: RequestContext, order: Order) => Promise<boolean>;
}

constructor

method
(input?: DeepPartial<ShippingMethod>) => ShippingMethod

deletedAt

property
Date | null

code

property
string

name

property
LocaleString

description

property
LocaleString

checker

property
ConfigurableOperation

calculator

property
ConfigurableOperation

fulfillmentHandlerCode

property
string

channels

property

translations

property
Array<Translation<ShippingMethod>>

customFields

property
CustomShippingMethodFields

apply

method
(ctx: RequestContext, order: Order) => Promise<ShippingCalculationResult | undefined>

test

method
(ctx: RequestContext, order: Order) => Promise<boolean>