314 lines
7.4 KiB
TypeScript
314 lines
7.4 KiB
TypeScript
import {colors} from "@material-tailwind/react/types/generic";
|
|
|
|
export interface ShipmentRequest {
|
|
id: number;
|
|
shipment_reference: string;
|
|
note: string;
|
|
user_id: number,
|
|
delivery_address_name: string;
|
|
delivery_address_company_name: string | null;
|
|
delivery_address_street_name: string;
|
|
delivery_address_street_number: string;
|
|
delivery_address_city: string;
|
|
delivery_address_zip: string;
|
|
delivery_address_state_iso: string | null;
|
|
delivery_address_country_iso: string;
|
|
pickup_point_code: string | null;
|
|
postnummer: string | null;
|
|
contact_email: string;
|
|
contact_telephone: string;
|
|
cod_value: string | null;
|
|
cod_variable_symbol: string | null;
|
|
shipment_value: string;
|
|
currency: string;
|
|
weight: string;
|
|
height: number;
|
|
width: number;
|
|
length: number;
|
|
carrier: Carrier;
|
|
package_type: string;
|
|
created_at: Date;
|
|
updated_at: Date;
|
|
delivery_address: DeliveryAddress;
|
|
shipment: Shipment;
|
|
current_shipment_status: ShipmentStatusHistory;
|
|
shipment_statuses: ShipmentStatusHistory[],
|
|
user: User;
|
|
batch: Batch;
|
|
items: Item[];
|
|
shipment_price: number;
|
|
}
|
|
|
|
export interface Item {
|
|
id: number;
|
|
shipment_request_id: number;
|
|
name: string;
|
|
item_note: string | null;
|
|
model_number: string;
|
|
HSCode: string;
|
|
price: string;
|
|
quantity: number;
|
|
originCountry: string;
|
|
weight: string;
|
|
item_id_internal_warehouse: number;
|
|
item_id_external: number;
|
|
created_at: string;
|
|
updated_at: string;
|
|
imageUrl: string;
|
|
}
|
|
|
|
interface Shipment {
|
|
id: number;
|
|
user_id: number;
|
|
shipment_request_id: number;
|
|
internal_shipment_id: string;
|
|
shipment_id: string;
|
|
tracking_number: string;
|
|
created_at: string;
|
|
updated_at: string;
|
|
}
|
|
|
|
export interface ShipmentStatusHistory {
|
|
id: number;
|
|
shipment_status_id: number;
|
|
shipment_id: number;
|
|
status_note: string;
|
|
shipment_status: ShipmentStatus;
|
|
}
|
|
export interface ShipmentStatus {
|
|
id: number;
|
|
name: string;
|
|
description: string;
|
|
}
|
|
|
|
export interface DeliveryAddress {
|
|
name: string;
|
|
companyName: string | null;
|
|
streetName: string;
|
|
streetNumber: string;
|
|
city: string;
|
|
zip: string;
|
|
stateISO: string | null;
|
|
countryISO: string;
|
|
}
|
|
|
|
export interface Batch {
|
|
carrier_master: CarrierMaster;
|
|
id: number;
|
|
user: User;
|
|
item_count: number;
|
|
error_count: number;
|
|
created_at: string;
|
|
updated_at: string;
|
|
processed: boolean;
|
|
printed: boolean;
|
|
shipment_request: ShipmentRequest;
|
|
latest_generated_file: File;
|
|
}
|
|
export interface Error {
|
|
id: number;
|
|
shipment_request_id: number;
|
|
fetched: boolean;
|
|
error_message: string;
|
|
created_at: string;
|
|
updated_at: string;
|
|
}
|
|
|
|
export interface ErrorObject {
|
|
error: Error;
|
|
shipment_request: ShipmentRequest;
|
|
batch_id: number;
|
|
}
|
|
|
|
export interface CarrierMaster {
|
|
id: number;
|
|
display_name: string;
|
|
shortname: string;
|
|
img: string;
|
|
api_url: string;
|
|
api_url_sandbox: string;
|
|
label_reprint: boolean;
|
|
carrier_enabled: boolean;
|
|
carriers: Carrier[]
|
|
}
|
|
|
|
export interface Carrier {
|
|
id: number;
|
|
internal: string;
|
|
ext_id: string;
|
|
carrier_name: string;
|
|
carrier_shortname: string;
|
|
pickup_points: boolean;
|
|
carrier_contract: string; // Adjust the type if necessary
|
|
customs_declarations: boolean; // Adjust the type if necessary
|
|
cod_allowed: boolean;
|
|
cod_enabled: boolean;
|
|
cod_price: string; // Adjust the type if necessary
|
|
country: string;
|
|
zone_id: number;
|
|
currency: string;
|
|
img: string;
|
|
enabled_store: boolean;
|
|
shipping_price: string; // Adjust the type if necessary
|
|
free_shipping_enabled: boolean;
|
|
delivery_time: string; // Adjust the type if necessary
|
|
display_order: number;
|
|
api_allowed: boolean;
|
|
carrier_master: CarrierMaster;
|
|
base_pricing: CarrierBasePricing;
|
|
}
|
|
|
|
export interface AlertState {
|
|
show: boolean;
|
|
message: React.ReactNode;
|
|
color: colors;
|
|
pdfUrl: string;
|
|
file_id: number;
|
|
filename: string;
|
|
}
|
|
|
|
export interface UserDetails {
|
|
user_id: number;
|
|
apiCallbackURL: string | null;
|
|
imageURL: string | null;
|
|
callbacks_enabled: boolean;
|
|
carrier_pricings?: UserCarrierPricing[]; // Adjusted to match model and JSON data
|
|
}
|
|
|
|
export interface User {
|
|
id: number;
|
|
name: string;
|
|
email: string;
|
|
details?: UserDetails;
|
|
}
|
|
|
|
export interface UserCarrierPricing {
|
|
id: number;
|
|
user_id: number;
|
|
carrier_id: number;
|
|
cod_price?: number;
|
|
carrier?: Carrier; // Relationship to Carrier
|
|
pricing_weights?: UserCarrierPricing2Weight[]; // Adjusted to match model and JSON data
|
|
extra_fees?: UserCarrierPricingExtraFees[]; // Adjusted to match model and JSON data
|
|
}
|
|
|
|
export interface UserCarrierPricing2Weight {
|
|
id: number;
|
|
user_carrier_pricing_id: number;
|
|
weight_max: number;
|
|
shipping_price: number;
|
|
}
|
|
|
|
export interface UserCarrierPricingExtraFees {
|
|
id: number;
|
|
user_carrier_pricing_id: number;
|
|
carrier_extra_fee_type_id: number;
|
|
carrier_extra_fee_value: number;
|
|
carrier_extra_fee_value_type: string; // Could be "monetary" or other types
|
|
extra_fee_type?: CarrierExtraFeeTypes; // Relationship to CarrierExtraFeeTypes
|
|
}
|
|
export interface CarrierBasePricing {
|
|
id: number;
|
|
user_id: number;
|
|
carrier_id: number;
|
|
cod_price?: number;
|
|
pricing_weights?: CarrierBasePricing2Weight[]; // Adjusted to match model and JSON data
|
|
extra_fees?: CarrierBasePricingExtraFees[]; // Adjusted to match model and JSON data
|
|
}
|
|
|
|
export interface CarrierBasePricing2Weight {
|
|
id: number;
|
|
carrier_base_pricing_id: number;
|
|
weight_max: number;
|
|
shipping_price: number;
|
|
}
|
|
|
|
export interface CarrierBasePricingExtraFees {
|
|
id: number;
|
|
carrier_base_pricing_id: number;
|
|
carrier_extra_fee_type_id: number;
|
|
carrier_extra_fee_value: number;
|
|
carrier_extra_fee_value_type: string; // Could be "monetary" or other types
|
|
extra_fee_type?: CarrierExtraFeeTypes; // Relationship to CarrierExtraFeeTypes
|
|
}
|
|
|
|
export interface CarrierExtraFeeTypes {
|
|
id: number;
|
|
name: string;
|
|
description?: string;
|
|
}
|
|
|
|
|
|
export interface PickupPoint {
|
|
id: number;
|
|
ext_id: string;
|
|
carrier_id: number;
|
|
carrier: Carrier;
|
|
location: string;
|
|
name: string;
|
|
type: string;
|
|
directions?: string;
|
|
place_name?: string;
|
|
address: string;
|
|
zip: string;
|
|
city: string;
|
|
country_iso: string;
|
|
status_id?: number;
|
|
card?: boolean;
|
|
cod?: boolean;
|
|
wheelchair?: boolean;
|
|
photo_url?: string;
|
|
thumbnail_url?: string;
|
|
enabled: boolean;
|
|
distance: string;
|
|
shipment_price: number;
|
|
updated_at: Date;
|
|
}
|
|
|
|
|
|
export interface Files {
|
|
files: File[]
|
|
}
|
|
export interface File {
|
|
|
|
id: number;
|
|
filename: string;
|
|
user: User;
|
|
// file_data: string;
|
|
lifetime: string;
|
|
associated_id: number;
|
|
type: string;
|
|
created_at: string;
|
|
updated_at: string;
|
|
|
|
}
|
|
|
|
|
|
export interface StockList {
|
|
to_be_withdrawn: number,
|
|
name: string,
|
|
model: string,
|
|
physicalItemId: string,
|
|
mapping_breakdown: MappingProduct[]
|
|
}
|
|
|
|
export interface MappingProduct {
|
|
to_be_withdrawn: number,
|
|
name: string,
|
|
model: string,
|
|
mapping_id: string,
|
|
shipment_request_item_ids: number[]
|
|
}
|
|
|
|
export interface Task {
|
|
id: number;
|
|
user: User;
|
|
task_title: string;
|
|
task_desc: string;
|
|
related_id: number;
|
|
related_id_type: string;
|
|
comment: string;
|
|
completed: boolean;
|
|
}
|
|
|