Skip to content
DMN templates

DMN — Shipping Band by Weight and Destination

Two enumerated columns and one numeric one, covered completely. The pattern worth learning is the declared domain: weight is bounded [0..30] and destination is enumerated, so 'complete' means something — without the declaration the checker could only say it did not know.

Template previewDMN
Parcel shipping bandParcelShipping bandinformation requirementShipping band — UniqueUWeight[0..30]Zone{ Domestic, EU, World }Band{ Letter, Small, Standard, Freight }R1[0..2]DomesticLetterR2[0..2]EU, WorldSmallR3(2..10]Domestic, EUStandardR4(2..10]WorldFreightR5(10..30]Domestic, EU, WorldFreightNo overlaps and no gaps over the declared input space · 1 decision · 1 input data · 1 table · 5 rulesEvery rule pair is disjoint and every declared input combination matches a rule.

Make it your own.

title "Parcel shipping band"

input    Parcel "Parcel"
decision Band   "Shipping band"

Parcel -> Band

decision Band "Shipping band" {
  hit U
  input  Weight number [0..30]
  input  Zone   enum { Domestic, EU, World }
  output Band   enum { Letter, Small, Standard, Freight }

  rule [0..2]   | Domestic          -> Letter
  rule [0..2]   | EU, World         -> Small
  rule (2..10]  | Domestic, EU      -> Standard
  rule (2..10]  | World             -> Freight
  rule (10..30] | Domestic, EU, World -> Freight
}