Subversion Repositories SmartDukaan

Rev

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

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