Subversion Repositories SmartDukaan

Rev

Rev 19427 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#
# Autogenerated by Thrift Compiler (0.7.0)
#
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
#

from thrift.Thrift import *
import shop2020.thriftpy.generic.ttypes


from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol, TProtocol
try:
  from thrift.protocol import fastbinary
except:
  fastbinary = None


class StationType:
  OWN_STATION = 0
  ASSOCIATE_STATION = 1

  _VALUES_TO_NAMES = {
    0: "OWN_STATION",
    1: "ASSOCIATE_STATION",
  }

  _NAMES_TO_VALUES = {
    "OWN_STATION": 0,
    "ASSOCIATE_STATION": 1,
  }

class DeliveryType:
  PREPAID = 0
  COD = 1

  _VALUES_TO_NAMES = {
    0: "PREPAID",
    1: "COD",
  }

  _NAMES_TO_VALUES = {
    "PREPAID": 0,
    "COD": 1,
  }

class PickUpType:
  COURIER = 0
  RUNNER = 1
  SELF = 2

  _VALUES_TO_NAMES = {
    0: "COURIER",
    1: "RUNNER",
    2: "SELF",
  }

  _NAMES_TO_VALUES = {
    "COURIER": 0,
    "RUNNER": 1,
    "SELF": 2,
  }


class ProviderDetails:
  """
  Attributes:
   - accountNo
   - email
   - logisticLocation
   - deliveryType
  """

  thrift_spec = (
    None, # 0
    (1, TType.STRING, 'accountNo', None, None, ), # 1
    (2, TType.STRING, 'email', None, None, ), # 2
    (3, TType.I64, 'logisticLocation', None, None, ), # 3
    (4, TType.I32, 'deliveryType', None, None, ), # 4
  )

  def __init__(self, accountNo=None, email=None, logisticLocation=None, deliveryType=None,):
    self.accountNo = accountNo
    self.email = email
    self.logisticLocation = logisticLocation
    self.deliveryType = deliveryType

  def read(self, iprot):
    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
      return
    iprot.readStructBegin()
    while True:
      (fname, ftype, fid) = iprot.readFieldBegin()
      if ftype == TType.STOP:
        break
      if fid == 1:
        if ftype == TType.STRING:
          self.accountNo = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 2:
        if ftype == TType.STRING:
          self.email = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 3:
        if ftype == TType.I64:
          self.logisticLocation = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 4:
        if ftype == TType.I32:
          self.deliveryType = iprot.readI32();
        else:
          iprot.skip(ftype)
      else:
        iprot.skip(ftype)
      iprot.readFieldEnd()
    iprot.readStructEnd()

  def write(self, oprot):
    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
      return
    oprot.writeStructBegin('ProviderDetails')
    if self.accountNo is not None:
      oprot.writeFieldBegin('accountNo', TType.STRING, 1)
      oprot.writeString(self.accountNo)
      oprot.writeFieldEnd()
    if self.email is not None:
      oprot.writeFieldBegin('email', TType.STRING, 2)
      oprot.writeString(self.email)
      oprot.writeFieldEnd()
    if self.logisticLocation is not None:
      oprot.writeFieldBegin('logisticLocation', TType.I64, 3)
      oprot.writeI64(self.logisticLocation)
      oprot.writeFieldEnd()
    if self.deliveryType is not None:
      oprot.writeFieldBegin('deliveryType', TType.I32, 4)
      oprot.writeI32(self.deliveryType)
      oprot.writeFieldEnd()
    oprot.writeFieldStop()
    oprot.writeStructEnd()

  def validate(self):
    return


  def __repr__(self):
    L = ['%s=%r' % (key, value)
      for key, value in self.__dict__.iteritems()]
    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))

  def __eq__(self, other):
    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__

  def __ne__(self, other):
    return not (self == other)

class ItemText:
  """
  Attributes:
   - itemId
   - displayText
  """

  thrift_spec = (
    None, # 0
    (1, TType.I64, 'itemId', None, None, ), # 1
    (2, TType.STRING, 'displayText', None, None, ), # 2
  )

  def __init__(self, itemId=None, displayText=None,):
    self.itemId = itemId
    self.displayText = displayText

  def read(self, iprot):
    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
      return
    iprot.readStructBegin()
    while True:
      (fname, ftype, fid) = iprot.readFieldBegin()
      if ftype == TType.STOP:
        break
      if fid == 1:
        if ftype == TType.I64:
          self.itemId = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 2:
        if ftype == TType.STRING:
          self.displayText = iprot.readString();
        else:
          iprot.skip(ftype)
      else:
        iprot.skip(ftype)
      iprot.readFieldEnd()
    iprot.readStructEnd()

  def write(self, oprot):
    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
      return
    oprot.writeStructBegin('ItemText')
    if self.itemId is not None:
      oprot.writeFieldBegin('itemId', TType.I64, 1)
      oprot.writeI64(self.itemId)
      oprot.writeFieldEnd()
    if self.displayText is not None:
      oprot.writeFieldBegin('displayText', TType.STRING, 2)
      oprot.writeString(self.displayText)
      oprot.writeFieldEnd()
    oprot.writeFieldStop()
    oprot.writeStructEnd()

  def validate(self):
    return


  def __repr__(self):
    L = ['%s=%r' % (key, value)
      for key, value in self.__dict__.iteritems()]
    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))

  def __eq__(self, other):
    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__

  def __ne__(self, other):
    return not (self == other)

class Provider:
  """
  Attributes:
   - id
   - name
   - details
   - pickup
   - bundleWeightLimit
   - groupShipmentAllowed
   - maxCodLimit
  """

  thrift_spec = (
    None, # 0
    (1, TType.I64, 'id', None, None, ), # 1
    (2, TType.STRING, 'name', None, None, ), # 2
    (3, TType.LIST, 'details', (TType.STRUCT,(ProviderDetails, ProviderDetails.thrift_spec)), None, ), # 3
    (4, TType.I32, 'pickup', None, None, ), # 4
    (5, TType.DOUBLE, 'bundleWeightLimit', None, None, ), # 5
    (6, TType.BOOL, 'groupShipmentAllowed', None, None, ), # 6
    (7, TType.DOUBLE, 'maxCodLimit', None, None, ), # 7
  )

  def __init__(self, id=None, name=None, details=None, pickup=None, bundleWeightLimit=None, groupShipmentAllowed=None, maxCodLimit=None,):
    self.id = id
    self.name = name
    self.details = details
    self.pickup = pickup
    self.bundleWeightLimit = bundleWeightLimit
    self.groupShipmentAllowed = groupShipmentAllowed
    self.maxCodLimit = maxCodLimit

  def read(self, iprot):
    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
      return
    iprot.readStructBegin()
    while True:
      (fname, ftype, fid) = iprot.readFieldBegin()
      if ftype == TType.STOP:
        break
      if fid == 1:
        if ftype == TType.I64:
          self.id = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 2:
        if ftype == TType.STRING:
          self.name = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 3:
        if ftype == TType.LIST:
          self.details = []
          (_etype3, _size0) = iprot.readListBegin()
          for _i4 in xrange(_size0):
            _elem5 = ProviderDetails()
            _elem5.read(iprot)
            self.details.append(_elem5)
          iprot.readListEnd()
        else:
          iprot.skip(ftype)
      elif fid == 4:
        if ftype == TType.I32:
          self.pickup = iprot.readI32();
        else:
          iprot.skip(ftype)
      elif fid == 5:
        if ftype == TType.DOUBLE:
          self.bundleWeightLimit = iprot.readDouble();
        else:
          iprot.skip(ftype)
      elif fid == 6:
        if ftype == TType.BOOL:
          self.groupShipmentAllowed = iprot.readBool();
        else:
          iprot.skip(ftype)
      elif fid == 7:
        if ftype == TType.DOUBLE:
          self.maxCodLimit = iprot.readDouble();
        else:
          iprot.skip(ftype)
      else:
        iprot.skip(ftype)
      iprot.readFieldEnd()
    iprot.readStructEnd()

  def write(self, oprot):
    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
      return
    oprot.writeStructBegin('Provider')
    if self.id is not None:
      oprot.writeFieldBegin('id', TType.I64, 1)
      oprot.writeI64(self.id)
      oprot.writeFieldEnd()
    if self.name is not None:
      oprot.writeFieldBegin('name', TType.STRING, 2)
      oprot.writeString(self.name)
      oprot.writeFieldEnd()
    if self.details is not None:
      oprot.writeFieldBegin('details', TType.LIST, 3)
      oprot.writeListBegin(TType.STRUCT, len(self.details))
      for iter6 in self.details:
        iter6.write(oprot)
      oprot.writeListEnd()
      oprot.writeFieldEnd()
    if self.pickup is not None:
      oprot.writeFieldBegin('pickup', TType.I32, 4)
      oprot.writeI32(self.pickup)
      oprot.writeFieldEnd()
    if self.bundleWeightLimit is not None:
      oprot.writeFieldBegin('bundleWeightLimit', TType.DOUBLE, 5)
      oprot.writeDouble(self.bundleWeightLimit)
      oprot.writeFieldEnd()
    if self.groupShipmentAllowed is not None:
      oprot.writeFieldBegin('groupShipmentAllowed', TType.BOOL, 6)
      oprot.writeBool(self.groupShipmentAllowed)
      oprot.writeFieldEnd()
    if self.maxCodLimit is not None:
      oprot.writeFieldBegin('maxCodLimit', TType.DOUBLE, 7)
      oprot.writeDouble(self.maxCodLimit)
      oprot.writeFieldEnd()
    oprot.writeFieldStop()
    oprot.writeStructEnd()

  def validate(self):
    return


  def __repr__(self):
    L = ['%s=%r' % (key, value)
      for key, value in self.__dict__.iteritems()]
    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))

  def __eq__(self, other):
    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__

  def __ne__(self, other):
    return not (self == other)

class AwbUpdate:
  """
  Attributes:
   - awbNumber
   - providerId
   - date
   - status
   - description
   - location
  """

  thrift_spec = (
    None, # 0
    (1, TType.STRING, 'awbNumber', None, None, ), # 1
    (2, TType.I64, 'providerId', None, None, ), # 2
    (3, TType.I64, 'date', None, None, ), # 3
    (4, TType.STRING, 'status', None, None, ), # 4
    (5, TType.STRING, 'description', None, None, ), # 5
    (6, TType.STRING, 'location', None, None, ), # 6
  )

  def __init__(self, awbNumber=None, providerId=None, date=None, status=None, description=None, location=None,):
    self.awbNumber = awbNumber
    self.providerId = providerId
    self.date = date
    self.status = status
    self.description = description
    self.location = location

  def read(self, iprot):
    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
      return
    iprot.readStructBegin()
    while True:
      (fname, ftype, fid) = iprot.readFieldBegin()
      if ftype == TType.STOP:
        break
      if fid == 1:
        if ftype == TType.STRING:
          self.awbNumber = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 2:
        if ftype == TType.I64:
          self.providerId = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 3:
        if ftype == TType.I64:
          self.date = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 4:
        if ftype == TType.STRING:
          self.status = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 5:
        if ftype == TType.STRING:
          self.description = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 6:
        if ftype == TType.STRING:
          self.location = iprot.readString();
        else:
          iprot.skip(ftype)
      else:
        iprot.skip(ftype)
      iprot.readFieldEnd()
    iprot.readStructEnd()

  def write(self, oprot):
    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
      return
    oprot.writeStructBegin('AwbUpdate')
    if self.awbNumber is not None:
      oprot.writeFieldBegin('awbNumber', TType.STRING, 1)
      oprot.writeString(self.awbNumber)
      oprot.writeFieldEnd()
    if self.providerId is not None:
      oprot.writeFieldBegin('providerId', TType.I64, 2)
      oprot.writeI64(self.providerId)
      oprot.writeFieldEnd()
    if self.date is not None:
      oprot.writeFieldBegin('date', TType.I64, 3)
      oprot.writeI64(self.date)
      oprot.writeFieldEnd()
    if self.status is not None:
      oprot.writeFieldBegin('status', TType.STRING, 4)
      oprot.writeString(self.status)
      oprot.writeFieldEnd()
    if self.description is not None:
      oprot.writeFieldBegin('description', TType.STRING, 5)
      oprot.writeString(self.description)
      oprot.writeFieldEnd()
    if self.location is not None:
      oprot.writeFieldBegin('location', TType.STRING, 6)
      oprot.writeString(self.location)
      oprot.writeFieldEnd()
    oprot.writeFieldStop()
    oprot.writeStructEnd()

  def validate(self):
    return


  def __repr__(self):
    L = ['%s=%r' % (key, value)
      for key, value in self.__dict__.iteritems()]
    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))

  def __eq__(self, other):
    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__

  def __ne__(self, other):
    return not (self == other)

class LogisticsInfo:
  """
  Attributes:
   - warehouseId
   - providerId
   - deliveryTime
   - airway_billno
   - shippingTime
   - codAllowed
   - fulfilmentWarehouseId
   - otgAvailable
   - deliveryDelay
  """

  thrift_spec = (
    None, # 0
    (1, TType.I64, 'warehouseId', None, None, ), # 1
    (2, TType.I64, 'providerId', None, None, ), # 2
    (3, TType.I64, 'deliveryTime', None, None, ), # 3
    (4, TType.STRING, 'airway_billno', None, None, ), # 4
    (5, TType.I64, 'shippingTime', None, None, ), # 5
    (6, TType.BOOL, 'codAllowed', None, None, ), # 6
    (7, TType.I64, 'fulfilmentWarehouseId', None, None, ), # 7
    (8, TType.BOOL, 'otgAvailable', None, None, ), # 8
    (9, TType.I64, 'deliveryDelay', None, None, ), # 9
  )

  def __init__(self, warehouseId=None, providerId=None, deliveryTime=None, airway_billno=None, shippingTime=None, codAllowed=None, fulfilmentWarehouseId=None, otgAvailable=None, deliveryDelay=None,):
    self.warehouseId = warehouseId
    self.providerId = providerId
    self.deliveryTime = deliveryTime
    self.airway_billno = airway_billno
    self.shippingTime = shippingTime
    self.codAllowed = codAllowed
    self.fulfilmentWarehouseId = fulfilmentWarehouseId
    self.otgAvailable = otgAvailable
    self.deliveryDelay = deliveryDelay

  def read(self, iprot):
    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
      return
    iprot.readStructBegin()
    while True:
      (fname, ftype, fid) = iprot.readFieldBegin()
      if ftype == TType.STOP:
        break
      if fid == 1:
        if ftype == TType.I64:
          self.warehouseId = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 2:
        if ftype == TType.I64:
          self.providerId = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 3:
        if ftype == TType.I64:
          self.deliveryTime = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 4:
        if ftype == TType.STRING:
          self.airway_billno = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 5:
        if ftype == TType.I64:
          self.shippingTime = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 6:
        if ftype == TType.BOOL:
          self.codAllowed = iprot.readBool();
        else:
          iprot.skip(ftype)
      elif fid == 7:
        if ftype == TType.I64:
          self.fulfilmentWarehouseId = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 8:
        if ftype == TType.BOOL:
          self.otgAvailable = iprot.readBool();
        else:
          iprot.skip(ftype)
      elif fid == 9:
        if ftype == TType.I64:
          self.deliveryDelay = iprot.readI64();
        else:
          iprot.skip(ftype)
      else:
        iprot.skip(ftype)
      iprot.readFieldEnd()
    iprot.readStructEnd()

  def write(self, oprot):
    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
      return
    oprot.writeStructBegin('LogisticsInfo')
    if self.warehouseId is not None:
      oprot.writeFieldBegin('warehouseId', TType.I64, 1)
      oprot.writeI64(self.warehouseId)
      oprot.writeFieldEnd()
    if self.providerId is not None:
      oprot.writeFieldBegin('providerId', TType.I64, 2)
      oprot.writeI64(self.providerId)
      oprot.writeFieldEnd()
    if self.deliveryTime is not None:
      oprot.writeFieldBegin('deliveryTime', TType.I64, 3)
      oprot.writeI64(self.deliveryTime)
      oprot.writeFieldEnd()
    if self.airway_billno is not None:
      oprot.writeFieldBegin('airway_billno', TType.STRING, 4)
      oprot.writeString(self.airway_billno)
      oprot.writeFieldEnd()
    if self.shippingTime is not None:
      oprot.writeFieldBegin('shippingTime', TType.I64, 5)
      oprot.writeI64(self.shippingTime)
      oprot.writeFieldEnd()
    if self.codAllowed is not None:
      oprot.writeFieldBegin('codAllowed', TType.BOOL, 6)
      oprot.writeBool(self.codAllowed)
      oprot.writeFieldEnd()
    if self.fulfilmentWarehouseId is not None:
      oprot.writeFieldBegin('fulfilmentWarehouseId', TType.I64, 7)
      oprot.writeI64(self.fulfilmentWarehouseId)
      oprot.writeFieldEnd()
    if self.otgAvailable is not None:
      oprot.writeFieldBegin('otgAvailable', TType.BOOL, 8)
      oprot.writeBool(self.otgAvailable)
      oprot.writeFieldEnd()
    if self.deliveryDelay is not None:
      oprot.writeFieldBegin('deliveryDelay', TType.I64, 9)
      oprot.writeI64(self.deliveryDelay)
      oprot.writeFieldEnd()
    oprot.writeFieldStop()
    oprot.writeStructEnd()

  def validate(self):
    return


  def __repr__(self):
    L = ['%s=%r' % (key, value)
      for key, value in self.__dict__.iteritems()]
    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))

  def __eq__(self, other):
    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__

  def __ne__(self, other):
    return not (self == other)

class PickupStore:
  """
  Attributes:
   - id
   - hotspotId
   - name
   - line1
   - line2
   - city
   - state
   - pin
   - phone
   - email
   - zone
   - bdm
   - bdmEmail
  """

  thrift_spec = (
    None, # 0
    (1, TType.I64, 'id', None, None, ), # 1
    (2, TType.STRING, 'hotspotId', None, None, ), # 2
    (3, TType.STRING, 'name', None, None, ), # 3
    (4, TType.STRING, 'line1', None, None, ), # 4
    (5, TType.STRING, 'line2', None, None, ), # 5
    (6, TType.STRING, 'city', None, None, ), # 6
    (7, TType.STRING, 'state', None, None, ), # 7
    (8, TType.STRING, 'pin', None, None, ), # 8
    (9, TType.STRING, 'phone', None, None, ), # 9
    (10, TType.STRING, 'email', None, None, ), # 10
    (11, TType.STRING, 'zone', None, None, ), # 11
    (12, TType.STRING, 'bdm', None, None, ), # 12
    (13, TType.STRING, 'bdmEmail', None, None, ), # 13
  )

  def __init__(self, id=None, hotspotId=None, name=None, line1=None, line2=None, city=None, state=None, pin=None, phone=None, email=None, zone=None, bdm=None, bdmEmail=None,):
    self.id = id
    self.hotspotId = hotspotId
    self.name = name
    self.line1 = line1
    self.line2 = line2
    self.city = city
    self.state = state
    self.pin = pin
    self.phone = phone
    self.email = email
    self.zone = zone
    self.bdm = bdm
    self.bdmEmail = bdmEmail

  def read(self, iprot):
    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
      return
    iprot.readStructBegin()
    while True:
      (fname, ftype, fid) = iprot.readFieldBegin()
      if ftype == TType.STOP:
        break
      if fid == 1:
        if ftype == TType.I64:
          self.id = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 2:
        if ftype == TType.STRING:
          self.hotspotId = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 3:
        if ftype == TType.STRING:
          self.name = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 4:
        if ftype == TType.STRING:
          self.line1 = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 5:
        if ftype == TType.STRING:
          self.line2 = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 6:
        if ftype == TType.STRING:
          self.city = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 7:
        if ftype == TType.STRING:
          self.state = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 8:
        if ftype == TType.STRING:
          self.pin = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 9:
        if ftype == TType.STRING:
          self.phone = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 10:
        if ftype == TType.STRING:
          self.email = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 11:
        if ftype == TType.STRING:
          self.zone = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 12:
        if ftype == TType.STRING:
          self.bdm = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 13:
        if ftype == TType.STRING:
          self.bdmEmail = iprot.readString();
        else:
          iprot.skip(ftype)
      else:
        iprot.skip(ftype)
      iprot.readFieldEnd()
    iprot.readStructEnd()

  def write(self, oprot):
    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
      return
    oprot.writeStructBegin('PickupStore')
    if self.id is not None:
      oprot.writeFieldBegin('id', TType.I64, 1)
      oprot.writeI64(self.id)
      oprot.writeFieldEnd()
    if self.hotspotId is not None:
      oprot.writeFieldBegin('hotspotId', TType.STRING, 2)
      oprot.writeString(self.hotspotId)
      oprot.writeFieldEnd()
    if self.name is not None:
      oprot.writeFieldBegin('name', TType.STRING, 3)
      oprot.writeString(self.name)
      oprot.writeFieldEnd()
    if self.line1 is not None:
      oprot.writeFieldBegin('line1', TType.STRING, 4)
      oprot.writeString(self.line1)
      oprot.writeFieldEnd()
    if self.line2 is not None:
      oprot.writeFieldBegin('line2', TType.STRING, 5)
      oprot.writeString(self.line2)
      oprot.writeFieldEnd()
    if self.city is not None:
      oprot.writeFieldBegin('city', TType.STRING, 6)
      oprot.writeString(self.city)
      oprot.writeFieldEnd()
    if self.state is not None:
      oprot.writeFieldBegin('state', TType.STRING, 7)
      oprot.writeString(self.state)
      oprot.writeFieldEnd()
    if self.pin is not None:
      oprot.writeFieldBegin('pin', TType.STRING, 8)
      oprot.writeString(self.pin)
      oprot.writeFieldEnd()
    if self.phone is not None:
      oprot.writeFieldBegin('phone', TType.STRING, 9)
      oprot.writeString(self.phone)
      oprot.writeFieldEnd()
    if self.email is not None:
      oprot.writeFieldBegin('email', TType.STRING, 10)
      oprot.writeString(self.email)
      oprot.writeFieldEnd()
    if self.zone is not None:
      oprot.writeFieldBegin('zone', TType.STRING, 11)
      oprot.writeString(self.zone)
      oprot.writeFieldEnd()
    if self.bdm is not None:
      oprot.writeFieldBegin('bdm', TType.STRING, 12)
      oprot.writeString(self.bdm)
      oprot.writeFieldEnd()
    if self.bdmEmail is not None:
      oprot.writeFieldBegin('bdmEmail', TType.STRING, 13)
      oprot.writeString(self.bdmEmail)
      oprot.writeFieldEnd()
    oprot.writeFieldStop()
    oprot.writeStructEnd()

  def validate(self):
    return


  def __repr__(self):
    L = ['%s=%r' % (key, value)
      for key, value in self.__dict__.iteritems()]
    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))

  def __eq__(self, other):
    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__

  def __ne__(self, other):
    return not (self == other)

class LogisticsLocationInfo:
  """
  Attributes:
   - providerId
   - pinCode
   - destinationCode
   - expAvailable
   - codAvailable
   - otgAvailable
   - codLimit
   - prepaidLimit
   - warehouseId
   - deliveryTime
   - delivery_delay
   - zoneCode
  """

  thrift_spec = (
    None, # 0
    (1, TType.I64, 'providerId', None, None, ), # 1
    (2, TType.STRING, 'pinCode', None, None, ), # 2
    (3, TType.STRING, 'destinationCode', None, None, ), # 3
    (4, TType.BOOL, 'expAvailable', None, None, ), # 4
    (5, TType.BOOL, 'codAvailable', None, None, ), # 5
    (6, TType.BOOL, 'otgAvailable', None, None, ), # 6
    (7, TType.I64, 'codLimit', None, None, ), # 7
    (8, TType.I64, 'prepaidLimit', None, None, ), # 8
    (9, TType.I64, 'warehouseId', None, None, ), # 9
    (10, TType.I64, 'deliveryTime', None, None, ), # 10
    (11, TType.I64, 'delivery_delay', None, None, ), # 11
    (12, TType.STRING, 'zoneCode', None, None, ), # 12
  )

  def __init__(self, providerId=None, pinCode=None, destinationCode=None, expAvailable=None, codAvailable=None, otgAvailable=None, codLimit=None, prepaidLimit=None, warehouseId=None, deliveryTime=None, delivery_delay=None, zoneCode=None,):
    self.providerId = providerId
    self.pinCode = pinCode
    self.destinationCode = destinationCode
    self.expAvailable = expAvailable
    self.codAvailable = codAvailable
    self.otgAvailable = otgAvailable
    self.codLimit = codLimit
    self.prepaidLimit = prepaidLimit
    self.warehouseId = warehouseId
    self.deliveryTime = deliveryTime
    self.delivery_delay = delivery_delay
    self.zoneCode = zoneCode

  def read(self, iprot):
    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
      return
    iprot.readStructBegin()
    while True:
      (fname, ftype, fid) = iprot.readFieldBegin()
      if ftype == TType.STOP:
        break
      if fid == 1:
        if ftype == TType.I64:
          self.providerId = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 2:
        if ftype == TType.STRING:
          self.pinCode = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 3:
        if ftype == TType.STRING:
          self.destinationCode = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 4:
        if ftype == TType.BOOL:
          self.expAvailable = iprot.readBool();
        else:
          iprot.skip(ftype)
      elif fid == 5:
        if ftype == TType.BOOL:
          self.codAvailable = iprot.readBool();
        else:
          iprot.skip(ftype)
      elif fid == 6:
        if ftype == TType.BOOL:
          self.otgAvailable = iprot.readBool();
        else:
          iprot.skip(ftype)
      elif fid == 7:
        if ftype == TType.I64:
          self.codLimit = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 8:
        if ftype == TType.I64:
          self.prepaidLimit = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 9:
        if ftype == TType.I64:
          self.warehouseId = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 10:
        if ftype == TType.I64:
          self.deliveryTime = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 11:
        if ftype == TType.I64:
          self.delivery_delay = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 12:
        if ftype == TType.STRING:
          self.zoneCode = iprot.readString();
        else:
          iprot.skip(ftype)
      else:
        iprot.skip(ftype)
      iprot.readFieldEnd()
    iprot.readStructEnd()

  def write(self, oprot):
    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
      return
    oprot.writeStructBegin('LogisticsLocationInfo')
    if self.providerId is not None:
      oprot.writeFieldBegin('providerId', TType.I64, 1)
      oprot.writeI64(self.providerId)
      oprot.writeFieldEnd()
    if self.pinCode is not None:
      oprot.writeFieldBegin('pinCode', TType.STRING, 2)
      oprot.writeString(self.pinCode)
      oprot.writeFieldEnd()
    if self.destinationCode is not None:
      oprot.writeFieldBegin('destinationCode', TType.STRING, 3)
      oprot.writeString(self.destinationCode)
      oprot.writeFieldEnd()
    if self.expAvailable is not None:
      oprot.writeFieldBegin('expAvailable', TType.BOOL, 4)
      oprot.writeBool(self.expAvailable)
      oprot.writeFieldEnd()
    if self.codAvailable is not None:
      oprot.writeFieldBegin('codAvailable', TType.BOOL, 5)
      oprot.writeBool(self.codAvailable)
      oprot.writeFieldEnd()
    if self.otgAvailable is not None:
      oprot.writeFieldBegin('otgAvailable', TType.BOOL, 6)
      oprot.writeBool(self.otgAvailable)
      oprot.writeFieldEnd()
    if self.codLimit is not None:
      oprot.writeFieldBegin('codLimit', TType.I64, 7)
      oprot.writeI64(self.codLimit)
      oprot.writeFieldEnd()
    if self.prepaidLimit is not None:
      oprot.writeFieldBegin('prepaidLimit', TType.I64, 8)
      oprot.writeI64(self.prepaidLimit)
      oprot.writeFieldEnd()
    if self.warehouseId is not None:
      oprot.writeFieldBegin('warehouseId', TType.I64, 9)
      oprot.writeI64(self.warehouseId)
      oprot.writeFieldEnd()
    if self.deliveryTime is not None:
      oprot.writeFieldBegin('deliveryTime', TType.I64, 10)
      oprot.writeI64(self.deliveryTime)
      oprot.writeFieldEnd()
    if self.delivery_delay is not None:
      oprot.writeFieldBegin('delivery_delay', TType.I64, 11)
      oprot.writeI64(self.delivery_delay)
      oprot.writeFieldEnd()
    if self.zoneCode is not None:
      oprot.writeFieldBegin('zoneCode', TType.STRING, 12)
      oprot.writeString(self.zoneCode)
      oprot.writeFieldEnd()
    oprot.writeFieldStop()
    oprot.writeStructEnd()

  def validate(self):
    return


  def __repr__(self):
    L = ['%s=%r' % (key, value)
      for key, value in self.__dict__.iteritems()]
    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))

  def __eq__(self, other):
    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__

  def __ne__(self, other):
    return not (self == other)

class ProviderInfo:
  """
  Attributes:
   - providerId
   - isCodAvailable
   - isOtgAvailable
   - delayDays
  """

  thrift_spec = (
    None, # 0
    (1, TType.I64, 'providerId', None, None, ), # 1
    (2, TType.BOOL, 'isCodAvailable', None, None, ), # 2
    (3, TType.BOOL, 'isOtgAvailable', None, None, ), # 3
    (4, TType.I64, 'delayDays', None, None, ), # 4
  )

  def __init__(self, providerId=None, isCodAvailable=None, isOtgAvailable=None, delayDays=None,):
    self.providerId = providerId
    self.isCodAvailable = isCodAvailable
    self.isOtgAvailable = isOtgAvailable
    self.delayDays = delayDays

  def read(self, iprot):
    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
      return
    iprot.readStructBegin()
    while True:
      (fname, ftype, fid) = iprot.readFieldBegin()
      if ftype == TType.STOP:
        break
      if fid == 1:
        if ftype == TType.I64:
          self.providerId = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 2:
        if ftype == TType.BOOL:
          self.isCodAvailable = iprot.readBool();
        else:
          iprot.skip(ftype)
      elif fid == 3:
        if ftype == TType.BOOL:
          self.isOtgAvailable = iprot.readBool();
        else:
          iprot.skip(ftype)
      elif fid == 4:
        if ftype == TType.I64:
          self.delayDays = iprot.readI64();
        else:
          iprot.skip(ftype)
      else:
        iprot.skip(ftype)
      iprot.readFieldEnd()
    iprot.readStructEnd()

  def write(self, oprot):
    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
      return
    oprot.writeStructBegin('ProviderInfo')
    if self.providerId is not None:
      oprot.writeFieldBegin('providerId', TType.I64, 1)
      oprot.writeI64(self.providerId)
      oprot.writeFieldEnd()
    if self.isCodAvailable is not None:
      oprot.writeFieldBegin('isCodAvailable', TType.BOOL, 2)
      oprot.writeBool(self.isCodAvailable)
      oprot.writeFieldEnd()
    if self.isOtgAvailable is not None:
      oprot.writeFieldBegin('isOtgAvailable', TType.BOOL, 3)
      oprot.writeBool(self.isOtgAvailable)
      oprot.writeFieldEnd()
    if self.delayDays is not None:
      oprot.writeFieldBegin('delayDays', TType.I64, 4)
      oprot.writeI64(self.delayDays)
      oprot.writeFieldEnd()
    oprot.writeFieldStop()
    oprot.writeStructEnd()

  def validate(self):
    return


  def __repr__(self):
    L = ['%s=%r' % (key, value)
      for key, value in self.__dict__.iteritems()]
    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))

  def __eq__(self, other):
    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__

  def __ne__(self, other):
    return not (self == other)

class LocationInfo:
  """
  Attributes:
   - locationId
   - sameState
   - isCod
   - isOtg
   - minDelay
   - maxDelay
  """

  thrift_spec = (
    None, # 0
    (1, TType.I64, 'locationId', None, None, ), # 1
    (2, TType.BOOL, 'sameState', None, None, ), # 2
    (3, TType.BOOL, 'isCod', None, None, ), # 3
    (4, TType.BOOL, 'isOtg', None, None, ), # 4
    (5, TType.I64, 'minDelay', None, None, ), # 5
    (6, TType.I64, 'maxDelay', None, None, ), # 6
  )

  def __init__(self, locationId=None, sameState=None, isCod=None, isOtg=None, minDelay=None, maxDelay=None,):
    self.locationId = locationId
    self.sameState = sameState
    self.isCod = isCod
    self.isOtg = isOtg
    self.minDelay = minDelay
    self.maxDelay = maxDelay

  def read(self, iprot):
    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
      return
    iprot.readStructBegin()
    while True:
      (fname, ftype, fid) = iprot.readFieldBegin()
      if ftype == TType.STOP:
        break
      if fid == 1:
        if ftype == TType.I64:
          self.locationId = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 2:
        if ftype == TType.BOOL:
          self.sameState = iprot.readBool();
        else:
          iprot.skip(ftype)
      elif fid == 3:
        if ftype == TType.BOOL:
          self.isCod = iprot.readBool();
        else:
          iprot.skip(ftype)
      elif fid == 4:
        if ftype == TType.BOOL:
          self.isOtg = iprot.readBool();
        else:
          iprot.skip(ftype)
      elif fid == 5:
        if ftype == TType.I64:
          self.minDelay = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 6:
        if ftype == TType.I64:
          self.maxDelay = iprot.readI64();
        else:
          iprot.skip(ftype)
      else:
        iprot.skip(ftype)
      iprot.readFieldEnd()
    iprot.readStructEnd()

  def write(self, oprot):
    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
      return
    oprot.writeStructBegin('LocationInfo')
    if self.locationId is not None:
      oprot.writeFieldBegin('locationId', TType.I64, 1)
      oprot.writeI64(self.locationId)
      oprot.writeFieldEnd()
    if self.sameState is not None:
      oprot.writeFieldBegin('sameState', TType.BOOL, 2)
      oprot.writeBool(self.sameState)
      oprot.writeFieldEnd()
    if self.isCod is not None:
      oprot.writeFieldBegin('isCod', TType.BOOL, 3)
      oprot.writeBool(self.isCod)
      oprot.writeFieldEnd()
    if self.isOtg is not None:
      oprot.writeFieldBegin('isOtg', TType.BOOL, 4)
      oprot.writeBool(self.isOtg)
      oprot.writeFieldEnd()
    if self.minDelay is not None:
      oprot.writeFieldBegin('minDelay', TType.I64, 5)
      oprot.writeI64(self.minDelay)
      oprot.writeFieldEnd()
    if self.maxDelay is not None:
      oprot.writeFieldBegin('maxDelay', TType.I64, 6)
      oprot.writeI64(self.maxDelay)
      oprot.writeFieldEnd()
    oprot.writeFieldStop()
    oprot.writeStructEnd()

  def validate(self):
    return


  def __repr__(self):
    L = ['%s=%r' % (key, value)
      for key, value in self.__dict__.iteritems()]
    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))

  def __eq__(self, other):
    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__

  def __ne__(self, other):
    return not (self == other)

class DeliveryEstimateAndCosting:
  """
  Attributes:
   - logistics_provider_id
   - pincode
   - deliveryTime
   - delivery_delay
   - codAllowed
   - otgAvailable
   - logisticsCost
   - codCollectionCharges
   - shippingTime
  """

  thrift_spec = (
    None, # 0
    (1, TType.I64, 'logistics_provider_id', None, None, ), # 1
    (2, TType.STRING, 'pincode', None, None, ), # 2
    (3, TType.I64, 'deliveryTime', None, None, ), # 3
    (4, TType.I64, 'delivery_delay', None, None, ), # 4
    (5, TType.BOOL, 'codAllowed', None, None, ), # 5
    (6, TType.BOOL, 'otgAvailable', None, None, ), # 6
    (7, TType.DOUBLE, 'logisticsCost', None, None, ), # 7
    (8, TType.DOUBLE, 'codCollectionCharges', None, None, ), # 8
    (9, TType.I64, 'shippingTime', None, None, ), # 9
  )

  def __init__(self, logistics_provider_id=None, pincode=None, deliveryTime=None, delivery_delay=None, codAllowed=None, otgAvailable=None, logisticsCost=None, codCollectionCharges=None, shippingTime=None,):
    self.logistics_provider_id = logistics_provider_id
    self.pincode = pincode
    self.deliveryTime = deliveryTime
    self.delivery_delay = delivery_delay
    self.codAllowed = codAllowed
    self.otgAvailable = otgAvailable
    self.logisticsCost = logisticsCost
    self.codCollectionCharges = codCollectionCharges
    self.shippingTime = shippingTime

  def read(self, iprot):
    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
      return
    iprot.readStructBegin()
    while True:
      (fname, ftype, fid) = iprot.readFieldBegin()
      if ftype == TType.STOP:
        break
      if fid == 1:
        if ftype == TType.I64:
          self.logistics_provider_id = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 2:
        if ftype == TType.STRING:
          self.pincode = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 3:
        if ftype == TType.I64:
          self.deliveryTime = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 4:
        if ftype == TType.I64:
          self.delivery_delay = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 5:
        if ftype == TType.BOOL:
          self.codAllowed = iprot.readBool();
        else:
          iprot.skip(ftype)
      elif fid == 6:
        if ftype == TType.BOOL:
          self.otgAvailable = iprot.readBool();
        else:
          iprot.skip(ftype)
      elif fid == 7:
        if ftype == TType.DOUBLE:
          self.logisticsCost = iprot.readDouble();
        else:
          iprot.skip(ftype)
      elif fid == 8:
        if ftype == TType.DOUBLE:
          self.codCollectionCharges = iprot.readDouble();
        else:
          iprot.skip(ftype)
      elif fid == 9:
        if ftype == TType.I64:
          self.shippingTime = iprot.readI64();
        else:
          iprot.skip(ftype)
      else:
        iprot.skip(ftype)
      iprot.readFieldEnd()
    iprot.readStructEnd()

  def write(self, oprot):
    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
      return
    oprot.writeStructBegin('DeliveryEstimateAndCosting')
    if self.logistics_provider_id is not None:
      oprot.writeFieldBegin('logistics_provider_id', TType.I64, 1)
      oprot.writeI64(self.logistics_provider_id)
      oprot.writeFieldEnd()
    if self.pincode is not None:
      oprot.writeFieldBegin('pincode', TType.STRING, 2)
      oprot.writeString(self.pincode)
      oprot.writeFieldEnd()
    if self.deliveryTime is not None:
      oprot.writeFieldBegin('deliveryTime', TType.I64, 3)
      oprot.writeI64(self.deliveryTime)
      oprot.writeFieldEnd()
    if self.delivery_delay is not None:
      oprot.writeFieldBegin('delivery_delay', TType.I64, 4)
      oprot.writeI64(self.delivery_delay)
      oprot.writeFieldEnd()
    if self.codAllowed is not None:
      oprot.writeFieldBegin('codAllowed', TType.BOOL, 5)
      oprot.writeBool(self.codAllowed)
      oprot.writeFieldEnd()
    if self.otgAvailable is not None:
      oprot.writeFieldBegin('otgAvailable', TType.BOOL, 6)
      oprot.writeBool(self.otgAvailable)
      oprot.writeFieldEnd()
    if self.logisticsCost is not None:
      oprot.writeFieldBegin('logisticsCost', TType.DOUBLE, 7)
      oprot.writeDouble(self.logisticsCost)
      oprot.writeFieldEnd()
    if self.codCollectionCharges is not None:
      oprot.writeFieldBegin('codCollectionCharges', TType.DOUBLE, 8)
      oprot.writeDouble(self.codCollectionCharges)
      oprot.writeFieldEnd()
    if self.shippingTime is not None:
      oprot.writeFieldBegin('shippingTime', TType.I64, 9)
      oprot.writeI64(self.shippingTime)
      oprot.writeFieldEnd()
    oprot.writeFieldStop()
    oprot.writeStructEnd()

  def validate(self):
    return


  def __repr__(self):
    L = ['%s=%r' % (key, value)
      for key, value in self.__dict__.iteritems()]
    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))

  def __eq__(self, other):
    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__

  def __ne__(self, other):
    return not (self == other)

class BluedartAttributes:
  """
  Attributes:
   - logisticsTransactionId
   - name
   - value
  """

  thrift_spec = (
    None, # 0
    (1, TType.STRING, 'logisticsTransactionId', None, None, ), # 1
    (2, TType.STRING, 'name', None, None, ), # 2
    (3, TType.STRING, 'value', None, None, ), # 3
  )

  def __init__(self, logisticsTransactionId=None, name=None, value=None,):
    self.logisticsTransactionId = logisticsTransactionId
    self.name = name
    self.value = value

  def read(self, iprot):
    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
      return
    iprot.readStructBegin()
    while True:
      (fname, ftype, fid) = iprot.readFieldBegin()
      if ftype == TType.STOP:
        break
      if fid == 1:
        if ftype == TType.STRING:
          self.logisticsTransactionId = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 2:
        if ftype == TType.STRING:
          self.name = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 3:
        if ftype == TType.STRING:
          self.value = iprot.readString();
        else:
          iprot.skip(ftype)
      else:
        iprot.skip(ftype)
      iprot.readFieldEnd()
    iprot.readStructEnd()

  def write(self, oprot):
    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
      return
    oprot.writeStructBegin('BluedartAttributes')
    if self.logisticsTransactionId is not None:
      oprot.writeFieldBegin('logisticsTransactionId', TType.STRING, 1)
      oprot.writeString(self.logisticsTransactionId)
      oprot.writeFieldEnd()
    if self.name is not None:
      oprot.writeFieldBegin('name', TType.STRING, 2)
      oprot.writeString(self.name)
      oprot.writeFieldEnd()
    if self.value is not None:
      oprot.writeFieldBegin('value', TType.STRING, 3)
      oprot.writeString(self.value)
      oprot.writeFieldEnd()
    oprot.writeFieldStop()
    oprot.writeStructEnd()

  def validate(self):
    return


  def __repr__(self):
    L = ['%s=%r' % (key, value)
      for key, value in self.__dict__.iteritems()]
    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))

  def __eq__(self, other):
    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__

  def __ne__(self, other):
    return not (self == other)

class LogisticsServiceException(Exception):
  """
  Attributes:
   - id
   - message
  """

  thrift_spec = (
    None, # 0
    (1, TType.I64, 'id', None, None, ), # 1
    (2, TType.STRING, 'message', None, None, ), # 2
  )

  def __init__(self, id=None, message=None,):
    self.id = id
    self.message = message

  def read(self, iprot):
    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
      return
    iprot.readStructBegin()
    while True:
      (fname, ftype, fid) = iprot.readFieldBegin()
      if ftype == TType.STOP:
        break
      if fid == 1:
        if ftype == TType.I64:
          self.id = iprot.readI64();
        else:
          iprot.skip(ftype)
      elif fid == 2:
        if ftype == TType.STRING:
          self.message = iprot.readString();
        else:
          iprot.skip(ftype)
      else:
        iprot.skip(ftype)
      iprot.readFieldEnd()
    iprot.readStructEnd()

  def write(self, oprot):
    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
      return
    oprot.writeStructBegin('LogisticsServiceException')
    if self.id is not None:
      oprot.writeFieldBegin('id', TType.I64, 1)
      oprot.writeI64(self.id)
      oprot.writeFieldEnd()
    if self.message is not None:
      oprot.writeFieldBegin('message', TType.STRING, 2)
      oprot.writeString(self.message)
      oprot.writeFieldEnd()
    oprot.writeFieldStop()
    oprot.writeStructEnd()

  def validate(self):
    return


  def __str__(self):
    return repr(self)

  def __repr__(self):
    L = ['%s=%r' % (key, value)
      for key, value in self.__dict__.iteritems()]
    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))

  def __eq__(self, other):
    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__

  def __ne__(self, other):
    return not (self == other)