Subversion Repositories SmartDukaan

Rev

Rev 18579 | Rev 18586 | 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")
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")
18585 amit.gupta 642
 
643
class Creditors(Entity):
644
    id = Field(Integer, primary_key=True, autoincrement=True)
645
    name = Field(String(64))
646
    active = Field(Boolean)
647
    updated = Field(DateTime, onupdate=datetime.datetime.now)
648
    created = Field(DateTime,default = datetime.datetime.now)
649
    using_options(shortnames=True)
650
    using_table_options(mysql_engine="InnoDB")
651
 
652
class UserSanctions(Entity):
653
    id = Field(Integer, primary_key=True, autoincrement=True)
654
    userId = Field(Integer)
655
    userRefId = String(24)
656
    creditLimit = Field(Float)
657
    creditBlocked = Field(Float)
658
    loanAmount = Field(Float)
659
    active = Field(Boolean)
660
    updated = Field(DateTime, onupdate=datetime.datetime.now)
661
    created = Field(DateTime,default = datetime.datetime.now)
662
    using_options(shortnames=True)
663
    using_table_options(mysql_engine="InnoDB")
13691 manish.sha 664
 
18585 amit.gupta 665
class CreditHistory(Entity):
666
    id = Field(Integer, primary_key=True, autoincrement=True)
667
    userId = Field(Integer)
668
    creditorId = Field(Integer)
669
    paymentId = Field(String)
670
    amount = Field(Float)
671
    type = Field(Enum('BLOCKED', 'BLOCKED_REVERSED', 'LOAN', 'LOAN_PAID', 'DEFAULTED'))
672
    shippingId = Field(String)
673
    loanId = Field(String)
674
    dueDate = Field(DateTime)
675
    updated = Field(DateTime, onupdate=datetime.datetime.now)
676
    created = Field(DateTime,default = datetime.datetime.now)
677
 
13691 manish.sha 678
class HsOrder(Entity):
679
    orderId = Field(Integer, primary_key=True, autoincrement=False)
680
    hsOrderNo = Field(String(32))
681
    hsSubOrderNo = Field(String(32))
682
    catalogueName = Field(String(50))
683
    hsOrderDate = Field(DateTime)
684
    hsProductId = Field(String(32))
685
    hsItemId = Field(String(32))
686
    sellerSku = Field(String(32))
687
    paymentMode = Field(String(50))
688
    courierName = Field(String(50))
689
    slaDays = Field(Integer)
13734 manish.sha 690
    shippingName = Field(String(50))
13691 manish.sha 691
    using_options(shortnames=True)
18578 manish.sha 692
    using_table_options(mysql_engine="InnoDB")
693
 
694
class ReturnPickupRequest(Entity):
695
    id = Field(Integer, primary_key=True, autoincrement=True)
696
    logisticsProviderId = Field(Integer)
697
    pickupRequestNo = Field(String(50))
698
    confirmedAt = Field(DateTime)
699
    promised_pickup_timestamp = Field(DateTime)
700
    pickedUpAt = Field(DateTime)
701
    pickupStatus = Field(Enum('PENDING','PICKUP_REQUESTED','PICKUP_CONFIRMED','PICKUP_SCHEDULED','PICKUP_IN_TRANSIT','PICKUP_RECEIVED'))
702
    using_options(shortnames=True)
703
    using_table_options(mysql_engine="InnoDB")
704
 
705
class ReturnOrderInfo(Entity):
706
    id = Field(Integer, primary_key=True, autoincrement=True)
707
    returnTransaction = ManyToOne("ReturnTransaction")
708
    masterOrderId = Field(String(100))
709
    orderId = Field(Integer)
710
    lineItemId = Field(Integer)
711
    logisticsRequestId = Field(Integer)
712
    returnQuantity = Field(Integer)
713
    receivedQuantity = Field(Integer)
714
    createdAt = Field(DateTime)
715
    processedAt = Field(DateTime)
716
    returnStatus = Field(String(256))
717
    reshippedAt = Field(DateTime)
718
    receivedAt = Field(DateTime)
719
    refundReason = Field(String(256))
720
    refundedBy = Field(String(256))
721
    refundedAt = Field(DateTime)
722
    warehouse_id = Field(Integer)
723
    refundAmount = Field(Float)
724
    refundType = Field(Integer, default=0)
725
    refundDescription = Field(String(256))
726
    returnPickupType = Field(Integer, default=0, server_default="0")
727
    shippingType = Field(Integer, default=0, server_default="0")
728
    replacementOrderId = Field(Integer)
729
    receivedReturnType = Field(Integer)
730
    freebieItemId = Field(Integer, default=0, server_default="0")
731
    returnAction = Field(Integer)
732
    returnTxnResolutionStatus = Field(Enum('PENDING','AWAITING_PICKUP','QUALITY_CHECK','REPLACEMENT_DONE'\
733
                              'REPLACEMENT_ORDER_CREATED','REFUND_IN_PROCESS','REFUND_DONE','CLOSED'))
734
    lineitem = ManyToOne("LineItem", field=lineItemId)
735
    returnPickUpRequest = ManyToOne("ReturnPickupRequest", field=logisticsRequestId)
736
    using_options(shortnames=True)
737
    using_table_options(mysql_engine="InnoDB")
738
 
739
class ReturnTransaction(Entity):
740
    id = Field(Integer, primary_key=True, autoincrement=True)
741
    status = Field(Enum('INITIATED','AUTHORIZED','INPROCESS','REJECTED','PROCESSED','COMPLETED','CLOSED'))
742
    customer_email = Field(String(50))
743
    customer_name = Field(String(50))
744
    customer_id = Field(Integer)
745
    address_id = Field(Integer)
746
    ticketId = Field(Integer)
747
    createdAt = Field(DateTime)
748
    processedAt = Field(DateTime)
749
    authorizedAt = Field(DateTime)
750
    closedAt = Field(DateTime)
751
    customerAddress = Field(String(512))
752
    pincode = Field(String(10))
753
    customerCity = Field(String(100))
754
    customerState = Field(String(50))
755
    customerPhone = Field(String(50))
756
    returnOrders = OneToMany("ReturnOrderInfo")
757
    using_options(shortnames=True)
758
    using_table_options(mysql_engine="InnoDB")