export const carriers = [ { name: 'Ninja Van', code: 'ninja_van', services: [ { name: 'Standard Delivery', code: 'ninja_standard_delivery', zones: [ { name: 'WM_KV', code: 'WM_KV', state_codes: ['KualaLumpur', 'Putrajaya', 'Selangor'], rates: [ { // can scale-out to support multiple conditions condition: { min: 0, max: 1.01, variable: 'WEIGHT', uom: 'KG', }, priceFn: () => 4, currency: 'RM', }, { condition: { min: 1.01, max: 3.01, variable: 'WEIGHT', uom: 'KG', }, priceFn: () => 4.5, currency: 'RM', }, { condition: { min: 3.01, max: -1, // infinity variable: 'WEIGHT', uom: 'KG', }, priceFn: (variable, min) => 18 + ((variable - min) * 0.7), currency: 'RM', }, ], }, { name: 'WM_NKV', code: 'WM_NKV', state_codes: ['Johor', 'Kedah', 'Kelantan', 'Melaka', 'NegeriSembilan', 'Pahang', 'Perak', 'Perlis', 'Penang', 'Terengganu'], rates: [ { // can scale-out to support multiple conditions condition: { min: 0, max: 1.01, variable: 'WEIGHT', uom: 'KG', }, priceFn: () => 4.8, currency: 'RM', }, { condition: { min: 1.01, max: 3.01, variable: 'WEIGHT', uom: 'KG', }, priceFn: () => 4.8, currency: 'RM', }, { condition: { min: 3.01, max: -1, // infinity variable: 'WEIGHT', uom: 'KG', }, priceFn: (variable, min) => 20 + ((variable - min) * 1), currency: 'RM', }, ], }, { name: 'EM', code: 'EM', state_codes: ['Labuan', 'Sabah', 'Sarawak'], rates: [ { // can scale-out to support multiple conditions condition: { min: 0, max: 1.01, variable: 'WEIGHT', uom: 'KG', }, priceFn: () => 10, currency: 'RM', }, { condition: { min: 1.01, max: 3.01, variable: 'WEIGHT', uom: 'KG', }, priceFn: () => 20, currency: 'RM', }, { condition: { min: 3.01, max: -1, // infinity variable: 'WEIGHT', uom: 'KG', }, priceFn: (variable, min) => 250 + ((variable - min) * 5), currency: 'RM', }, ], }, ], }, { name: 'Express Delivery', code: 'ninja_express_delivery', zones: [ { name: 'WM_KV', code: 'WM_KV', state_codes: ['KualaLumpur', 'Putrajaya', 'Selangor'], rates: [ { // can scale-out to support multiple conditions condition: { min: 0, max: 1.01, variable: 'WEIGHT', uom: 'KG', }, priceFn: () => 12, currency: 'RM', }, { condition: { min: 1.01, max: 3.01, variable: 'WEIGHT', uom: 'KG', }, priceFn: () => 12, currency: 'RM', }, { condition: { min: 3.01, max: -1, // infinity variable: 'WEIGHT', uom: 'KG', }, priceFn: (variable, min) => 36 + ((variable - min) * 1.5), currency: 'RM', }, ], }, ], }, ], }, ];