Subversion Repositories SmartDukaan

Rev

Rev 17488 | Rev 18579 | 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, \
8282 kshitij.so 14
    Numeric, BigInteger, LargeBinary,Date
104 ashish 15
 
16
#===============================================================================
17
# Different entities in the model
18
#===============================================================================
19
 
3187 rajveer 20
def initialize(dbname='transaction', db_hostname="localhost", echoOn=True):
746 rajveer 21
    #metadata.bind = "sqlite:///Transactionsnew.sqlite"
1122 chandransh 22
    #metadata.bind = 'mysql://root:shop2020@localhost/transaction'
3187 rajveer 23
    engine = create_engine('mysql://root:shop2020@' + db_hostname + '/' + dbname, pool_recycle=7200)
1122 chandransh 24
    metadata.bind = engine
1911 chandransh 25
    metadata.bind.echo = echoOn
483 rajveer 26
    setup_all(True)
27
 
28
 
29
if __name__=="__main__":
30
    initialize()
2783 chandransh 31
 
32
class InvoiceIDGenerator(Entity):
5527 anupam.sin 33
    id = Field(Integer)
5528 anupam.sin 34
    orderType = Field(Integer, primary_key = True)
2783 chandransh 35
    using_options(shortnames=True)
36
    using_table_options(mysql_engine="InnoDB")   
483 rajveer 37
 
12772 manish.sha 38
class InvoiceCounterGenerator(Entity):
39
    id = Field(Integer)
40
    orderType = Field(Integer, primary_key = True)
41
    stateId = Field(Integer, primary_key = True)
12775 manish.sha 42
    prefix = Field(String(20))
12772 manish.sha 43
    using_options(shortnames=True)
44
    using_table_options(mysql_engine="InnoDB")
45
 
5508 rajveer 46
class RechargeVoucherTracker(Entity):
47
    order = ManyToOne("Order")
48
    voucherType = Field(Integer)
49
    amount = Field(Integer)
50
    voucherIssued = Field(Boolean)
51
    voucherCode = Field(String(30))
52
    issuedOn = Field(DateTime)
53
    using_options(shortnames=True)
54
    using_table_options(mysql_engine="InnoDB")
14134 amit.gupta 55
 
56
class DtrBatchCreditTracker(Entity):
57
    id=Field(Integer, primary_key = True)
58
    amount = Field(Integer)
59
    creditedOn = Field(DateTime)
60
    using_options(shortnames=True)
61
    using_table_options(mysql_engine="InnoDB")
5508 rajveer 62
 
483 rajveer 63
class LineItem(Entity):
64
    id = Field(Integer, primary_key=True, autoincrement=True)
699 chandransh 65
    item_id = Field(Integer)
963 chandransh 66
    productGroup = Field(String(100))
67
    brand = Field(String(100))
68
    model_number = Field(String(50))
69
    model_name = Field(String(50))
669 chandransh 70
    color = Field(String(20))
483 rajveer 71
    extra_info = Field(String(100))
72
    quantity = Field(Float)
12280 amit.gupta 73
    mrp = Field(Float)
483 rajveer 74
    unit_price = Field(Float)
75
    unit_weight = Field(Float)
76
    total_price = Field(Float)
996 varun.gupt 77
    transfer_price = Field(Float)
6751 amar.kumar 78
    nlc = Field(Float)
483 rajveer 79
    total_weight = Field(Float)
2783 chandransh 80
    item_number = Field(String(50))
12653 manish.sha 81
    serial_number = Field(String(8192)) 
4172 rajveer 82
    dealText = Field(String(100))
4295 varun.gupt 83
    warranty_expiry_timestamp = Field(DateTime)
483 rajveer 84
    order = ManyToOne("Order")
6039 amit.gupta 85
    vatRate = Field(Float)
18578 manish.sha 86
    returnQty = Field(Float, default=0)
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")
746 rajveer 206
    using_options(shortnames=True)
207
    using_table_options(mysql_engine="InnoDB")
132 ashish 208
 
4394 rajveer 209
class Alert(Entity):
132 ashish 210
    id = Field(Integer, primary_key=True, autoincrement=True)
483 rajveer 211
    type = Field(Integer)
4394 rajveer 212
    status = Field(Integer)
213
    timestamp = Field(DateTime)
214
    description = Field(String(100))
4444 rajveer 215
    warehouseId = Field(Integer)
746 rajveer 216
    using_options(shortnames=True)
1225 chandransh 217
    using_table_options(mysql_engine="InnoDB")
218
 
219
class BatchNoGenerator(Entity):
220
    id=Field(Integer, primary_key=True)
221
    using_options(shortnames=True)
222
    using_table_options(mysql_engine="InnoDB")
4008 mandeep.dh 223
 
224
class TransactionRequiringExtraProcessing(Entity):
4015 mandeep.dh 225
    transaction_id = Field(Integer, primary_key=True, autoincrement=False)
6733 anupam.sin 226
    category = Field(Enum('COD_VERIFICATION', 'DELAYED_DELIVERY', 'PAYMENT_FLAGGED', 'RECHARGE_UNKNOWN'), primary_key=True, autoincrement=False)
4008 mandeep.dh 227
    using_options(shortnames=True)
228
    using_table_options(mysql_engine="InnoDB")
4303 rajveer 229
 
230
class OrderInventory(Entity):
231
    order = ManyToOne("Order", primary_key=True)
232
    itemId = Field(Integer)
233
    timestamp = Field(DateTime)
234
    hotspotAction = Field(Integer)
235
    estimate = Field(Integer)
236
    using_options(shortnames=True)
237
    using_table_options(mysql_engine="InnoDB")
4600 varun.gupt 238
 
239
class EBSSettlementSummary(Entity):
240
    settlementId = Field(Integer, primary_key = True)
241
    settlementDate = Field(DateTime)
242
    transactionDateFrom = Field(DateTime)
243
    transactionDateTo = Field(DateTime)
5389 phani.kuma 244
    amount = Field(Numeric(precision=11, scale=3, asdecimal=False))
4600 varun.gupt 245
    detailsUploaded = Field(Boolean)
246
    using_options(shortnames=True)
247
    using_table_options(mysql_engine="InnoDB")
4905 varun.gupt 248
 
4600 varun.gupt 249
class PaymentSettlement(Entity):
4905 varun.gupt 250
    referenceId = Field(Integer)    #PaymentID in case of prepaid & Order Id in case of COD
5386 phani.kuma 251
    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 252
    paymentGatewayId = Field(Integer)
253
    settlementDate = Field(DateTime)
5389 phani.kuma 254
    serviceTax = Field(Numeric(precision=11, scale=3, asdecimal=False))
255
    otherCharges = Field(Numeric(precision=11, scale=3, asdecimal=False))
256
    netCollection = Field(Numeric(precision=11, scale=3, asdecimal=False))
4600 varun.gupt 257
    using_options(shortnames=True)
5527 anupam.sin 258
    using_table_options(mysql_engine="InnoDB")
259
 
260
class Attribute(Entity):
261
    orderId = Field(Integer)
262
    name = Field(String(100))
263
    value = Field(String(100))
264
    using_options(shortnames=True)
6389 rajveer 265
    using_table_options(mysql_engine="InnoDB")
266
 
267
 
268
class EmiScheme(Entity):
269
    id  = Field(Integer, primary_key=True)
270
    gatewayId  = Field(Integer)
271
    bankId = Field(Integer)
272
    tenure = Field(Integer)
6396 amit.gupta 273
    bankName = Field(String(256))
274
    tenureDescription = Field(String(256))
6389 rajveer 275
    minAmount = Field(Integer)
276
    chargeType = Field(Integer)
6409 rajveer 277
    chargeValue = Field(Float)
8942 rajveer 278
    interestRate = Field(Float)
6389 rajveer 279
    using_options(shortnames=True)
280
    using_table_options(mysql_engine="InnoDB")
281
 
282
class MiscCharges(Entity):
283
    transaction = ManyToOne("Transaction", primary_key=True)
6396 amit.gupta 284
    chargeType = Field(Integer, primary_key=True, autoincrement=False)
6389 rajveer 285
    chargeAmount = Field(Float)
286
    using_options(shortnames=True)
6580 anupam.sin 287
    using_table_options(mysql_engine="InnoDB")
288
 
6591 anupam.sin 289
class BlockedIpRange(Entity):
6580 anupam.sin 290
    id = Field(Integer, primary_key=True, autoincrement=True)
6594 anupam.sin 291
    start = Field(BigInteger)
292
    end = Field(BigInteger)
6591 anupam.sin 293
    expiredOn = Field(DateTime)
6580 anupam.sin 294
    using_options(shortnames=True)
6591 anupam.sin 295
    using_table_options(mysql_engine="InnoDB")
296
 
297
class DeniedIpAddress(Entity):
298
    id = Field(Integer, primary_key=True, autoincrement=True)
299
    ip = Field(String(256))
300
    deniedOn = Field(DateTime)
301
    rechargeType = Field(Integer)
302
    deviceNumber = Field(String(128))
303
    using_options(shortnames=True)
6903 anupam.sin 304
    using_table_options(mysql_engine="InnoDB")
305
 
306
class InsuranceDetailForOrder(Entity):
307
    id = Field(Integer, primary_key=True, autoincrement=True)
308
    dob = Field(String(64))
309
    guardianName = Field(String(255))
310
    startDate = Field(DateTime)
311
    expiryDate = Field(DateTime)
6915 anupam.sin 312
    isDeclared = Field(Boolean, default=0)
6903 anupam.sin 313
    order = ManyToOne("Order")
314
    using_options(shortnames=True)
6906 rajveer 315
    using_table_options(mysql_engine="InnoDB")
316
 
6915 anupam.sin 317
    def __init__(self):
318
        self.isDeclared = 0
319
 
9575 kshitij.so 320
class DataInsuranceDetailForOrder(Entity):
321
    id = Field(Integer, primary_key=True, autoincrement=True)
322
    startDate = Field(DateTime)
323
    expiryDate = Field(DateTime)
9608 kshitij.so 324
    isDeclared = Field(Boolean, default=0, server_default="0")
9575 kshitij.so 325
    order = ManyToOne("Order")
326
    using_options(shortnames=True)
327
    using_table_options(mysql_engine="InnoDB")
328
 
6906 rajveer 329
class DocumentStore(Entity):
330
    docType = Field(Integer, primary_key=True, autoincrement=False)
331
    docSource = Field(Integer, primary_key=True, autoincrement=False)
332
    document  = Field(LargeBinary)
333
    using_options(shortnames=True)
7073 anupam.sin 334
    using_table_options(mysql_engine="InnoDB")
335
 
336
class Company(Entity):
337
    id = Field(Integer, primary_key=True, autoincrement=True)
338
    name = Field(String(255))
339
    Address = Field(String(255))
340
    using_options(shortnames=True)
341
    using_table_options(mysql_engine="InnoDB")
342
 
343
class WalletForCompany(Entity):
344
    id = Field(Integer, primary_key=True, autoincrement=True)
345
    companyId = Field(Integer)
7102 rajveer 346
    amount = Field(Integer)
7073 anupam.sin 347
    using_options(shortnames=True)
348
    using_table_options(mysql_engine="InnoDB")
349
 
350
class WalletHistoryForCompany(Entity):
351
    id = Field(Integer, primary_key=True, autoincrement=True)
352
    walletId = Field(Integer)
7102 rajveer 353
    amount = Field(Integer)
7073 anupam.sin 354
    transactionTime = Field(DateTime)
7102 rajveer 355
    openingBal = Field(Integer)
356
    closingBal = Field(Integer)
7073 anupam.sin 357
    referenceNumber = Field(Integer)
358
    description = Field(String(255))
359
    using_options(shortnames=True)
360
    using_table_options(mysql_engine="InnoDB")
361
 
362
class RechargeTransaction(Entity):
363
    id = Field(Integer, primary_key=True, autoincrement=True)
364
    storeId = Field(Integer)
7102 rajveer 365
    amount = Field(Integer)
7073 anupam.sin 366
    transactionTime = Field(DateTime)
7075 rajveer 367
    responseTime = Field(DateTime)
368
    description = Field(String(255))
369
    spiceTID = Field(String(255))
7369 rajveer 370
    aggTID = Field(String(255))
371
    providerTID = Field(String(255))
7075 rajveer 372
    plan = Field(String(255))
7073 anupam.sin 373
    deviceNum = Field(String(64))
374
    deviceType = Field(Integer)
375
    isFrc = Field(Boolean)
376
    email = Field(String(255))
7102 rajveer 377
    discount = Field(Integer)
378
    paymentAmount = Field(Integer)
7145 rajveer 379
    payMethod = Field(Integer, default=0, server_default="0")
7073 anupam.sin 380
    status = Field(Integer)
381
    invoiceNumber = Field(Integer)
382
    circleId = Field(Integer)
7075 rajveer 383
    operatorId = Field(Integer)
7073 anupam.sin 384
    name = Field(String(255))
385
    simNum = Field(String(255))
386
    cafNum = Field(String(255))
7080 anupam.sin 387
    ipAddress = Field(String(255))
388
    alternateNumber = Field(String(255))
7073 anupam.sin 389
    using_options(shortnames=True)
7075 rajveer 390
    using_table_options(mysql_engine="InnoDB")
7076 rajveer 391
 
7120 rajveer 392
class OperatorSeries(Entity):
393
    series = Field(Integer, primary_key=True, autoincrement=False)
394
    operatorId = Field(Integer)
395
    circleId = Field(Integer)
396
    using_options(shortnames=True)
397
    using_table_options(mysql_engine="InnoDB")
398
 
7076 rajveer 399
class FRC(Entity):
400
    id = Field(Integer, primary_key=True)
401
    operatorId = Field(Integer)
402
    circleId = Field(Integer)
403
    denomination = Field(Integer)
404
    maxDiscount = Field(Integer)
405
    using_options(shortnames=True)
406
    using_table_options(mysql_engine="InnoDB")
7120 rajveer 407
 
7075 rajveer 408
class HotspotStore(Entity):
409
    id = Field(Integer, primary_key=True)
410
    hotspotId = Field(String(3))
411
    companyId = Field(Integer)
412
    name = Field(String(100))
413
    city = Field(String(100))
7076 rajveer 414
    collectedAmount = Field(Integer)
7075 rajveer 415
    availableLimit = Field(Integer)
416
    creditLimit = Field(Integer)
417
    salt = Field(String(100))
418
    password = Field(String(100))
419
    isActive = Field(Boolean)
7096 anupam.sin 420
    circleId = Field(Integer)
7169 anupam.sin 421
    email = Field(String(100))
7308 rajveer 422
    line1 = Field(String(100))
423
    line2 = Field(String(100))
424
    state = Field(String(100))
425
    pin = Field(String(10))
426
    phone = Field(String(20))
7423 anupam.sin 427
    tin = Field(String(100))
7308 rajveer 428
    approvalEmail = Field(String(255))
7967 anupam.sin 429
    clusterEmail = Field(String(100))
7075 rajveer 430
    using_options(shortnames=True)
7251 rajveer 431
    using_table_options(mysql_engine="InnoDB")
432
 
433
class RechargeCollection(Entity):
434
    hotspotId = Field(String(3), primary_key=True, autoincrement=False)
435
    reconDate = Field(Integer, primary_key=True, autoincrement=False)
436
    cash = Field(Integer)
437
    hdfc = Field(Integer)
438
    grossAmount = Field(Integer)
439
    discount = Field(Integer)
440
    netCollection = Field(Integer)
441
    addedAt = Field(DateTime)
442
    pushedAt = Field(DateTime)
443
    pushedToOcr = Field(Boolean)
444
    using_options(shortnames=True)
445
    using_table_options(mysql_engine="InnoDB")
7406 rajveer 446
 
447
class StoreOrderCollection(Entity):
448
    hotspotId = Field(String(3), primary_key=True, autoincrement=False)
449
    orderId = Field(Integer, primary_key=True, autoincrement=False)
450
    collectionType = Field(String(255), primary_key=True, autoincrement=False)
451
    productName = Field(String(255))
452
    advanceAmount = Field(Integer)
453
    cash = Field(Integer)
454
    card = Field(Integer)
455
    addedAt = Field(DateTime)
456
    pushedAt = Field(DateTime)
457
    pushedToOcr = Field(Boolean)
458
    using_options(shortnames=True)
459
    using_table_options(mysql_engine="InnoDB")
7263 anupam.sin 460
 
461
class SourceDetail(Entity):
462
    id = Field(Integer, primary_key=True, autoincrement=False)
463
    name = Field(String(255))
464
    email = Field(String(255))
7410 amar.kumar 465
    tinNumber = Field(String(255))
7530 kshitij.so 466
    lastUpdatedOn = Field(DateTime)
7263 anupam.sin 467
    using_options(shortnames=True)
7311 kshitij.so 468
    using_table_options(mysql_engine="InnoDB")
469
 
470
class AmazonOrder(Entity):
471
    orderId = Field(Integer, primary_key=True, autoincrement=False)
7322 vikram.rag 472
    amazonOrderCode = Field(String(255))
473
    amazonOrderItemCode = Field(String(255))
7311 kshitij.so 474
    transactionId = Field(Integer)
475
    item_id = Field(Integer)
7322 vikram.rag 476
    status = Field(String(50))
7715 vikram.rag 477
    purchaseDateOnAmazon = Field(DateTime)
7311 kshitij.so 478
    using_options(shortnames=True)
7386 anupam.sin 479
    using_table_options(mysql_engine="InnoDB")
480
 
481
class StoreOrderDetail(Entity):
482
    orderId = Field(Integer, primary_key=True, autoincrement=False)
483
    storeId = Field(Integer, primary_key=True, autoincrement=False)
484
    advanceAmount = Field(Float)
485
    cashAmount = Field(Float)
486
    cardAmount = Field(Float)
487
    payStatus = Field(Integer)
7393 anupam.sin 488
    edcBank = Field(String(100))
489
    cashRefundAmount = Field(Float)
490
    cardRefundAmount = Field(Float)
7423 anupam.sin 491
    approvalCode = Field(String(100))
7611 anupam.sin 492
    cardType = Field(String(100))
7386 anupam.sin 493
    using_options(shortnames=True)
494
    using_table_options(mysql_engine="InnoDB")
495
 
496
class EdcBank(Entity):
497
    id = Field(Integer, primary_key=True, autoincrement=True)
498
    name = Field(String(255))
499
    using_options(shortnames=True)
7967 anupam.sin 500
    using_table_options(mysql_engine="InnoDB")
501
 
502
class HotspotServiceMatrix(Entity): 
503
    storeId = Field(Integer, primary_key=True)
504
    hotspotId = Field(String(3))
505
    rechargeService = Field(Boolean, default=0, server_default="0")
506
    storeWebsiteService = Field(Boolean, default=0, server_default="0")
507
    pickupFromStoreService = Field(Boolean, default=0, server_default="0")
508
    using_options(shortnames=True)
8182 amar.kumar 509
    using_table_options(mysql_engine="InnoDB")
510
 
511
class  EbayOrder(Entity):
512
    orderId = Field(Integer, primary_key=True, autoincrement=False)
513
    salesRecordNumber = Field(Integer)
514
    paisaPayId = Field(String(32))
515
    ebayListingId = Field(String(32))
516
    subsidyAmount = Field(Float)
517
    ebayTxnDate = Field(DateTime)
518
    transactionId = Field(String(16))
519
    listingName = Field(String(128))
520
    listingPrice = Field(Float)
8247 amar.kumar 521
    bluedartPaisaPayRef = Field(String(16))
8182 amar.kumar 522
    using_options(shortnames=True)
523
    using_table_options(mysql_engine="InnoDB")
8488 amar.kumar 524
 
525
class  SnapdealOrder(Entity):
11423 vikram.rag 526
    orderId = Field(Integer)
11422 vikram.rag 527
    subOrderId = Field(String(32), primary_key=True, autoincrement=False)
528
    referenceCode = Field(String(32),primary_key=True, autoincrement=False)
8488 amar.kumar 529
    snapdealTxnDate = Field(DateTime)
530
    productName = Field(String(128))
531
    listingPrice = Field(Float)
9456 vikram.rag 532
    maxNlc = Field(Float)
8488 amar.kumar 533
    using_options(shortnames=True)
534
    using_table_options(mysql_engine="InnoDB")
8282 kshitij.so 535
 
536
class AmazonFbaSalesSnapshot(Entity):
537
    dateOfSale = Field(Date, primary_key=True)
8363 vikram.rag 538
    item_id = Field(Integer, primary_key=True,autoincrement=False)
539
    totalOrderCount = Field(Integer)
8282 kshitij.so 540
    amazonFbaInventory = Field(Integer)
541
    isOutOfStock = Field(Boolean)
542
    salePrice = Field(Float)
8445 vikram.rag 543
    ourPrice = Field(Float)
8282 kshitij.so 544
    minFbaPrice = Field(Float)
8363 vikram.rag 545
    minMfnPrice = Field(Float)
8542 vikram.rag 546
    totalSale = Field(Numeric(precision=11, scale=3, asdecimal=False))
547
    promotionSale =  Field(Numeric(precision=11, scale=3, asdecimal=False))
8363 vikram.rag 548
    promotionOrderCount = Field(Integer)
8532 vikram.rag 549
    ourPriceSnapshotDate  =  Field(DateTime)
550
    salePriceSnapshotDate  = Field(DateTime)
551
    minMfnPriceSnapshotDate = Field(DateTime)
552
    minFbaPriceSnapshotDate = Field(DateTime)
11173 vikram.rag 553
    fcLocation = Field(Integer, primary_key=True,autoincrement=False)
8282 kshitij.so 554
    using_options(shortnames=True)
8921 anupam.sin 555
    using_table_options(mysql_engine="InnoDB")
556
 
557
class SpiceTransactionHistory(Entity):
558
    orderId = Field(Integer, primary_key=True, autoincrement=False)
559
    spiceTID = Field(String(32))
560
    reponseCode = Field(String(32))
561
    rechargeTime = Field(DateTime)
8923 anupam.sin 562
    reconciliationTime = Field(DateTime)
8922 anupam.sin 563
    using_options(shortnames=True)
8961 vikram.rag 564
    using_table_options(mysql_engine="InnoDB")
565
 
566
class FlipkartOrder(Entity):   
11423 vikram.rag 567
    orderId = Field(Integer)
11422 vikram.rag 568
    flipkartSubOrderId = Field(String(30),primary_key=True, autoincrement=False)
569
    flipkartOrderId = Field(String(30),primary_key=True, autoincrement=False)
8961 vikram.rag 570
    flipkartTxnDate = Field(DateTime)
571
    shippingPrice = Field(Float)
572
    octroiFee = Field(Float)
573
    emiFee = Field(Float)
9456 vikram.rag 574
    maxNlc = Field(Float)
8961 vikram.rag 575
    using_options(shortnames=True)
576
    using_table_options(mysql_engine="InnoDB")
12103 manish.sha 577
 
578
class AmazonFbaOrderReturns(Entity):
579
    amazonOrderId = Field(String(30),primary_key=True, autoincrement=False)
580
    insertionTimestamp = Field(DateTime, primary_key=True, autoincrement=False)
581
    sku = Field(Integer, primary_key=True, autoincrement=False)
582
    creationTimestamp = Field(DateTime)    
583
    shippedQuantity = Field(Integer)
584
    sellableReturnQuantity = Field(Integer)
585
    nonSellableReturnQuantity = Field(Integer)
586
    using_options(shortnames=True)
587
    using_table_options(mysql_engine="InnoDB")
12772 manish.sha 588
 
12936 kshitij.so 589
class MobileActivationRecord(Entity):
590
    orderId = Field(Integer)
591
    deviceNumber = Field(String(64))
12940 kshitij.so 592
    serialNumber = Field(String(20))
12936 kshitij.so 593
    circle = Field(String(100))
594
    operator = Field(String(100))
595
    activationTime = Field(DateTime)
596
    using_options(shortnames=True)
597
    using_table_options(mysql_engine="InnoDB")
598
 
12772 manish.sha 599
class FlipkartAdvantageOrder(Entity):
600
    fkOrderId = Field(String(30),primary_key=True, autoincrement=False)
601
    fkOrderItemId = Field(String(30),primary_key=True, autoincrement=False)
602
    sku = Field(Integer)
603
    creationTimestamp = Field(DateTime)
604
    customerName = Field(String(50))
605
    customerAddress = Field(String(500))
606
    pincode = Field(String(10))
607
    customerCity = Field(String(30))
608
    customerState = Field(String(30))
609
    customerPhone = Field(String(30))
610
    status = Field(String(20))
611
    quantity = Field(Integer)
612
    totalPrice = Field(Float)
613
    listPrice = Field(Float)
614
    modifiedDate = Field(DateTime)
615
    listingId = Field(String(50))
616
    cancelReason = Field(String(100))
617
    returnReason = Field(String(100))
12779 manish.sha 618
    freebieItemId = Field(String(20))
12772 manish.sha 619
    productTitle = Field(String(200))
620
    using_options(shortnames=True)
621
    using_table_options(mysql_engine="InnoDB")
13146 manish.sha 622
 
623
class FlipkartFaSalesSnapshot(Entity):
624
    dateOfSale = Field(Date, primary_key=True)
625
    item_id = Field(Integer, primary_key=True,autoincrement=False)
626
    totalOrderCount = Field(Integer)
627
    isOutOfStock = Field(Boolean)
628
    totalSale = Field(Numeric(precision=11, scale=3, asdecimal=False))
629
    ourPrice = Field(Float)
13584 manish.sha 630
    fcLocation = Field(Integer, primary_key=True,autoincrement=False)
13146 manish.sha 631
    using_options(shortnames=True)
632
    using_table_options(mysql_engine="InnoDB")
13152 manish.sha 633
 
634
class TransactionShipmentSequence(Entity):
635
    id = Field(Integer, primary_key=True, autoincrement=True)
636
    transactionId = Field(Integer)
637
    createdTimestamp = Field(DateTime)
638
    sequence = Field(Integer, default=0)
13276 manish.sha 639
    invoiceFormat = Field(Integer, default=1)
13152 manish.sha 640
    using_options(shortnames=True)
13691 manish.sha 641
    using_table_options(mysql_engine="InnoDB")
642
 
643
class HsOrder(Entity):
644
    orderId = Field(Integer, primary_key=True, autoincrement=False)
645
    hsOrderNo = Field(String(32))
646
    hsSubOrderNo = Field(String(32))
647
    catalogueName = Field(String(50))
648
    hsOrderDate = Field(DateTime)
649
    hsProductId = Field(String(32))
650
    hsItemId = Field(String(32))
651
    sellerSku = Field(String(32))
652
    paymentMode = Field(String(50))
653
    courierName = Field(String(50))
654
    slaDays = Field(Integer)
13734 manish.sha 655
    shippingName = Field(String(50))
13691 manish.sha 656
    using_options(shortnames=True)
18578 manish.sha 657
    using_table_options(mysql_engine="InnoDB")
658
 
659
class ReturnPickupRequest(Entity):
660
    id = Field(Integer, primary_key=True, autoincrement=True)
661
    logisticsProviderId = Field(Integer)
662
    pickupRequestNo = Field(String(50))
663
    confirmedAt = Field(DateTime)
664
    promised_pickup_timestamp = Field(DateTime)
665
    pickedUpAt = Field(DateTime)
666
    pickupStatus = Field(Enum('PENDING','PICKUP_REQUESTED','PICKUP_CONFIRMED','PICKUP_SCHEDULED','PICKUP_IN_TRANSIT','PICKUP_RECEIVED'))
667
    using_options(shortnames=True)
668
    using_table_options(mysql_engine="InnoDB")
669
 
670
class ReturnOrderInfo(Entity):
671
    id = Field(Integer, primary_key=True, autoincrement=True)
672
    returnTransaction = ManyToOne("ReturnTransaction")
673
    masterOrderId = Field(String(100))
674
    orderId = Field(Integer)
675
    lineItemId = Field(Integer)
676
    logisticsRequestId = Field(Integer)
677
    returnQuantity = Field(Integer)
678
    receivedQuantity = Field(Integer)
679
    createdAt = Field(DateTime)
680
    processedAt = Field(DateTime)
681
    returnStatus = Field(String(256))
682
    reshippedAt = Field(DateTime)
683
    receivedAt = Field(DateTime)
684
    refundReason = Field(String(256))
685
    refundedBy = Field(String(256))
686
    refundedAt = Field(DateTime)
687
    warehouse_id = Field(Integer)
688
    refundAmount = Field(Float)
689
    refundType = Field(Integer, default=0)
690
    refundDescription = Field(String(256))
691
    returnPickupType = Field(Integer, default=0, server_default="0")
692
    shippingType = Field(Integer, default=0, server_default="0")
693
    replacementOrderId = Field(Integer)
694
    receivedReturnType = Field(Integer)
695
    freebieItemId = Field(Integer, default=0, server_default="0")
696
    returnAction = Field(Integer)
697
    returnTxnResolutionStatus = Field(Enum('PENDING','AWAITING_PICKUP','QUALITY_CHECK','REPLACEMENT_DONE'\
698
                              'REPLACEMENT_ORDER_CREATED','REFUND_IN_PROCESS','REFUND_DONE','CLOSED'))
699
    lineitem = ManyToOne("LineItem", field=lineItemId)
700
    returnPickUpRequest = ManyToOne("ReturnPickupRequest", field=logisticsRequestId)
701
    using_options(shortnames=True)
702
    using_table_options(mysql_engine="InnoDB")
703
 
704
class ReturnTransaction(Entity):
705
    id = Field(Integer, primary_key=True, autoincrement=True)
706
    status = Field(Enum('INITIATED','AUTHORIZED','INPROCESS','REJECTED','PROCESSED','COMPLETED','CLOSED'))
707
    customer_email = Field(String(50))
708
    customer_name = Field(String(50))
709
    customer_id = Field(Integer)
710
    address_id = Field(Integer)
711
    ticketId = Field(Integer)
712
    createdAt = Field(DateTime)
713
    processedAt = Field(DateTime)
714
    authorizedAt = Field(DateTime)
715
    closedAt = Field(DateTime)
716
    customerAddress = Field(String(512))
717
    pincode = Field(String(10))
718
    customerCity = Field(String(100))
719
    customerState = Field(String(50))
720
    customerPhone = Field(String(50))
721
    returnOrders = OneToMany("ReturnOrderInfo")
722
    using_options(shortnames=True)
723
    using_table_options(mysql_engine="InnoDB")