Repository URL to install this package:
|
Version:
0.4.184 ▾
|
lib-py-b2b
/
fedex.py
|
|---|
from enum import Enum, IntEnum
class FedexServiceType(Enum):
# EUROPE_FIRST_INTERNATIONAL_PRIORITY
# FEDEX_1_DAY_FREIGHT
# FEDEX_2_DAY
# FEDEX_2_DAY_AM
# FEDEX_2_DAY_FREIGHT
# FEDEX_3_DAY_FREIGHT
# FEDEX_DISTANCE_DEFERRED
# FEDEX_EXPRESS_SAVER
# FEDEX_FIRST_FREIGHT
# FEDEX_FREIGHT_ECONOMY
# FEDEX_FREIGHT_PRIORITY
FEDEX_GROUND = 92
# FEDEX_NEXT_DAY_AFTERNOON
# FEDEX_NEXT_DAY_EARLY_MORNING
# FEDEX_NEXT_DAY_END_OF_DAY
# FEDEX_NEXT_DAY_FREIGHT
# FEDEX_NEXT_DAY_MID_MORNING
# FIRST_OVERNIGHT
GROUND_HOME_DELIVERY = 90
# INTERNATIONAL_ECONOMY
# INTERNATIONAL_ECONOMY_FREIGHT
# INTERNATIONAL_FIRST
# INTERNATIONAL_PRIORITY
# INTERNATIONAL_PRIORITY_EXPRESS
# INTERNATIONAL_PRIORITY_FREIGHT
PRIORITY_OVERNIGHT = 1
# SAME_DAY
# SAME_DAY_CITY
# SMART_POST
STANDARD_OVERNIGHT = 5
UNKNOWN = -1
@classmethod
def for_(cls, name: str):
try:
return cls[name]
except ValueError:
return cls.UNKNOWN
class FedexTrackingIdType:
@staticmethod
def for_(service_type: FedexServiceType):
if service_type == FedexServiceType.GROUND_HOME_DELIVERY:
return "GROUND"
elif service_type == FedexServiceType.FEDEX_GROUND:
return "GROUND"
else:
return "FEDEX"
class FedexWeightType(Enum):
KG = 1
LB = 2
LBS = 2
READ_SCALE = 3
class FedexDropOffType(Enum):
REGULAR_PICKUP = 'REGULAR_PICKUP'
REQUEST_COURIER = 'REQUEST_COURIER'
DROP_BOX = 'DROP_BOX'
BUSINESS_SERVICE_CENTER = 'BUSINESS_SERVICE_CENTER'
STATION = 'STATION'
class FedexPackaging(Enum):
FEDEX_BOX = 'FEDEX_BOX'
FEDEX_PAK = 'FEDEX_PAK'
FEDEX_TUBE = 'FEDEX_TUBE'
YOUR_PACKAGING = 'YOUR_PACKAGING'
FEDEX_ENVELOPE = 'FEDEX_ENVELOPE'
class FedexPhysicalPackaging(Enum):
BAG = 'BAG'
BARREL = 'BARREL'
BASKET = 'BASKET'
BOX = 'BOX'
BUCKET = 'BUCKET'
BUNDLE = 'BUNDLE'
CARTON = 'CARTON'
CASE = 'CASE'
CONTAINER = 'CONTAINER'
CRATE = 'CRATE'
CYLINDER = 'CYLINDER'
DRUM = 'DRUM'
ENVELOPE = 'ENVELOPE'
HAMPER = 'HAMPER'
OTHER = 'OTHER'
PAIL = 'PAIL'
PALLET = 'PALLET'
PIECE = 'PIECE'
REEL = 'REEL'
ROLL = 'ROLL'
SKID = 'SKID'
TANK = 'TANK'
TUBE = 'TUBE'
class FedexPaymentType(Enum):
RECIPIENT = 'RECIPIENT'
SENDER = 'SENDER'
THIRD_PARTY = 'THIRD_PARTY'
class FedexLabelType(Enum):
LABEL_DATA_ONLY = 'LABEL_DATA_ONLY'
COMMON2D = 'COMMON2D'
class FedexLabelImageType(Enum):
DPL = 'DPL'
EPL2 = 'EPL2'
PDF = 'PDF'
PNG = 'PNG'
ZPLII = 'ZPLII'
class FedexCustomerReferenceType(Enum):
CUSTOMER_REFERENCE = 'CUSTOMER_REFERENCE'
DEPARTMENT_NUMBER = 'DEPARTMENT_NUMBER'
INTRACOUNTRY_REGULATORY_REFERENCE = 'INTRACOUNTRY_REGULATORY_REFERENCE'
INVOICE_NUMBER = 'INVOICE_NUMBER'
P_O_NUMBER = 'P_O_NUMBER'
RMA_ASSOCIATION = 'RMA_ASSOCIATION'
SHIPMENT_INTEGRITY = 'SHIPMENT_INTEGRITY'
class FedexLabelStockType(Enum):
PAPER_4X6 = 'PAPER_4X6'
PAPER_4X6_75 = 'PAPER_4X6.75'
PAPER_4X8 = 'PAPER_4X8'
PAPER_4X9 = 'PAPER_4X9'
PAPER_7X4_75 = 'PAPER_7X4.75'
PAPER_8_5X11_BOTTOM_HALF_LABEL = 'PAPER_8.5X11_BOTTOM_HALF_LABEL'
PAPER_8_5X11_TOP_HALF_LABEL = 'PAPER_8.5X11_TOP_HALF_LABEL'
PAPER_LETTER = 'PAPER_LETTER'
STOCK_4X6 = 'STOCK_4X6'
STOCK_4X6_75 = 'STOCK_4X6.75'
STOCK_4X6_75_LEADING_DOC_TAB = 'STOCK_4X6.75_LEADING_DOC_TAB'
STOCK_4X6_75_TRAILING_DOC_TAB = 'STOCK_4X6.75_TRAILING_DOC_TAB'
STOCK_4X8 = 'STOCK_4X8'
STOCK_4X9 = 'STOCK_4X9'
STOCK_4X9_LEADING_DOC_TAB = 'STOCK_4X9_LEADING_DOC_TAB'
STOCK_4X9_TRAILING_DOC_TAB = 'STOCK_4X9_TRAILING_DOC_TAB'
class FedexSpecialServiceType(Enum):
ALCOHOL = 'ALCOHOL'
APPOINTMENT_DELIVERY = 'APPOINTMENT_DELIVERY'
BATTERY = 'BATTERY'
COD = 'COD'
DANGEROUS_GOODS = 'DANGEROUS_GOODS'
DRY_ICE = 'DRY_ICE'
NON_STANDARD_CONTAINER = 'NON_STANDARD_CONTAINER'
PRIORITY_ALERT = 'PRIORITY_ALERT'
SIGNATURE_OPTION = 'SIGNATURE_OPTION'
class FedexLabelPrintOrientation(Enum):
BOTTOM_EDGE_OF_TEXT_FIRST = 'BOTTOM_EDGE_OF_TEXT_FIRST'
TOP_EDGE_OF_TEXT_FIRST = 'TOP_EDGE_OF_TEXT_FIRST'
class FedexSignatureOptionType(Enum):
ADULT = 'ADULT'
DIRECT = 'DIRECT'
INDIRECT = 'INDIRECT'
NO_SIGNATURE_REQUIRED = 'NO_SIGNATURE_REQUIRED'
SERVICE_DEFAULT = 'SERVICE_DEFAULT'
class FedexTransitTime(IntEnum):
ONE_DAY = 1
TWO_DAYS = 2
THREE_DAYS = 3
FOUR_DAYS = 4
FIVE_DAYS = 5
SIX_DAYS = 6
SEVEN_DAYS = 7
EIGHT_DAYS = 8
NINE_DAYS = 9
TEN_DAYS = 10
ELEVEN_DAYS = 11
TWELVE_DAYS = 12
THIRTEEN_DAYS = 13
FOURTEEN_DAYS = 14
FIFTEEN_DAYS = 15
SIXTEEN_DAYS = 16
SEVENTEEN_DAYS = 17
EIGHTEEN_DAYS = 18
NINETEEN_DAYS = 19
TWENTY_DAYS = 20
UNKNOWN = -1
@classmethod
def for_(cls, name: str):
try:
return cls[name]
except ValueError:
return cls.UNKNOWN