Subversion Repositories SmartDukaan

Rev

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