Subversion Repositories SmartDukaan

Rev

Rev 21134 | Rev 22491 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
104 ashish 1
'''
2
Created on 29-Mar-2010
3
 
4
@author: ashish
5
'''
6594 anupam.sin 6
from MySQLdb.constants.FLAG import AUTO_INCREMENT
4501 mandeep.dh 7
from elixir import metadata, setup_all
104 ashish 8
from elixir.entity import Entity
9
from elixir.fields import Field
4501 mandeep.dh 10
from elixir.options import using_options, using_table_options
11
from elixir.relationships import ManyToOne, OneToMany
12
from sqlalchemy.engine import create_engine
6594 anupam.sin 13
from sqlalchemy.types import Integer, String, Float, DateTime, Boolean, Enum, \
18585 amit.gupta 14
    Numeric, BigInteger, LargeBinary, Date
15
import datetime
104 ashish 16
 
17
#===============================================================================
18
# Different entities in the model
19
#===============================================================================
20
 
19235 manish.sha 21
def initialize(dbname='transaction', db_hostname="localhost", echoOn=True, setup=True):
746 rajveer 22
    #metadata.bind = "sqlite:///Transactionsnew.sqlite"
1122 chandransh 23
    #metadata.bind = 'mysql://root:shop2020@localhost/transaction'
3187 rajveer 24
    engine = create_engine('mysql://root:shop2020@' + db_hostname + '/' + dbname, pool_recycle=7200)
1122 chandransh 25
    metadata.bind = engine
1911 chandransh 26
    metadata.bind.echo = echoOn
19235 manish.sha 27
    setup_all(setup)
483 rajveer 28
 
29
 
30
if __name__=="__main__":
31
    initialize()
2783 chandransh 32
 
33
class InvoiceIDGenerator(Entity):
5527 anupam.sin 34
    id = Field(Integer)
5528 anupam.sin 35
    orderType = Field(Integer, primary_key = True)
2783 chandransh 36
    using_options(shortnames=True)
37
    using_table_options(mysql_engine="InnoDB")   
483 rajveer 38
 
12772 manish.sha 39
class InvoiceCounterGenerator(Entity):
40
    id = Field(Integer)
19950 amit.gupta 41
    companyId = Field(Integer, primary_key = True)
12772 manish.sha 42
    orderType = Field(Integer, primary_key = True)
43
    stateId = Field(Integer, primary_key = True)
12775 manish.sha 44
    prefix = Field(String(20))
12772 manish.sha 45
    using_options(shortnames=True)
46
    using_table_options(mysql_engine="InnoDB")
47
 
5508 rajveer 48
class RechargeVoucherTracker(Entity):
49
    order = ManyToOne("Order")
50
    voucherType = Field(Integer)
51
    amount = Field(Integer)
52
    voucherIssued = Field(Boolean)
53
    voucherCode = Field(String(30))
54
    issuedOn = Field(DateTime)
55
    using_options(shortnames=True)
56
    using_table_options(mysql_engine="InnoDB")
14134 amit.gupta 57
 
58
class DtrBatchCreditTracker(Entity):
59
    id=Field(Integer, primary_key = True)
60
    amount = Field(Integer)
61
    creditedOn = Field(DateTime)
62
    using_options(shortnames=True)
63
    using_table_options(mysql_engine="InnoDB")
5508 rajveer 64
 
483 rajveer 65
class LineItem(Entity):
66
    id = Field(Integer, primary_key=True, autoincrement=True)
699 chandransh 67
    item_id = Field(Integer)
963 chandransh 68
    productGroup = Field(String(100))
69
    brand = Field(String(100))
18707 manish.sha 70
    model_number = Field(String(100))
71
    model_name = Field(String(100))
669 chandransh 72
    color = Field(String(20))
483 rajveer 73
    extra_info = Field(String(100))
74
    quantity = Field(Float)
12280 amit.gupta 75
    mrp = Field(Float)
483 rajveer 76
    unit_price = Field(Float)
77
    unit_weight = Field(Float)
78
    total_price = Field(Float)
996 varun.gupt 79
    transfer_price = Field(Float)
6751 amar.kumar 80
    nlc = Field(Float)
483 rajveer 81
    total_weight = Field(Float)
2783 chandransh 82
    item_number = Field(String(50))
12653 manish.sha 83
    serial_number = Field(String(8192)) 
4172 rajveer 84
    dealText = Field(String(100))
4295 varun.gupt 85
    warranty_expiry_timestamp = Field(DateTime)
483 rajveer 86
    order = ManyToOne("Order")
6039 amit.gupta 87
    vatRate = Field(Float)
21844 amit.gupta 88
    igstRate = Field(Float)
89
    sgstRate = Field(Float)
90
    cgstRate = Field(Float)
91
    hsnCode = Field(String(12))
19421 manish.sha 92
    logisticsCost = Field(Float, default=0, server_default="0")
93
    codCollectionCharges = Field(Float, default=0, server_default="0")
19691 manish.sha 94
    returnQty = Field(Float, default=0, server_default="0")
19714 manish.sha 95
    damaged_expiry_timestamp = Field(DateTime)
746 rajveer 96
    using_options(shortnames=True)
97
    using_table_options(mysql_engine="InnoDB")
98
 
1276 chandransh 99
    def __repr__(self):
100
        return "{0} {1} {2} {3}".format(self.brand or "", self.model_name or "", self.model_number or "", self.color or "")
101
 
483 rajveer 102
class Order(Entity):
103
    id = Field(Integer, primary_key=True, autoincrement=True)
104
    warehouse_id = Field(Integer)
105
    logistics_provider_id = Field(Integer)
106
    airwaybill_no = Field(String(50))
107
    tracking_id = Field(String(50))
108
    expected_delivery_time = Field(DateTime)
3986 chandransh 109
    promised_delivery_time = Field(DateTime)
4004 chandransh 110
    expected_shipping_time = Field(DateTime)
4102 chandransh 111
    promised_shipping_time = Field(DateTime)
6726 rajveer 112
    courier_delivery_time = Field(DateTime)
483 rajveer 113
    customer_id = Field(Integer)
114
    customer_name = Field(String(50))
115
    customer_mobilenumber = Field(String(20))
116
    customer_pincode = Field(String(10))
738 chandransh 117
    customer_address1 = Field(String(100))
118
    customer_address2 = Field(String(100))
669 chandransh 119
    customer_city = Field(String(100))
120
    customer_state = Field(String(100))
483 rajveer 121
    customer_email = Field(String(50))
122
    status = Field(Integer)
123
    statusDescription = Field(String(50))
124
    total_amount = Field(Float)
6318 rajveer 125
    gvAmount = Field(Float)
483 rajveer 126
    total_weight = Field(Float)
127
    invoice_number = Field(String(30))
128
    billed_by = Field(String(30))
129
    created_timestamp = Field(DateTime)
130
    accepted_timestamp = Field(DateTime)
131
    billing_timestamp = Field(DateTime)
132
    shipping_timestamp = Field(DateTime)
1113 chandransh 133
    pickup_timestamp = Field(DateTime)
483 rajveer 134
    delivery_timestamp = Field(DateTime)
1208 chandransh 135
    outofstock_timestamp = Field(DateTime)
483 rajveer 136
    lineitems = OneToMany("LineItem")
137
    transaction = ManyToOne("Transaction")
6903 anupam.sin 138
    insuranceDetails = OneToMany("InsuranceDetailForOrder")
9575 kshitij.so 139
    dataInsuranceDetails = OneToMany("DataInsuranceDetailForOrder")
642 chandransh 140
    jacket_number = Field(Integer)
1132 chandransh 141
    receiver = Field(String(50))
1220 chandransh 142
    batchNo = Field(Integer)
143
    serialNo = Field(Integer)
2536 chandransh 144
    doaFlag = Field(Boolean)
145
    pickupRequestNo = Field(String(20))
2764 chandransh 146
    doa_auth_timestamp = Field(DateTime)
147
    doa_pickup_timestamp = Field(DateTime)
148
    received_return_timestamp = Field(DateTime)
149
    reship_timestamp = Field(DateTime)
150
    refund_timestamp = Field(DateTime)
2628 chandransh 151
    new_order_id = Field(Integer)
2819 chandransh 152
    purchase_order_id = Field(Integer)
3064 chandransh 153
    cod = Field(Boolean)
3226 chandransh 154
    refunded_by = Field(String(30))
5141 anupam.sin 155
    refund_reason = Field(String(256))
3064 chandransh 156
    verification_timestamp = Field(DateTime)
3581 chandransh 157
    delay_reason = Field(Enum('INVENTORY_LOW_PHASED_OUT', 'INVENTORY_LOW_COLOR_NOT_AVAILABLE',\
158
                              'INVENTORY_LOW_REVERSAL_NOT_ON_TIME', 'INVENTORY_LOW_PRODUCT_NOT_SEALED',\
159
                              'COURIER_DELAY_NOT_DELIVERED_TO_COURIER_ON_TIME', 'COURIER_DELAY_DID_NOT_CONNECT',\
160
                              'COURIER_DELAY_CUSTOMER_NOT_AVAILABLE', 'COURIER_DELAY_INCORRECT_ADDRESS',\
161
                              'COURIER_DELAY_OCTROI_DELAY', 'COURIER_DELAY_FORCES_OF_NATURE',\
162
                              'COD_VERIFICATION_DELAY', 'PAYMENT_FLAGGED', 'OTHERS'))
3956 chandransh 163
    cod_reconciliation_timestamp = Field(DateTime)
4247 rajveer 164
    previousStatus = Field(Integer)
4269 anupam.sin 165
    vendorId = Field(Integer)
5302 rajveer 166
    delayReasonText= Field(String(250))
4815 phani.kuma 167
    doa_logistics_provider_id = Field(Integer)
4910 phani.kuma 168
    local_connected_timestamp = Field(DateTime)
169
    reached_destination_timestamp = Field(DateTime)
170
    first_dlvyatmp_timestamp = Field(DateTime)
4303 rajveer 171
    orderInventory = OneToMany("OrderInventory")
5386 phani.kuma 172
    vendor_paid = Field(Boolean, default=0, server_default="0")
5062 varun.gupt 173
    originalOrderId = Field(Integer)
5110 mandeep.dh 174
    fulfilmentWarehouseId = Field(Integer)
5527 anupam.sin 175
    orderType = Field(Integer)
5720 rajveer 176
    pickupStoreId = Field(Integer, default=0, server_default="0")
6525 rajveer 177
    otg = Field(Boolean, default=0, server_default="0")
7033 anupam.sin 178
    insurer = Field(Integer, default=0, server_default="0")
179
    insuranceAmount = Field(Float, default=0, server_default="0")
7190 amar.kumar 180
    freebieItemId = Field(Integer, default=0, server_default="0")
7564 rajveer 181
    source = Field(Integer, default=1, server_default="1")
7293 anupam.sin 182
    storeId = Field(Integer, default=0, server_default="0")
7549 rajveer 183
    advanceAmount = Field(Float, default=0, server_default="0")
8717 amar.kumar 184
    productCondition = Field(Integer, default=0, server_default="0")
9299 kshitij.so 185
    dataProtectionInsurer = Field(Integer, default=0, server_default="0")
186
    dataProtectionAmount = Field(Float, default=0, server_default="0")
9416 amar.kumar 187
    taxType = Field(Integer, default=0, server_default="0")
13146 manish.sha 188
    logisticsTransactionId = Field(String(100))
17488 manish.sha 189
    shippingCost = Field(Float, default=0, server_default="0")
21134 amit.gupta 190
    shippingRefund = Field(Float, default=0, server_default="0")
17488 manish.sha 191
    codCharges = Field(Float, default=0, server_default="0")
19973 amit.gupta 192
    seller_id = Field(Integer)
20873 kshitij.so 193
    warehouse_address_id = Field(Integer)
194
    wallet_amount = Field(Float, default=0, server_default="0")
20942 kshitij.so 195
    net_payable_amount = Field(Float) 
2628 chandransh 196
    using_options(shortnames=True)
197
    using_table_options(mysql_engine="InnoDB")
5348 anupam.sin 198
 
199
class CodVerificationAgent(Entity):
200
    orderId = Field(Integer, primary_key=True, autoincrement=True)
201
    verificationAgent = Field(String(200))
202
    using_options(shortnames=True)
203
    using_table_options(mysql_engine="InnoDB")
204
 
104 ashish 205
class Transaction(Entity):
483 rajveer 206
    id = Field(Integer, primary_key=True, autoincrement=True)
207
    createdOn = Field(DateTime)
208
    status = Field(Integer)
209
    status_message = Field(String(100))
210
    customer_id = Field(Integer)
211
    shopping_cart_id = Field(Integer)
2815 vikas 212
    session_source = Field(String(100))
213
    session_start_time = Field(DateTime)
3858 vikas 214
    first_source = Field(String(100))
215
    first_source_start_time = Field(DateTime)
483 rajveer 216
    orders = OneToMany("Order")
2219 varun.gupt 217
    coupon_code = Field(String(20))
17488 manish.sha 218
    totalShippingCost = Field(Float, default=0, server_default="0")
219
    totalCodCharges = Field(Float, default=0, server_default="0")
18586 manish.sha 220
    payment_option = Field(Integer)
746 rajveer 221
    using_options(shortnames=True)
222
    using_table_options(mysql_engine="InnoDB")
132 ashish 223
 
4394 rajveer 224
class Alert(Entity):
132 ashish 225
    id = Field(Integer, primary_key=True, autoincrement=True)
483 rajveer 226
    type = Field(Integer)
4394 rajveer 227
    status = Field(Integer)
228
    timestamp = Field(DateTime)
229
    description = Field(String(100))
4444 rajveer 230
    warehouseId = Field(Integer)
746 rajveer 231
    using_options(shortnames=True)
1225 chandransh 232
    using_table_options(mysql_engine="InnoDB")
233
 
234
class BatchNoGenerator(Entity):
235
    id=Field(Integer, primary_key=True)
236
    using_options(shortnames=True)
237
    using_table_options(mysql_engine="InnoDB")
4008 mandeep.dh 238
 
239
class TransactionRequiringExtraProcessing(Entity):
4015 mandeep.dh 240
    transaction_id = Field(Integer, primary_key=True, autoincrement=False)
6733 anupam.sin 241
    category = Field(Enum('COD_VERIFICATION', 'DELAYED_DELIVERY', 'PAYMENT_FLAGGED', 'RECHARGE_UNKNOWN'), primary_key=True, autoincrement=False)
4008 mandeep.dh 242
    using_options(shortnames=True)
243
    using_table_options(mysql_engine="InnoDB")
4303 rajveer 244
 
245
class OrderInventory(Entity):
246
    order = ManyToOne("Order", primary_key=True)
247
    itemId = Field(Integer)
248
    timestamp = Field(DateTime)
249
    hotspotAction = Field(Integer)
250
    estimate = Field(Integer)
251
    using_options(shortnames=True)
252
    using_table_options(mysql_engine="InnoDB")
4600 varun.gupt 253
 
254
class EBSSettlementSummary(Entity):
255
    settlementId = Field(Integer, primary_key = True)
256
    settlementDate = Field(DateTime)
257
    transactionDateFrom = Field(DateTime)
258
    transactionDateTo = Field(DateTime)
5389 phani.kuma 259
    amount = Field(Numeric(precision=11, scale=3, asdecimal=False))
4600 varun.gupt 260
    detailsUploaded = Field(Boolean)
261
    using_options(shortnames=True)
262
    using_table_options(mysql_engine="InnoDB")
4905 varun.gupt 263
 
4600 varun.gupt 264
class PaymentSettlement(Entity):
4905 varun.gupt 265
    referenceId = Field(Integer)    #PaymentID in case of prepaid & Order Id in case of COD
5386 phani.kuma 266
    originalOrderId = Field(Integer)    #originalOrderId in case of prepaid is NULL & Order Id of original Order or Order Id in case of COD
4600 varun.gupt 267
    paymentGatewayId = Field(Integer)
268
    settlementDate = Field(DateTime)
5389 phani.kuma 269
    serviceTax = Field(Numeric(precision=11, scale=3, asdecimal=False))
270
    otherCharges = Field(Numeric(precision=11, scale=3, asdecimal=False))
271
    netCollection = Field(Numeric(precision=11, scale=3, asdecimal=False))
4600 varun.gupt 272
    using_options(shortnames=True)
5527 anupam.sin 273
    using_table_options(mysql_engine="InnoDB")
274
 
275
class Attribute(Entity):
276
    orderId = Field(Integer)
277
    name = Field(String(100))
278
    value = Field(String(100))
279
    using_options(shortnames=True)
6389 rajveer 280
    using_table_options(mysql_engine="InnoDB")
281
 
282
 
283
class EmiScheme(Entity):
284
    id  = Field(Integer, primary_key=True)
285
    gatewayId  = Field(Integer)
286
    bankId = Field(Integer)
287
    tenure = Field(Integer)
6396 amit.gupta 288
    bankName = Field(String(256))
289
    tenureDescription = Field(String(256))
6389 rajveer 290
    minAmount = Field(Integer)
291
    chargeType = Field(Integer)
6409 rajveer 292
    chargeValue = Field(Float)
8942 rajveer 293
    interestRate = Field(Float)
6389 rajveer 294
    using_options(shortnames=True)
295
    using_table_options(mysql_engine="InnoDB")
296
 
297
class MiscCharges(Entity):
298
    transaction = ManyToOne("Transaction", primary_key=True)
6396 amit.gupta 299
    chargeType = Field(Integer, primary_key=True, autoincrement=False)
6389 rajveer 300
    chargeAmount = Field(Float)
301
    using_options(shortnames=True)
6580 anupam.sin 302
    using_table_options(mysql_engine="InnoDB")
303
 
6591 anupam.sin 304
class BlockedIpRange(Entity):
6580 anupam.sin 305
    id = Field(Integer, primary_key=True, autoincrement=True)
6594 anupam.sin 306
    start = Field(BigInteger)
307
    end = Field(BigInteger)
6591 anupam.sin 308
    expiredOn = Field(DateTime)
6580 anupam.sin 309
    using_options(shortnames=True)
6591 anupam.sin 310
    using_table_options(mysql_engine="InnoDB")
311
 
312
class DeniedIpAddress(Entity):
313
    id = Field(Integer, primary_key=True, autoincrement=True)
314
    ip = Field(String(256))
315
    deniedOn = Field(DateTime)
316
    rechargeType = Field(Integer)
317
    deviceNumber = Field(String(128))
318
    using_options(shortnames=True)
6903 anupam.sin 319
    using_table_options(mysql_engine="InnoDB")
320
 
321
class InsuranceDetailForOrder(Entity):
322
    id = Field(Integer, primary_key=True, autoincrement=True)
323
    dob = Field(String(64))
324
    guardianName = Field(String(255))
325
    startDate = Field(DateTime)
326
    expiryDate = Field(DateTime)
6915 anupam.sin 327
    isDeclared = Field(Boolean, default=0)
6903 anupam.sin 328
    order = ManyToOne("Order")
329
    using_options(shortnames=True)
6906 rajveer 330
    using_table_options(mysql_engine="InnoDB")
331
 
6915 anupam.sin 332
    def __init__(self):
333
        self.isDeclared = 0
334
 
9575 kshitij.so 335
class DataInsuranceDetailForOrder(Entity):
336
    id = Field(Integer, primary_key=True, autoincrement=True)
337
    startDate = Field(DateTime)
338
    expiryDate = Field(DateTime)
9608 kshitij.so 339
    isDeclared = Field(Boolean, default=0, server_default="0")
9575 kshitij.so 340
    order = ManyToOne("Order")
341
    using_options(shortnames=True)
342
    using_table_options(mysql_engine="InnoDB")
343
 
6906 rajveer 344
class DocumentStore(Entity):
345
    docType = Field(Integer, primary_key=True, autoincrement=False)
346
    docSource = Field(Integer, primary_key=True, autoincrement=False)
347
    document  = Field(LargeBinary)
348
    using_options(shortnames=True)
7073 anupam.sin 349
    using_table_options(mysql_engine="InnoDB")
350
 
351
class Company(Entity):
352
    id = Field(Integer, primary_key=True, autoincrement=True)
353
    name = Field(String(255))
354
    Address = Field(String(255))
355
    using_options(shortnames=True)
356
    using_table_options(mysql_engine="InnoDB")
357
 
19973 amit.gupta 358
 
359
class Organisation(Entity):
360
    id = Field(Integer, primary_key=True, autoincrement=True)
361
    name = Field(String(255))
362
    address = Field(String(255))
363
    type = Field(Enum('company'), default='company')
364
    registered_id = Field(String(127))
365
    using_options(shortnames=True)
366
    using_table_options(mysql_engine="InnoDB")
367
 
368
class Seller(Entity):
369
    id = Field(Integer, primary_key=True, autoincrement=True)
19978 amit.gupta 370
    label=Field(String(31), unique=True)
19973 amit.gupta 371
    organisation_id = Field(Integer)
372
    state_id = Field(Integer)
373
    tin = Field(String(15))
21844 amit.gupta 374
    gstin = Field(String(16))
19975 amit.gupta 375
    address = Field(String(255))
19973 amit.gupta 376
    using_options(shortnames=True)
377
    using_table_options(mysql_engine="InnoDB")
378
 
19980 amit.gupta 379
class WarehouseAddressMapping(Entity):
380
    warehouse_id = Field(Integer)
381
    address_id = Field(Integer)
382
    created = Field(DateTime, default=datetime.datetime.now)
383
    updated = Field(DateTime)
19982 amit.gupta 384
    using_options(shortnames=True)
385
    using_table_options(mysql_engine="InnoDB")
19980 amit.gupta 386
 
387
class WarehouseAddressMaster(Entity):
388
    id = Field(Integer, primary_key=True, autoincrement=True)
389
    address = Field(String(255))
390
    pin = Field(String(6))
391
    state_id = Field(Integer)
392
    created = Field(DateTime, default=datetime.datetime.now)
21844 amit.gupta 393
    contact_person = Field(String(127))
20818 kshitij.so 394
    contact_number = Field(String(10))
19982 amit.gupta 395
    using_options(shortnames=True)
396
    using_table_options(mysql_engine="InnoDB")
19980 amit.gupta 397
 
19973 amit.gupta 398
class SellerWarehouse(Entity):
399
    id = Field(Integer, default=0)
400
    seller_id = Field(Integer, primary_key=True)
401
    warehouse_id = Field(Integer, primary_key=True)
402
    orderType = Field(Integer, primary_key = True)
19977 amit.gupta 403
    prefix = Field(String(7))
404
    created_on = Field(DateTime)
19973 amit.gupta 405
    is_active = Field(Boolean)
406
    using_options(shortnames=True)
407
    using_table_options(mysql_engine="InnoDB")
408
 
409
 
7073 anupam.sin 410
class WalletForCompany(Entity):
411
    id = Field(Integer, primary_key=True, autoincrement=True)
412
    companyId = Field(Integer)
7102 rajveer 413
    amount = Field(Integer)
7073 anupam.sin 414
    using_options(shortnames=True)
415
    using_table_options(mysql_engine="InnoDB")
416
 
417
class WalletHistoryForCompany(Entity):
418
    id = Field(Integer, primary_key=True, autoincrement=True)
419
    walletId = Field(Integer)
7102 rajveer 420
    amount = Field(Integer)
7073 anupam.sin 421
    transactionTime = Field(DateTime)
7102 rajveer 422
    openingBal = Field(Integer)
423
    closingBal = Field(Integer)
7073 anupam.sin 424
    referenceNumber = Field(Integer)
425
    description = Field(String(255))
426
    using_options(shortnames=True)
427
    using_table_options(mysql_engine="InnoDB")
428
 
429
class RechargeTransaction(Entity):
430
    id = Field(Integer, primary_key=True, autoincrement=True)
431
    storeId = Field(Integer)
7102 rajveer 432
    amount = Field(Integer)
7073 anupam.sin 433
    transactionTime = Field(DateTime)
7075 rajveer 434
    responseTime = Field(DateTime)
435
    description = Field(String(255))
436
    spiceTID = Field(String(255))
7369 rajveer 437
    aggTID = Field(String(255))
438
    providerTID = Field(String(255))
7075 rajveer 439
    plan = Field(String(255))
7073 anupam.sin 440
    deviceNum = Field(String(64))
441
    deviceType = Field(Integer)
442
    isFrc = Field(Boolean)
443
    email = Field(String(255))
7102 rajveer 444
    discount = Field(Integer)
445
    paymentAmount = Field(Integer)
7145 rajveer 446
    payMethod = Field(Integer, default=0, server_default="0")
7073 anupam.sin 447
    status = Field(Integer)
448
    invoiceNumber = Field(Integer)
449
    circleId = Field(Integer)
7075 rajveer 450
    operatorId = Field(Integer)
7073 anupam.sin 451
    name = Field(String(255))
452
    simNum = Field(String(255))
453
    cafNum = Field(String(255))
7080 anupam.sin 454
    ipAddress = Field(String(255))
455
    alternateNumber = Field(String(255))
7073 anupam.sin 456
    using_options(shortnames=True)
7075 rajveer 457
    using_table_options(mysql_engine="InnoDB")
7076 rajveer 458
 
7120 rajveer 459
class OperatorSeries(Entity):
460
    series = Field(Integer, primary_key=True, autoincrement=False)
461
    operatorId = Field(Integer)
462
    circleId = Field(Integer)
463
    using_options(shortnames=True)
464
    using_table_options(mysql_engine="InnoDB")
465
 
7076 rajveer 466
class FRC(Entity):
467
    id = Field(Integer, primary_key=True)
468
    operatorId = Field(Integer)
469
    circleId = Field(Integer)
470
    denomination = Field(Integer)
471
    maxDiscount = Field(Integer)
472
    using_options(shortnames=True)
473
    using_table_options(mysql_engine="InnoDB")
7120 rajveer 474
 
7075 rajveer 475
class HotspotStore(Entity):
476
    id = Field(Integer, primary_key=True)
477
    hotspotId = Field(String(3))
478
    companyId = Field(Integer)
479
    name = Field(String(100))
480
    city = Field(String(100))
7076 rajveer 481
    collectedAmount = Field(Integer)
7075 rajveer 482
    availableLimit = Field(Integer)
483
    creditLimit = Field(Integer)
484
    salt = Field(String(100))
485
    password = Field(String(100))
486
    isActive = Field(Boolean)
7096 anupam.sin 487
    circleId = Field(Integer)
7169 anupam.sin 488
    email = Field(String(100))
7308 rajveer 489
    line1 = Field(String(100))
490
    line2 = Field(String(100))
491
    state = Field(String(100))
492
    pin = Field(String(10))
493
    phone = Field(String(20))
7423 anupam.sin 494
    tin = Field(String(100))
7308 rajveer 495
    approvalEmail = Field(String(255))
7967 anupam.sin 496
    clusterEmail = Field(String(100))
7075 rajveer 497
    using_options(shortnames=True)
7251 rajveer 498
    using_table_options(mysql_engine="InnoDB")
499
 
500
class RechargeCollection(Entity):
501
    hotspotId = Field(String(3), primary_key=True, autoincrement=False)
502
    reconDate = Field(Integer, primary_key=True, autoincrement=False)
503
    cash = Field(Integer)
504
    hdfc = Field(Integer)
505
    grossAmount = Field(Integer)
506
    discount = Field(Integer)
507
    netCollection = Field(Integer)
508
    addedAt = Field(DateTime)
509
    pushedAt = Field(DateTime)
510
    pushedToOcr = Field(Boolean)
511
    using_options(shortnames=True)
512
    using_table_options(mysql_engine="InnoDB")
7406 rajveer 513
 
514
class StoreOrderCollection(Entity):
515
    hotspotId = Field(String(3), primary_key=True, autoincrement=False)
516
    orderId = Field(Integer, primary_key=True, autoincrement=False)
517
    collectionType = Field(String(255), primary_key=True, autoincrement=False)
518
    productName = Field(String(255))
519
    advanceAmount = Field(Integer)
520
    cash = Field(Integer)
521
    card = Field(Integer)
522
    addedAt = Field(DateTime)
523
    pushedAt = Field(DateTime)
524
    pushedToOcr = Field(Boolean)
525
    using_options(shortnames=True)
526
    using_table_options(mysql_engine="InnoDB")
7263 anupam.sin 527
 
528
class SourceDetail(Entity):
529
    id = Field(Integer, primary_key=True, autoincrement=False)
530
    name = Field(String(255))
531
    email = Field(String(255))
7410 amar.kumar 532
    tinNumber = Field(String(255))
7530 kshitij.so 533
    lastUpdatedOn = Field(DateTime)
7263 anupam.sin 534
    using_options(shortnames=True)
7311 kshitij.so 535
    using_table_options(mysql_engine="InnoDB")
536
 
537
class AmazonOrder(Entity):
538
    orderId = Field(Integer, primary_key=True, autoincrement=False)
7322 vikram.rag 539
    amazonOrderCode = Field(String(255))
540
    amazonOrderItemCode = Field(String(255))
7311 kshitij.so 541
    transactionId = Field(Integer)
542
    item_id = Field(Integer)
7322 vikram.rag 543
    status = Field(String(50))
7715 vikram.rag 544
    purchaseDateOnAmazon = Field(DateTime)
7311 kshitij.so 545
    using_options(shortnames=True)
7386 anupam.sin 546
    using_table_options(mysql_engine="InnoDB")
547
 
548
class StoreOrderDetail(Entity):
549
    orderId = Field(Integer, primary_key=True, autoincrement=False)
550
    storeId = Field(Integer, primary_key=True, autoincrement=False)
551
    advanceAmount = Field(Float)
552
    cashAmount = Field(Float)
553
    cardAmount = Field(Float)
554
    payStatus = Field(Integer)
7393 anupam.sin 555
    edcBank = Field(String(100))
556
    cashRefundAmount = Field(Float)
557
    cardRefundAmount = Field(Float)
7423 anupam.sin 558
    approvalCode = Field(String(100))
7611 anupam.sin 559
    cardType = Field(String(100))
7386 anupam.sin 560
    using_options(shortnames=True)
561
    using_table_options(mysql_engine="InnoDB")
562
 
563
class EdcBank(Entity):
564
    id = Field(Integer, primary_key=True, autoincrement=True)
565
    name = Field(String(255))
566
    using_options(shortnames=True)
7967 anupam.sin 567
    using_table_options(mysql_engine="InnoDB")
568
 
569
class HotspotServiceMatrix(Entity): 
570
    storeId = Field(Integer, primary_key=True)
571
    hotspotId = Field(String(3))
572
    rechargeService = Field(Boolean, default=0, server_default="0")
573
    storeWebsiteService = Field(Boolean, default=0, server_default="0")
574
    pickupFromStoreService = Field(Boolean, default=0, server_default="0")
575
    using_options(shortnames=True)
8182 amar.kumar 576
    using_table_options(mysql_engine="InnoDB")
577
 
578
class  EbayOrder(Entity):
579
    orderId = Field(Integer, primary_key=True, autoincrement=False)
580
    salesRecordNumber = Field(Integer)
581
    paisaPayId = Field(String(32))
582
    ebayListingId = Field(String(32))
583
    subsidyAmount = Field(Float)
584
    ebayTxnDate = Field(DateTime)
585
    transactionId = Field(String(16))
586
    listingName = Field(String(128))
587
    listingPrice = Field(Float)
8247 amar.kumar 588
    bluedartPaisaPayRef = Field(String(16))
8182 amar.kumar 589
    using_options(shortnames=True)
590
    using_table_options(mysql_engine="InnoDB")
8488 amar.kumar 591
 
592
class  SnapdealOrder(Entity):
11423 vikram.rag 593
    orderId = Field(Integer)
11422 vikram.rag 594
    subOrderId = Field(String(32), primary_key=True, autoincrement=False)
595
    referenceCode = Field(String(32),primary_key=True, autoincrement=False)
8488 amar.kumar 596
    snapdealTxnDate = Field(DateTime)
597
    productName = Field(String(128))
598
    listingPrice = Field(Float)
9456 vikram.rag 599
    maxNlc = Field(Float)
8488 amar.kumar 600
    using_options(shortnames=True)
601
    using_table_options(mysql_engine="InnoDB")
8282 kshitij.so 602
 
603
class AmazonFbaSalesSnapshot(Entity):
604
    dateOfSale = Field(Date, primary_key=True)
8363 vikram.rag 605
    item_id = Field(Integer, primary_key=True,autoincrement=False)
606
    totalOrderCount = Field(Integer)
8282 kshitij.so 607
    amazonFbaInventory = Field(Integer)
608
    isOutOfStock = Field(Boolean)
609
    salePrice = Field(Float)
8445 vikram.rag 610
    ourPrice = Field(Float)
8282 kshitij.so 611
    minFbaPrice = Field(Float)
8363 vikram.rag 612
    minMfnPrice = Field(Float)
8542 vikram.rag 613
    totalSale = Field(Numeric(precision=11, scale=3, asdecimal=False))
614
    promotionSale =  Field(Numeric(precision=11, scale=3, asdecimal=False))
8363 vikram.rag 615
    promotionOrderCount = Field(Integer)
8532 vikram.rag 616
    ourPriceSnapshotDate  =  Field(DateTime)
617
    salePriceSnapshotDate  = Field(DateTime)
618
    minMfnPriceSnapshotDate = Field(DateTime)
619
    minFbaPriceSnapshotDate = Field(DateTime)
11173 vikram.rag 620
    fcLocation = Field(Integer, primary_key=True,autoincrement=False)
8282 kshitij.so 621
    using_options(shortnames=True)
8921 anupam.sin 622
    using_table_options(mysql_engine="InnoDB")
623
 
624
class SpiceTransactionHistory(Entity):
625
    orderId = Field(Integer, primary_key=True, autoincrement=False)
626
    spiceTID = Field(String(32))
627
    reponseCode = Field(String(32))
628
    rechargeTime = Field(DateTime)
8923 anupam.sin 629
    reconciliationTime = Field(DateTime)
8922 anupam.sin 630
    using_options(shortnames=True)
8961 vikram.rag 631
    using_table_options(mysql_engine="InnoDB")
632
 
633
class FlipkartOrder(Entity):   
11423 vikram.rag 634
    orderId = Field(Integer)
11422 vikram.rag 635
    flipkartSubOrderId = Field(String(30),primary_key=True, autoincrement=False)
636
    flipkartOrderId = Field(String(30),primary_key=True, autoincrement=False)
8961 vikram.rag 637
    flipkartTxnDate = Field(DateTime)
638
    shippingPrice = Field(Float)
639
    octroiFee = Field(Float)
640
    emiFee = Field(Float)
9456 vikram.rag 641
    maxNlc = Field(Float)
8961 vikram.rag 642
    using_options(shortnames=True)
643
    using_table_options(mysql_engine="InnoDB")
12103 manish.sha 644
 
645
class AmazonFbaOrderReturns(Entity):
646
    amazonOrderId = Field(String(30),primary_key=True, autoincrement=False)
647
    insertionTimestamp = Field(DateTime, primary_key=True, autoincrement=False)
648
    sku = Field(Integer, primary_key=True, autoincrement=False)
649
    creationTimestamp = Field(DateTime)    
650
    shippedQuantity = Field(Integer)
651
    sellableReturnQuantity = Field(Integer)
652
    nonSellableReturnQuantity = Field(Integer)
653
    using_options(shortnames=True)
654
    using_table_options(mysql_engine="InnoDB")
12772 manish.sha 655
 
12936 kshitij.so 656
class MobileActivationRecord(Entity):
657
    orderId = Field(Integer)
658
    deviceNumber = Field(String(64))
12940 kshitij.so 659
    serialNumber = Field(String(20))
12936 kshitij.so 660
    circle = Field(String(100))
661
    operator = Field(String(100))
662
    activationTime = Field(DateTime)
663
    using_options(shortnames=True)
664
    using_table_options(mysql_engine="InnoDB")
665
 
12772 manish.sha 666
class FlipkartAdvantageOrder(Entity):
667
    fkOrderId = Field(String(30),primary_key=True, autoincrement=False)
668
    fkOrderItemId = Field(String(30),primary_key=True, autoincrement=False)
669
    sku = Field(Integer)
670
    creationTimestamp = Field(DateTime)
671
    customerName = Field(String(50))
672
    customerAddress = Field(String(500))
673
    pincode = Field(String(10))
674
    customerCity = Field(String(30))
675
    customerState = Field(String(30))
676
    customerPhone = Field(String(30))
677
    status = Field(String(20))
678
    quantity = Field(Integer)
679
    totalPrice = Field(Float)
680
    listPrice = Field(Float)
681
    modifiedDate = Field(DateTime)
682
    listingId = Field(String(50))
683
    cancelReason = Field(String(100))
684
    returnReason = Field(String(100))
12779 manish.sha 685
    freebieItemId = Field(String(20))
12772 manish.sha 686
    productTitle = Field(String(200))
687
    using_options(shortnames=True)
688
    using_table_options(mysql_engine="InnoDB")
13146 manish.sha 689
 
690
class FlipkartFaSalesSnapshot(Entity):
691
    dateOfSale = Field(Date, primary_key=True)
692
    item_id = Field(Integer, primary_key=True,autoincrement=False)
693
    totalOrderCount = Field(Integer)
694
    isOutOfStock = Field(Boolean)
695
    totalSale = Field(Numeric(precision=11, scale=3, asdecimal=False))
696
    ourPrice = Field(Float)
13584 manish.sha 697
    fcLocation = Field(Integer, primary_key=True,autoincrement=False)
13146 manish.sha 698
    using_options(shortnames=True)
699
    using_table_options(mysql_engine="InnoDB")
13152 manish.sha 700
 
701
class TransactionShipmentSequence(Entity):
702
    id = Field(Integer, primary_key=True, autoincrement=True)
703
    transactionId = Field(Integer)
704
    createdTimestamp = Field(DateTime)
705
    sequence = Field(Integer, default=0)
13276 manish.sha 706
    invoiceFormat = Field(Integer, default=1)
13152 manish.sha 707
    using_options(shortnames=True)
13691 manish.sha 708
    using_table_options(mysql_engine="InnoDB")
18585 amit.gupta 709
 
18591 manish.sha 710
class Creditor(Entity):
18585 amit.gupta 711
    id = Field(Integer, primary_key=True, autoincrement=True)
712
    name = Field(String(64))
18674 amit.gupta 713
    ticket_size = Field(Float)
714
    credit_due_days = Field(Integer)
18585 amit.gupta 715
    active = Field(Boolean)
716
    updated = Field(DateTime, onupdate=datetime.datetime.now)
717
    created = Field(DateTime,default = datetime.datetime.now)
718
    using_options(shortnames=True)
719
    using_table_options(mysql_engine="InnoDB")
720
 
18591 manish.sha 721
class UserSanction(Entity):
18585 amit.gupta 722
    id = Field(Integer, primary_key=True, autoincrement=True)
18586 manish.sha 723
    user_id = Field(Integer)
724
    creditor_id = Field(Integer)
18592 amit.gupta 725
    user_ref_id = Field(String(24))
18586 manish.sha 726
    credit_limit = Field(Float)
727
    credit_blocked = Field(Float)
728
    loan = Field(Float)
18585 amit.gupta 729
    active = Field(Boolean)
730
    updated = Field(DateTime, onupdate=datetime.datetime.now)
731
    created = Field(DateTime,default = datetime.datetime.now)
732
    using_options(shortnames=True)
733
    using_table_options(mysql_engine="InnoDB")
13691 manish.sha 734
 
18585 amit.gupta 735
class CreditHistory(Entity):
736
    id = Field(Integer, primary_key=True, autoincrement=True)
18586 manish.sha 737
    user_id = Field(Integer)
738
    creditor_id = Field(Integer)
18634 manish.sha 739
    payment_id = Field(Integer)
18585 amit.gupta 740
    amount = Field(Float)
18634 manish.sha 741
    credit_type = Field(Enum('BLOCKED', 'BLOCKED_REVERSED', 'LOAN',  'LOAN_CANCELLED', 'PAID', 'DEFAULTED'))
742
    shipping_id = Field(String(30))
18585 amit.gupta 743
    created = Field(DateTime,default = datetime.datetime.now)
18586 manish.sha 744
    using_options(shortnames=True)
745
    using_table_options(mysql_engine="InnoDB")
18585 amit.gupta 746
 
18634 manish.sha 747
class LoanHistory(Entity):
748
    id = Field(Integer, primary_key=True, autoincrement=True)
749
    user_id = Field(Integer)
750
    creditor_id = Field(Integer)
751
    payment_id = Field(Integer)
752
    amount = Field(Float)
753
    credit_type = Field(Enum('BLOCKED', 'BLOCKED_REVERSED', 'LOAN',  'LOAN_CANCELLED', 'PAID', 'DEFAULTED', 'CORRECTION'))
754
    loan_id = Field(String(30))
755
    created = Field(DateTime,default = datetime.datetime.now)
756
    updated = Field(DateTime)
757
    due_date = Field(DateTime)
758
    value_date = Field(DateTime)
18769 manish.sha 759
    invoiceNumber = Field(String(30))
18634 manish.sha 760
    using_options(shortnames=True)
761
    using_table_options(mysql_engine="InnoDB")
762
 
13691 manish.sha 763
class HsOrder(Entity):
764
    orderId = Field(Integer, primary_key=True, autoincrement=False)
765
    hsOrderNo = Field(String(32))
766
    hsSubOrderNo = Field(String(32))
767
    catalogueName = Field(String(50))
768
    hsOrderDate = Field(DateTime)
769
    hsProductId = Field(String(32))
770
    hsItemId = Field(String(32))
771
    sellerSku = Field(String(32))
772
    paymentMode = Field(String(50))
773
    courierName = Field(String(50))
774
    slaDays = Field(Integer)
13734 manish.sha 775
    shippingName = Field(String(50))
13691 manish.sha 776
    using_options(shortnames=True)
18578 manish.sha 777
    using_table_options(mysql_engine="InnoDB")
19832 amit.gupta 778
 
779
class PendingStoreOrder(Entity):
780
    orderId = Field(Integer, primary_key=True, autoincrement=False)
781
    hsOrderNo = Field(String(32))
782
    hsSubOrderNo = Field(String(32))
783
    catalogueName = Field(String(50))
784
    hsOrderDate = Field(DateTime)
785
    hsProductId = Field(String(32))
786
    hsItemId = Field(String(32))
787
    sellerSku = Field(String(32))
788
    paymentMode = Field(String(50))
789
    courierName = Field(String(50))
790
    slaDays = Field(Integer)
791
    shippingName = Field(String(50))
792
    using_options(shortnames=True)
793
    using_table_options(mysql_engine="InnoDB")
18578 manish.sha 794
 
795
class ReturnPickupRequest(Entity):
796
    id = Field(Integer, primary_key=True, autoincrement=True)
797
    logisticsProviderId = Field(Integer)
798
    pickupRequestNo = Field(String(50))
799
    confirmedAt = Field(DateTime)
800
    promised_pickup_timestamp = Field(DateTime)
801
    pickedUpAt = Field(DateTime)
802
    pickupStatus = Field(Enum('PENDING','PICKUP_REQUESTED','PICKUP_CONFIRMED','PICKUP_SCHEDULED','PICKUP_IN_TRANSIT','PICKUP_RECEIVED'))
803
    using_options(shortnames=True)
804
    using_table_options(mysql_engine="InnoDB")
805
 
806
class ReturnOrderInfo(Entity):
807
    id = Field(Integer, primary_key=True, autoincrement=True)
808
    returnTransaction = ManyToOne("ReturnTransaction")
809
    masterOrderId = Field(String(100))
810
    orderId = Field(Integer)
811
    lineItemId = Field(Integer)
812
    logisticsRequestId = Field(Integer)
813
    returnQuantity = Field(Integer)
814
    receivedQuantity = Field(Integer)
815
    createdAt = Field(DateTime)
816
    processedAt = Field(DateTime)
817
    returnStatus = Field(String(256))
818
    reshippedAt = Field(DateTime)
819
    receivedAt = Field(DateTime)
820
    refundReason = Field(String(256))
821
    refundedBy = Field(String(256))
822
    refundedAt = Field(DateTime)
823
    warehouse_id = Field(Integer)
824
    refundAmount = Field(Float)
19694 manish.sha 825
    refundType = Field(Integer, default=0, server_default="0")
18578 manish.sha 826
    refundDescription = Field(String(256))
827
    returnPickupType = Field(Integer, default=0, server_default="0")
828
    shippingType = Field(Integer, default=0, server_default="0")
829
    replacementOrderId = Field(Integer)
830
    receivedReturnType = Field(Integer)
831
    freebieItemId = Field(Integer, default=0, server_default="0")
832
    returnAction = Field(Integer)
833
    returnTxnResolutionStatus = Field(Enum('PENDING','AWAITING_PICKUP','QUALITY_CHECK','REPLACEMENT_DONE'\
834
                              'REPLACEMENT_ORDER_CREATED','REFUND_IN_PROCESS','REFUND_DONE','CLOSED'))
835
    lineitem = ManyToOne("LineItem", field=lineItemId)
836
    returnPickUpRequest = ManyToOne("ReturnPickupRequest", field=logisticsRequestId)
837
    using_options(shortnames=True)
838
    using_table_options(mysql_engine="InnoDB")
839
 
840
class ReturnTransaction(Entity):
841
    id = Field(Integer, primary_key=True, autoincrement=True)
842
    status = Field(Enum('INITIATED','AUTHORIZED','INPROCESS','REJECTED','PROCESSED','COMPLETED','CLOSED'))
843
    customer_email = Field(String(50))
844
    customer_name = Field(String(50))
845
    customer_id = Field(Integer)
846
    address_id = Field(Integer)
847
    ticketId = Field(Integer)
848
    createdAt = Field(DateTime)
849
    processedAt = Field(DateTime)
850
    authorizedAt = Field(DateTime)
851
    closedAt = Field(DateTime)
852
    customerAddress = Field(String(512))
853
    pincode = Field(String(10))
854
    customerCity = Field(String(100))
855
    customerState = Field(String(50))
856
    customerPhone = Field(String(50))
857
    returnOrders = OneToMany("ReturnOrderInfo")
858
    using_options(shortnames=True)
859
    using_table_options(mysql_engine="InnoDB")
19474 manish.sha 860
 
861
class ShipmentLogisticsCostDetail(Entity):
862
    logisticsTransactionId = Field(String(100), primary_key=True)
863
    airwayBillNo = Field(String(50), primary_key=True)
864
    shipmentAmount = Field(Float, default=0, server_default="0")
865
    shipmentWeight = Field(Float, default=0, server_default="0")
866
    shipmentLogsiticsCost = Field(Float, default=0, server_default="0")
867
    shipmentCodCollectionCharges = Field(Float, default=0, server_default="0")
868
    createdAt = Field(DateTime,default = datetime.datetime.now)
869
    updatedAt = Field(DateTime)
20737 kshitij.so 870
    packageDimensions = Field(String(20))
19474 manish.sha 871
    using_options(shortnames=True)
20745 kshitij.so 872
    using_table_options(mysql_engine="InnoDB")
873
 
21044 kshitij.so 874
class PMSA(Entity):
875
    id = Field(Integer, primary_key=True, autoincrement=True)
876
    name = Field(String(256))
877
    phone = Field(String(10))
878
    emailId = Field(String(50))
879
    address = Field(String(256))
21090 kshitij.so 880
    state = Field(String(256))
881
    level = Field(String(10))
882
    l1_id = Field(Integer)
883
    l2_id = Field(Integer)
884
    activated = Field(Boolean)
21044 kshitij.so 885
    pin = Field(String(6))
886
    code = Field(String(12))
21090 kshitij.so 887
    createdAt = Field(DateTime,default = datetime.datetime.now)
21044 kshitij.so 888
    using_options(shortnames=True)
889
    using_table_options(mysql_engine="InnoDB")
890
 
891
class PMSA_Agents(Entity):
892
    userId = Field(Integer, primary_key=True, autoincrement=False)
893
    pmsa_id = Field(Integer)
21050 kshitij.so 894
    createdAt = Field(DateTime,default = datetime.datetime.now)
21044 kshitij.so 895
    using_options(shortnames=True)
896
    using_table_options(mysql_engine="InnoDB")
21101 kshitij.so 897
 
898
class AdvancePayments(Entity):
899
    id = Field(Integer, primary_key=True, autoincrement=True)
900
    userId = Field(Integer)
901
    amount = Field(Integer)
902
    cash_back = Field(Integer)
903
    cash_back_type = Field(String(20))
904
    cash_back_amount = Field(Integer)
905
    createdAt = Field(DateTime,default = datetime.datetime.now)
906
    using_options(shortnames=True)
907
    using_table_options(mysql_engine="InnoDB")