Subversion Repositories SmartDukaan

Rev

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