Subversion Repositories SmartDukaan

Rev

Rev 21101 | Rev 21844 | 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")
21134 amit.gupta 186
    shippingRefund = Field(Float, default=0, server_default="0")
17488 manish.sha 187
    codCharges = Field(Float, default=0, server_default="0")
19973 amit.gupta 188
    seller_id = Field(Integer)
20873 kshitij.so 189
    warehouse_address_id = Field(Integer)
190
    wallet_amount = Field(Float, default=0, server_default="0")
20942 kshitij.so 191
    net_payable_amount = Field(Float) 
2628 chandransh 192
    using_options(shortnames=True)
193
    using_table_options(mysql_engine="InnoDB")
5348 anupam.sin 194
 
195
class CodVerificationAgent(Entity):
196
    orderId = Field(Integer, primary_key=True, autoincrement=True)
197
    verificationAgent = Field(String(200))
198
    using_options(shortnames=True)
199
    using_table_options(mysql_engine="InnoDB")
200
 
104 ashish 201
class Transaction(Entity):
483 rajveer 202
    id = Field(Integer, primary_key=True, autoincrement=True)
203
    createdOn = Field(DateTime)
204
    status = Field(Integer)
205
    status_message = Field(String(100))
206
    customer_id = Field(Integer)
207
    shopping_cart_id = Field(Integer)
2815 vikas 208
    session_source = Field(String(100))
209
    session_start_time = Field(DateTime)
3858 vikas 210
    first_source = Field(String(100))
211
    first_source_start_time = Field(DateTime)
483 rajveer 212
    orders = OneToMany("Order")
2219 varun.gupt 213
    coupon_code = Field(String(20))
17488 manish.sha 214
    totalShippingCost = Field(Float, default=0, server_default="0")
215
    totalCodCharges = Field(Float, default=0, server_default="0")
18586 manish.sha 216
    payment_option = Field(Integer)
746 rajveer 217
    using_options(shortnames=True)
218
    using_table_options(mysql_engine="InnoDB")
132 ashish 219
 
4394 rajveer 220
class Alert(Entity):
132 ashish 221
    id = Field(Integer, primary_key=True, autoincrement=True)
483 rajveer 222
    type = Field(Integer)
4394 rajveer 223
    status = Field(Integer)
224
    timestamp = Field(DateTime)
225
    description = Field(String(100))
4444 rajveer 226
    warehouseId = Field(Integer)
746 rajveer 227
    using_options(shortnames=True)
1225 chandransh 228
    using_table_options(mysql_engine="InnoDB")
229
 
230
class BatchNoGenerator(Entity):
231
    id=Field(Integer, primary_key=True)
232
    using_options(shortnames=True)
233
    using_table_options(mysql_engine="InnoDB")
4008 mandeep.dh 234
 
235
class TransactionRequiringExtraProcessing(Entity):
4015 mandeep.dh 236
    transaction_id = Field(Integer, primary_key=True, autoincrement=False)
6733 anupam.sin 237
    category = Field(Enum('COD_VERIFICATION', 'DELAYED_DELIVERY', 'PAYMENT_FLAGGED', 'RECHARGE_UNKNOWN'), primary_key=True, autoincrement=False)
4008 mandeep.dh 238
    using_options(shortnames=True)
239
    using_table_options(mysql_engine="InnoDB")
4303 rajveer 240
 
241
class OrderInventory(Entity):
242
    order = ManyToOne("Order", primary_key=True)
243
    itemId = Field(Integer)
244
    timestamp = Field(DateTime)
245
    hotspotAction = Field(Integer)
246
    estimate = Field(Integer)
247
    using_options(shortnames=True)
248
    using_table_options(mysql_engine="InnoDB")
4600 varun.gupt 249
 
250
class EBSSettlementSummary(Entity):
251
    settlementId = Field(Integer, primary_key = True)
252
    settlementDate = Field(DateTime)
253
    transactionDateFrom = Field(DateTime)
254
    transactionDateTo = Field(DateTime)
5389 phani.kuma 255
    amount = Field(Numeric(precision=11, scale=3, asdecimal=False))
4600 varun.gupt 256
    detailsUploaded = Field(Boolean)
257
    using_options(shortnames=True)
258
    using_table_options(mysql_engine="InnoDB")
4905 varun.gupt 259
 
4600 varun.gupt 260
class PaymentSettlement(Entity):
4905 varun.gupt 261
    referenceId = Field(Integer)    #PaymentID in case of prepaid & Order Id in case of COD
5386 phani.kuma 262
    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 263
    paymentGatewayId = Field(Integer)
264
    settlementDate = Field(DateTime)
5389 phani.kuma 265
    serviceTax = Field(Numeric(precision=11, scale=3, asdecimal=False))
266
    otherCharges = Field(Numeric(precision=11, scale=3, asdecimal=False))
267
    netCollection = Field(Numeric(precision=11, scale=3, asdecimal=False))
4600 varun.gupt 268
    using_options(shortnames=True)
5527 anupam.sin 269
    using_table_options(mysql_engine="InnoDB")
270
 
271
class Attribute(Entity):
272
    orderId = Field(Integer)
273
    name = Field(String(100))
274
    value = Field(String(100))
275
    using_options(shortnames=True)
6389 rajveer 276
    using_table_options(mysql_engine="InnoDB")
277
 
278
 
279
class EmiScheme(Entity):
280
    id  = Field(Integer, primary_key=True)
281
    gatewayId  = Field(Integer)
282
    bankId = Field(Integer)
283
    tenure = Field(Integer)
6396 amit.gupta 284
    bankName = Field(String(256))
285
    tenureDescription = Field(String(256))
6389 rajveer 286
    minAmount = Field(Integer)
287
    chargeType = Field(Integer)
6409 rajveer 288
    chargeValue = Field(Float)
8942 rajveer 289
    interestRate = Field(Float)
6389 rajveer 290
    using_options(shortnames=True)
291
    using_table_options(mysql_engine="InnoDB")
292
 
293
class MiscCharges(Entity):
294
    transaction = ManyToOne("Transaction", primary_key=True)
6396 amit.gupta 295
    chargeType = Field(Integer, primary_key=True, autoincrement=False)
6389 rajveer 296
    chargeAmount = Field(Float)
297
    using_options(shortnames=True)
6580 anupam.sin 298
    using_table_options(mysql_engine="InnoDB")
299
 
6591 anupam.sin 300
class BlockedIpRange(Entity):
6580 anupam.sin 301
    id = Field(Integer, primary_key=True, autoincrement=True)
6594 anupam.sin 302
    start = Field(BigInteger)
303
    end = Field(BigInteger)
6591 anupam.sin 304
    expiredOn = Field(DateTime)
6580 anupam.sin 305
    using_options(shortnames=True)
6591 anupam.sin 306
    using_table_options(mysql_engine="InnoDB")
307
 
308
class DeniedIpAddress(Entity):
309
    id = Field(Integer, primary_key=True, autoincrement=True)
310
    ip = Field(String(256))
311
    deniedOn = Field(DateTime)
312
    rechargeType = Field(Integer)
313
    deviceNumber = Field(String(128))
314
    using_options(shortnames=True)
6903 anupam.sin 315
    using_table_options(mysql_engine="InnoDB")
316
 
317
class InsuranceDetailForOrder(Entity):
318
    id = Field(Integer, primary_key=True, autoincrement=True)
319
    dob = Field(String(64))
320
    guardianName = Field(String(255))
321
    startDate = Field(DateTime)
322
    expiryDate = Field(DateTime)
6915 anupam.sin 323
    isDeclared = Field(Boolean, default=0)
6903 anupam.sin 324
    order = ManyToOne("Order")
325
    using_options(shortnames=True)
6906 rajveer 326
    using_table_options(mysql_engine="InnoDB")
327
 
6915 anupam.sin 328
    def __init__(self):
329
        self.isDeclared = 0
330
 
9575 kshitij.so 331
class DataInsuranceDetailForOrder(Entity):
332
    id = Field(Integer, primary_key=True, autoincrement=True)
333
    startDate = Field(DateTime)
334
    expiryDate = Field(DateTime)
9608 kshitij.so 335
    isDeclared = Field(Boolean, default=0, server_default="0")
9575 kshitij.so 336
    order = ManyToOne("Order")
337
    using_options(shortnames=True)
338
    using_table_options(mysql_engine="InnoDB")
339
 
6906 rajveer 340
class DocumentStore(Entity):
341
    docType = Field(Integer, primary_key=True, autoincrement=False)
342
    docSource = Field(Integer, primary_key=True, autoincrement=False)
343
    document  = Field(LargeBinary)
344
    using_options(shortnames=True)
7073 anupam.sin 345
    using_table_options(mysql_engine="InnoDB")
346
 
347
class Company(Entity):
348
    id = Field(Integer, primary_key=True, autoincrement=True)
349
    name = Field(String(255))
350
    Address = Field(String(255))
351
    using_options(shortnames=True)
352
    using_table_options(mysql_engine="InnoDB")
353
 
19973 amit.gupta 354
 
355
class Organisation(Entity):
356
    id = Field(Integer, primary_key=True, autoincrement=True)
357
    name = Field(String(255))
358
    address = Field(String(255))
359
    type = Field(Enum('company'), default='company')
360
    registered_id = Field(String(127))
361
    using_options(shortnames=True)
362
    using_table_options(mysql_engine="InnoDB")
363
 
364
class Seller(Entity):
365
    id = Field(Integer, primary_key=True, autoincrement=True)
19978 amit.gupta 366
    label=Field(String(31), unique=True)
19973 amit.gupta 367
    organisation_id = Field(Integer)
368
    state_id = Field(Integer)
369
    tin = Field(String(15))
19975 amit.gupta 370
    address = Field(String(255))
19973 amit.gupta 371
    using_options(shortnames=True)
372
    using_table_options(mysql_engine="InnoDB")
373
 
19980 amit.gupta 374
class WarehouseAddressMapping(Entity):
375
    warehouse_id = Field(Integer)
376
    address_id = Field(Integer)
377
    created = Field(DateTime, default=datetime.datetime.now)
378
    updated = Field(DateTime)
19982 amit.gupta 379
    using_options(shortnames=True)
380
    using_table_options(mysql_engine="InnoDB")
19980 amit.gupta 381
 
382
class WarehouseAddressMaster(Entity):
383
    id = Field(Integer, primary_key=True, autoincrement=True)
384
    address = Field(String(255))
385
    pin = Field(String(6))
386
    state_id = Field(Integer)
387
    created = Field(DateTime, default=datetime.datetime.now)
20818 kshitij.so 388
    contact_number = Field(String(10))
19982 amit.gupta 389
    using_options(shortnames=True)
390
    using_table_options(mysql_engine="InnoDB")
19980 amit.gupta 391
 
19973 amit.gupta 392
class SellerWarehouse(Entity):
393
    id = Field(Integer, default=0)
394
    seller_id = Field(Integer, primary_key=True)
395
    warehouse_id = Field(Integer, primary_key=True)
396
    orderType = Field(Integer, primary_key = True)
19977 amit.gupta 397
    prefix = Field(String(7))
398
    created_on = Field(DateTime)
19973 amit.gupta 399
    is_active = Field(Boolean)
400
    using_options(shortnames=True)
401
    using_table_options(mysql_engine="InnoDB")
402
 
403
 
7073 anupam.sin 404
class WalletForCompany(Entity):
405
    id = Field(Integer, primary_key=True, autoincrement=True)
406
    companyId = Field(Integer)
7102 rajveer 407
    amount = Field(Integer)
7073 anupam.sin 408
    using_options(shortnames=True)
409
    using_table_options(mysql_engine="InnoDB")
410
 
411
class WalletHistoryForCompany(Entity):
412
    id = Field(Integer, primary_key=True, autoincrement=True)
413
    walletId = Field(Integer)
7102 rajveer 414
    amount = Field(Integer)
7073 anupam.sin 415
    transactionTime = Field(DateTime)
7102 rajveer 416
    openingBal = Field(Integer)
417
    closingBal = Field(Integer)
7073 anupam.sin 418
    referenceNumber = Field(Integer)
419
    description = Field(String(255))
420
    using_options(shortnames=True)
421
    using_table_options(mysql_engine="InnoDB")
422
 
423
class RechargeTransaction(Entity):
424
    id = Field(Integer, primary_key=True, autoincrement=True)
425
    storeId = Field(Integer)
7102 rajveer 426
    amount = Field(Integer)
7073 anupam.sin 427
    transactionTime = Field(DateTime)
7075 rajveer 428
    responseTime = Field(DateTime)
429
    description = Field(String(255))
430
    spiceTID = Field(String(255))
7369 rajveer 431
    aggTID = Field(String(255))
432
    providerTID = Field(String(255))
7075 rajveer 433
    plan = Field(String(255))
7073 anupam.sin 434
    deviceNum = Field(String(64))
435
    deviceType = Field(Integer)
436
    isFrc = Field(Boolean)
437
    email = Field(String(255))
7102 rajveer 438
    discount = Field(Integer)
439
    paymentAmount = Field(Integer)
7145 rajveer 440
    payMethod = Field(Integer, default=0, server_default="0")
7073 anupam.sin 441
    status = Field(Integer)
442
    invoiceNumber = Field(Integer)
443
    circleId = Field(Integer)
7075 rajveer 444
    operatorId = Field(Integer)
7073 anupam.sin 445
    name = Field(String(255))
446
    simNum = Field(String(255))
447
    cafNum = Field(String(255))
7080 anupam.sin 448
    ipAddress = Field(String(255))
449
    alternateNumber = Field(String(255))
7073 anupam.sin 450
    using_options(shortnames=True)
7075 rajveer 451
    using_table_options(mysql_engine="InnoDB")
7076 rajveer 452
 
7120 rajveer 453
class OperatorSeries(Entity):
454
    series = Field(Integer, primary_key=True, autoincrement=False)
455
    operatorId = Field(Integer)
456
    circleId = Field(Integer)
457
    using_options(shortnames=True)
458
    using_table_options(mysql_engine="InnoDB")
459
 
7076 rajveer 460
class FRC(Entity):
461
    id = Field(Integer, primary_key=True)
462
    operatorId = Field(Integer)
463
    circleId = Field(Integer)
464
    denomination = Field(Integer)
465
    maxDiscount = Field(Integer)
466
    using_options(shortnames=True)
467
    using_table_options(mysql_engine="InnoDB")
7120 rajveer 468
 
7075 rajveer 469
class HotspotStore(Entity):
470
    id = Field(Integer, primary_key=True)
471
    hotspotId = Field(String(3))
472
    companyId = Field(Integer)
473
    name = Field(String(100))
474
    city = Field(String(100))
7076 rajveer 475
    collectedAmount = Field(Integer)
7075 rajveer 476
    availableLimit = Field(Integer)
477
    creditLimit = Field(Integer)
478
    salt = Field(String(100))
479
    password = Field(String(100))
480
    isActive = Field(Boolean)
7096 anupam.sin 481
    circleId = Field(Integer)
7169 anupam.sin 482
    email = Field(String(100))
7308 rajveer 483
    line1 = Field(String(100))
484
    line2 = Field(String(100))
485
    state = Field(String(100))
486
    pin = Field(String(10))
487
    phone = Field(String(20))
7423 anupam.sin 488
    tin = Field(String(100))
7308 rajveer 489
    approvalEmail = Field(String(255))
7967 anupam.sin 490
    clusterEmail = Field(String(100))
7075 rajveer 491
    using_options(shortnames=True)
7251 rajveer 492
    using_table_options(mysql_engine="InnoDB")
493
 
494
class RechargeCollection(Entity):
495
    hotspotId = Field(String(3), primary_key=True, autoincrement=False)
496
    reconDate = Field(Integer, primary_key=True, autoincrement=False)
497
    cash = Field(Integer)
498
    hdfc = Field(Integer)
499
    grossAmount = Field(Integer)
500
    discount = Field(Integer)
501
    netCollection = Field(Integer)
502
    addedAt = Field(DateTime)
503
    pushedAt = Field(DateTime)
504
    pushedToOcr = Field(Boolean)
505
    using_options(shortnames=True)
506
    using_table_options(mysql_engine="InnoDB")
7406 rajveer 507
 
508
class StoreOrderCollection(Entity):
509
    hotspotId = Field(String(3), primary_key=True, autoincrement=False)
510
    orderId = Field(Integer, primary_key=True, autoincrement=False)
511
    collectionType = Field(String(255), primary_key=True, autoincrement=False)
512
    productName = Field(String(255))
513
    advanceAmount = Field(Integer)
514
    cash = Field(Integer)
515
    card = Field(Integer)
516
    addedAt = Field(DateTime)
517
    pushedAt = Field(DateTime)
518
    pushedToOcr = Field(Boolean)
519
    using_options(shortnames=True)
520
    using_table_options(mysql_engine="InnoDB")
7263 anupam.sin 521
 
522
class SourceDetail(Entity):
523
    id = Field(Integer, primary_key=True, autoincrement=False)
524
    name = Field(String(255))
525
    email = Field(String(255))
7410 amar.kumar 526
    tinNumber = Field(String(255))
7530 kshitij.so 527
    lastUpdatedOn = Field(DateTime)
7263 anupam.sin 528
    using_options(shortnames=True)
7311 kshitij.so 529
    using_table_options(mysql_engine="InnoDB")
530
 
531
class AmazonOrder(Entity):
532
    orderId = Field(Integer, primary_key=True, autoincrement=False)
7322 vikram.rag 533
    amazonOrderCode = Field(String(255))
534
    amazonOrderItemCode = Field(String(255))
7311 kshitij.so 535
    transactionId = Field(Integer)
536
    item_id = Field(Integer)
7322 vikram.rag 537
    status = Field(String(50))
7715 vikram.rag 538
    purchaseDateOnAmazon = Field(DateTime)
7311 kshitij.so 539
    using_options(shortnames=True)
7386 anupam.sin 540
    using_table_options(mysql_engine="InnoDB")
541
 
542
class StoreOrderDetail(Entity):
543
    orderId = Field(Integer, primary_key=True, autoincrement=False)
544
    storeId = Field(Integer, primary_key=True, autoincrement=False)
545
    advanceAmount = Field(Float)
546
    cashAmount = Field(Float)
547
    cardAmount = Field(Float)
548
    payStatus = Field(Integer)
7393 anupam.sin 549
    edcBank = Field(String(100))
550
    cashRefundAmount = Field(Float)
551
    cardRefundAmount = Field(Float)
7423 anupam.sin 552
    approvalCode = Field(String(100))
7611 anupam.sin 553
    cardType = Field(String(100))
7386 anupam.sin 554
    using_options(shortnames=True)
555
    using_table_options(mysql_engine="InnoDB")
556
 
557
class EdcBank(Entity):
558
    id = Field(Integer, primary_key=True, autoincrement=True)
559
    name = Field(String(255))
560
    using_options(shortnames=True)
7967 anupam.sin 561
    using_table_options(mysql_engine="InnoDB")
562
 
563
class HotspotServiceMatrix(Entity): 
564
    storeId = Field(Integer, primary_key=True)
565
    hotspotId = Field(String(3))
566
    rechargeService = Field(Boolean, default=0, server_default="0")
567
    storeWebsiteService = Field(Boolean, default=0, server_default="0")
568
    pickupFromStoreService = Field(Boolean, default=0, server_default="0")
569
    using_options(shortnames=True)
8182 amar.kumar 570
    using_table_options(mysql_engine="InnoDB")
571
 
572
class  EbayOrder(Entity):
573
    orderId = Field(Integer, primary_key=True, autoincrement=False)
574
    salesRecordNumber = Field(Integer)
575
    paisaPayId = Field(String(32))
576
    ebayListingId = Field(String(32))
577
    subsidyAmount = Field(Float)
578
    ebayTxnDate = Field(DateTime)
579
    transactionId = Field(String(16))
580
    listingName = Field(String(128))
581
    listingPrice = Field(Float)
8247 amar.kumar 582
    bluedartPaisaPayRef = Field(String(16))
8182 amar.kumar 583
    using_options(shortnames=True)
584
    using_table_options(mysql_engine="InnoDB")
8488 amar.kumar 585
 
586
class  SnapdealOrder(Entity):
11423 vikram.rag 587
    orderId = Field(Integer)
11422 vikram.rag 588
    subOrderId = Field(String(32), primary_key=True, autoincrement=False)
589
    referenceCode = Field(String(32),primary_key=True, autoincrement=False)
8488 amar.kumar 590
    snapdealTxnDate = Field(DateTime)
591
    productName = Field(String(128))
592
    listingPrice = Field(Float)
9456 vikram.rag 593
    maxNlc = Field(Float)
8488 amar.kumar 594
    using_options(shortnames=True)
595
    using_table_options(mysql_engine="InnoDB")
8282 kshitij.so 596
 
597
class AmazonFbaSalesSnapshot(Entity):
598
    dateOfSale = Field(Date, primary_key=True)
8363 vikram.rag 599
    item_id = Field(Integer, primary_key=True,autoincrement=False)
600
    totalOrderCount = Field(Integer)
8282 kshitij.so 601
    amazonFbaInventory = Field(Integer)
602
    isOutOfStock = Field(Boolean)
603
    salePrice = Field(Float)
8445 vikram.rag 604
    ourPrice = Field(Float)
8282 kshitij.so 605
    minFbaPrice = Field(Float)
8363 vikram.rag 606
    minMfnPrice = Field(Float)
8542 vikram.rag 607
    totalSale = Field(Numeric(precision=11, scale=3, asdecimal=False))
608
    promotionSale =  Field(Numeric(precision=11, scale=3, asdecimal=False))
8363 vikram.rag 609
    promotionOrderCount = Field(Integer)
8532 vikram.rag 610
    ourPriceSnapshotDate  =  Field(DateTime)
611
    salePriceSnapshotDate  = Field(DateTime)
612
    minMfnPriceSnapshotDate = Field(DateTime)
613
    minFbaPriceSnapshotDate = Field(DateTime)
11173 vikram.rag 614
    fcLocation = Field(Integer, primary_key=True,autoincrement=False)
8282 kshitij.so 615
    using_options(shortnames=True)
8921 anupam.sin 616
    using_table_options(mysql_engine="InnoDB")
617
 
618
class SpiceTransactionHistory(Entity):
619
    orderId = Field(Integer, primary_key=True, autoincrement=False)
620
    spiceTID = Field(String(32))
621
    reponseCode = Field(String(32))
622
    rechargeTime = Field(DateTime)
8923 anupam.sin 623
    reconciliationTime = Field(DateTime)
8922 anupam.sin 624
    using_options(shortnames=True)
8961 vikram.rag 625
    using_table_options(mysql_engine="InnoDB")
626
 
627
class FlipkartOrder(Entity):   
11423 vikram.rag 628
    orderId = Field(Integer)
11422 vikram.rag 629
    flipkartSubOrderId = Field(String(30),primary_key=True, autoincrement=False)
630
    flipkartOrderId = Field(String(30),primary_key=True, autoincrement=False)
8961 vikram.rag 631
    flipkartTxnDate = Field(DateTime)
632
    shippingPrice = Field(Float)
633
    octroiFee = Field(Float)
634
    emiFee = Field(Float)
9456 vikram.rag 635
    maxNlc = Field(Float)
8961 vikram.rag 636
    using_options(shortnames=True)
637
    using_table_options(mysql_engine="InnoDB")
12103 manish.sha 638
 
639
class AmazonFbaOrderReturns(Entity):
640
    amazonOrderId = Field(String(30),primary_key=True, autoincrement=False)
641
    insertionTimestamp = Field(DateTime, primary_key=True, autoincrement=False)
642
    sku = Field(Integer, primary_key=True, autoincrement=False)
643
    creationTimestamp = Field(DateTime)    
644
    shippedQuantity = Field(Integer)
645
    sellableReturnQuantity = Field(Integer)
646
    nonSellableReturnQuantity = Field(Integer)
647
    using_options(shortnames=True)
648
    using_table_options(mysql_engine="InnoDB")
12772 manish.sha 649
 
12936 kshitij.so 650
class MobileActivationRecord(Entity):
651
    orderId = Field(Integer)
652
    deviceNumber = Field(String(64))
12940 kshitij.so 653
    serialNumber = Field(String(20))
12936 kshitij.so 654
    circle = Field(String(100))
655
    operator = Field(String(100))
656
    activationTime = Field(DateTime)
657
    using_options(shortnames=True)
658
    using_table_options(mysql_engine="InnoDB")
659
 
12772 manish.sha 660
class FlipkartAdvantageOrder(Entity):
661
    fkOrderId = Field(String(30),primary_key=True, autoincrement=False)
662
    fkOrderItemId = Field(String(30),primary_key=True, autoincrement=False)
663
    sku = Field(Integer)
664
    creationTimestamp = Field(DateTime)
665
    customerName = Field(String(50))
666
    customerAddress = Field(String(500))
667
    pincode = Field(String(10))
668
    customerCity = Field(String(30))
669
    customerState = Field(String(30))
670
    customerPhone = Field(String(30))
671
    status = Field(String(20))
672
    quantity = Field(Integer)
673
    totalPrice = Field(Float)
674
    listPrice = Field(Float)
675
    modifiedDate = Field(DateTime)
676
    listingId = Field(String(50))
677
    cancelReason = Field(String(100))
678
    returnReason = Field(String(100))
12779 manish.sha 679
    freebieItemId = Field(String(20))
12772 manish.sha 680
    productTitle = Field(String(200))
681
    using_options(shortnames=True)
682
    using_table_options(mysql_engine="InnoDB")
13146 manish.sha 683
 
684
class FlipkartFaSalesSnapshot(Entity):
685
    dateOfSale = Field(Date, primary_key=True)
686
    item_id = Field(Integer, primary_key=True,autoincrement=False)
687
    totalOrderCount = Field(Integer)
688
    isOutOfStock = Field(Boolean)
689
    totalSale = Field(Numeric(precision=11, scale=3, asdecimal=False))
690
    ourPrice = Field(Float)
13584 manish.sha 691
    fcLocation = Field(Integer, primary_key=True,autoincrement=False)
13146 manish.sha 692
    using_options(shortnames=True)
693
    using_table_options(mysql_engine="InnoDB")
13152 manish.sha 694
 
695
class TransactionShipmentSequence(Entity):
696
    id = Field(Integer, primary_key=True, autoincrement=True)
697
    transactionId = Field(Integer)
698
    createdTimestamp = Field(DateTime)
699
    sequence = Field(Integer, default=0)
13276 manish.sha 700
    invoiceFormat = Field(Integer, default=1)
13152 manish.sha 701
    using_options(shortnames=True)
13691 manish.sha 702
    using_table_options(mysql_engine="InnoDB")
18585 amit.gupta 703
 
18591 manish.sha 704
class Creditor(Entity):
18585 amit.gupta 705
    id = Field(Integer, primary_key=True, autoincrement=True)
706
    name = Field(String(64))
18674 amit.gupta 707
    ticket_size = Field(Float)
708
    credit_due_days = Field(Integer)
18585 amit.gupta 709
    active = Field(Boolean)
710
    updated = Field(DateTime, onupdate=datetime.datetime.now)
711
    created = Field(DateTime,default = datetime.datetime.now)
712
    using_options(shortnames=True)
713
    using_table_options(mysql_engine="InnoDB")
714
 
18591 manish.sha 715
class UserSanction(Entity):
18585 amit.gupta 716
    id = Field(Integer, primary_key=True, autoincrement=True)
18586 manish.sha 717
    user_id = Field(Integer)
718
    creditor_id = Field(Integer)
18592 amit.gupta 719
    user_ref_id = Field(String(24))
18586 manish.sha 720
    credit_limit = Field(Float)
721
    credit_blocked = Field(Float)
722
    loan = Field(Float)
18585 amit.gupta 723
    active = Field(Boolean)
724
    updated = Field(DateTime, onupdate=datetime.datetime.now)
725
    created = Field(DateTime,default = datetime.datetime.now)
726
    using_options(shortnames=True)
727
    using_table_options(mysql_engine="InnoDB")
13691 manish.sha 728
 
18585 amit.gupta 729
class CreditHistory(Entity):
730
    id = Field(Integer, primary_key=True, autoincrement=True)
18586 manish.sha 731
    user_id = Field(Integer)
732
    creditor_id = Field(Integer)
18634 manish.sha 733
    payment_id = Field(Integer)
18585 amit.gupta 734
    amount = Field(Float)
18634 manish.sha 735
    credit_type = Field(Enum('BLOCKED', 'BLOCKED_REVERSED', 'LOAN',  'LOAN_CANCELLED', 'PAID', 'DEFAULTED'))
736
    shipping_id = Field(String(30))
18585 amit.gupta 737
    created = Field(DateTime,default = datetime.datetime.now)
18586 manish.sha 738
    using_options(shortnames=True)
739
    using_table_options(mysql_engine="InnoDB")
18585 amit.gupta 740
 
18634 manish.sha 741
class LoanHistory(Entity):
742
    id = Field(Integer, primary_key=True, autoincrement=True)
743
    user_id = Field(Integer)
744
    creditor_id = Field(Integer)
745
    payment_id = Field(Integer)
746
    amount = Field(Float)
747
    credit_type = Field(Enum('BLOCKED', 'BLOCKED_REVERSED', 'LOAN',  'LOAN_CANCELLED', 'PAID', 'DEFAULTED', 'CORRECTION'))
748
    loan_id = Field(String(30))
749
    created = Field(DateTime,default = datetime.datetime.now)
750
    updated = Field(DateTime)
751
    due_date = Field(DateTime)
752
    value_date = Field(DateTime)
18769 manish.sha 753
    invoiceNumber = Field(String(30))
18634 manish.sha 754
    using_options(shortnames=True)
755
    using_table_options(mysql_engine="InnoDB")
756
 
13691 manish.sha 757
class HsOrder(Entity):
758
    orderId = Field(Integer, primary_key=True, autoincrement=False)
759
    hsOrderNo = Field(String(32))
760
    hsSubOrderNo = Field(String(32))
761
    catalogueName = Field(String(50))
762
    hsOrderDate = Field(DateTime)
763
    hsProductId = Field(String(32))
764
    hsItemId = Field(String(32))
765
    sellerSku = Field(String(32))
766
    paymentMode = Field(String(50))
767
    courierName = Field(String(50))
768
    slaDays = Field(Integer)
13734 manish.sha 769
    shippingName = Field(String(50))
13691 manish.sha 770
    using_options(shortnames=True)
18578 manish.sha 771
    using_table_options(mysql_engine="InnoDB")
19832 amit.gupta 772
 
773
class PendingStoreOrder(Entity):
774
    orderId = Field(Integer, primary_key=True, autoincrement=False)
775
    hsOrderNo = Field(String(32))
776
    hsSubOrderNo = Field(String(32))
777
    catalogueName = Field(String(50))
778
    hsOrderDate = Field(DateTime)
779
    hsProductId = Field(String(32))
780
    hsItemId = Field(String(32))
781
    sellerSku = Field(String(32))
782
    paymentMode = Field(String(50))
783
    courierName = Field(String(50))
784
    slaDays = Field(Integer)
785
    shippingName = Field(String(50))
786
    using_options(shortnames=True)
787
    using_table_options(mysql_engine="InnoDB")
18578 manish.sha 788
 
789
class ReturnPickupRequest(Entity):
790
    id = Field(Integer, primary_key=True, autoincrement=True)
791
    logisticsProviderId = Field(Integer)
792
    pickupRequestNo = Field(String(50))
793
    confirmedAt = Field(DateTime)
794
    promised_pickup_timestamp = Field(DateTime)
795
    pickedUpAt = Field(DateTime)
796
    pickupStatus = Field(Enum('PENDING','PICKUP_REQUESTED','PICKUP_CONFIRMED','PICKUP_SCHEDULED','PICKUP_IN_TRANSIT','PICKUP_RECEIVED'))
797
    using_options(shortnames=True)
798
    using_table_options(mysql_engine="InnoDB")
799
 
800
class ReturnOrderInfo(Entity):
801
    id = Field(Integer, primary_key=True, autoincrement=True)
802
    returnTransaction = ManyToOne("ReturnTransaction")
803
    masterOrderId = Field(String(100))
804
    orderId = Field(Integer)
805
    lineItemId = Field(Integer)
806
    logisticsRequestId = Field(Integer)
807
    returnQuantity = Field(Integer)
808
    receivedQuantity = Field(Integer)
809
    createdAt = Field(DateTime)
810
    processedAt = Field(DateTime)
811
    returnStatus = Field(String(256))
812
    reshippedAt = Field(DateTime)
813
    receivedAt = Field(DateTime)
814
    refundReason = Field(String(256))
815
    refundedBy = Field(String(256))
816
    refundedAt = Field(DateTime)
817
    warehouse_id = Field(Integer)
818
    refundAmount = Field(Float)
19694 manish.sha 819
    refundType = Field(Integer, default=0, server_default="0")
18578 manish.sha 820
    refundDescription = Field(String(256))
821
    returnPickupType = Field(Integer, default=0, server_default="0")
822
    shippingType = Field(Integer, default=0, server_default="0")
823
    replacementOrderId = Field(Integer)
824
    receivedReturnType = Field(Integer)
825
    freebieItemId = Field(Integer, default=0, server_default="0")
826
    returnAction = Field(Integer)
827
    returnTxnResolutionStatus = Field(Enum('PENDING','AWAITING_PICKUP','QUALITY_CHECK','REPLACEMENT_DONE'\
828
                              'REPLACEMENT_ORDER_CREATED','REFUND_IN_PROCESS','REFUND_DONE','CLOSED'))
829
    lineitem = ManyToOne("LineItem", field=lineItemId)
830
    returnPickUpRequest = ManyToOne("ReturnPickupRequest", field=logisticsRequestId)
831
    using_options(shortnames=True)
832
    using_table_options(mysql_engine="InnoDB")
833
 
834
class ReturnTransaction(Entity):
835
    id = Field(Integer, primary_key=True, autoincrement=True)
836
    status = Field(Enum('INITIATED','AUTHORIZED','INPROCESS','REJECTED','PROCESSED','COMPLETED','CLOSED'))
837
    customer_email = Field(String(50))
838
    customer_name = Field(String(50))
839
    customer_id = Field(Integer)
840
    address_id = Field(Integer)
841
    ticketId = Field(Integer)
842
    createdAt = Field(DateTime)
843
    processedAt = Field(DateTime)
844
    authorizedAt = Field(DateTime)
845
    closedAt = Field(DateTime)
846
    customerAddress = Field(String(512))
847
    pincode = Field(String(10))
848
    customerCity = Field(String(100))
849
    customerState = Field(String(50))
850
    customerPhone = Field(String(50))
851
    returnOrders = OneToMany("ReturnOrderInfo")
852
    using_options(shortnames=True)
853
    using_table_options(mysql_engine="InnoDB")
19474 manish.sha 854
 
855
class ShipmentLogisticsCostDetail(Entity):
856
    logisticsTransactionId = Field(String(100), primary_key=True)
857
    airwayBillNo = Field(String(50), primary_key=True)
858
    shipmentAmount = Field(Float, default=0, server_default="0")
859
    shipmentWeight = Field(Float, default=0, server_default="0")
860
    shipmentLogsiticsCost = Field(Float, default=0, server_default="0")
861
    shipmentCodCollectionCharges = Field(Float, default=0, server_default="0")
862
    createdAt = Field(DateTime,default = datetime.datetime.now)
863
    updatedAt = Field(DateTime)
20737 kshitij.so 864
    packageDimensions = Field(String(20))
19474 manish.sha 865
    using_options(shortnames=True)
20745 kshitij.so 866
    using_table_options(mysql_engine="InnoDB")
867
 
21044 kshitij.so 868
class PMSA(Entity):
869
    id = Field(Integer, primary_key=True, autoincrement=True)
870
    name = Field(String(256))
871
    phone = Field(String(10))
872
    emailId = Field(String(50))
873
    address = Field(String(256))
21090 kshitij.so 874
    state = Field(String(256))
875
    level = Field(String(10))
876
    l1_id = Field(Integer)
877
    l2_id = Field(Integer)
878
    activated = Field(Boolean)
21044 kshitij.so 879
    pin = Field(String(6))
880
    code = Field(String(12))
21090 kshitij.so 881
    createdAt = Field(DateTime,default = datetime.datetime.now)
21044 kshitij.so 882
    using_options(shortnames=True)
883
    using_table_options(mysql_engine="InnoDB")
884
 
885
class PMSA_Agents(Entity):
886
    userId = Field(Integer, primary_key=True, autoincrement=False)
887
    pmsa_id = Field(Integer)
21050 kshitij.so 888
    createdAt = Field(DateTime,default = datetime.datetime.now)
21044 kshitij.so 889
    using_options(shortnames=True)
890
    using_table_options(mysql_engine="InnoDB")
21101 kshitij.so 891
 
892
class AdvancePayments(Entity):
893
    id = Field(Integer, primary_key=True, autoincrement=True)
894
    userId = Field(Integer)
895
    amount = Field(Integer)
896
    cash_back = Field(Integer)
897
    cash_back_type = Field(String(20))
898
    cash_back_amount = Field(Integer)
899
    createdAt = Field(DateTime,default = datetime.datetime.now)
900
    using_options(shortnames=True)
901
    using_table_options(mysql_engine="InnoDB")