<database name="cxnx" defaultIdMethod="native">
	<table name="mail_templates" phpName="MailTemplate">
		<column name="name" type="varchar" size="256"/>
		<column name="lang" type="char" size="2" required="true" phpName="LanguageId"/>
		<!-- TODO 'use' is a php keyword. Seems no way to use this column name in Propel column name="use" type="varchar"/-->
		<column name="description" type="LONGVARCHAR"/>
		<column name="subject" type="LONGVARCHAR"/>
		<column name="txt_body" type="LONGVARCHAR" phpName="TextBody"/>
		<column name="html_body" type="LONGVARCHAR"/>
		<column name="site_specific" type="boolean"/>
		<column name="site_id" type="integer"/>
		<column name="et_id" type="integer" primaryKey="true" autoIncrement="true"/>
	</table>
	<table name="settings" phpName="Setting">
		<column name="name" type="varchar" size="256" primaryKey="true" phpName="SettingId"/>
		<column name="type" type="varchar" size="64" required="true"/>
		<column name="description" type="LONGVARCHAR" phpName="Description"/>
		<column name="text" type="LONGVARCHAR" phpName="TextValue"/>
		<column name="int" type="integer" phpName="IntValue"/>
		<column name="boolean" type="boolean" phpName="BooleanValue"/>
		<column name="timestamp" type="timestamp" phpName="TimestampValue"/>
		<column name="date" type="date" phpName="DateValue"/>
		<column name="double" type="double" phpName="DoubleValue"/>
	</table>
	<table name="emails_sent_content" phpName="SentEmailContent">
		<column name="id" type="integer" primaryKey="true" phpName="Id" />
		<column name="sender" type="varchar" size="128"/>
		<column name="date" type="timestamp" />
		<column name="subject" type="LONGVARCHAR"/>
		<column name="message" type="LONGVARCHAR"/>
		<column name="category" type="VARCHAR"/>
		<column name="site_id" type="integer"/>
		<column name="comp_id" type="integer" phpName="CustomerId"/>
		<foreign-key foreignTable="cust_companies" name="Customer">
			<reference local="comp_id" foreign="comp_id"/>
		</foreign-key>
	</table>
	<table name="emails_sent" phpName="SentEmail">
		<column name="id" type="integer" primaryKey="true" phpName="Id" />
		<column name="content_id" type="integer" phpName="ContentId"/>
		<foreign-key foreignTable="emails_sent_content" name="Content">
			<reference local="content_id" foreign="id"/>
		</foreign-key>
		<column name="hdr_to" type="varchar" phpName="To" />
		<column name="hdr_cc" type="varchar" phpName="Cc" />
		<column name="hdr_bcc" type="varchar" phpName="Bcc" />
	</table>
	<table name="rental_rates" phpName="RentalPeriod">
		<column name="ru_id" type="integer" primaryKey="true" phpName="RentalPeriodId"/>
		<foreign-key foreignTable="rental_units" name="Property">
			<reference local="ru_id" foreign="ru_id"/>
		</foreign-key>
		<column name="start_date" type="date" phpName="Start"/>
		<column name="end_date" type="date" phpName="Finish"/>
		<column name="monthly_rate" type="integer" phpName="MonthlyRate"/>
		<column name="status" type="varchar" phpName="Deprecated2"/>
		<column name="displays" type="boolean" phpName="Deprecated3"/>
		<column name="type" type="integer" phpName="TypeId"/>
		<column name="weekly_rate" type="integer" phpName="WeeklyRate"/>
		<column name="seasonal_rate" type="integer" phpName="SeasonalRate"/>
		<column name="name" type="varchar" phpName="Name"/>
		<column name="weekend_nightly_rate" type="integer" phpName="WeekendRate"/>
		<column name="midweek_nightly_rate" type="integer" phpName="MidweekRate"/>
		<column name="display_distance" type="integer"/>
		<column name="display_season_rate" type="boolean"/>
		<column name="display_monthly_rate" type="boolean"/>
		<column name="display_weekly_rate" type="boolean"/>
		<column name="display_nightly_rate" type="boolean"/>
		<column name="time_on_foot" type="integer"/>
		<column name="time_to_drive" type="integer"/>
	</table>

	<table name="log_type" phpName="LogEntryType">
		<column name="lt_id" type="integer" primaryKey="true" phpName="LogEntryTypeId"/>
		<column name="comment" type="longvarchar"/>
		<column name="log_level" type="integer"/>
		<column name="log_type_text" type="longvarchar" phpName="Classification"/>
		<column name="log_table" type="varchar" size="50"/>
		<column name="log_description" type="longvarchar" phpName="Description"/>
	</table>
	<table name="log" phpName="LogEntry">
		<column name="log_id" type="integer" required="true" primaryKey="true" phpName="LogEntryId"/>
		<column name="user_id" type="integer" />
		<column name="customer_id" type="varchar" size="7" phpName="CustomerId"/>
		<column name="date" type="TIMESTAMP" default="NOW" phpName="Date"/>
		<column name="log_message" type="varchar" size="1000" phpName="Message"/>
		<column name="log_type" type="integer" phpName="TypeId"/>
		<foreign-key foreignTable="log_type" name="Type">
			<reference local="log_type" foreign="lt_id"/>
		</foreign-key>
		<column name="ip" type="integer" phpName="IpAddress"/>
		<column name="ru_id" type="integer" phpName="PropertyId"/>
		<foreign-key foreignTable="rental_units">
			<reference local="ru_id" foreign="ru_id"/>
		</foreign-key>
		<column name="credits_id" type="integer" phpName="TransactionId"/>
		<foreign-key foreignTable="customer_credits">
			<reference local="credits_id" foreign="credits_id"/>
		</foreign-key>
	</table>
	<table name="cust_companies" phpName="Customer">
		<!-- table incomplete -->
		<column name="comp_id" type="integer" required="true" primaryKey="true" autoIncrement="true" phpName="CustomerId"/>
		<column name="ebp_id" type="varchar" size="7" required="true" phpName="AccountId"/>
		<column name="email" type="varchar" size="128"/>
		<column name="company_name" type="varchar" size="64" required="true" phpName="Name"/>
		<column name="password" type="varchar"/>
	</table>
	<table name="customer_credits" phpName="CreditTransaction">
		<column name="credits_id" type="integer" required="true" phpName="TransactionId" primaryKey="true"/>
		<column name="comp_id" type="integer" required="true" phpName="CustomerId"/>
		<foreign-key foreignTable="cust_companies">
			<reference local="comp_id" foreign="comp_id"/>
		</foreign-key>
		<column name="row_creation" type="TIMESTAMP" required="true" default="NOW" phpName="Date"/>
		<column name="type" type="char" size="3" required="true"/>
		<validator column="type">
			<rule name="validValues" value="cli|pay|lal" message="Invalid transaction type." />
		</validator>
		<column name="ref" type="integer" required="true" default="-1"/>
		<column name="amount" type="double" required="true"/>
		<validator column="amount">
			<rule name="minValue" value="0.01" message="Transaction amount must be greater than zero." />
		</validator>
		<column name="lang" type="varchar"/>
		<column name="ip_address" type="varchar"/>
		<column name="remote_host" type="varchar"/>
		<column name="ru_id" type="integer" phpName="PropertyId"/>
		<foreign-key foreignTable="rental_units">
			<reference local="ru_id" foreign="ru_id"/>
		</foreign-key>
	</table>
  <table name="rental_periods" phpName="RentalType">
		<column name="rp_id" type="integer" primaryKey="true" autoIncrement="true" phpName="Id" />
		<column name="en_uk" type="varchar" required="true"/>
		<column name="fr_fr" type="varchar" required="true"/>
  </table>
  <table name="translations" phpName="Translation">
		<column name="site" type="integer" />
		<column name="page" type="varchar" phpName="Module"/>
		<column name="string" type="varchar" phpName="Key"/>
		<column name="en_uk" type="varchar"/>
		<column name="fr_fr" type="varchar"/>
		<column name="plural" type="varchar" phpName="IsPlural"/>
  </table>
  <table name="late_availability" phpName="LateAvailability">
		<column name="la_id" type="integer" primaryKey="true" autoIncrement="true" phpName="Id" />
		<column name="ru_id" type="integer" required="true" phpName="PropertyId"/>
		<foreign-key foreignTable="rental_units" name="Property">
			<reference local="ru_id" foreign="ru_id"/>
		</foreign-key>
		<column name="start" type="DATE" required="true"/> 
		<column name="finish" type="DATE" required="true" />
		<column name="average_nightly_rate" type="integer" required="true" phpName="AverageNightlyRate"/> 
		<column name="min_weekly_rate" type="integer" required="true"/> 
		<column name="max_weekly_rate" type="integer" required="true"/> 
		<column name="min_nightly_rate" type="integer" required="true"/> 
		<column name="max_nightly_rate" type="integer" required="true"/> 
	</table>
	<table name="bookings" phpName="Booking">
		<column name="ru_id" type="integer" phpName="PropertyId" />
		<foreign-key foreignTable="rental_units">
			<reference local="ru_id" foreign="ru_id"/>
		</foreign-key>
		<column name="start_date" type="DATE" phpName="Start" />
		<column name="end_date" type="DATE" phpName="Finish" />
		<column name="status" type="varchar" />
		<column name="first_name" type="varchar" />
		<validator column="first_name">
			<rule name="match" value="^.{0,128}$" message="First name is limited to 128 characters." />
		</validator>
		<column name="last_name" type="varchar" />
		<validator column="last_name">
			<rule name="match" value="^.{0,128}$" message="Last name is limited to 128 characters." />
		</validator>
		<column name="address1" type="varchar" />
		<validator column="address1">
			<rule name="match" value="^.{0,128}$" message="Address line 1 is limited to 128 characters." />
		</validator>
		<column name="address2" type="varchar" />
		<validator column="address2">
			<rule name="match" value="^.{0,128}$" message="Address line 2 is limited to 128 characters." />
		</validator>
		<column name="post_code" type="varchar" />
		<validator column="post_code">
			<rule name="match" value="^.{0,10}$" message="Postal code is limited to 10 characters." />
		</validator>
		<column name="region" type="varchar" />
		<validator column="region">
			<rule name="match" value="^.{0,128}$" message="Region is limited to 128 characters." />
		</validator>
		<column name="city" type="varchar" />
		<validator column="city">
			<rule name="match" value="^.{0,64}$" message="City is limited to 64 characters." />
		</validator>
		<column name="country" type="varchar" />
		<column name="phone" type="varchar" />
		<validator column="phone">
			<rule name="match" value="^.{0,64}$" message="Phone number is limited to 64 characters." />
		</validator>
		<column name="mobile" type="varchar" />
		<validator column="mobile">
			<rule name="match" value="^.{0,64}$" message="Mobile number is limited to 64 characters." />
		</validator>
		<column name="email" type="varchar" />
		<validator column="email">
			<rule name="match" value="^(.+@.+\..+)?$" message="Please enter a valid email address." />
			<rule name="match" value="^.{0,128}$" message="Email address is limited to 128 characters." />
		</validator>
		<column name="comment" type="longvarchar" />
		<column name="originating_enquiry_id" type="integer" />
		<column name="booking_id" type="integer" primaryKey="true" autoIncrement="true" />
		<column name="payment_method" type="varchar" />
		<column name="payment_date_due" type="date" />
		<column name="deposit" type="integer" />
		<column name="caution" type="varchar" />
		<column name="total_cost" type="varchar" />
		<column name="amount_paid" type="varchar" />
	</table>
	<table name="rental_units" phpName="Property">
		<column name="ru_id" type="integer" required="true" primaryKey="true" autoIncrement="true" phpName="PropertyId"/>
		<column name="adv_id" type="integer" phpName="AdvertId" />
		<column name="name" type="varchar" size="64" required="true" />
		<validator column="name">
			<rule message="Name is required" name="required"/>
		</validator>
		<column name="description" type="longvarchar"  />
		<column name="currency" type="char"  />
		<column name="rental_period" type="integer" phpName="RentalTypeId" />
		<foreign-key foreignTable="rental_periods">
			<reference local="rental_period" foreign="rp_id"/>
		</foreign-key>
		<column name="quality_rating" type="integer"  />
		<column name="description_en" type="longvarchar"  />
		<column name="description_fr" type="longvarchar"  />
		<column name="other_features_en" type="longvarchar"  />
		<column name="other_features_fr" type="longvarchar"  />
		<column name="floor_area" type="integer" />
		<column name="property_type" type="varchar" phpName="Type" />
		<column name="fully_catered" type="boolean"  />
		<column name="catered_bb" type="boolean"  />
		<column name="self_catered" type="boolean"  />
		<column name="sleeps" type="integer" />
		<column name="king_size_bed" type="integer" />
		<column name="queen_size_bed" type="integer" />
		<column name="double_bed" type="integer" />
		<column name="single_bed" type="integer" />
		<column name="bunk_bed" type="integer" />
		<column name="linen_provided" type="integer" />
		<column name="bedroom" type="integer" />
		<column name="bedroom_ensuite" type="integer" />
		<column name='sofa_bed_single' type="integer" />
		<column name='sofa_bed_double' type="integer" />
		<column name='cot' type="integer" />
		<column name="bathroom" type="integer" />
		<column name="separate_wc" type="integer" />
		<column name="bath" type="integer" />
		<column name="shower" type="integer" />
		<column name="shower_in_bath" type="integer" />
		<column name="power_shower" type="integer" />
		<column name="towels_provided" type="boolean" />
		<column name="sauna" type="boolean" />
		<column name="jacuzzi" type="boolean" />
		<column name="hammam" type="boolean" />
		<column name="gym" type="boolean" />
		<column name="pool_table" type="boolean" />
		<column name="billiards" type="boolean" />
		<column name="darts" type="boolean" />
		<column name='baby_foot' type="boolean" />
		<column name='sat_tv' type="boolean" />
		<column name='dvd' type="boolean" />
		<column name='vcr' type="boolean" />
		<column name='home_cinema' type="boolean" />
		<column name='video_game' type="boolean" />
		<column name='internet' type="boolean" />
		<column name='wireless_internet' type="boolean" />
		<column name='fridge_freezer' type="boolean" />
		<column name='chest_freezer' type="boolean" />
		<column name='gas_hob' type="boolean" />
		<column name='gas_oven' type="boolean" />
		<column name='electric_hob' type="boolean" />
		<column name='electric_oven' type="boolean" />
		<column name='portable_cooker' type="boolean" />
		<column name='microwave_oven' type="boolean" />
		<column name='dish_washer' type="boolean" />
		<column name='wash_machine' type="boolean" />
		<column name='drying_room' type="boolean" />
		<column name='drinks' type="boolean" />
		<column name='snacks_provided' type="boolean" />
		<column name='breakfast_included' type="boolean" />
		<column name='balcony' type="boolean" />
		<column name='terrace' type="boolean" />
		<column name='outdoor_swimming_pool' type="boolean" />
		<column name='indoor_swimming_pool' type="boolean" />
		<column name='private_garden' type="boolean" />
		<column name='shared_garden' type="boolean" />
		<column name='barbecue' type="boolean" />
		<column name='outside_decking' type="boolean" />
		<column name='public_parking' type="boolean" />
		<column name='private_parking' type="boolean" />
		<column name='covered_parking' type="boolean" />
		<column name='underground_parking' type="boolean" />
		<column name='disabled_access' type="boolean" />
		<column name='lift' type="boolean" />
		<column name='open_fire' type="boolean" />
		<column name='fire_wood_provided' type="boolean" />
		<column name='wood_stove' type="boolean" />
		<column name='electric_heating_included' type="boolean" />
		<column name='heating_not_included' type="boolean" />
		<column name='pets_permissible' type="boolean" />
		<column name='wood_floors' type="boolean" />
		<column name='microwave_combination_oven' type="boolean" />
		<column name='change_day' type="varchar" />
		<column name='district' type="varchar" phpName="Location"/>
		<column name='latitude' type="double" /> 
		<column name='longitude' type="double" /> 
		<column name="owner" type="integer" phpName="ownerId" />
		<foreign-key foreignTable="cust_companies" name="Owner">
			<reference local="owner" foreign="comp_id"/>
		</foreign-key>
		<column name="time_on_foot" type="integer" />
		<column name="time_to_drive" type="integer" />
		<column name="display_distance" type="integer" />
		<column name="booking_rule" type="integer" />
		<column name="display_seasonal_rate" type="boolean" />
		<column name="display_monthly_rate" type="integer" />
		<column name="display_weekly_rate" type="integer" />
		<column name="display_midweek_nightly_rate" type="integer" />
		<column name="highlighted_image" type="integer" />
		<column name="display_weekend_nightly_rate" type="integer" />
		<column name="carbon_neutral" type="boolean" />
		<column name="long_description_en" type="longvarchar" />
		<column name="long_description_fr" type="longvarchar" />
		<column name='ensuite_bathrooms' type="integer" />
		<column name='tiled_floors' type="boolean" />
		<column name='underfloor_heating' type="boolean" />
		<column name='boot_warmer' type="boolean" />
		<column name='ski_board_tuning' type="boolean" />
		<column name='no_smoking' type="boolean" />
		<column name='smoking_outside' type="boolean" />
		<column name='smoking_area' type="boolean" />
		<column name='smoking_ok' type="boolean" />
		<column name='smoking_no_bedrooms' type="boolean" />
		<column name='master_suite' type="boolean" />
		<column name='tv_every_bedroom' type="boolean" />
		<column name='tv_dvd_every_bedroom' type="boolean" />
		<column name='garage' type="boolean" />
		<column name='tv' type="boolean" />
		<column name='dry_machine' type="boolean" />
		<column name="la" type="boolean" required="true" default="false" phpName="LaChamServe" />
		<column name="la_allocation" type="double" phpName="LaCreditAllocation" />
		<column name="la_notify_amount" type="integer" phpName="LaCreditNotificationAmount" required="true" />
		<validator column="la_notify_amount">
			<rule name="minValue" value="1" message="Credit warning email notification amount must be greater than zero." />
		</validator>
		<column name="la_days_to_start" type="integer" phpName="LaDaysToStart" required="true" />
		<column name="la_participate" type="boolean" phpName="LaIsParticipating" required="true" />
		<column name="min_stay_nights" type="integer" phpName="MinimumNightsStay" required="true" />
		<column name="la_min_stay_nights" type="integer" phpName="LaMinimumNightsStay" required="true" />
		<column name="la_max_credits_per_day" type="double" phpName="LaMaxCreditsPerDay" />
		<column name="display_type" type="varchar" phpName="DisplayType" />
		<validator column="display_type">
			<rule name="validValues" value="standard|availability"
				message="Display type must be standard or availability." />
		</validator>
		<column name="email" type="varchar" />
		<column name="phone" type="varchar" />
		<column name="url" type="varchar" />
		<column name="page_title" type="varchar" />
		<validator column="page_title">
			<rule message="Page title (English) is required" name="required"/>
		</validator>
		<column name="url_caption" type="varchar" />
		<column name="la_min_days_to_start" type="integer" />
		<column name="page_title_fr" type="varchar" />
		<validator column="page_title_fr">
			<rule message="Page title (French) is required" name="required"/>
		</validator>
		<column name="url_caption_fr" type="varchar" />
  </table>
</database>
