class AdminUser(db.Model): id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(60)) password = db.Column(db.String(20)) temp_pw = db.Column(db.String(20)) name = db.Column(db.String(100)) role = db.Column(db.String(30)) added_by_id = db.Column(db.Integer) added_by_name = db.Column(db.String(100)) join_date = db.Column(db.String(50)) created_at = db.Column(db.String(50))
class Client(db.Model): id = db.Column(db.Integer,primary_key=True) client_no = db.Column(db.String(32), unique=True) name = db.Column(db.String(50)) app_id = db.Column(db.Text()) app_secret = db.Column(db.Text()) passphrase = db.Column(db.Text()) plan = db.Column(db.String(30)) shortcode = db.Column(db.String(30)) max_outgoing = db.Column(db.Integer()) created_at = db.Column(db.String(50))
class Blast(db.Model): id = db.Column(db.Integer, primary_key=True) sender_id = db.Column(db.Integer()) batch_size = db.Column(db.Integer()) done = db.Column(db.Integer(), default=0) pending = db.Column(db.Integer(), default=0) failed = db.Column(db.Integer(), default=0) sender_name = db.Column(db.String(60)) date = db.Column(db.String(20)) time = db.Column(db.String(10)) timestamp = db.Column(db.String(50))
class Rider(db.Model): id = db.Column(db.Integer, primary_key=True) facebook_id = db.Column(db.Text()) first_name = db.Column(db.String(100)) last_name = db.Column(db.String(100)) address = db.Column(db.Text()) msisdn = db.Column(db.String(20)) id_path = db.Column(db.Text()) selfie_path = db.Column(db.Text()) reg_status = db.Column(db.String(20)) created_at = db.Column(db.String(50))
class Contact(db.Model): id = db.Column(db.Integer,primary_key=True) batch_id = db.Column(db.String(30),default='N/A') client_no = db.Column(db.String(32)) contact_type = db.Column(db.String(32)) name = db.Column(db.String(100)) msisdn = db.Column(db.String(20)) added_by = db.Column(db.Integer()) added_by_name = db.Column(db.String(100)) join_date = db.Column(db.String(50)) created_at = db.Column(db.String(50))
class Conversation(db.Model): id = db.Column(db.Integer, primary_key=True) client_no = db.Column(db.String(32)) contact_name = db.Column(db.String(100), default=None) msisdn = db.Column(db.String(30)) display_name = db.Column(db.String(100)) status = db.Column(db.String(30),default='unread') latest_content = db.Column(db.Text()) latest_date = db.Column(db.String(20)) latest_time = db.Column(db.String(10)) created_at = db.Column(db.String(50))
class ReminderMessage(db.Model): id = db.Column(db.Integer, primary_key=True) batch_id = db.Column(db.Integer()) date = db.Column(db.String(20)) time = db.Column(db.String(10)) contact_name = db.Column(db.String(100), default='Unknown') content = db.Column(db.Text()) msisdn = db.Column(db.String(30)) status = db.Column(db.String(30), default='pending') created_at = db.Column(db.String(50))
class ConversationItem(db.Model): id = db.Column(db.Integer, primary_key=True) conversation_id = db.Column(db.Integer()) message_type = db.Column(db.String(30)) outbound_sender_id = db.Column(db.Integer()) outbound_sender_name = db.Column(db.String(100)) date = db.Column(db.String(20)) time = db.Column(db.String(10)) content = db.Column(db.Text) created_at = db.Column(db.String(50))
class AdminUser(db.Model): id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(60)) password = db.Column(db.String(20)) name = db.Column(db.String(100)) status = db.Column(db.String(8), default='Active') added_by_id = db.Column(db.Integer) added_by_name = db.Column(db.String(100)) join_date = db.Column(db.String(50)) timestamp = db.Column(db.String(50))
class TransactionItem(db.Model): id = db.Column(db.Integer, primary_key=True) client_no = db.Column(db.String(32)) transaction_id = db.Column(db.Integer()) service_id = db.Column(db.Integer()) service_name = db.Column(db.String(30)) quantity = db.Column(db.String(10)) price = db.Column(db.String(10)) total = db.Column(db.String(10))
class Shopper(db.Model): id = db.Column(db.Integer, primary_key=True) client_no = db.Column(db.String(32)) name = db.Column(db.String(100)) msisdn = db.Column(db.String(20)) address = db.Column(db.Text()) birthday = db.Column(db.String(20)) join_date = db.Column(db.String(20)) created_at = db.Column(db.String(50))
class RaffleShopper(db.Model): id = db.Column(db.Integer, primary_key=True) client_no = db.Column(db.String(32)) raffle_id = db.Column(db.Integer) shopper_id = db.Column(db.Integer) register_date = db.Column(db.String(20)) register_time = db.Column(db.String(10)) entries = db.Column(db.Integer()) created_at = db.Column(db.String(50))
class Bill(db.Model): id = db.Column(db.Integer, primary_key=True) client_no = db.Column(db.String(32)) date = db.Column(db.String(60)) year = db.Column(db.String(10)) transactions = db.Column(db.Integer()) price = db.Column(db.String(30)) created_at = db.Column(db.String(50)) receipt_path = db.Column(db.Text(), default='')
class Appointment(db.Model): __tablename__ = 'appointments' id = db.Column(db.Integer, primary_key=True) school_name = db.Column(db.Text()) address = db.Column(db.Text()) contact_person = db.Column(db.String(100)) msisdn = db.Column(db.String(32)) date = db.Column(db.String(20), default=None) time = db.Column(db.String(10), default=None) created_at = db.Column(db.String(50))
class Inquiry(db.Model): __tablename__ = 'inquiries' id = db.Column(db.Integer, primary_key=True) msisdn = db.Column(db.String(32)) message = db.Column(db.Text()) date = db.Column(db.String(20)) time = db.Column(db.String(10)) status = db.Column(db.String(60), default='Pending') remarks = db.Column(db.Text()) created_at = db.Column(db.String(50))
class Bill(db.Model): id = db.Column(db.Integer, primary_key=True) client_no = db.Column(db.String(32)) date = db.Column(db.String(60)) used = db.Column(db.Integer()) available = db.Column(db.Integer()) price = db.Column(db.String(30)) created_at = db.Column(db.String(50))
class Group(db.Model): id = db.Column(db.Integer, primary_key=True) client_no = db.Column(db.String(32)) name = db.Column(db.String(32)) size = db.Column(db.Integer(),default=0) created_by_id = db.Column(db.Integer()) created_by_name = db.Column(db.String(100)) created_at = db.Column(db.String(50))
class RaffleBrand(db.Model): id = db.Column(db.Integer, primary_key=True) client_no = db.Column(db.String(32)) raffle_id = db.Column(db.Integer) brand_name = db.Column(db.String(60)) brand_code = db.Column(db.String(60)) created_at = db.Column(db.String(50))
class Message(db.Model): id = db.Column(db.Integer, primary_key=True) blast_id = db.Column(db.Integer()) msisdn = db.Column(db.String(30)) status = db.Column(db.String(30), default='pending') content = db.Column(db.Text) timestamp = db.Column(db.String(50))
class RafflePrize(db.Model): id = db.Column(db.Integer, primary_key=True) client_no = db.Column(db.String(32)) raffle_id = db.Column(db.Integer) prize_label = db.Column(db.String(60)) prize = db.Column(db.Text()) created_at = db.Column(db.String(50))
class Service(db.Model): id = db.Column(db.Integer, primary_key=True) client_no = db.Column(db.String(32)) name = db.Column(db.String(30)) price = db.Column(db.String(10))
class Transaction(db.Model): id = db.Column(db.Integer, primary_key=True) client_no = db.Column(db.String(32)) date = db.Column(db.String(30)) time = db.Column(db.String(10)) status = db.Column(db.String(30)) cashier_id = db.Column(db.Integer()) cashier_name = db.Column(db.String(60)) customer_name = db.Column(db.String(60), nullable=True) customer_msisdn = db.Column(db.String(30), nullable=True) process_date = db.Column(db.String(30), default='') process_time = db.Column(db.String(10), default='') done_date = db.Column(db.String(30), default='') done_time = db.Column(db.String(10), default='') pickup_date = db.Column(db.String(30), default='') pickup_time = db.Column(db.String(10), default='') total = db.Column(db.String(30)) notes = db.Column(db.Text()) created_at = db.Column(db.String(50))
class OutboundMessage(db.Model): id = db.Column(db.Integer, primary_key=True) batch_id = db.Column(db.Integer()) bill_id = db.Column(db.Integer()) date = db.Column(db.String(20)) time = db.Column(db.String(10)) contact_name = db.Column(db.String(100)) msisdn = db.Column(db.String(30)) content = db.Column(db.Text()) characters = db.Column(db.Integer()) cost = db.Column(db.String(10)) status = db.Column(db.String(30),default='pending') created_at = db.Column(db.String(50))
class RaffleEntry(db.Model): id = db.Column(db.Integer, primary_key=True) client_no = db.Column(db.String(32)) raffle_id = db.Column(db.Integer) shopper_id = db.Column(db.Integer) created_at = db.Column(db.String(50))
class SVC(db.Model): id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer()) facebook_id = db.Column(db.Text()) token = db.Column(db.String(10)) created_at = db.Column(db.String(50))
class ContactBatch(db.Model): id = db.Column(db.Integer, primary_key=True) client_no = db.Column(db.String(32)) uploader_id = db.Column(db.Integer()) uploader_name = db.Column(db.String(100)) batch_size = db.Column(db.Integer()) date = db.Column(db.String(20)) time = db.Column(db.String(10)) file_name = db.Column(db.Text) done = db.Column(db.Integer(),default=0) pending = db.Column(db.Integer(),default=0) failed = db.Column(db.Integer(),default=0) created_at = db.Column(db.String(50))
class Report(db.Model, Serializer): id = db.Column(db.Integer,primary_key=True) client_no = db.Column(db.String(32)) name = db.Column(db.String(60)) report_type = db.Column(db.String(60)) from_date = db.Column(db.String(30)) to_date = db.Column(db.String(30)) generated_by = db.Column(db.String(60)) generated_by_id = db.Column(db.Integer()) date = db.Column(db.String(50)) time = db.Column(db.String(30)) status = db.Column(db.String(30),default='Pending') created_at = db.Column(db.String(50))
class Raffle(db.Model): id = db.Column(db.Integer, primary_key=True) client_no = db.Column(db.String(32)) name = db.Column(db.String(50)) title = db.Column(db.String(50)) description = db.Column(db.Text()) auto_draw = db.Column(db.Boolean(), default=False) limited_slots = db.Column(db.Boolean()) vacant_slots = db.Column(db.String(30)) participants = db.Column(db.Integer, default=0) created_by_id = db.Column(db.Integer) created_by_name = db.Column(db.String(100)) created_date = db.Column(db.String(20)) created_time = db.Column(db.String(10)) drawn_by_id = db.Column(db.Integer) drawn_by_name = db.Column(db.String(100)) draw_date = db.Column(db.String(20)) draw_time = db.Column(db.String(10)) start_date = db.Column(db.String(20)) end_date = db.Column(db.String(20)) dti_permit = db.Column(db.String(60)) winner_count = db.Column(db.Integer) grand_prize = db.Column(db.String(60)) min_purchase_req = db.Column(db.String(10)) ref_key = db.Column(db.String(12)) status = db.Column(db.String(10), default='Pending') created_at = db.Column(db.String(50))
class ContactGroup(db.Model): id = db.Column(db.Integer, primary_key=True) group_id = db.Column(db.Integer()) contact_id = db.Column(db.Integer())
class Batch(db.Model): id = db.Column(db.Integer, primary_key=True) client_no = db.Column(db.String(32)) message_type = db.Column(db.String(60)) sender_id = db.Column(db.Integer()) batch_size = db.Column(db.Integer()) done = db.Column(db.Integer(),default=0) pending = db.Column(db.Integer(),default=0) failed = db.Column(db.Integer(),default=0) sender_name = db.Column(db.String(60)) recipient = db.Column(db.Text()) date = db.Column(db.String(20)) time = db.Column(db.String(10)) content = db.Column(db.Text) created_at = db.Column(db.String(50))