@experteam-mx/ngx-services
Version:
Angular common services for Experteam apps
316 lines (315 loc) • 8.35 kB
TypeScript
import { LaravelModel } from './api.models';
import { BoardingProcessStatus, Country, Currency, IdentificationType, Product, State } from './api-catalog.interfaces';
export interface Account extends LaravelModel {
number: string;
description: string;
account_type_id: number;
account_type: AccountType;
country_id: number;
domestic_approved: boolean;
is_default: boolean;
}
export interface AccountCategory extends LaravelModel {
name: string;
}
export interface AccountType extends LaravelModel {
name: string;
account_category_id: number;
account_category?: AccountCategory;
}
export interface Company extends LaravelModel {
id: number;
created_at: string;
updated_at: string;
name: string;
contact_name: string;
contact_email: string;
contact_phone: string;
state: string;
city: string;
county_name: string;
zip_code: string;
address1: string;
address2: string;
address3: string;
is_active: boolean;
}
export interface CompanyCountry extends LaravelModel {
company_id: number;
country_id: number;
headquarters_city_code: string;
lp_code: string;
company: Company;
contact_name: string;
contact_email: string;
contact_phone_code: string;
contact_phone_number: string;
state: string;
city: string;
zip_code: string;
county_name: string;
address1: string;
address2: string;
address3: string;
}
export interface CompanyCountryTax extends LaravelModel {
code: string;
name: string;
percentage: number;
company_country_id: number;
shipment_scopes: number[];
base_percentage: number;
tax_type: string;
}
export interface CountryCurrencyRate extends CountryReferenceCurrency {
rate: string;
}
export interface CountryReference extends LaravelModel {
language_id: number;
decimal_point: number;
decimal_separator: string;
thousands_separator: string;
use_billing: boolean;
use_payments: boolean;
restricted_import_countries: number[];
currency_id: number;
max_quantity_document_piece: number;
max_quantity_package_piece: number;
weight_restriction_piece: number;
restriction_shipment: number;
restriction_dimension: number;
max_declared_value: number;
territories: number[];
some_openings: boolean;
locale: string;
country_id: number;
label_printer_name: string;
receipt_printer_name: string;
others_printer_name: string;
country: Country;
}
export interface CountryReferenceCurrency extends LaravelModel {
country_id: number;
currency_id: number;
is_local: boolean;
can_transact: boolean;
code: string;
name: string;
is_default: boolean;
is_declared_insured: boolean;
currency: Currency;
}
export interface CountryReferenceExtraCharge extends LaravelModel {
country_id: number;
extra_charge_id: number;
local_availability: boolean;
mandatory: boolean;
selected: boolean;
shipment_scopes: number[];
shipment_content_types: number[];
value_local: number;
value_usd: number;
}
export interface ExtraChargeEntity extends LaravelModel {
code: string;
name: string;
}
export interface Employee extends LaravelModel {
name: string;
last_name: string;
number: string;
email: string;
username: string;
company_id: number;
country_id: number;
external: boolean;
phone_code: string;
phone_number: string;
locations: Location[];
company: Company;
}
export interface Exchange extends LaravelModel {
company_country_currency_id: number;
valid_since: string;
valid_until: string | null;
value: string;
type: string;
}
export interface CountryExchange extends Exchange {
currency: Currency;
country_reference_currency: CountryReferenceCurrency;
}
export interface Installation extends LaravelModel {
system_id: number;
mac_address: string;
ip_address: string;
location_id: number;
number: number;
system: System;
}
export interface Location extends LaravelModel {
name: string;
contact_name: string;
email: string;
facility_code: string;
location_code: string;
type: string;
state_name: string;
state_id: number;
state_code: string;
city_name: string;
zip_code: string;
county_name: string;
address1: string;
address2: string;
address3: string;
service_area_code: string;
iata_code: string;
phone_code: string;
phone_number: string;
gmt_offset: string;
company_country_id: number;
country_zone_id: number;
country_region_id: number;
management_area_id: number;
google_maps_id: string;
route_number: string;
locker_enabled: boolean;
queue_manager_enabled: boolean;
commission_account: string;
service_point_id: string;
is_occurs: boolean;
default_account_id: number;
extra_fields: {
[key: string]: string;
};
facility_id: number;
billing_code: string;
accounts: Account[];
company_country: CompanyCountry;
state: State;
}
export interface LocationEmployee extends LaravelModel {
location_id: number;
employee_id: number;
is_active: boolean;
is_supervisor: boolean;
employee: Employee;
location: Location;
}
export interface Parameter extends LaravelModel {
name: string;
type: string;
regex: string;
description: string;
value: string | number | boolean | null | {
[key: string]: (string | number | boolean | null)[];
};
parameter_type_id: number;
}
export interface ParameterConfig {
id: number;
level: number;
model_type: string | null;
model_id: number | null;
parameter_id: number;
name: string;
value: string | number | boolean | null | {
[key: string]: (string | number | boolean | null)[];
};
parameter: Parameter;
}
export interface SupplyEntity extends LaravelModel {
name: string;
description: string;
country_id: number;
enabled_for_dropoff: boolean;
supply_type: SupplyType;
supply_packing: SupplyPacking;
}
export interface SupplyPacking extends LaravelModel {
value: number;
weight: number;
height: number;
depth: number;
width: number;
emobile_code: string | null;
}
export interface SupplyType extends LaravelModel {
name: string;
}
export interface WorkflowConfig {
id: number;
system_id: number;
level: string;
model_type: string;
model_id: number;
name: string;
page_id: number;
page_name: string;
enabled: boolean;
}
export interface EmployeeCustomerDhl extends LaravelModel {
identification_type_id: number;
identification_type_value: string;
name: string;
last_name: string;
address: string;
phone_code: string;
phone_number: string;
email: string;
country_id: number;
employee_id: number | null;
identification_type: IdentificationType;
}
export interface BoardingProcess {
id: number;
boarding_process_type_id: number;
status_id: number;
is_finished: boolean;
start_date_time: string;
end_date_time: string;
created_at: string;
updated_at: string;
status: BoardingProcessStatus;
boarding_process_histories: BoardingProcessHistory[];
}
export interface BoardingProcessHistory {
id: number;
boarding_process_id: number;
status_id: number;
messages: string[];
created_at: string;
updated_at: string;
}
export interface System extends LaravelModel {
name: string;
type: string;
configuration: {
[key: string]: string;
};
can_workflow_config: boolean;
}
export interface CountryReferenceProduct extends LaravelModel {
country_id: number;
product_id: number;
local_name: string;
min_weight: number;
max_weight: number;
insurance: number;
business_letter: boolean;
packaging: boolean;
anti_drug_letter: boolean;
max_declared_value: number;
shipment_groups: number[];
shipment_scopes: number[];
shipment_content_types: number[];
is_prepaid_dropoff: boolean;
product: Product;
}
export interface ProductEntity extends LaravelModel {
global_code: string;
local_code: string;
global_name: string;
local_name: string;
}