import {z} from 'zod' export type InvoiceTypeEnum1 = 'accounts_receivable' | 'accounts_payable'; export type BillingCurrencyCodeEnum1 = 'USD' | 'CAD' | 'EUR' | 'GBP' | 'MXN' | 'AUD' | 'JPY' | 'CNY' | 'CHF' | 'INR'; export type TaskGroupTypeEnum1 = 'chrt_ground_provider' | 'cargo_on_flight' | 'cargo_on_vessel' | 'onboard_courier'; export type ServiceLineEnum = 'on_demand' | 'routed'; export type RateSheetRuleChargedPerEnum1 = 'order' | 'task_group' | 'task'; export type BaseRateChargeRule1 = {rule_type: 'base_rate', rule_key?: unknown | undefined, charged_per?: RateSheetRuleChargedPerEnum1 | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, flat_rate: number}; export type RateSheetLocationRate1 = {shipper_account_id?: (string | null) | undefined, pricing_zone_id?: (string | null) | undefined, flat_rate: number}; export type LocationRateChargeRule1 = {rule_type: 'location_rate', rule_key?: unknown | undefined, charged_per?: 'task' | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, location_rates: Array}; export type RateSheetZonePairRate1 = {origin_pricing_zone_id: string, destination_pricing_zone_id: string, flat_rate: number}; export type ZoneToZoneChargeRule1 = {rule_type: 'zone_to_zone', rule_key?: unknown | undefined, charged_per?: RateSheetRuleChargedPerEnum1 | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, zone_pair_rates: Array, rates_apply_both_directions?: boolean | undefined}; export type MileageChargeRule1 = {rule_type: 'mileage', rule_key?: unknown | undefined, charged_per?: ('task_group' | 'task') | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, included_distance_miles?: number | undefined, rate_per_mile: number, ends_at_total_distance_miles?: (number | null) | undefined, minimum_charge?: (number | null) | undefined}; export type LongDistanceMileageChargeRule1 = {rule_type: 'long_distance_mileage', rule_key?: unknown | undefined, charged_per?: ('task_group' | 'task') | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, included_distance_miles?: number | undefined, rate_per_mile: number, ends_at_total_distance_miles?: (number | null) | undefined, minimum_charge?: (number | null) | undefined}; export type WaitTimeChargeRule1 = {rule_type: 'wait_time', rule_key?: unknown | undefined, charged_per?: 'task' | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, included_wait_minutes: number, rate_per_wait_minute: number}; export type ExtraStopChargeRule1 = {rule_type: 'extra_stop', rule_key?: unknown | undefined, charged_per?: 'task_group' | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, included_stops?: number | undefined, rate_per_extra_stop: number, attempted_stops_count_as_stops?: boolean | undefined}; export type ChrtGroundProviderTaskActionEnum1 = 'chrt_ground_provider__pickup' | 'chrt_ground_provider__deliver' | 'chrt_ground_provider__recover_from_airline' | 'chrt_ground_provider__tender_to_airline' | 'chrt_ground_provider__recover_from_ocean_terminal' | 'chrt_ground_provider__tender_to_ocean_terminal' | 'chrt_ground_provider__consolidate' | 'chrt_ground_provider__hold' | 'chrt_ground_provider__other'; export type CargoOnFlightTaskActionEnum1 = 'cargo_on_flight__cargo_received_by_airline' | 'cargo_on_flight__cargo_manifested' | 'cargo_on_flight__cargo_loaded_onto_flight' | 'cargo_on_flight__flight_departed' | 'cargo_on_flight__flight_arrived' | 'cargo_on_flight__cargo_offloaded_from_flight' | 'cargo_on_flight__cargo_cleared_customs' | 'cargo_on_flight__cargo_ready_for_recovery' | 'cargo_on_flight__cargo_recovered'; export type CargoOnVesselTaskActionEnum1 = 'cargo_on_vessel__gated_in_full' | 'cargo_on_vessel__loaded_onto_vessel' | 'cargo_on_vessel__vessel_departed' | 'cargo_on_vessel__vessel_arrived' | 'cargo_on_vessel__discharged_from_vessel' | 'cargo_on_vessel__available_for_pickup' | 'cargo_on_vessel__gated_out_full'; export type OnboardCourierTaskActionEnum1 = 'obc__cargo_picked_up' | 'obc__courier_thru_security' | 'obc__courier_boarded_flight' | 'obc__courier_deboarded_flight' | 'obc__courier_cleared_customs' | 'obc__cargo_delivered'; export type StopFeeChargeRule1 = {rule_type: 'stop_fee', rule_key?: unknown | undefined, charged_per?: 'task' | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, flat_rate: number, applies_to_task_actions: Array}; export type RateSheetRuleQuantityBasisEnum1 = 'order_unique_cargo' | 'task_group_unique_cargo' | 'task_handled_cargo'; export type PieceCountChargeRule1 = {rule_type: 'piece_count', rule_key?: unknown | undefined, charged_per?: ('order' | 'task_group') | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, included_pieces: number, rate_per_piece: number, quantity_basis: RateSheetRuleQuantityBasisEnum1}; export type RateSheetRuleWeightUnitEnum1 = 'lb' | 'kg'; export type RateSheetRuleWeightTypeEnum1 = 'gross' | 'chargeable' | 'volumetric'; export type RateSheetWeightBreak1 = {starts_at_weight: number, rate_per_weight_unit: number}; export type WeightChargeRule1 = {rule_type: 'weight', rule_key?: unknown | undefined, charged_per?: ('order' | 'task_group') | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, included_weight: number, rate_per_weight_unit: number, weight_unit: RateSheetRuleWeightUnitEnum1, weight_type: RateSheetRuleWeightTypeEnum1, quantity_basis: RateSheetRuleQuantityBasisEnum1, weight_breaks?: Array | undefined, minimum_charge?: (number | null) | undefined, dim_factor_cubic_inches_per_pound?: (number | null) | undefined}; export type FuelSurchargeChargeRule1 = {rule_type: 'fuel_surcharge', rule_key?: unknown | undefined, charged_per?: 'task_group' | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined}; export type VehicleTypeEnum = 'sedan' | 'suv' | 'cargo_van' | 'box_truck' | 'flatbed' | 'semi_truck' | 'airplane'; export type InvoiceLineItemTypeEnum1 = 'base_rate' | 'additional_mileage' | 'long_distance_mileage' | 'fuel' | 'extra_stop' | 'wait_time' | 'attempt' | 'pick_and_hold' | 'stop_fee' | 'parking' | 'tolls' | 'additional_fee' | 'dispute' | 'equipment' | 'dangerous_goods' | 'special_vehicle' | 'after_hours' | 'weekend' | 'holiday' | 'air_waybill' | 'insurance' | 'off_network_carrier' | 'obc_day_rate' | 'flight_ticket' | 'piece_count' | 'weight' | 'revenue_share' | 'minimum_charge' | 'tracking_device_label' | 'tracking_device_tag' | 'tracking_device_other' | 'tax' | 'adjustment' | 'other'; export type VehicleSurchargeChargeRule1 = {rule_type: 'vehicle_surcharge', rule_key?: unknown | undefined, charged_per?: ('task_group' | 'task') | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, vehicle_types: Array, flat_rate?: (number | null) | undefined, surcharge_percentage?: (number | null) | undefined, applies_to_line_item_types?: Array | undefined}; export type RateSheetRulePricingMethodEnum1 = 'markup' | 'margin'; export type AirWaybillResaleChargeRule1 = {rule_type: 'air_waybill_resale', rule_key?: unknown | undefined, charged_per?: 'task_group' | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, pricing_method: RateSheetRulePricingMethodEnum1, pricing_percentage: number, applies_to_line_item_types: Array, combine_sources_into_one_charge?: boolean | undefined, applies_to_relationship_types?: (Array<'executor_payable' | 'driver_payable'>) | undefined}; export type FlightTicketResaleChargeRule1 = {rule_type: 'flight_ticket_resale', rule_key?: unknown | undefined, charged_per?: 'task_group' | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, pricing_method: RateSheetRulePricingMethodEnum1, pricing_percentage: number, applies_to_line_item_types: Array, combine_sources_into_one_charge?: boolean | undefined, applies_to_relationship_types?: (Array<'executor_payable' | 'driver_payable'>) | undefined}; export type SupplierMarkupChargeRule1 = {rule_type: 'supplier_markup', rule_key?: unknown | undefined, charged_per?: 'task_group' | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, pricing_method: RateSheetRulePricingMethodEnum1, pricing_percentage: number, applies_to_line_item_types: Array, combine_sources_into_one_charge?: boolean | undefined, applies_to_relationship_types?: (Array<'executor_payable' | 'driver_payable'>) | undefined}; export type RevenueShareChargeRule1 = {rule_type: 'revenue_share', rule_key?: unknown | undefined, charged_per?: 'order' | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, revenue_share_percentage: number, applies_to_line_item_types: Array}; export type OnboardCourierMissionBaseChargeRule1 = {rule_type: 'onboard_courier_mission_base', rule_key?: unknown | undefined, charged_per?: ('task_group' | 'task') | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, flat_rate: number}; export type AttemptChargeRule1 = {rule_type: 'attempt', rule_key?: unknown | undefined, charged_per?: 'task' | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, rate_per_occurrence: number}; export type PickAndHoldChargeRule1 = {rule_type: 'pick_and_hold', rule_key?: unknown | undefined, charged_per?: 'task_group' | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, rate_per_occurrence: number}; export type EquipmentChargeRule1 = {rule_type: 'equipment', rule_key?: unknown | undefined, charged_per?: RateSheetRuleChargedPerEnum1 | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, flat_rate: number}; export type DangerousGoodsChargeRule1 = {rule_type: 'dangerous_goods', rule_key?: unknown | undefined, charged_per?: RateSheetRuleChargedPerEnum1 | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, flat_rate: number}; export type AfterHoursChargeRule1 = {rule_type: 'after_hours', rule_key?: unknown | undefined, charged_per?: RateSheetRuleChargedPerEnum1 | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, flat_rate: number}; export type WeekendChargeRule1 = {rule_type: 'weekend', rule_key?: unknown | undefined, charged_per?: RateSheetRuleChargedPerEnum1 | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, flat_rate: number}; export type HolidayChargeRule1 = {rule_type: 'holiday', rule_key?: unknown | undefined, charged_per?: RateSheetRuleChargedPerEnum1 | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, flat_rate: number}; export type OrderMinimumChargeRule1 = {rule_type: 'order_minimum', rule_key?: unknown | undefined, charged_per?: 'order' | undefined, line_item_description: string, export_ref__sage__item_id?: (string | null) | undefined, minimum_charge: number}; export type RateSheetClientCreate1 = {schema_version: 1, name: string, invoice_type: InvoiceTypeEnum1, currency_code: BillingCurrencyCodeEnum1, counterparty_org_id?: (string | null) | undefined, counterparty_off_chrt_org_data_id?: (string | null) | undefined, counterparty_driver_id?: (string | null) | undefined, task_group_type: TaskGroupTypeEnum1, applies_to_service_lines?: Array | undefined, effective_time_zone_name?: string | undefined, effective_starts_at_timestamp?: (string | null) | undefined, effective_ends_at_timestamp?: (string | null) | undefined, rules: Array}; export type CreateApiBillingNewRateSheetsCreateV1Args = {body: RateSheetClientCreate1}; export type CreateApiBillingNewRateSheetsCreateV1Options = {baseUrl?: string | undefined, HTTPBearer?: string | undefined, fetch?: typeof fetch | undefined}; export const invoiceTypeEnum1 = z.enum(["accounts_receivable", "accounts_payable"]); export const billingCurrencyCodeEnum1 = z.enum(["USD", "CAD", "EUR", "GBP", "MXN", "AUD", "JPY", "CNY", "CHF", "INR"]); export const taskGroupTypeEnum1 = z.enum(["chrt_ground_provider", "cargo_on_flight", "cargo_on_vessel", "onboard_courier"]); export const serviceLineEnum = z.enum(["on_demand", "routed"]); export const rateSheetRuleChargedPerEnum1 = z.enum(["order", "task_group", "task"]); export const baseRateChargeRule1 = z.object({rule_type: z.literal("base_rate"), rule_key: z.string().optional(), charged_per: rateSheetRuleChargedPerEnum1.optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), flat_rate: z.number().gte(0)}); export const rateSheetLocationRate1 = z.object({shipper_account_id: z.string().nullable().optional(), pricing_zone_id: z.string().nullable().optional(), flat_rate: z.number().gte(0)}); export const locationRateChargeRule1 = z.object({rule_type: z.literal("location_rate"), rule_key: z.string().optional(), charged_per: z.literal("task").optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), location_rates: z.array(rateSheetLocationRate1)}); export const rateSheetZonePairRate1 = z.object({origin_pricing_zone_id: z.string(), destination_pricing_zone_id: z.string(), flat_rate: z.number().gte(0)}); export const zoneToZoneChargeRule1 = z.object({rule_type: z.literal("zone_to_zone"), rule_key: z.string().optional(), charged_per: rateSheetRuleChargedPerEnum1.optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), zone_pair_rates: z.array(rateSheetZonePairRate1), rates_apply_both_directions: z.boolean().optional()}); export const mileageChargeRule1 = z.object({rule_type: z.literal("mileage"), rule_key: z.string().optional(), charged_per: z.enum(["task_group", "task"]).optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), included_distance_miles: z.number().gte(0).optional(), rate_per_mile: z.number().gte(0), ends_at_total_distance_miles: z.number().gt(0).nullable().optional(), minimum_charge: z.number().gt(0).nullable().optional()}); export const longDistanceMileageChargeRule1 = z.object({rule_type: z.literal("long_distance_mileage"), rule_key: z.string().optional(), charged_per: z.enum(["task_group", "task"]).optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), included_distance_miles: z.number().gte(0).optional(), rate_per_mile: z.number().gte(0), ends_at_total_distance_miles: z.number().gt(0).nullable().optional(), minimum_charge: z.number().gt(0).nullable().optional()}); export const waitTimeChargeRule1 = z.object({rule_type: z.literal("wait_time"), rule_key: z.string().optional(), charged_per: z.literal("task").optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), included_wait_minutes: z.number().gte(0), rate_per_wait_minute: z.number().gte(0)}); export const extraStopChargeRule1 = z.object({rule_type: z.literal("extra_stop"), rule_key: z.string().optional(), charged_per: z.literal("task_group").optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), included_stops: z.number().int().gte(0).optional(), rate_per_extra_stop: z.number().gte(0), attempted_stops_count_as_stops: z.boolean().optional()}); export const chrtGroundProviderTaskActionEnum1 = z.enum(["chrt_ground_provider__pickup", "chrt_ground_provider__deliver", "chrt_ground_provider__recover_from_airline", "chrt_ground_provider__tender_to_airline", "chrt_ground_provider__recover_from_ocean_terminal", "chrt_ground_provider__tender_to_ocean_terminal", "chrt_ground_provider__consolidate", "chrt_ground_provider__hold", "chrt_ground_provider__other"]); export const cargoOnFlightTaskActionEnum1 = z.enum(["cargo_on_flight__cargo_received_by_airline", "cargo_on_flight__cargo_manifested", "cargo_on_flight__cargo_loaded_onto_flight", "cargo_on_flight__flight_departed", "cargo_on_flight__flight_arrived", "cargo_on_flight__cargo_offloaded_from_flight", "cargo_on_flight__cargo_cleared_customs", "cargo_on_flight__cargo_ready_for_recovery", "cargo_on_flight__cargo_recovered"]); export const cargoOnVesselTaskActionEnum1 = z.enum(["cargo_on_vessel__gated_in_full", "cargo_on_vessel__loaded_onto_vessel", "cargo_on_vessel__vessel_departed", "cargo_on_vessel__vessel_arrived", "cargo_on_vessel__discharged_from_vessel", "cargo_on_vessel__available_for_pickup", "cargo_on_vessel__gated_out_full"]); export const onboardCourierTaskActionEnum1 = z.enum(["obc__cargo_picked_up", "obc__courier_thru_security", "obc__courier_boarded_flight", "obc__courier_deboarded_flight", "obc__courier_cleared_customs", "obc__cargo_delivered"]); export const stopFeeChargeRule1 = z.object({rule_type: z.literal("stop_fee"), rule_key: z.string().optional(), charged_per: z.literal("task").optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), flat_rate: z.number().gte(0), applies_to_task_actions: z.array(z.union([chrtGroundProviderTaskActionEnum1, cargoOnFlightTaskActionEnum1, cargoOnVesselTaskActionEnum1, onboardCourierTaskActionEnum1]))}); export const rateSheetRuleQuantityBasisEnum1 = z.enum(["order_unique_cargo", "task_group_unique_cargo", "task_handled_cargo"]); export const pieceCountChargeRule1 = z.object({rule_type: z.literal("piece_count"), rule_key: z.string().optional(), charged_per: z.enum(["order", "task_group"]).optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), included_pieces: z.number().int().gte(0), rate_per_piece: z.number().gte(0), quantity_basis: rateSheetRuleQuantityBasisEnum1}); export const rateSheetRuleWeightUnitEnum1 = z.enum(["lb", "kg"]); export const rateSheetRuleWeightTypeEnum1 = z.enum(["gross", "chargeable", "volumetric"]); export const rateSheetWeightBreak1 = z.object({starts_at_weight: z.number().gt(0), rate_per_weight_unit: z.number().gte(0)}); export const weightChargeRule1 = z.object({rule_type: z.literal("weight"), rule_key: z.string().optional(), charged_per: z.enum(["order", "task_group"]).optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), included_weight: z.number().gte(0), rate_per_weight_unit: z.number().gte(0), weight_unit: rateSheetRuleWeightUnitEnum1, weight_type: rateSheetRuleWeightTypeEnum1, quantity_basis: rateSheetRuleQuantityBasisEnum1, weight_breaks: z.array(rateSheetWeightBreak1).optional(), minimum_charge: z.number().gt(0).nullable().optional(), dim_factor_cubic_inches_per_pound: z.number().gt(0).nullable().optional()}); export const fuelSurchargeChargeRule1 = z.object({rule_type: z.literal("fuel_surcharge"), rule_key: z.string().optional(), charged_per: z.literal("task_group").optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional()}); export const vehicleTypeEnum = z.enum(["sedan", "suv", "cargo_van", "box_truck", "flatbed", "semi_truck", "airplane"]); export const invoiceLineItemTypeEnum1 = z.enum(["base_rate", "additional_mileage", "long_distance_mileage", "fuel", "extra_stop", "wait_time", "attempt", "pick_and_hold", "stop_fee", "parking", "tolls", "additional_fee", "dispute", "equipment", "dangerous_goods", "special_vehicle", "after_hours", "weekend", "holiday", "air_waybill", "insurance", "off_network_carrier", "obc_day_rate", "flight_ticket", "piece_count", "weight", "revenue_share", "minimum_charge", "tracking_device_label", "tracking_device_tag", "tracking_device_other", "tax", "adjustment", "other"]); export const vehicleSurchargeChargeRule1 = z.object({rule_type: z.literal("vehicle_surcharge"), rule_key: z.string().optional(), charged_per: z.enum(["task_group", "task"]).optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), vehicle_types: z.array(vehicleTypeEnum), flat_rate: z.number().gte(0).nullable().optional(), surcharge_percentage: z.number().gte(0).nullable().optional(), applies_to_line_item_types: z.array(invoiceLineItemTypeEnum1).optional()}); export const rateSheetRulePricingMethodEnum1 = z.enum(["markup", "margin"]); export const airWaybillResaleChargeRule1 = z.object({rule_type: z.literal("air_waybill_resale"), rule_key: z.string().optional(), charged_per: z.literal("task_group").optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), pricing_method: rateSheetRulePricingMethodEnum1, pricing_percentage: z.number().gte(0), applies_to_line_item_types: z.array(invoiceLineItemTypeEnum1), combine_sources_into_one_charge: z.boolean().optional(), applies_to_relationship_types: z.array(z.enum(["executor_payable", "driver_payable"])).optional()}); export const flightTicketResaleChargeRule1 = z.object({rule_type: z.literal("flight_ticket_resale"), rule_key: z.string().optional(), charged_per: z.literal("task_group").optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), pricing_method: rateSheetRulePricingMethodEnum1, pricing_percentage: z.number().gte(0), applies_to_line_item_types: z.array(invoiceLineItemTypeEnum1), combine_sources_into_one_charge: z.boolean().optional(), applies_to_relationship_types: z.array(z.enum(["executor_payable", "driver_payable"])).optional()}); export const supplierMarkupChargeRule1 = z.object({rule_type: z.literal("supplier_markup"), rule_key: z.string().optional(), charged_per: z.literal("task_group").optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), pricing_method: rateSheetRulePricingMethodEnum1, pricing_percentage: z.number().gte(0), applies_to_line_item_types: z.array(invoiceLineItemTypeEnum1), combine_sources_into_one_charge: z.boolean().optional(), applies_to_relationship_types: z.array(z.enum(["executor_payable", "driver_payable"])).optional()}); export const revenueShareChargeRule1 = z.object({rule_type: z.literal("revenue_share"), rule_key: z.string().optional(), charged_per: z.literal("order").optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), revenue_share_percentage: z.number().gte(0).lte(100), applies_to_line_item_types: z.array(invoiceLineItemTypeEnum1)}); export const onboardCourierMissionBaseChargeRule1 = z.object({rule_type: z.literal("onboard_courier_mission_base"), rule_key: z.string().optional(), charged_per: z.enum(["task_group", "task"]).optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), flat_rate: z.number().gte(0)}); export const attemptChargeRule1 = z.object({rule_type: z.literal("attempt"), rule_key: z.string().optional(), charged_per: z.literal("task").optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), rate_per_occurrence: z.number().gte(0)}); export const pickAndHoldChargeRule1 = z.object({rule_type: z.literal("pick_and_hold"), rule_key: z.string().optional(), charged_per: z.literal("task_group").optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), rate_per_occurrence: z.number().gte(0)}); export const equipmentChargeRule1 = z.object({rule_type: z.literal("equipment"), rule_key: z.string().optional(), charged_per: rateSheetRuleChargedPerEnum1.optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), flat_rate: z.number().gte(0)}); export const dangerousGoodsChargeRule1 = z.object({rule_type: z.literal("dangerous_goods"), rule_key: z.string().optional(), charged_per: rateSheetRuleChargedPerEnum1.optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), flat_rate: z.number().gte(0)}); export const afterHoursChargeRule1 = z.object({rule_type: z.literal("after_hours"), rule_key: z.string().optional(), charged_per: rateSheetRuleChargedPerEnum1.optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), flat_rate: z.number().gte(0)}); export const weekendChargeRule1 = z.object({rule_type: z.literal("weekend"), rule_key: z.string().optional(), charged_per: rateSheetRuleChargedPerEnum1.optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), flat_rate: z.number().gte(0)}); export const holidayChargeRule1 = z.object({rule_type: z.literal("holiday"), rule_key: z.string().optional(), charged_per: rateSheetRuleChargedPerEnum1.optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), flat_rate: z.number().gte(0)}); export const orderMinimumChargeRule1 = z.object({rule_type: z.literal("order_minimum"), rule_key: z.string().optional(), charged_per: z.literal("order").optional(), line_item_description: z.string().min(1).max(32768), export_ref__sage__item_id: z.string().max(255).nullable().optional(), minimum_charge: z.number().gt(0)}); export const rateSheet1 = z.object({schema_version: z.literal(1), name: z.string().min(1).max(255), invoice_type: invoiceTypeEnum1, currency_code: billingCurrencyCodeEnum1, counterparty_org_id: z.string().nullable().optional(), counterparty_off_chrt_org_data_id: z.string().nullable().optional(), counterparty_driver_id: z.string().nullable().optional(), task_group_type: taskGroupTypeEnum1, applies_to_service_lines: z.array(serviceLineEnum).optional(), effective_time_zone_name: z.string().optional(), effective_starts_at_timestamp: z.string().nullable().optional(), effective_ends_at_timestamp: z.string().nullable().optional(), rules: z.array(z.discriminatedUnion("rule_type", [baseRateChargeRule1, locationRateChargeRule1, zoneToZoneChargeRule1, mileageChargeRule1, longDistanceMileageChargeRule1, waitTimeChargeRule1, extraStopChargeRule1, stopFeeChargeRule1, pieceCountChargeRule1, weightChargeRule1, fuelSurchargeChargeRule1, vehicleSurchargeChargeRule1, airWaybillResaleChargeRule1, flightTicketResaleChargeRule1, supplierMarkupChargeRule1, revenueShareChargeRule1, onboardCourierMissionBaseChargeRule1, attemptChargeRule1, pickAndHoldChargeRule1, equipmentChargeRule1, dangerousGoodsChargeRule1, afterHoursChargeRule1, weekendChargeRule1, holidayChargeRule1, orderMinimumChargeRule1])), _id: z.string(), revision: z.number().int().gte(1).optional(), owned_by_org_id: z.string(), created_by_user_id: z.string(), created_at_timestamp: z.string(), last_edited_by_user_id: z.string(), last_edited_at_timestamp: z.string(), archived_by_user_id: z.string().nullable().optional(), archived_at_timestamp: z.string().nullable().optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Create * * POST /billing_new/rate_sheets/create/v1 */ export const createApiBillingNewRateSheetsCreateV1 = async (args: CreateApiBillingNewRateSheetsCreateV1Args, options?: CreateApiBillingNewRateSheetsCreateV1Options) => { const {baseUrl = "http://localhost:8000", fetch: fetchFn = fetch, HTTPBearer} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") if (HTTPBearer !== undefined) headers.set('authorization', `Bearer ${HTTPBearer}`) const url = `${baseUrl.replace(/\/+$/, '')}/billing_new/rate_sheets/create/v1${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(rateSheet1, await res.json()) };