Subversion Repositories SmartDukaan

Rev

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