Esempio n. 1
0
class Image(Base):
    __tablename__ = 'image'
    hotel_id = db.Column(db.Integer, db.ForeignKey('hotel.id'), nullable=False)
    image_url = db.Column(db.String, nullable=True)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<image_url %r>' % self.image_url
Esempio n. 2
0
class Website(Base):
    __tablename__ = 'website'

    website = db.Column(db.String)
    logo_image = db.Column(db.String, nullable=True)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<website %r>' % self.website
Esempio n. 3
0
class CabDealAssociation(Base):
    __tablename__ = 'cab_deal_association'

    cab_id = db.Column(db.Integer, db.ForeignKey('cab.id'))
    deal_id = db.Column(db.Integer, db.ForeignKey('cab_deal.id'))

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<cab_id %r>' % self.cab_id
Esempio n. 4
0
class Collection(Base):
    __tablename__ = 'collection'

    collection = db.Column(db.String, default=False, nullable=True)
    featured = db.Column(db.Boolean, default=False, nullable=True)
    desc = db.Column(db.Text, nullable=True)
    image = db.Column(db.String, default=False, nullable=True)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<collection %r>' % self.collection
Esempio n. 5
0
class RestaurantChain(Base):
    __tablename__ = 'restaurant_chain'

    restaurants = db.relationship('Restaurant')
    restaurant_chain_name = db.Column(db.String)
    restaurant_chain_category = db.Column(db.Integer, nullable=True)
    restaurant_chain_desc = db.Column(db.Text, nullable=True)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<restaurant_chain_name %r>' % self.restaurant_chain_name
Esempio n. 6
0
class RestaurantImage(Base):
    __tablename__ = 'restaurant_image'

    restaurant_id = db.Column(db.Integer,
                              db.ForeignKey('restaurant.id'),
                              nullable=False)
    image_url = db.Column(db.String, default=False, nullable=True)
    image_type = db.Column(db.Integer, nullable=True)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<image_url %r>' % self.image_url
Esempio n. 7
0
class RestaurantAssociation(Base):
    __tablename__ = 'restaurant_association'

    restaurant_id = db.Column(db.Integer, db.ForeignKey('restaurant.id'))
    collection_id = db.Column(db.Integer, db.ForeignKey('collection.id'))
    cuisine_id = db.Column(db.Integer, db.ForeignKey('cuisine.id'))
    collection = db.relationship('Collection', foreign_keys=collection_id)
    cuisine = db.relationship('Cuisine', foreign_keys=cuisine_id)
    restaurant = db.relationship('Restaurant', foreign_keys=restaurant_id)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<restaurant_id %r>' % self.restaurant_id
Esempio n. 8
0
class CabCollection(Base):
    __tablename__ = 'cab_collection'

    collection_name = db.Column(db.String, nullable=True)
    featured = db.Column(db.Boolean, default=False, nullable=True)
    desc = db.Column(db.Text, nullable=True)
    image = db.Column(db.String, nullable=True)
    products = db.relationship('CabCollectionProduct',
                               backref='cab_collection')
    cabs = db.relationship('Cab', backref='cab_collection')

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<collection %r>' % self.collection
Esempio n. 9
0
class Member(Base):
    __tablename__ = 'member'

    no_of_adults = db.Column(db.Integer, nullable=True)
    children = db.Column(db.Integer, nullable=True)
    total_members = db.Column(db.Integer, nullable=True)
    room_id = db.Column(db.Integer,
                        db.ForeignKey('room.id'),
                        unique=True,
                        nullable=False)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<total_members %r>' % self.total_members
Esempio n. 10
0
class HotelCollection(Base):
    __tablename__ = 'hotel_collection'

    hotel_id = db.Column(db.Integer,
                         db.ForeignKey('hotel.id'),
                         unique=True,
                         nullable=True)
    collection_name = db.Column(db.String, nullable=True)
    featured = db.Column(db.Boolean, default=False, nullable=True)
    desc = db.Column(db.Text, nullable=True)
    image = db.Column(db.String, nullable=True)
    products = db.relationship('CollectionProduct', backref='hotel_collection')

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<collection %r>' % self.collection
Esempio n. 11
0
class Base(db.Model):
    __abstract__ = True

    id = db.Column('id', db.Integer, primary_key=True, index=True)
    created_at = db.Column('created_at',
                           db.DateTime(timezone=True),
                           default=db.func.current_timestamp())
    updated_at = db.Column('updated_at',
                           db.DateTime(timezone=True),
                           default=db.func.current_timestamp(),
                           onupdate=db.func.current_timestamp())

    def save(self):
        db.session.add(self)
        db.session.commit()
        db.session.flush()

    @staticmethod
    def join_query(class_name, join, filter, order):
        return db.session.query(class_name).join(join).order_by(order).filter(
            filter).all()

    @staticmethod
    def insert(obj):
        db.session.add(obj)
        db.session.commit()
        db.session.flush()

    @staticmethod
    def update_db():
        db.session.commit()
        db.session.flush()

    @classmethod
    def merge(cls, obj):
        db.session.merge(obj)
        db.session.commit()

    @staticmethod
    def delete_db(obj):
        db.session.delete(obj)
        db.session.commit()
Esempio n. 12
0
class Deal(Base):
    __tablename__ = 'deal'

    price = db.Column(db.Integer, nullable=True)
    hotel_url = db.Column(db.String)
    weekend = db.Column(db.Boolean, default=False, nullable=False)
    website_id = db.Column(db.Integer,
                           db.ForeignKey('website.id'),
                           unique=False,
                           nullable=False)
    room_id = db.Column(db.Integer,
                        db.ForeignKey('room.id'),
                        unique=False,
                        nullable=False)
    website = db.relationship('Website', foreign_keys=website_id)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<room_id %r>' % self.room_id
Esempio n. 13
0
class Room(Base):
    __tablename__ = 'room'

    hotel_id = db.Column(db.Integer, db.ForeignKey('hotel.id'), nullable=False)
    status = db.Column(db.Boolean, default=False, nullable=True)
    room_type = db.Column(db.Integer, nullable=True)
    image_url = db.Column(db.String, nullable=True)
    other_room_type = db.Column(db.String, nullable=True)
    check_in = db.Column(db.DateTime(timezone=True), nullable=True)
    check_out = db.Column(db.DateTime(timezone=True), nullable=True)
    breakfast = db.Column(db.Boolean, default=False, nullable=True)
    balcony = db.Column(db.Boolean, default=False, nullable=True)
    member = db.relationship('Member', uselist=False, backref='room')
    facilities = db.relationship('Facility', uselist=False, backref='room')
    deals = db.relationship('Deal', backref='room')

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<hotel_id %r>' % self.hotel_id
Esempio n. 14
0
class Dish(Base):
    __tablename__ = 'dish'

    restaurant_id = db.Column(db.Integer,
                              db.ForeignKey('restaurant.id'),
                              nullable=False)
    dish = db.Column(db.String, default=False, nullable=True)
    dish_type = db.Column(db.String, nullable=True)
    half_price = db.Column(db.Integer, nullable=True)
    full_price = db.Column(db.Integer, nullable=True)
    desc = db.Column(db.Text, nullable=True)
    image = db.Column(db.String, default=False, nullable=True)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<dish %r>' % self.dish
Esempio n. 15
0
class CollectionProduct(Base):
    __tablename__ = 'collection_product'

    hotel_collection_id = db.Column(db.Integer,
                                    db.ForeignKey('hotel_collection.id'),
                                    nullable=False)
    product_url = db.Column(db.String, nullable=True)
    product_name = db.Column(db.String, nullable=True)
    featured_product = db.Column(db.Boolean, default=False, nullable=True)
    product_desc = db.Column(db.Text, nullable=True)
    product_image = db.Column(db.String, nullable=True)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<image_url %r>' % self.image_url
Esempio n. 16
0
class Cab(Base):
    __tablename__ = 'cab'

    car_name = db.Column(db.String)
    city = db.Column(db.String, nullable=True)
    rating = db.Column(db.DECIMAL, nullable=True)
    car_type = db.Column(db.Integer, nullable=True)
    cab_type = db.Column(db.Integer, nullable=True)
    desc = db.Column(db.Text, nullable=True)
    deals = db.relationship('CabDeal', secondary='cab_deal_association')
    images = db.relationship('CabImage', backref='cab')
    collection_id = db.Column(db.Integer,
                              db.ForeignKey('cab_collection.id'),
                              nullable=True)
    amenities = db.relationship('CabAmenity', uselist=False, backref='cab')

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<car_name %r>' % self.car_name

    def __hash__(self):
        return hash(self.name)
Esempio n. 17
0
class Facility(Base):
    __tablename__ = 'facility'

    bed_type = db.Column(db.Integer, nullable=True)
    no_of_bed = db.Column(db.Integer, nullable=True)
    bathroom_with_shower = db.Column(db.Boolean, default=False, nullable=True)
    bathroom_nightie = db.Column(db.Boolean, default=False, nullable=True)
    wardrobes_closet = db.Column(db.Boolean, default=False, nullable=True)
    room_slipper = db.Column(db.Boolean, default=False, nullable=True)
    morning_newspaper = db.Column(db.Boolean, default=False, nullable=True)
    food_serve_at_room = db.Column(db.Boolean, default=False, nullable=True)
    ironing_facility = db.Column(db.Boolean, default=False, nullable=True)
    view = db.Column(db.Boolean, default=False, nullable=True)
    free_toiletries = db.Column(db.Boolean, default=False, nullable=True)
    bathroom_towels = db.Column(db.Boolean, default=False, nullable=True)
    bathroom_cosmetics = db.Column(db.Boolean, default=False, nullable=True)
    weighing_machine = db.Column(db.Boolean, default=False, nullable=True)
    room_seating_area = db.Column(db.Boolean, default=False, nullable=True)
    free_evening_snacks = db.Column(db.Boolean, default=False, nullable=True)
    ac = db.Column(db.Boolean, default=False, nullable=True)
    hairdryer = db.Column(db.Boolean, default=False, nullable=True)
    wifi = db.Column(db.Boolean, default=False, nullable=True)
    tv = db.Column(db.Boolean, default=False, nullable=True)
    phone = db.Column(db.Boolean, default=False, nullable=True)
    room_safe = db.Column(db.Boolean, default=False, nullable=True)
    heater = db.Column(db.Boolean, default=False, nullable=True)
    desk = db.Column(db.Boolean, default=False, nullable=True)
    fan = db.Column(db.Boolean, default=False, nullable=True)
    electric_kettle = db.Column(db.Boolean, default=False, nullable=True)
    room_id = db.Column(db.Integer,
                        db.ForeignKey('room.id'),
                        unique=True,
                        nullable=False)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<ac %r>' % self.ac
Esempio n. 18
0
class Hotel(Base):
    __tablename__ = 'hotel'

    name = db.Column(db.String)
    star = db.Column(db.Integer, nullable=True)
    is_partner = db.Column(db.Boolean, default=False, nullable=True)
    rating = db.Column(db.DECIMAL, nullable=True)
    phone = db.Column(db.String, nullable=True, unique=True)
    city = db.Column(db.String, nullable=True)
    desc = db.Column(db.Text, nullable=True)
    category = db.Column(db.Integer, nullable=True)
    address = db.Column(db.String, nullable=True)
    images = db.relationship('Image', backref='hotel')
    rooms = db.relationship('Room', backref='hotel')
    collection = db.relationship('HotelCollection', uselist=False)
    latitude = db.Column('latitude', db.Float(asdecimal=True), nullable=True)
    longitude = db.Column('longitude', db.Float(asdecimal=True), nullable=True)
    amenities = db.relationship('Amenity', uselist=False, backref='hotel')

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<name %r>' % self.name
Esempio n. 19
0
class RestaurantAmenity(Base):
    __tablename__ = 'restaurant_amenity'

    restaurant_id = db.Column(db.Integer,
                              db.ForeignKey('restaurant.id'),
                              unique=True,
                              nullable=False)
    home_delivery = db.Column(db.Boolean, default=False, nullable=True)
    private_dining_area_available = db.Column(db.Boolean,
                                              default=False,
                                              nullable=True)
    kid_friendly = db.Column(db.Boolean, default=False, nullable=True)
    table_reservation_required = db.Column(db.Boolean,
                                           default=False,
                                           nullable=True)
    table_booking_recommended = db.Column(db.Boolean,
                                          default=False,
                                          nullable=True)
    wheelchair_accessible = db.Column(db.Boolean, default=False, nullable=True)
    buffet = db.Column(db.Boolean, default=False, nullable=True)
    wifi = db.Column(db.Boolean, default=False, nullable=True)
    live_entertainment = db.Column(db.Boolean, default=False, nullable=True)
    live_music = db.Column(db.Boolean, default=False, nullable=True)
    live_sports_screening = db.Column(db.Boolean, default=False, nullable=True)
    valet_parking = db.Column(db.Boolean, default=False, nullable=True)
    parking = db.Column(db.Boolean, default=False, nullable=True)
    group_meal = db.Column(db.Boolean, default=False, nullable=True)
    smoking_area = db.Column(db.Boolean, default=False, nullable=True)
    desserts_and_bakes = db.Column(db.Boolean, default=False, nullable=True)
    full_bar_available = db.Column(db.Boolean, default=False, nullable=True)
    serves_jain_food = db.Column(db.Boolean, default=False, nullable=True)
    vegetarian_only = db.Column(db.Boolean, default=False, nullable=True)
    serves_non_veg = db.Column(db.Boolean, default=False, nullable=True)
    nightlife = db.Column(db.Boolean, default=False, nullable=True)
    city_view = db.Column(db.Boolean, default=False, nullable=True)
    brunch = db.Column(db.Boolean, default=False, nullable=True)
    sunday_roast = db.Column(db.Boolean, default=False, nullable=True)
    gastro_pub = db.Column(db.Boolean, default=False, nullable=True)
    beer = db.Column(db.Boolean, default=False, nullable=True)
    outdoor_seating = db.Column(db.Boolean, default=False, nullable=True)
    takeaway = db.Column(db.Boolean, default=False, nullable=True)
    alcohol = db.Column(db.Boolean, default=False, nullable=True)
    seating = db.Column(db.Boolean, default=False, nullable=True)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<pool %r>' % self.pool
Esempio n. 20
0
class CabDeal(Base):
    __tablename__ = 'cab_deal'

    website_id = db.Column(db.Integer,
                           db.ForeignKey('cab_website.id'),
                           unique=False)
    is_partner = db.Column(db.Boolean, default=False, nullable=True)
    cab_url = db.Column(db.String, nullable=True)
    outstation = db.Column(db.Boolean, default=False, nullable=True)
    one_way = db.Column(db.Boolean, default=False, nullable=True)
    website = db.relationship('CabWebsite', foreign_keys=website_id)
    slab = db.Column(db.Integer, nullable=True)
    driver_daily_allowance_charge = db.Column(db.DECIMAL, nullable=True)
    driver_per_hr_allowance_charge = db.Column(db.DECIMAL, nullable=True)
    car_night_allowance_charge = db.Column(db.DECIMAL, nullable=True)
    base_fare = db.Column(db.DECIMAL, nullable=True)
    base_fare_weekend = db.Column(db.DECIMAL, nullable=True)
    base_fare_peak_season = db.Column(db.DECIMAL, nullable=True)
    base_fare_with_fuel = db.Column(db.DECIMAL, nullable=True)
    different_pickup_drop_point_charge = db.Column(db.DECIMAL, nullable=True)
    km_restriction = db.Column(db.DECIMAL, nullable=True)
    fare_exceeded_per_hr = db.Column(db.DECIMAL, nullable=True)
    fare_exceeded_per_km = db.Column(db.DECIMAL, nullable=True)
    initial_km = db.Column(db.Integer, nullable=True)
    initial_km_fare = db.Column(db.DECIMAL, nullable=True)
    cancellation_charges = db.Column(db.DECIMAL, nullable=True)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<booking_id %r>' % self.booking_id

    def __hash__(self):
        return hash(self.base_fare)
Esempio n. 21
0
class Restaurant(Base):
    __tablename__ = 'restaurant'

    name = db.Column(db.String)
    website = db.Column(db.String, nullable=True)
    rating = db.Column(db.DECIMAL, nullable=True)
    nearest_metro_station = db.Column(db.String)
    off_day_in_week = db.Column(db.String)
    opening_time = db.Column(db.TIME(), nullable=True)
    closing_time = db.Column(db.TIME(), nullable=True)
    break_time = db.Column(db.TIME(), nullable=True)
    break_interval = db.Column(db.Integer, nullable=True)
    mode_of_payment = db.Column(db.String, nullable=True)
    especially = db.Column(db.Text, nullable=True)
    price = db.Column(db.Integer, nullable=True)
    desc = db.Column(db.Text, nullable=True)
    city = db.Column(db.String, nullable=True)
    phone = db.Column(db.String, nullable=True, unique=True)
    latitude = db.Column('latitude', db.Float(asdecimal=True), nullable=True)
    longitude = db.Column('longitude', db.Float(asdecimal=True), nullable=True)
    address = db.Column(db.String, nullable=True)
    locality = db.Column(db.String, nullable=True)
    category = db.Column(db.Integer, nullable=True)
    featured = db.Column(db.Boolean, default=False, nullable=True)
    restaurant_chain_id = db.Column(db.Integer,
                                    db.ForeignKey('restaurant_chain.id'),
                                    unique=False,
                                    nullable=True)
    restaurant_chain = db.relationship('RestaurantChain',
                                       foreign_keys=restaurant_chain_id)
    collections = db.relationship('Collection',
                                  secondary='restaurant_association')
    cuisines = db.relationship('Cuisine', secondary='restaurant_association')
    images = db.relationship('RestaurantImage', backref='restaurant')
    dishes = db.relationship('Dish', backref='restaurant')
    amenities = db.relationship('RestaurantAmenity',
                                uselist=False,
                                backref='restaurant')
    menus = db.relationship('Menu', uselist=False, backref='restaurant')

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<name %r>' % self.name
Esempio n. 22
0
class Menu(Base):
    __tablename__ = 'menu'
    restaurant_id = db.Column(db.Integer,
                              db.ForeignKey('restaurant.id'),
                              unique=True,
                              nullable=False)
    breakfast = db.Column(db.Boolean, default=False, nullable=True)
    lunch = db.Column(db.Boolean, default=False, nullable=True)
    dinner = db.Column(db.Boolean, default=False, nullable=True)
    cafe = db.Column(db.Boolean, default=False, nullable=True)
    lounge = db.Column(db.Boolean, default=False, nullable=True)
    family = db.Column(db.Boolean, default=False, nullable=True)
    bars = db.Column(db.Boolean, default=False, nullable=True)
    nightlife = db.Column(db.Boolean, default=False, nullable=True)
    street_stalls = db.Column(db.Boolean, default=False, nullable=True)
    pocket_friendly = db.Column(db.Boolean, default=False, nullable=True)
    diet = db.Column(db.Boolean, default=False, nullable=True)
    luxury = db.Column(db.Boolean, default=False, nullable=True)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<restaurant_id %r>' % self.restaurant_id
Esempio n. 23
0
class Amenity(Base):
    __tablename__ = 'amenity'
    hotel_id = db.Column(db.Integer,
                         db.ForeignKey('hotel.id'),
                         unique=True,
                         nullable=False)
    conference_room = db.Column(db.Boolean, default=False, nullable=True)
    parking = db.Column(db.Boolean, default=False, nullable=True)
    couple_friendly = db.Column(db.Boolean, default=False, nullable=True)
    express_check_in_out = db.Column(db.Boolean, default=False, nullable=True)
    laundry_service = db.Column(db.Boolean, default=False, nullable=True)
    indoor_swimming_pool = db.Column(db.Boolean, default=False, nullable=True)
    outdoor_swimming_pool = db.Column(db.Boolean, default=False, nullable=True)
    porter_service = db.Column(db.Boolean, default=False, nullable=True)
    Room_cleaning_service = db.Column(db.Boolean, default=False, nullable=True)
    terrace = db.Column(db.Boolean, default=False, nullable=True)
    child_baby_cot = db.Column(db.Boolean, default=False, nullable=True)
    wheelchair_accessible = db.Column(db.Boolean, default=False, nullable=True)
    doorman = db.Column(db.Boolean, default=False, nullable=True)
    hairdresser = db.Column(db.Boolean, default=False, nullable=True)
    banquets = db.Column(db.Boolean, default=False, nullable=True)
    non_smoking_smoking_rooms = db.Column(db.Boolean,
                                          default=False,
                                          nullable=True)
    pet_allowance = db.Column(db.Boolean, default=False, nullable=True)
    lift = db.Column(db.Boolean, default=False, nullable=True)
    bar = db.Column(db.Boolean, default=False, nullable=True)
    gym = db.Column(db.Boolean, default=False, nullable=True)
    pool = db.Column(db.Boolean, default=False, nullable=True)
    restaurant = db.Column(db.Boolean, default=False, nullable=True)
    spa = db.Column(db.Boolean, default=False, nullable=True)
    wifi_in_lobby = db.Column(db.Boolean, default=False, nullable=True)
    twenty_four_hr_reception = db.Column(db.Boolean,
                                         default=False,
                                         nullable=True)
    twenty_four_hr_room_service = db.Column(db.Boolean,
                                            default=False,
                                            nullable=True)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<pool %r>' % self.pool
Esempio n. 24
0
class CabAmenity(Base):
    __tablename__ = 'cab_amenity'

    cab_id = db.Column(db.Integer, db.ForeignKey('cab.id'), unique=True)
    air_condition = db.Column(db.Boolean, default=False, nullable=True)
    seater = db.Column(db.Integer, nullable=True)
    baggage_allowance = db.Column(db.Boolean, default=False, nullable=True)
    doorstep_delivery = db.Column(db.Boolean, default=False, nullable=True)
    fuel = db.Column(db.Boolean, default=False, nullable=True)
    fuel_type = db.Column(db.Integer, nullable=True)
    fuel_capacity = db.Column(db.Integer, nullable=True)
    automatic = db.Column(db.Boolean, default=False, nullable=True)
    chauffeur = db.Column(db.Boolean, default=False, nullable=True)
    verified_driver = db.Column(db.Boolean, default=False, nullable=True)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def __repr__(self):
        return '<cab_id %r>' % self.cab_id