from django.db import models
from django.contrib.auth.models import User
from django.db.models.deletion import CASCADE, SET_NULL, DO_NOTHING
from subscription_api.models import *
from admin_api.models import *
# Create your models here.

class Customer(models.Model):
	user = models.ForeignKey(User,on_delete=DO_NOTHING)
	userType = models.CharField(max_length=50,default='')
	username = models.CharField(max_length=50,default='',null=True)
	firstName = models.CharField(max_length=20,default='')
	lastName = models.CharField(max_length=20,default='',null=True)
	email = models.EmailField(max_length=100)
	emailVerified = models.BooleanField(default=False)
	phoneNumber = models.CharField(max_length=30,default='')
	phoneNumberTwo = models.CharField(max_length=30,default='')
	whatsappNumber = models.CharField(max_length=30,default='')
	phoneVerified = models.BooleanField(default=False)
	dob = models.CharField(max_length=30,default='')
	forgotPasswordLink = models.CharField(max_length=250,default='')
	forgotPasswordOTP = models.CharField(max_length=250,default='')
	token=models.CharField(max_length=100,default='')
	stripe_id = models.CharField(max_length=100,default='',null=True)
	otp = models.CharField(max_length=8,default='')
	otpVerified = models.BooleanField(default=False)
	socialId = models.CharField(max_length=100,default='')
	profileImage = models.CharField(max_length=250,default='')
	gender = models.CharField(max_length=30,default='')
	address = models.CharField(max_length=250,default='')
	latitude = models.FloatField(max_length = 20, blank = True, null = True)
	longitude = models.FloatField(max_length = 20, blank = True, null = True)
	house_number = models.CharField(max_length=250,default='')
	street_name = models.CharField(max_length=250,default='',null = True)
	region = models.CharField(max_length=250,default='',null = True)
	city = models.CharField(max_length=250,default='',null = True)
	zipcode = models.CharField(max_length=250,default='',null = True)
	country = models.CharField(max_length=250,default='',null = True)
	facebook_url = models.CharField(max_length=50,default='',null = True)
	twitter_url = models.CharField(max_length=50,default='',null = True)
	youtube_url = models.CharField(max_length=50,default='',null = True)
	linkedin_url = models.CharField(max_length=50,default='',null = True)
	pintrest_url = models.CharField(max_length=50,default='',null = True)
	instagram_url = models.CharField(max_length=50,default='',null = True)
	nationality = models.CharField(max_length=100,default='',null = True)
	blog = models.TextField(null= True)
	bio = models.TextField(default='')
	image_video = models.CharField(max_length=250,default='')
	pastExperience = models.CharField(max_length=100,default='')
	pastField = models.CharField(max_length=100,default='')
	getVerified = models.CharField(max_length=100,default='')
	is_active = models.BooleanField(default=True)
	isProfileCompleted = models.BooleanField(default=False)
	loginUserType = models.CharField(max_length=30,default='customer')
	has_subscription = models.BooleanField(default=False)
	agency_company = models.CharField(max_length=100,null=True)
	created_at = models.DateTimeField(auto_now_add=True)
	updated_at = models.DateTimeField(auto_now=True)
	can_add_property_count=models.IntegerField(default=0,null= True)
	total_hire_count=models.IntegerField(default=0,null= True)

	class Meta:
		db_table = 'customer'


class CustomerDoItReeipo(models.Model):
	customer = models.ForeignKey(Customer, on_delete=models.DO_NOTHING, null=True, blank=True)
	full_name = models.CharField(max_length=255)
	property_project = models.CharField(max_length=255, null=True, blank=True)
	email_address = models.EmailField()
	business_for_sale = models.CharField(max_length=255, null=True, blank=True)
	phone_number = models.CharField(max_length=20)
	category = models.CharField(max_length=100, null=True, blank=True)
	property_image = models.ImageField(upload_to='property_images/', null=True, blank=True)
	property_video = models.FileField(upload_to='property_videos/', null=True, blank=True)
	property_doc = models.FileField(upload_to='property_docs/', null=True, blank=True)

	created_at = models.DateTimeField(auto_now_add=True)
	updated_at = models.DateTimeField(auto_now=True)


	class Meta:
		db_table = "customer_do_it_by_reeipo"


class Company(models.Model):
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING)
	companyName = models.CharField(max_length=100,default='')
	companyUrl = models.URLField(max_length=250,default='')
	companySlogan = models.CharField(max_length=100,default='')
	companyCategory =  models.CharField(max_length=100,default='')
	companyEmail = models.EmailField(max_length=100,default='')
	companyTelephone = models.BigIntegerField(default=0)
	companyDetail = models.TextField()
	companyVision = models.TextField(null=True)
	facebookLink = models.CharField(max_length=250,default='',null=True)
	twitterLink = models.CharField(max_length=250,default='',null=True)
	youtubeLink = models.CharField(max_length=250,default='',null=True)
	linkedinLink = models.CharField(max_length=250,default='',null=True)
	description = models.TextField(null=True)
	company_address = models.CharField(max_length=200,null=True)
	latitude = models.CharField(max_length=200,null=True)
	longitude = models.CharField(max_length=200,null=True)



	class Meta:
		db_table = 'company'


class SaleAndRentProperty(models.Model):
	STATUS_CHOICES = (
	(0, ("Pending")),
	(1, ("Accepted")),
	(2, ("Rejected")),
	)
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING)
	propertyType = models.CharField(max_length=30,default='')
	title = models.CharField(max_length=150,default='')
	category = models.CharField(max_length=100,default='')
	subCategory = models.CharField(max_length=100,default='')
	image = models.CharField(max_length=250,default='')
	youtubeUrl = models.URLField(max_length=250)
	phoneNumber = models.CharField(max_length=30,default='')
	price = models.CharField(max_length=50,default='')
	descriptioon = models.TextField()
	size = models.CharField(max_length=150,default='')
	closingFee = models.CharField(max_length=150,default='')
	bedrooms = models.CharField(max_length=30,default='')
	bathrooms = models.CharField(max_length=30,default='')
	developer = models.CharField(max_length=150,default='')
	readyBy = models.CharField(max_length=50,default='')
	annualCommunityFee = models.CharField(max_length=30,default='')
	propertyReferenceId = models.CharField(max_length=100,default='')
	buyerTransferFee = models.CharField(max_length=30,default='')
	sellerTransferFee = models.CharField(max_length=30,default='')
	maintenanceFee = models.CharField(max_length=30,default='')
	occupancyStatus = models.CharField(max_length=30,default='')
	amenities = models.CharField(max_length=30,default='')
	userIs = models.CharField(max_length=30,default='')
	building = models.CharField(max_length=150,default='')
	neighbourhood = models.CharField(max_length=150,default='')
	latitude = models.FloatField(max_length = 20, blank = True, null = True)
	longitude = models.FloatField(max_length = 20, blank = True, null = True)
	propertyStatus = models.IntegerField(choices = STATUS_CHOICES, default = 0)
	created_at = models.DateTimeField(auto_now_add=True)
	updated_at = models.DateTimeField(auto_now=True)
	end_date = models.DateTimeField(null=True)
	added_by = models.CharField(max_length=100,null=True)
	class Meta:
		db_table = 'sale_rent_property'

# class SaleProperty(models.Model):
#     customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING)
#     title = models.CharField(max_length=150,default='',null=True)
#     main_category = models.CharField(max_length=100,default='',null=True)
#     subCategory = models.CharField(max_length=100,default='',null=True)
#     image_data = models.TextField(null=True)
#     youtubeUrl = models.URLField(max_length=250,null=True)
#     phoneNumber = models.CharField(max_length=30,default='',null=True)
#     price = models.FloatField(default=0)
#     descriptioon = models.TextField(null=True)
#     size = models.CharField(max_length=150,default='',null=True)
#     closingFee = models.CharField(max_length=150,default='',null=True)
#     bedrooms = models.IntegerField(default=0)
#     bathrooms = models.IntegerField(default=0)
#     developer = models.CharField(max_length=150,default='',null=True)
#     readyBy = models.CharField(max_length=50,default='',null=True)
#     annualCommunityFee = models.FloatField(default=0)
#     propertyReferenceId = models.CharField(max_length=100,default='',null=True)
#     buyerTransferFee = models.FloatField(default=0)
#     sellerTransferFee = models.FloatField(default=0)
#     maintenanceFee = models.FloatField(default=0)
#     occupancyStatus = models.CharField(max_length=30,default='',null=True)
#     amenities = models.TextField(null=True)
#     userIs = models.CharField(max_length=30,default='',null=True)
#     broker_id_number =  models.CharField(max_length=30,default='',null=True)
#     lister_company_name = models.CharField(max_length=30,default='',null=True)
#     permit_number =  models.CharField(max_length=30,default='',null=True)
#     agent_name = models.CharField(max_length=30,default='',null=True)
#     landlord_name = models.CharField(max_length=30,default='',null=True)
#     property_status = models.CharField(max_length=30,default='',null=True)
#     title_deed_number = models.CharField(max_length=30,default='',null=True)
#     pre_registration_number = models.CharField(max_length=30,default='',null=True)
#     building = models.CharField(max_length=150,default='',null=True)
#     neighbourhood = models.CharField(max_length=150,default='',null=True)
#     location = models.TextField(null=True,default='')
#     country = models.CharField(max_length=100,null=True)
#     state = models.CharField(max_length=100,null=True)
#     city = models.CharField(max_length=100,null=True)
#     latitude = models.FloatField(max_length = 20, blank = True, null = True)
#     longitude = models.FloatField(max_length = 20, blank = True, null = True)
#     subscription_type = models.IntegerField(default=0,null=True)
#     status = models.IntegerField(default=0,null=True)
#     is_draft = models.BooleanField(default=False)
#     created_at = models.DateTimeField(auto_now_add=True)
#     updated_at = models.DateTimeField(auto_now=True)
#     end_date = models.DateTimeField(null=True)

#     class Meta:
#         db_table = 'sale_property'




class SaleProperty(models.Model):
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING)
	title = models.CharField(max_length=244,default='',null=True)
	main_category = models.CharField(max_length=244,default='',null=True)
	subCategory = models.CharField(max_length=244,default='',null=True)
	image_data = models.TextField(null=True)
	video = models.TextField(null=True)
	videos_thumbnail = models.TextField(null=True)
	property_name = models.CharField(max_length=244,null=True)
	house_number = models.CharField(max_length=244,null=True)
	postal_code =  models.CharField(max_length=244,null=True)
	country  =  models.CharField(max_length=244,null=True)
	state =  models.CharField(max_length=244,null=True)
	city =  models.CharField(max_length=244,null=True)
	benfits = models.TextField(null=True)
	youtubeUrl = models.URLField(max_length=250,null=True)
	phoneNumber = models.CharField(max_length=30,default='',null=True)
	price = models.FloatField(default=0)
	property_demension = models.CharField(max_length=244,null=True)
	vision = models.CharField(max_length=244,default='',null=True)
	rental = models.CharField(max_length=244,default='',null=True)
	descriptioon = models.TextField(null=True)
	closingFee = models.CharField(max_length=244,default='',null=True)
	bedrooms = models.IntegerField(default=0)
	bathrooms = models.IntegerField(default=0)
	readyBy = models.CharField(max_length=244,default='',null=True)
	propertyReferenceId = models.CharField(max_length=244,default='',null=True)
	maintenanceFee = models.FloatField(null=True,default=0)
	facilities = models.TextField(null=True)


	finance_rental = models.CharField(max_length=244,null=True)
	finance_total_closing_fee = models.CharField(max_length=244,null=True)
	finance_maintaince_fee = models.CharField(max_length=244,null=True)
	finance_bill_utilites = models.CharField(max_length=244,null=True)
	location = models.CharField(max_length=244,null=True)
	latitude = models.FloatField(max_length = 244, blank = True, null = True)
	longitude = models.FloatField(max_length = 244, blank = True, null = True)

	cashflow_forecast = models.TextField(null=True)
	disclaimer = models.TextField(null=True)
	property_information = models.TextField(null=True)
	required_capital = models.TextField(null=True)
	residental_property_details = models.TextField(null=True)
	subscription_type = models.IntegerField(default=0,null=True)
	status = models.IntegerField(default=0,null=True)
	is_draft = models.BooleanField(default=False)
	feature_plan = models.ForeignKey(FeatureAddPricing,on_delete=DO_NOTHING,null=True)
	is_featured = models.BooleanField(default=False)
	featured_end_date = models.DateField(null=True)
	created_at = models.DateTimeField(auto_now_add=True)
	updated_at = models.DateTimeField(auto_now=True)
	end_date = models.DateTimeField(null=True)
	added_by = models.CharField(max_length=100,null=True)

	class Meta:
		db_table = 'sale_property'



class RentProperty(models.Model):
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING)
	title = models.CharField(max_length=150,default='')
	category = models.CharField(max_length=100,default='')
	subCategory = models.CharField(max_length=100,default='')
	image_data = models.TextField(null=True)
	video = models.TextField(null=True)
	videos_thumbnail = models.TextField(null=True)
	property_overview = models.TextField(null=True)
	type_property = models.CharField(max_length=200,null=True)
	floor = models.CharField(max_length=100,default='')
	rooms = models.CharField(max_length=20,default='')
	bedrooms = models.IntegerField(default=0)
	size = models.CharField(max_length=200,default='')
	facilites = models.TextField(null=True)
	benefits = models.TextField(null=True)

	deposit = models.CharField(max_length=20,null=True)

	country =  models.CharField(max_length=150,default='')
	state = models.CharField(max_length=150,default='')
	city = models.CharField(max_length=150,default='')
	postal_code = models.CharField(max_length=150,default='')
	landmark = models.CharField(max_length=150,default='')
	house_number = models.CharField(max_length=150,default='')

	location = models.TextField(null=True,default='')
	latitude = models.FloatField(max_length = 20, blank = True, null = True)
	longitude = models.FloatField(max_length = 20, blank = True, null = True)
	rental_period = models.CharField(max_length=50,null=True)
	avaiable_from_date = models.CharField(max_length=50,null=True)
	monthly_rent = models.FloatField(default=0)
	monthly_rent_includes = models.TextField(null=True)
	security = models.CharField(max_length=100,null=True)
	security_amount = models.CharField(max_length=100,null=True)
	heading = models.CharField(max_length=100,null=True)
	description = models.TextField(null=True)
	display_information = models.TextField(null=True)
	name_of_ad = models.CharField(max_length=100,null=True)
	visibilty = models.CharField(max_length=100,null=True)
	description_home = models.TextField(null=True)
	spend_time = models.CharField(max_length=200,null=True)
	useless_skill = models.CharField(max_length=200,null=True)
	fun_act = models.CharField(max_length=200,null=True)
	biography = models.TextField(null=True)
	primary_room = models.CharField(max_length=200,null=True)
	housing_type = models.CharField(max_length=200,null=True)
	key_info_bedroom = models.CharField(max_length=200,null=True)
	story = models.TextField(null=True)
	subscription_type = models.IntegerField(default=0,null=True)
	status = models.IntegerField(default=0,null=True)
	is_draft = models.BooleanField(default=False)
	feature_plan = models.ForeignKey(FeatureAddPricing,on_delete=DO_NOTHING,null=True)
	is_featured = models.BooleanField(default=False)
	featured_end_date = models.DateField(null=True)
	created_at = models.DateTimeField(auto_now_add=True)
	updated_at = models.DateTimeField(auto_now=True)
	end_date = models.DateTimeField(null=True)
	added_by = models.CharField(max_length=100,null=True)

	class Meta:
		db_table = 'rent_property'


class BussinessForSale(models.Model):
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING)
	short_title = models.CharField(max_length=200,null=True)
	image_data = models.TextField(null=True)
	videos = models.TextField(null=True)
	videos_thumbnail = models.TextField(null=True)
	company_name = models.CharField(max_length=100,default='')
	description =  models.TextField(null=True)
	total_turnover = models.FloatField(default=0)
	rent = models.CharField(max_length=2000,null=True)
	established_year = models.CharField(max_length=2000,null=True)
	premises = models.CharField(max_length=2000,null=True)
	years_of_work = models.CharField(max_length=2000,null=True)
	operation_concept = models.TextField(null=True)
	operation_opening_hours = models.CharField(max_length=2000,null=True)
	turnover_last_year = models.CharField(max_length=2000,null=True)
	turnover = models.CharField(max_length=2000,null=True)
	salary_percentage =  models.FloatField(default=0)
	other_operating_cost = models.FloatField(default=0)
	cost = models.FloatField(default=0)
	reason_for_sale = models.TextField(null=True)
	website_link = models.CharField(max_length=100,default='')
	number_of_employes =  models.IntegerField(default=0)
	area = models.CharField(max_length=2000,null=True)
	rent = models.CharField(max_length=2000,null=True)
	term_of_lease = models.CharField(max_length=2000,null=True)
	document =  models.TextField(null=True)
	revenue_growth = models.CharField(max_length=2000,null=True)
	details = models.TextField(null=True)
	service = models.TextField(null=True)
	operations = models.TextField(null=True)
	market_initatives = models.TextField(null=True)
	advantage_and_oppurtunity = models.TextField(null=True)
	valuation = models.CharField(max_length=2000,null=True)
	owner_name = models.CharField(max_length=2000,null=True)
	phone = models.CharField(max_length=2000,null=True)
	telephone = models.CharField(max_length=2000,null=True)
	email = models.CharField(max_length=2000,null=True)
	company = models.CharField(max_length=2000,null=True)
	public_order = models.CharField(max_length=2000,null=True)
	avaiable_attachment = models.CharField(max_length=2000,null=True)
	location = models.CharField(max_length=2000,null=True)
	latitude = models.FloatField(blank=True,null=True)
	longitude = models.FloatField(blank=True,null=True)
	subscription_type = models.IntegerField(default=0,null=True)
	status =  models.IntegerField(default=0,null=True)
	is_draft = models.BooleanField(default=False)
	agency = models.ForeignKey(Customer,on_delete=DO_NOTHING,null=True,related_name='agency_id_bussiness')
	start_date = models.DateTimeField(auto_now_add=True,null=True)
	country =  models.CharField(max_length=150,default='')
	state = models.CharField(max_length=150,default='')
	city = models.CharField(max_length=150,default='')
	floor = models.CharField(max_length=100,default='')
	postal_code = models.CharField(max_length=150,default='')
	landmark = models.CharField(max_length=150,default='')
	shareholder_name = models.CharField(max_length=100,null=True)
	shareholder_share = models.CharField(max_length=100,null=True)
	shareholder_description = models.TextField(null=True)

	feature_plan = models.ForeignKey(FeatureAddPricing,on_delete=DO_NOTHING,null=True)
	is_featured = models.BooleanField(default=False)
	featured_end_date = models.DateField(null=True)
	end_date = models.DateTimeField(null=True)
	added_by = models.CharField(max_length=100,null=True)
	payment_done = models.BooleanField(default=False)
	payment_currency_type = models.CharField(max_length=150,null=True)

	class Meta:
		db_table = 'bussiness_for_sale'


class HouseWantedForRent(models.Model):
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING)
	short_title = models.CharField(max_length=244,null=True)
	profile_visiblity = models.TextField(null=True)
	profile_hidden = models.TextField(null=True)
	image = models.TextField(null=True)
	first_name = models.CharField(max_length=50,null=True)
	last_name = models.CharField(max_length=50,null=True)
	gender = models.CharField(max_length=50,null=True)
	dob = models.CharField(max_length=50,null=True)
	nationality = models.CharField(max_length=50,null=True)
	phone_number = models.CharField(max_length=20,null=True)
	email = models.CharField(max_length=50,null=True)
	quantity = models.CharField(max_length=200,null=True)
	rental_period = models.CharField(max_length=40,null=True)
	max_rent = models.CharField(max_length=40,null=True)
	from_date = models.CharField(max_length=40,null=True)
	housing_type = models.TextField(null=True)
	number_of_people = models.CharField(max_length=10,null=True)
	max_month_price =  models.FloatField(default=0)
	desired_start_date = models.CharField(max_length=40,null=True)
	desired_area = models.CharField(max_length=100,null=True)
	country =  models.CharField(max_length=100,null=True)
	state =  models.CharField(max_length=100,null=True)
	city =  models.CharField(max_length=100,null=True)
	postal_code =  models.CharField(max_length=100,null=True)
	landmark =  models.CharField(max_length=100,null=True)
	floor =  models.CharField(max_length=100,null=True)
	description =  models.TextField(null=True)


	latitude = models.FloatField(max_length = 20, blank = True, null = True)
	longitude = models.FloatField(max_length = 20, blank = True, null = True)
	location = models.TextField(null=True)
	about = models.TextField(null=True)
	education = models.TextField(null=True)
	martial_status = models.TextField(null=True)
	cleanliness =  models.CharField(max_length=244,null=True)
	party_habits =  models.CharField(max_length=244,null=True)
	work =  models.CharField(max_length=244,null=True)
	interest =  models.CharField(max_length=244,null=True)
	subscription_type = models.IntegerField(default=0,null=True)
	status =  models.IntegerField(default=0,null=True)
	feature_plan = models.ForeignKey(FeatureAddPricing,on_delete=DO_NOTHING,null=True)
	is_featured = models.BooleanField(default=False)
	featured_end_date = models.DateField(null=True)
	is_draft = models.BooleanField(default=False)
	start_date = models.DateTimeField(auto_now_add=True,null=True)
	end_date = models.DateTimeField(null=True)
	added_by = models.CharField(max_length=100,null=True)

	class Meta:
		db_table = 'house_wanted_for_rent'


class InvestmentMyProject(models.Model):
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING)
	property_name  = models.CharField(max_length=250,default='')
	image_data = models.TextField(null=True)
	videos = models.TextField(null=True)
	documents_data = models.TextField(null=True)
	property_type = models.CharField(max_length=250,default='')
	assest_equality = models.CharField(max_length=250,default='')
	investment_highlight = models.CharField(max_length=244,null=True)
	equity_price = models.FloatField(max_length=244,null=True)
	lp_equity_percent = models.CharField(max_length=244,null=True)
	gp_equity_percent = models.CharField(max_length=244,null=True)
	debt_percent = models.CharField(max_length=244,null=True)
	property_at_glance_title = models.CharField(max_length=244,null=True)
	description = models.TextField(null=True)
	bussiness_plan = models.TextField(null=True)
	minimum_investment = models.CharField(max_length=244,null=True)
	investment_strategy = models.TextField(null=True)
	expected_attitude_price = models.CharField(max_length=200,null=True)
	financed = models.CharField(max_length=200,null=True)
	target_return_on_cost = models.CharField(max_length=100,default='')
	target_irr =  models.CharField(max_length=100,default='')
	lp_equity_percent = models.CharField(max_length=100,default='')
	offered_by = models.CharField(max_length=100,null=True)
	estimated_first_distribution = models.CharField(max_length=150,default='')
	type_of_investment = models.CharField(max_length=200,null=True)
	phone_number = models.CharField(max_length=20,null=True)
	measure_for_multiplier = models.CharField(max_length=200,null=True)
	address = models.CharField(max_length=200,null=True)

	minimal_goal = models.CharField(max_length=200,null=True)
	nominal_share_price = models.CharField(max_length=200,null=True)
	the_valuation = models.CharField(max_length=200,null=True)
	minimum_drawing = models.CharField(max_length=200,null=True)
	no_of_drawing = models.CharField(max_length=200,null=True)
	share_for_sale = models.CharField(max_length=200,null=True)
	remaining_share = models.CharField(max_length=200,null=True)
	maximum_drawing = models.CharField(max_length=200,null=True)
	short_description = models.CharField(max_length=200,null=True)
	why_invest = models.CharField(max_length=200,null=True)
	problem_to_solved = models.CharField(max_length=200,null=True)
	our_solution = models.CharField(max_length=200,null=True)
	issue_info_start_date = models.CharField(max_length=200,null=True)
	issue_info_end_date = models.CharField(max_length=200,null=True)
	number_of_share = models.CharField(max_length=200,null=True)
	price_of_share = models.CharField(max_length=200,null=True)
	minimum_investment = models.CharField(max_length=200,null=True)
	maximum_investment = models.CharField(max_length=200,null=True)
	raised_capital_minimum = models.CharField(max_length=200,null=True)
	raised_capital_maximum = models.CharField(max_length=200,null=True)
	share_of_company_sold_maximum = models.CharField(max_length=200,null=True)
	share_of_company_sold_minimum =models.CharField(max_length=200,null=True)
	self_report = models.TextField(null=True)
	disscussion_description = models.TextField(null=True)
	new_existing_deals = models.TextField(null = True)
	drawing_on_behalf_of = models.CharField(max_length=200,null=True)
	foundation = models.CharField(max_length=200,null=True)
	statues = models.CharField(max_length=200,null=True)
	annual_account = models.CharField(max_length=200,null=True)
	valuation = models.CharField(max_length=200,null=True)
	shareholder_agreement = models.CharField(max_length=200,null=True)
	conversion_of_debt = models.CharField(max_length=200,null=True)
	balance_sheet = models.CharField(max_length=200,null=True)
	result_report = models.CharField(max_length=200,null=True)

	location_details = models.TextField(max_length=200,null=True)
	location = models.CharField(max_length=200,null=True)
	latitude = models.CharField(max_length=200,null=True)
	longitude = models.CharField(max_length=200,null=True)
	subscription_type = models.IntegerField(default=0,null=True)
	status =  models.IntegerField(default=0,null=True)
	is_draft = models.BooleanField(default=False)
	agency = models.ForeignKey(Customer,on_delete=DO_NOTHING,null=True,related_name='agency_id_project')
	feature_plan = models.ForeignKey(FeatureAddPricing,on_delete=DO_NOTHING,null=True)
	is_featured = models.BooleanField(default=False)
	featured_end_date = models.DateField(null=True)
	start_date = models.DateTimeField(auto_now_add=True,null=True)
	end_date = models.DateTimeField(null=True)
	added_by = models.CharField(max_length=100,null=True)



	class Meta:
		db_table = 'investment_my_project'


class InvestmentMyCompany(models.Model):
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING)
	property_name = models.CharField(max_length=244,null=True)
	company_logo = models.CharField(max_length=100,default='')
	company_video = models.TextField(null=True)
	documents_data = models.TextField(null=True)
	property_type = models.CharField(max_length=200,null=True)
	company_established = models.CharField(max_length=100,default='')
	company_email = models.CharField(max_length=100,default='')
	company_phonenumber = models.CharField(max_length=100,default='')
	company_address = models.CharField(max_length=210,null=True)
	shareholders = models.TextField(null=True)
	share = models.CharField(max_length=200,null=True)
	description = models.TextField(null=True)
	the_valuation = models.FloatField(default=0,null=True)
	shares_for_sale = models.FloatField(default=0,null=True)
	price_per_share = models.FloatField(default=0)
	postal_code = models.CharField(max_length=100,null=True)
	bank_acc_created = models.CharField(max_length=100,default='')
	issue_account_no = models.CharField(max_length=100,default='')
	post_number = models.CharField(max_length=100,null=True)
	self_report = models.TextField(null=True)
	minimum_drawing = models.FloatField(default=0,null=True)
	max_drawing = models.FloatField(default=0,null=True)
	remaninig_shares = models.FloatField(default=0,null=True)
	no_share_bfr_issue = models.IntegerField(default=0,null=True)
	nominal_share_price = models.FloatField(default=0)
	company_website = models.CharField(max_length=100,default='')
	subscription_type = models.IntegerField(default=0,null=True)
	status =  models.IntegerField(default=0,null=True)
	is_draft = models.BooleanField(default=False)
	agency = models.ForeignKey(Customer,on_delete=DO_NOTHING,null=True,related_name='agency_id_company')
	location = models.TextField(null=True,default='')
	latitude = models.FloatField(max_length = 20, blank = True, null = True)
	longitude = models.FloatField(max_length = 20, blank = True, null = True)
	feature_plan = models.ForeignKey(FeatureAddPricing,on_delete=DO_NOTHING,null=True)
	is_featured = models.BooleanField(default=False)
	featured_end_date = models.DateField(null=True)
	start_date = models.DateTimeField(auto_now_add=True,null=True)
	end_date = models.DateTimeField(null=True)
	added_by = models.CharField(max_length=100,null=True)

	class Meta:
		db_table = 'investment_my_company'



class PropertyProject(models.Model):
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING)
	spend_too_much_time =  models.TextField(null=True)
	most_useless_skill  =  models.TextField(null=True)
	fun_act  =  models.TextField(null=True)
	biography  =  models.TextField(null=True)
	short_title = models.CharField(max_length=100,null=True,default='')
	property_overview = models.TextField(null=True)
	property_description = models.TextField(null=True)
	image_data = models.TextField(null=True)
	videos = models.TextField(null=True)
	videos_thumbnail = models.TextField(null=True)
	property_document  = models.TextField(null=True)
	category = models.CharField(max_length=100,null=True,default='')
	property_name = models.CharField(max_length=100,null=True,default='')
	property_dimension = models.CharField(max_length=100,null=True)
	country = models.CharField(max_length=200,null=True)
	state = models.CharField(max_length=200,null=True)
	city = models.CharField(max_length=200,null=True)
	postal_code = models.CharField(max_length=100,null=True)
	landmark = models.CharField(max_length=200,null=True)
	house_number =  models.CharField(max_length=100,null=True)
	location = models.TextField(null=True,default='')
	latitude = models.FloatField(max_length = 20, blank = True, null = True)
	longitude = models.FloatField(max_length = 20, blank = True, null = True)
	facility = models.TextField(null=True)
	benefits = models.TextField(null=True)
	return_on_investment = models.FloatField(default=0)
	finder_fee = models.FloatField(default=0)
	payment_done = models.BooleanField(default=False)
	payment_currency_type = models.CharField(max_length=150,null=True)

	gross_income = models.FloatField(default=0)
	price = models.FloatField(default=0)
	cashflow_pcm = models.FloatField(default=0)
	total_termination_fee = models.FloatField(default=0)
	rent_to_landlord = models.FloatField(default=0)
	bill_utilities = models.FloatField(default=0)

	purchase_price = models.FloatField(default=0)
	potential_cashflow_pcm = models.FloatField(default=0)
	investment_finder_fee = models.FloatField(default=0)
	investment_return_on_investment_fee = models.FloatField(default=0)
	rental = models.TextField(null=True)
	the_vision = models.TextField(null=True)
	cost_to_consider = models.TextField(null=True)
	capital_required = models.TextField(null=True)
	cashflow_forecast = models.TextField(null=True)
	agency = models.ForeignKey(Customer,on_delete=DO_NOTHING,null=True,related_name='agency_id_property')
	subscription_type = models.IntegerField(default=0,null=True)
	status =  models.IntegerField(default=0,null=True)
	is_draft = models.BooleanField(default=False)
	feature_plan = models.ForeignKey(FeatureAddPricing,on_delete=DO_NOTHING,null=True)
	is_featured = models.BooleanField(default=False)
	featured_end_date = models.DateField(null=True)
	start_date = models.DateTimeField(auto_now_add=True,null=True)
	end_date = models.DateTimeField(null=True)
	added_by = models.CharField(max_length=100,null=True)

	class Meta:
		db_table = 'property_projects'




class CompanySeekingEquity(models.Model):
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING,related_name="company_seeking_equity")
	short_title = models.CharField(max_length=244,null=True)
	description = models.TextField(null=True)
	about_the_owner = models.TextField(null=True)
	company_name = models.CharField(max_length=244,null=True)

	property_image = models.TextField(null=True)
	property_video = models.CharField(max_length=200,null=True)
	videos_thumbnail = models.CharField(max_length=200,null=True)

	company_logo = models.CharField(max_length=200,null=True)

	maximum_drawing = models.CharField(max_length=100,default='')
	minimum_drawing = models.CharField(max_length=100,default='')
	share_for_sale = models.CharField(max_length=100,default='')
	price_per_share = models.CharField(max_length=210,null=True)
	share_before_share = models.CharField(max_length=200,null=True)
	number_of_share = models.CharField(max_length=150,null=True)
	self_report = models.CharField(max_length=200,null=True)
	nominal_share_price = models.CharField(max_length=150,null=True)
	e_post = models.CharField(max_length=150,null=True)
	issue_account_number = models.CharField(max_length=150,null=True)
	name_of_shareholder = models.CharField(max_length=150,null=True)
	beskrivelse = models.TextField(null=True)
	establish_year = models.CharField(max_length=100,null=True)
	premises_from = models.CharField(max_length=100,default='')
	background_for_sale = models.CharField(max_length=100,default='')
	company_website = models.CharField(max_length=100,null=True)
	number_of_employee = models.CharField(max_length=150,null=True)
	company_email = models.CharField(max_length=150,null=True)
	company_telephone = models.CharField(max_length=150,null=True)
	youtube = models.CharField(max_length=150,null=True)
	upload_team_data = models.CharField(max_length=150,null=True)
	upload_team_name = models.TextField(null=True)
	upload_team_size = models.TextField(null=True)
	upload_board_data = models.CharField(max_length=150,null=True)
	upload_board_name = models.TextField(null=True)
	upload_board_size = models.TextField(null=True)
	upload_partner_data = models.CharField(max_length=150,null=True)
	upload_partner_name = models.TextField(null=True)
	upload_partner_size = models.TextField(null=True)
	location = models.CharField(max_length=150,null=True)
	country =  models.CharField(max_length=150,null=True)
	state = models.CharField(max_length=150,null=True)
	city =  models.CharField(max_length=244,null=True)
	zip_code = models.CharField(max_length=150,null=True)
	landmark = models.CharField(max_length=150,null=True)
	share_holder_image = models.CharField(max_length=150,null=True)
	enter_shares = models.CharField(max_length=150,null=True)
	status = models.IntegerField(default=0,null=True)
	payment_done = models.BooleanField(default=False)
	payment_currency_type = models.CharField(max_length=150,null=True)
	agency = models.ForeignKey(Customer,on_delete=DO_NOTHING,null=True,related_name='agency_seeking')
	subscription_type = models.IntegerField(default=0,null=True)
	latitude = models.FloatField(max_length = 20, blank = True, null = True)
	longitude = models.FloatField(max_length = 20, blank = True, null = True)
	feature_plan = models.ForeignKey(FeatureAddPricing,on_delete=DO_NOTHING,null=True)
	is_featured = models.BooleanField(default=False)
	featured_end_date = models.DateField(null=True)
	start_date = models.DateTimeField(auto_now_add=True,null=True)
	end_date = models.DateTimeField(null=True)
	added_by = models.CharField(max_length=100,null=True)

	class Meta:
		db_table = 'company_seeking_equity'




class PropertyDevelopers(models.Model):
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING, related_name="property_developers")
	property_image = models.TextField(null=True)
	videos = models.TextField(null=True)
	videos_thumbnail = models.CharField(max_length=200,null=True)
	document = models.CharField(max_length=200,null=True)
	property_name =  models.CharField(max_length=200,null=True)
	property_type =  models.CharField(max_length=200,null=True)
	assest_equality =  models.CharField(max_length=200,null=True)
	investment_highlight =  models.CharField(max_length=200,null=True)
	equity_price =  models.CharField(max_length=200,null=True)
	lp_equity_percent =  models.CharField(max_length=200,null=True)
	gp_equity_percent =  models.CharField(max_length=200,null=True)
	debt_percent =  models.CharField(max_length=200,null=True)
	short_title =  models.CharField(max_length=200,null=True)
	description = models.TextField(null=True)
	bussiness_plan = models.CharField(max_length=200,null=True)
	minimum_investment = models.CharField(max_length=200,null=True)
	investment_strategy = models.CharField(max_length=200,null=True)
	expected_period = models.CharField(max_length=200,null=True)
	financed = models.CharField(max_length=200,null=True)
	target_return_on_cost = models.CharField(max_length=200,null=True)
	target_irr = models.CharField(max_length=200,null=True)
	offered_by = models.CharField(max_length=200,null=True)
	estimated_first_distribution = models.CharField(max_length=200,null=True)
	type_of_investment = models.CharField(max_length=200,null=True)
	phone_number = models.CharField(max_length=200,null=True)
	measure_of_multiplier = models.CharField(max_length=200,null=True)
	address  = models.CharField(max_length=200,null=True)
	minimum_goal  = models.CharField(max_length=200,null=True)
	nominal_share_price  = models.CharField(max_length=200,null=True)
	the_valuation  = models.CharField(max_length=200,null=True)
	minimum_drawing  = models.CharField(max_length=200,null=True)
	no_of_drawings  = models.CharField(max_length=200,null=True)
	share_for_sale  = models.CharField(max_length=200,null=True)
	remaining_share  = models.CharField(max_length=200,null=True)
	maximum_drawing  = models.CharField(max_length=200,null=True)
	short_description = models.TextField(null=True)
	why_invest = models.TextField(null=True)
	problem_to_be_solved = models.TextField(null=True)
	our_solution = models.TextField(null=True)
	start_date_data  = models.CharField(max_length=200,null=True)
	end_date_data  = models.CharField(max_length=200,null=True)
	number_of_share  = models.CharField(max_length=200,null=True)
	price_of_share  = models.CharField(max_length=200,null=True)
	issue_minimum_investment  = models.CharField(max_length=200,null=True)
	issue_maximum_investment  = models.CharField(max_length=200,null=True)
	value_before_issue = models.CharField(max_length=200,null=True)
	raised_capital_minimum_limit = models.CharField(max_length=200,null=True)
	raised_capital_maximum_limit = models.CharField(max_length=200,null=True)
	share_of_company_sold_minimum_limit = models.CharField(max_length=200,null=True)
	share_of_company_sold_maximum_limit = models.CharField(max_length=200,null=True)
	self_report = models.TextField(null=True)
	discussion_description = models.TextField(null=True)
	new_exisiting_details = models.TextField(null=True)
	drawing_on_behalf = models.TextField(null=True)
	foundation = models.CharField(max_length=200,null=True)
	foundation_name = models.CharField(max_length=200,null=True)

	satutes = models.CharField(max_length=200,null=True)
	satutes_name = models.CharField(max_length=200,null=True)

	annual_account = models.CharField(max_length=200,null=True)
	annual_account_name = models.CharField(max_length=200,null=True)

	valuation = models.CharField(max_length=200,null=True)
	valuation_name = models.CharField(max_length=200,null=True)

	agreement_on_co = models.CharField(max_length=200,null=True)
	agreement_on_co_name = models.CharField(max_length=200,null=True)

	conversion_of_debt = models.CharField(max_length=200,null=True)
	conversion_of_debt_name = models.CharField(max_length=200,null=True)

	balance_sheet = models.CharField(max_length=200,null=True)
	balance_sheet_name = models.CharField(max_length=200,null=True)

	result_report  = models.CharField(max_length=200,null=True)
	result_report_name  = models.CharField(max_length=200,null=True)

	country =  models.CharField(max_length=150,default='')
	state = models.CharField(max_length=150,default='')
	city = models.CharField(max_length=150,default='')
	postal_code = models.CharField(max_length=150,default='')
	landmark = models.CharField(max_length=150,default='')
	house_number = models.CharField(max_length=150,null=True,default='')
	location = models.TextField(null=True,default='')
	latitude = models.FloatField(max_length = 20, blank = True, null = True)
	longitude = models.FloatField(max_length = 20, blank = True, null = True)
	agency = models.ForeignKey(Customer,on_delete=DO_NOTHING,null=True,related_name='agency_property_developers')
	status =  models.IntegerField(default=0,null=True)
	is_draft = models.BooleanField(default=False)
	subscription_type = models.IntegerField(default=0,null=True)
	feature_plan = models.ForeignKey(FeatureAddPricing,on_delete=DO_NOTHING,null=True)
	is_featured = models.BooleanField(default=False)
	featured_end_date = models.DateField(null=True)
	start_date = models.DateTimeField(auto_now_add=True,null=True)
	end_date = models.DateTimeField(null=True)
	added_by = models.CharField(max_length=100,null=True)
	payment_done = models.BooleanField(default=False)
	payment_currency_type = models.CharField(max_length=150,null=True)



	class Meta:
		db_table = 'property_developers'



class FillRequestBuyPropertyForm(models.Model):
	request_from = models.ForeignKey(
		Customer,
		on_delete=models.DO_NOTHING,
		null=True,
		related_name='requests_sent'
	)
	request_to = models.ForeignKey(
		Customer,
		on_delete=models.DO_NOTHING,
		null=True,
		related_name='requests_received'
	)
	sale_rent_property = models.ForeignKey(SaleAndRentProperty,on_delete=DO_NOTHING,null=True)
	sale_property = models.ForeignKey(SaleProperty,on_delete=DO_NOTHING,null=True)
	rent_property = models.ForeignKey(RentProperty,on_delete=DO_NOTHING,null=True)
	bussiness_for_sale = models.ForeignKey(BussinessForSale,on_delete=DO_NOTHING,null=True)
	house_wanted_for_rent = models.ForeignKey(HouseWantedForRent,on_delete=DO_NOTHING,null=True)
	investment_my_project = models.ForeignKey(InvestmentMyProject,on_delete=DO_NOTHING,null=True)
	investment_my_company = models.ForeignKey(InvestmentMyCompany,on_delete=DO_NOTHING,null=True)
	property_project = models.ForeignKey(PropertyProject,on_delete=DO_NOTHING,null=True)
	company_seeking_equity = models.ForeignKey(CompanySeekingEquity,on_delete=DO_NOTHING,null=True)
	property_developers = models.ForeignKey(PropertyDevelopers,on_delete=DO_NOTHING,null=True)
	first_name = models.CharField(max_length=200,null=True)
	last_name = models.TextField(null=True)
	gender = models.CharField(max_length=200,null=True)
	dob = models.CharField(max_length=200,null=True)
	email = models.CharField(max_length=200,null=True)
	message = models.TextField(null=True)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = "buy_property_for_request"



class inquireSaleAndRentProperty(models.Model):
	STATUS_CHOICES = (
	(0, ("Pending")),
	(1, ("Accepted")),
	(2, ("Rejected")),
	)
	sale_rent =  models.ForeignKey(SaleAndRentProperty,on_delete = models.CASCADE)
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING)
	name = models.CharField(max_length=30,default='')
	telephone = models.CharField(max_length=30,default='')
	email = models.CharField(max_length=50,default='')
	message = models.TextField(default='')
	status = models.IntegerField(choices = STATUS_CHOICES, default = 0)
	start_date = models.DateTimeField(null=True)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = 'inquire_sale_and_rent'

class inquireSaleProperty(models.Model):
	STATUS_CHOICES = (
	(0, ("Pending")),
	(1, ("Accepted")),
	(2, ("Rejected")),
	)
	sale =  models.ForeignKey(SaleProperty,on_delete = models.CASCADE)
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING)
	name = models.CharField(max_length=30,default='')
	telephone = models.CharField(max_length=30,default='')
	email = models.CharField(max_length=50,default='')
	message = models.TextField(default='')
	status = models.IntegerField(choices = STATUS_CHOICES, default = 0)
	start_date = models.DateTimeField(null=True)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = 'inquire_sale_property'

class inquireBusinessSaleProperty(models.Model):
	STATUS_CHOICES = (
	(0, ("Pending")),
	(1, ("Accepted")),
	(2, ("Rejected")),
	)
	business_sale =  models.ForeignKey(BussinessForSale,on_delete = models.CASCADE)
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING)
	name = models.CharField(max_length=30,default='')
	company_name = models.CharField(max_length=100,default='')
	telephone = models.CharField(max_length=30,default='')
	email = models.CharField(max_length=50,default='')
	message = models.TextField(default='')
	status = models.IntegerField(choices = STATUS_CHOICES, default = 0)
	start_date = models.DateTimeField(auto_now_add=True)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = 'inquire_business_sale'

class inquirePropertyProject(models.Model):
	STATUS_CHOICES = (
	(0, ("Pending")),
	(1, ("Accepted")),
	(2, ("Rejected")),
	)
	# property_project =  models.ForeignKey(PropertyProject,on_delete = models.CASCADE,null=True)
	sale_rent_property = models.ForeignKey(SaleAndRentProperty,on_delete=DO_NOTHING,null=True)
	sale_property = models.ForeignKey(SaleProperty,on_delete=DO_NOTHING,null=True)
	rent_property = models.ForeignKey(RentProperty,on_delete=DO_NOTHING,null=True)
	bussiness_for_sale = models.ForeignKey(BussinessForSale,on_delete=DO_NOTHING,null=True)
	house_wanted_for_rent = models.ForeignKey(HouseWantedForRent,on_delete=DO_NOTHING,null=True)
	investment_my_project = models.ForeignKey(InvestmentMyProject,on_delete=DO_NOTHING,null=True)
	investment_my_company = models.ForeignKey(InvestmentMyCompany,on_delete=DO_NOTHING,null=True)
	property_project = models.ForeignKey(PropertyProject,on_delete=DO_NOTHING,null=True)
	company_seeking_equity = models.ForeignKey(CompanySeekingEquity,on_delete=DO_NOTHING,null=True)
	property_developers = models.ForeignKey(PropertyDevelopers,on_delete=DO_NOTHING,null=True)
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING)
	name = models.CharField(max_length=30,default='')
	company_name = models.CharField(max_length=100,default='')
	property_type = models.CharField(max_length=100,default='')
	telephone = models.CharField(max_length=30,default='')
	email = models.CharField(max_length=50,default='')
	message = models.TextField(default='')
	status = models.IntegerField(choices = STATUS_CHOICES, default = 0)
	contract_status = models.CharField(max_length=30,null=True,default='Pending')
	finder_free_status = models.CharField(max_length=100,default='Pending')
	contract_id = models.CharField(max_length=10,default='')
	investment_amount = models.FloatField(default=0)
	start_date = models.DateTimeField(auto_now_add=True)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = 'inquire_property_project'


class inquireRentProperty(models.Model):
	STATUS_CHOICES = (
	(0, ("Pending")),
	(1, ("Accepted")),
	(2, ("Rejected")),
	)
	rent_property =  models.ForeignKey(RentProperty,on_delete = models.CASCADE)
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING)
	name = models.CharField(max_length=30,default='')
	company_name = models.CharField(max_length=100,default='')
	telephone = models.CharField(max_length=30,default='')
	email = models.CharField(max_length=50,default='')
	message = models.TextField(default='')
	status = models.IntegerField(choices = STATUS_CHOICES, default = 0)
	contract_status = models.CharField(max_length=30,null=True,default='Pending')
	contract_id = models.CharField(max_length=10,default='')
	start_date = models.DateTimeField(auto_now_add=True)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = 'inquire_rent_property'


class BuyCompanyShare(models.Model):
	STATUS_CHOICES = (
	(0, ("Pending")),
	(1, ("Accepted")),
	(2, ("Rejected")),
	)
	company = models.ForeignKey(InvestmentMyCompany,on_delete = models.CASCADE)
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING)
	status = models.IntegerField(choices = STATUS_CHOICES, default = 0)
	share_status = models.CharField(max_length=30,null=True,default='Pending')
	url = models.CharField(max_length=200,null=True)
	start_date = models.DateTimeField(auto_now_add=True)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = 'buy_company_share'



class CustomerNotifications(models.Model):
	customer_id = models.ForeignKey(Customer,on_delete=DO_NOTHING,null=True)
	message = models.TextField(null=True)
	notification_type = models.CharField(max_length=100,null=True)
	is_read = models.BooleanField(default=False,null=True)
	start_date = models.DateTimeField(auto_now_add=True,null=False)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = "customer_notifications"


class Contract(models.Model):
	inquiry_id = models.ForeignKey(inquirePropertyProject,on_delete=DO_NOTHING,null=True)
	contract_file = models.CharField(max_length=250,default='')

	company_name = models.CharField(max_length=150,default='')
	full_name = models.CharField(max_length=100,default='')
	tasks = models.TextField(default='')
	owner_full_name = models.CharField(max_length=100,default='')
	owner_email = models.CharField(max_length=150,default='')
	owner_signature = models.TextField(default='')
	buyer_full_name = models.CharField(max_length=100,default='')
	buyer_email = models.CharField(max_length=150,default='')
	buyer_signature = models.TextField(default='')
	start_date = models.DateTimeField(auto_now_add=True,null=False)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = "contracts"


class CustomersSubscriptions(models.Model):
	customer = models.ForeignKey(Customer,on_delete=DO_NOTHING,null=True)
	plan = models.ForeignKey(SubscriptionPlan,on_delete=DO_NOTHING,null=True)
	stripe_subscription_id = models.IntegerField(null=True)
	sub_start_date = models.DateField(auto_now_add=True,null=False)
	sub_expiry_date = models.DateField(null=True)
	is_active = models.BooleanField(default=False)
	start_date = models.DateTimeField(auto_now_add=True,null=False)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = "customer_subscriptions"


class Payment(models.Model):
	mode = models.CharField(max_length=250,null=True)
	payment_status = models.CharField(max_length=100,null=True)
	contract = models.ForeignKey(Contract,on_delete=DO_NOTHING,null=True)
	Customer = models.ForeignKey(Customer,on_delete=DO_NOTHING,null=True)
	payment_recipet = models.CharField(max_length=250,null =True)
	recipet_status = models.CharField(max_length=100,null=True)
	start_date = models.DateTimeField(auto_now_add=True,null=False)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = "payment"


class DoItByReeipoRequests(models.Model):
	customer = models.ForeignKey(Customer,on_delete=DO_NOTHING,null=True)
	mobile_number =  models.CharField(max_length=30,default='')
	name =  models.CharField(max_length=50,default='')
	email =  models.CharField(max_length=50,default='')
	property_type = models.CharField(max_length=250,default='')
	property_name = models.CharField(max_length=250,default='')
	property_id=models.CharField(max_length=250,default='')
	is_viewed = models.BooleanField(default=False)
	is_published = models.BooleanField(default=False)
	is_contacted = models.BooleanField(default=False)
	property_image = models.TextField( null=True, blank=True)
	property_video = models.TextField(null=True, blank=True)
	property_doc = models.TextField(null=True, blank=True)
	start_date = models.DateTimeField(auto_now_add=True)
	price = models.CharField(max_length=200,null=True)
	do_it_by_type=models.CharField(max_length=250,default='')
	buyer_signature = models.TextField(default='')
	buyer_status = models.CharField(max_length=150,default='')
	status = models.CharField(max_length=50,default='')
	rejection_reason=models.CharField(max_length=1000,null=True)
	payment_status=models.BooleanField(default=False,null=True)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = 'do_it_by_reeipo'


class CustomerSaveSearches(models.Model):
	customer = models.ForeignKey(Customer,on_delete=DO_NOTHING,null=True)
	save_searches = models.TextField(null=True)
	start_date = models.DateTimeField(auto_now_add=True)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = 'customer_save_searches'



class RatingAndReview(models.Model):
	send_customer = models.ForeignKey(Customer, on_delete=models.CASCADE, related_name='send_customer')
	receive_customer = models.ForeignKey(Customer, on_delete=models.CASCADE, related_name='receive_customer')
	rating = models.IntegerField(default=0)
	review = models.TextField(null=True)
	start_date = models.DateTimeField(auto_now_add=True,null=False)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = "rating_and_review"

class MyInvestmentsForCompany(models.Model):
	invested_company = models.ForeignKey(InvestmentMyCompany,on_delete=DO_NOTHING)
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING)
	total_share = models.IntegerField(null=True)
	amount = models.IntegerField(null=True)
	payment_status = models.CharField(max_length=100,default='pending',null=True)
	start_date = models.DateTimeField(auto_now_add=True,null=True)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = 'my_investment_for_company'



class BookMeetings(models.Model):
	property =  models.ForeignKey(BussinessForSale,on_delete=DO_NOTHING)
	customerId = models.ForeignKey(Customer,on_delete=DO_NOTHING)
	phone_number = models.CharField(max_length=20,null=True)
	book_date = models.DateField(null=True)
	book_time = models.TimeField(null=True)
	message = models.TextField(null=True)
	meeting_status = models.CharField(default="pending",max_length=244,null=True)
	start_date = models.DateTimeField(auto_now_add=True)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = 'book_meetings'




class MeetingPayment(models.Model):
	mode = models.CharField(max_length=250,null=True)
	payment_status = models.CharField(max_length=100,null=True)
	contract = models.ForeignKey(BookMeetings,on_delete=DO_NOTHING,null=True)
	Customer = models.ForeignKey(Customer,on_delete=DO_NOTHING,null=True)
	payment_recipet = models.CharField(max_length=250,null =True)
	recipet_status = models.CharField(max_length=100,null=True)
	start_date = models.DateTimeField(auto_now_add=True,null=False)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = "meeting_payment"


class Newsletter(models.Model):
	email =  models.CharField(max_length=244,null=True)
	start_date = models.DateTimeField(auto_now_add=True,null=False)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = "newsletter"



class ConversationCustomers(models.Model):
	customer_one = models.ForeignKey(Customer, on_delete=models.CASCADE,related_name='customer_one')
	customer_two = models.ForeignKey(Customer, on_delete=models.CASCADE,related_name='customer_two')
	twilio_channel_sid = models.CharField(max_length=255, blank=True, null=True)
	customer_deleted = models.ManyToManyField(Customer, related_name='all_deleted_users', blank=True)
	last_message = models.DateTimeField(null=True)
	created_at = models.DateTimeField(auto_now_add=True)
	updated_at = models.DateTimeField(auto_now=True)
	end_date =  models.DateTimeField(null=True)

	class Meta:
		db_table = 'conversation_customers'


class CommunityChannels(models.Model):
	channel_name  = models.CharField(max_length=244,null=True)
	twilio_channel_sid = models.CharField(max_length=244, null=True)
	last_message = models.DateTimeField(null=True)
	created_at = models.DateTimeField(auto_now_add=True)
	updated_at = models.DateTimeField(auto_now=True)
	end_date =  models.DateTimeField(null=True)

	class Meta:
		db_table = 'community_channels'


class Testimonials(models.Model):
	Customer = models.ForeignKey(Customer,on_delete=DO_NOTHING,null=True)
	title  = models.CharField(max_length=244,null=True)
	description = models.TextField(null=True)
	ratings = models.IntegerField(default=0)
	name = models.CharField(max_length=244,null=True)
	designation = models.CharField(max_length=244,null=True)
	created_at = models.DateTimeField(auto_now_add=True)
	updated_at = models.DateTimeField(auto_now=True)
	end_date =  models.DateTimeField(null=True)

	class Meta:
		db_table = 'testimonials'





class CustomersFeatureAdsHistory(models.Model):
	customer = models.ForeignKey(Customer,on_delete=DO_NOTHING,null=True)
	plan = models.ForeignKey(FeatureAddPricing,on_delete=DO_NOTHING,null=True)
	property_type = models.CharField(max_length=200,null=True)
	property_id = models.CharField(max_length=100,null=True)
	payment_date = models.DateField(auto_now_add=True,null=False)
	is_active = models.BooleanField(default=False)
	start_date = models.DateTimeField(auto_now_add=True,null=False)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = "customer_feature_history"




class RecentlyViewed(models.Model):
	customer = models.ForeignKey(Customer,on_delete=DO_NOTHING,null=True)
	property_type = models.CharField(max_length=200,null=True)
	property_id = models.CharField(max_length=100,null=True)
	title = models.CharField(max_length=200,null=True)
	image_data = models.TextField(null=True)
	price = models.CharField(max_length=200,null=True)
	location = models.CharField(max_length=200,null=True)
	latitude = models.CharField(max_length=200,null=True)
	longitude = models.CharField(max_length=200,null=True)
	start_date = models.DateTimeField(auto_now_add=True,null=False)
	end_date = models.DateTimeField(null=True)

	class Meta:
		db_table = "recently_viewed"



class FinalizeAgencyTable(models.Model):
	customer = models.ForeignKey(Customer,on_delete=DO_NOTHING,null=True,related_name='is_Customer')
	agency = models.ForeignKey("customer_api.customer",on_delete=DO_NOTHING,null=True,related_name='is_Agency')
	agency_property_requests = models.ForeignKey("agency_panel.AgencyPropertyRequests",on_delete=DO_NOTHING,null=True)
	property_type = models.CharField(max_length=200,null=True)
	final_amount=models.CharField(max_length=200,null=True)
	customer_signature=models.TextField(max_length=200,null=True)
	agency_signature=models.TextField(default='')
	status=models.CharField(max_length=200,null=True)
	finalized_status=models.CharField(max_length=200,null=True)
	property_name = models.CharField(max_length=250,default='')
	property_id=models.CharField(max_length=250,default='')
	property_image = models.TextField( null=True, blank=True)
	property_video = models.TextField(null=True, blank=True)
	property_doc = models.TextField(null=True, blank=True)
	created_at = models.DateTimeField(auto_now_add=True)
	updated_at = models.DateTimeField(auto_now=True)
	end_date =  models.DateTimeField(null=True)



	class Meta:
		db_table = "finalize_agency"


class FinalizeLawyerTable(models.Model):
	customer = models.ForeignKey(Customer,on_delete=DO_NOTHING,null=True,related_name='is_LCustomer')
	contract = models.ForeignKey('lawyer_panel.LawyerContractDeals',on_delete=DO_NOTHING,null=True)
	lawyer = models.ForeignKey("customer_api.customer",on_delete=DO_NOTHING,null=True,related_name='is_Lawyer')
	property_type = models.CharField(max_length=200,null=True)
	final_amount=models.CharField(max_length=200,null=True)
	customer_signature=models.TextField(null=True)
	lawyer_signature=models.TextField(null=True)
	status=models.CharField(max_length=200,null=True)
	finalized_status=models.CharField(max_length=200,null=True)

	created_at = models.DateTimeField(auto_now_add=True)
	updated_at = models.DateTimeField(auto_now=True)
	end_date =  models.DateTimeField(null=True)



	class Meta:
		db_table = "finalize_lawyer"


"""-----------------------------------------------------------------------"""
class HelpAndSupportQuery(models.Model):
	full_name = models.CharField(max_length=255, null=True, blank=True)
	email = models.EmailField(null=True, blank=True)
	phone = models.CharField(max_length=20, null=True, blank=True)
	interset_in = models.CharField(max_length=255, null=True, blank=True)
	query = models.TextField()
	status = models.CharField(max_length=50, default="pending")
	raised_at = models.DateTimeField(auto_now_add=True)
	resolved_at = models.DateTimeField(null=True, blank=True)
	rejected_reason = models.TextField(null=True, blank=True)

	def __str__(self):
		return f"Query from {self.user.username} - {self.id} - {self.status}"




