UNPKG

@experteam-mx/ngx-services

Version:

Angular common services for Experteam apps

273 lines (272 loc) 7.44 kB
import { ActiveLessSymfonyModel, SymfonyModel } from './api.models'; import { CustomerType } from './api-shipments.enums'; import { Supply } from './api-supplies.interfaces'; export interface ShipmentComposition extends SymfonyModel { currencyCode: string; extraCharges: ExtraChargeComposition[]; globalProductCode: string; globalProductName: string; localProductCode: string; localProductName: string; trackingNumber: string; contentDescription: string; realWeight: number; piecesNumber: number; productSubtotal: number; productTax: number; productTotal: number; declaredValue: number; insuredValue: number; accountNumber: string; userId: number; installationId: number; companyCountryId: number; productId: number; countryReferenceCurrencyId: number; commercialExchangeRate: number; ibsExchangeRate: number; shipmentStatusId: number; shipmentAddresses: ShipmentAddresses[]; shipmentPieces: ShipmentPieces[]; shipmentCompanyCountryExtraCharges: ShipmentCompanyCountryExtraCharges[]; shipmentGsop: ShipmentGsop; additionalData: AdditionalData; transactionId: string; requiresPayment: boolean; originServiceAreaCode: string; originFacilityCode: string; destinationServiceAreaCode: string; destinationFacilityCode: string; productTaxes: string[]; isInspected: boolean; extraFields: { [key: string]: string | number | boolean; }; shipmentContentTypeId: number; commercialInvoice: CommercialInvoice; shipmentScopeId: number; shipmentGroupId: number; product: string[]; declaredCurrency: string; insuredCurrency: string; deliveryDateTime: string; date: string; promotionCode: string; priceOverrideApproverId: number; priceOverrideReasonId: number; customs: Customs; exportReasonId: number; exportReason: string[]; shipmentBookPickup: ShipmentBookPickup; questionId: number; isInsured: boolean; itnNumber: string; einNumber: string; otherAccountNumber: string; dutiesAndTaxesAccountNumber: string; discountId: string; discountReference: string; totalPublishedValue: number; totalPartnerAccountValue: number; isMarketingConsent: boolean; isTermCondition: boolean; isDocument: boolean; isCash: boolean; isPriceOverride: boolean; isProforma: boolean; isPromotionCode: boolean; isRetailRate: boolean; isOtherOrigin: boolean; isOccurs: boolean; isDutiesAndTaxes: boolean; } export interface ExtraChargeComposition { globalServiceCode: string; localServiceCode: string; globalServiceName: string; localServiceName: string; subtotal: number; tax: number; total: number; taxes: Tax[]; } export interface Tax { code: string; percent: number; baseAmount: number; amount: number; } export interface ShipmentAddresses extends SymfonyModel { index: number; identificationTypeId: number; identificationNumber: string; companyName: string; fullName: string; email: string; phoneCode: string; phoneNumber: string; postalCode: string; stateCode: string; countyName: string; cityName: string; addressLine1: string; addressLine2: string; addressLine3: string; countryId: number; identificationType: IdentificationTypeComposition; roleType: CustomerType; } export interface IdentificationTypeComposition extends SymfonyModel { name: string; companyCountryId: number; } export interface ShipmentPieces extends ActiveLessSymfonyModel { number: number; height: number; length: number; width: number; realWeight: number; volumetricWeight: number; dataIdentifier: string; trackingNumber: string; licensePlateBarCode: string; shipmentPieceCompanyCountrySupplies: ShipmentPieceCompanyCountrySupplies[]; } export interface ShipmentPieceCompanyCountrySupplies extends ActiveLessSymfonyModel { supplyId: number; quantity: number; subtotal: number; taxBase: number; taxPercent: number; tax: number; total: number; description: string; supply: Supply; } export interface CommercialInvoice extends ActiveLessSymfonyModel { documentTypeId: number; tradingTransactionTypeId: number; documentFunctionId: number; number: string; remarks: string; items: Item[]; documentType: DocumentTypeComposition; tradingTransactionType: TradingTransactionType; documentFunction: DocumentFunction; } export interface Item extends ActiveLessSymfonyModel { description: string; quantity: number; quantityUnitId: number; subtotal: number; manufactureCountryCode: string; realWeight: number; commodityId: number; quantityUnit: QuantityUnit; manufactureCountry: ManufactureCountry; commodity: Commodity; } export interface QuantityUnit extends SymfonyModel { code: string; name: string; } export interface ManufactureCountry { id: string; code: string; name: string; locationType: string[]; unit: string[]; timezone: string; hasImportService: boolean; isActive: boolean; regions: string[]; zones: string[]; isoCode: string; } export interface Commodity extends SymfonyModel { code: string; name: string; countryId: number; } export interface DocumentTypeComposition extends SymfonyModel { code: string; name: string; description: string; } export interface TradingTransactionType extends SymfonyModel { code: string; name: string; description: string; } export interface DocumentFunction extends SymfonyModel { code: string; name: string; } export interface ShipmentGsop extends ActiveLessSymfonyModel { productContentCode: string; originServiceAreaCode: string; destinationServiceAreaCode: string; internalServiceCode: string; awbBarCode: string; dhlRoutingBarCode: string; } export interface ShipmentCompanyCountryExtraCharges extends ActiveLessSymfonyModel { subtotal: number; tax: number; total: number; extraChargeId: number; extraChargeCode: string; } export interface AdditionalData { awbTypeCode: string; countryCode: string; shipmentTypeCode: string; productGlobalCode: string; productLocalCode: string; currencyCode: string; userUsername: string; locationFacilityCode: string; } export interface Customs { criteria: Criteria; rules: Rules[]; } export interface Criteria { origin: string; destination: string; dutiable: boolean; declaredValue: number; } export interface Rules { id: number; level: string; attributes: Attributes[]; } export interface Attributes { id: number; field: string; dhlCode: string; values: Values; } export interface Values { shipment: string; customer: CustomerComposition; invoiceHeader: string; invoiceItem: string[]; } export interface CustomerComposition { SP: string; RV: string; } export interface ShipmentBookPickup extends ActiveLessSymfonyModel { pickupDate: string; readyByTime: string; closeTime: string; confirmationNumber: string; packageLocationId: number; remarks: string; packageLocation: PackageLocation; } export interface PackageLocation extends SymfonyModel { name: string; }