Intro

Drops are an important concept in terms of the Ctesius app and most methods you use will come from one of the drops. Each property record, for example, will call the PropertyDrop class and thus methods such as property.price are made available for each property.

NOTE: You should always check that a variable exists before you try to use it, to avoid errors when the value is nil. e.g.

{% if property.video_url %}
  {% property.video_url | split: '/' %}
{% endif %}

You can print the available methods on any Ctesius drop as a comma-separated string using available_methods.

{{ property.available_methods }}

Agency Drop

Below are the methods available on the AgencyDrop, what they return and also what they expect to be passed when calling the method.

address_html

Returns: Agency address with HTML formatting

alphabetical_order_staff_surname

Returns: A array of the staff member’s surnames, ordered alphabetically.

agency_portal_preferences

Returns: A collection of agency_portal_prefereces. See AgencyPortalPreferenceDrop

articles

Returns: An array of all articles for an Agency. See ArticleDrop

article(article_id)

Returns: See ArticleDrop
Expects: An article_id as a string

article_topics

Returns: All the topics used by the Agency for articles. Useful for blog type topic lists

article_topics_after_exclusion

Returns: An array of topics

banners

Returns: An array of banners set up by an Agency

banner(banner_id)

Returns: The specified BannerDrop
Expects: A banner_id as a string

branch_by_id

Returns: A BranchDrop object
Expects: A branch_id as a string

branches

Returns: A collection of all the Agency branches as branch drops

branches_by_position

Returns: An array of branches, arranged in the order they appear in the agency’s admin.

branches_ordered_alphanumerically

Returns: An array of branches, in alphanumeric order.

Returns: A collection of the Agency’s CarouselItemDrop’s

default_search_channel

Returns: The default search channel for the Agency, either ‘sales’ or ‘lettings’

facebook_uri

Returns: A string URL for the Agency’s facebook page

Returns: A collection of PageDrop’s that have been set to be featured

Returns: A random BranchDrop from a sample of branches that have been set to featured

Returns: A collection of PropertyDrop’s that have been set to be featured

googleplus_uri

Returns: A string URL for the Agency’s googleplus page

Returns: A boolean whether any of the social links have been set

instagram_uri

Returns: A string of the URL for the agency’s Instagram page.

latest_article

Returns: The agency’s latest article, as an ArticleDrop.

lettings_enabled

Returns: Boolean for if lettings are enabled

linkedin_uri

Returns: A string URL for the Agency’s linkedin page

Returns: A MrRichardImage for the Agency logo

locations

Returns: A collection of specific locations defined by the Agency

Returns: A MenuDrop
Expects: A menu_id as a string from a choice of [‘primary’, ‘secondary’]

Returns: All the MenuDrop’s for the Agency

page(page_id)

Returns: A specific CRMPageDrop cms page object
Expects: A string page_id

page_categories

Returns: An array of all categories used for pages for the Agency site

pages

Returns: A collection of CRMPageDrop’s for the Agency Limit: Page size is 10

pinterest_uri

Returns: The agency’s Pinterest URL as a string, if they have one.

properties_from_tag(tag)

Returns: A collection of properties by a specific tag
Expects: A string tag, such as ‘house’ or ‘garden’ etc
Limit: 10

properties_with_videos

Returns: A collection of properties that have video’s
Limit: 10

Returns: A MrRichardImage for the Agency specific Portal logo

recent_lettings_properties

Returns: A collection of the latest lettings properties
Limit: 10

recent_properties

Returns: A collection of the latest properties
Limit: 10

recent_sales_and_lettings_properties

Returns: A collection of the latest sales and lettings properties
Limit: 10

recent_sales_properties

Returns: A collection of the latest sales properties
Limit: 10

sales_enabled

Returns: A boolean to represent if the Agency has sales properties

Returns: An array of the carousel items, ordered randomly.

staff_profiles

Returns: A collection of all the StaffMemberDrop’s for the agency

subdomain

Returns: The subdomain for the Agency site as a string

twitter_uri

Returns: A string for the URL of the twitter page

website_live

Returns: A boolean representation if the website has been published live

Returns: A MrRichardImage of the Agency’s website specific logo. This can be used if the original logo does not work well on the site

youtube_uri

Returns: A string for the URL of the company’s Youtube page.

Article Drop

Below are the methods available on the ArticleDrop, what they return and also what they expect to be passed when calling the method.

author

Returns: The StaffMemberDrop of the Article author.

author_id

Returns: The id of the staff member who wrote the article.

article_id

Returns: The article’s ID.

branch

Returns: The associated branch as a BranchDrop.

branch_id

Returns: The ID of the branch associated with the article.

canonical_url

Returns: The canonical_url for the article.

content

Returns: The Article content text.

created_at

Returns: The raw date/time the article was created.

date

Returns: The date the article was created, formatted.

hero_asset

Returns: A MrRichardImage of the article hero asset.

image

Returns: A MrRichardImage of the article main image.

meta_description

Returns: The article’s meta title as a string.

meta_title

Returns: The article’s meta title as a string.

month

Returns: The month the article was created.

promo

Returns: The article promo text content.

promo_image

Returns: A MrRichardImage of the article promo image, which could be used on list pages or the homepage.

slug

Returns: A string URL friendly link name for the Article.

title

Returns: The Article’s title as a string.

topic

Returns: The topic of the Article as a string.

topics

Returns: An array of topics for the article if they are comma seperated.

year

Returns: The year the article was created.

Branch Drop

Below are the methods available on the BranchDrop, what they return and also what they expect to be passed when calling the method.

address_with_line_breaks

Returns: The Branch address with line breaks

all_recent_lettings_properties

Returns: A collection of the latest lettings properties, including those with all statuses (including ‘sold’ etc).
Limit: 5

all_recent_sales_properties

Returns: A collection of the latest sales properties, including those with all statuses (including ‘sold’ etc).
Limit: 5

agency

Returns: The AgencyDrop for that Branch

branch_manager

Returns: The branch manager as a StaffMemberDrop

contactable_sales_telephone

Returns: A string valud for the Branch sales telephone number

contactable_lettings_telephone

Returns: A string valud for the Branch lettings telephone number

contactable_telephone(channel)

Returns: A string valud for the Branch telephone number based on the channel
Expects: A string channel of ‘sales’ or ‘lettings’

contains_staff_member?(staff_member)

Returns: A boolean to check if a staff member is assigned to the Branch
Expects A StaffMemberDrop

content_chunks

Returns: An array of content chunks, as hashes, where the branch has been set to this one.

content_blocks

Returns: An array of content chunks, as ContentBlockDrops, where the branch has been set to this one.

default_vox_number

Returns: The default VOX telephone number as a string

description

Returns: The Branch description as text

description_with_agency_fallback

Returns: The Branch description as text and if this is blank then the Branch Agency description is returned

facebook_uri

Returns: A string URL for the Branch’s facebook page

googleplus_uri

Returns: A string URL for the Branch’s googleplus page

Returns: A boolean if any social links are set

hero_asset

Returns: The hero image for the Branch as a MrRichardImage

lettings_staff_profiles

Returns: A collection of StaffProfileDrop’s of any lettings negotiators

linkedin_uri

Returns: A string URL for the Branch’s linkedin page

member_subscription_level

Returns:

node(slug)

Returns: A specific node associated with the branch.

nodes

Returns: An array of nodes associated with the branch.

photo

Returns: The default photo for the Branch as a MrRichardImage

photos

Returns: A collection of MrRichardImage’s for the Branch photos

recent_sales_properties

Returns: A collection of the latest sales properties
Limit: 5

recent_lettings_properties

Returns: A collection of the latest lettings properties
Limit: 5

recent_properties

Returns: A collection of the latest properties
Limit: 5

sales_staff_profiles

Returns: A collection of StaffMemberDrops of any sales negotiators

staff_profiles

Returns: A collection of StaffMemberDrops for all the Branch employees

staff_member(staff_member_id)

Returns: An individual staff member’s StaffMemberDrop
Expects: A string staff_member_id

ten_recent_lettings_properties

Returns: A collection of the latest lettings properties
Limit: 10

ten_recent_sales_properties

Returns: A collection of the latest sales properties
Limit: 10

twitter_uri

Returns: A string URL for the Branch’s twitter page

vox_numbers

Returns: A collection of VOX number strings for the branch

Location Drop

best_location_condition

Returns:

branch_request

Returns:

county

Returns: The CountyDrop that the Location belongs to

has_polygon?

Returns: Boolean whether the Location has a polygon or not

nearby_agencies

Returns: A collection of AgencyDrop’s nearby Limit 10 results

nearby_branches

Returns: A collection of BranchDrop’s nearby Limit 10 results

nearby_locations

Returns: A collection of LocationDrop’s nearby Limit 10 results

nearest_branch

Returns: The closest BranchDrop to the center point for the Location

name

Returns: The name as a string

polygons

Returns: A collection of polygons that make up the Location

polygon_for_google_maps

Returns:

Node Drop

html_title

Returns: A string value of the title of the Node

meta_title

Returns: The node meta_title as a string

meta_description

Returns: The meta_description of the node as a string

description

Returns: A string with the Node’s description

node_type

Returns: The type of the Node

slug

Returns: The slug for the Node as a string

Page Drop

action_name

Returns: The current action name as a string. Example use of this would be to target CSS content for certain pages of the site.

controller_name

Returns: The current controller name as a string. A typical use of this would be to target CSS content for areas of the site.

hero_asset

Returns: The URL to the Hero asset

host

Returns:

image_size_from_name

Returns:

lettings_price_dropdown_list

Returns:

page_description

Returns::

page_title

Returns:

Returns:

sales_price_dropdown_list

Returns:

Returns: A boolean stating whether there are any sidebars that can be rendered on the page

Returns: HTML content for the sidebar for that page

url

Returns:

Pagination Drop

current_page

Returns: An integer value for the current page number

Returns:

from_record

Returns: An integer value for the record number of the first listing on that page

has_next_page

Returns: A boolean if there is another page of results

has_prev_page

Returns: A boolean if there is a previous page of results

Returns:

Returns:

page_count

Returns: An integer value for the total number of pages

page_size

Returns: An integer value for the number of records per page

Returns:

to_record

Returns: An integer value for the record number of the last listing on that page

total_count

Returns: An integer value for the total number of records

Portal Drop

article(article_id)

Returns: A specific ArticleDrop
Expects String article_id

articles

Returns:

Returns: A collection of PropertyDrop’s that have been set to be featured

has_menu?

Returns: A boolean whether the site has a menu

lower_search_threshold_for_channel

Returns:

Returns: A collection of MenuItemDrop’s

nearby_branches_with_staff

Returns: A collection of BranchDrop’s near the Portal’s center point Limit 10

page(page_id)

Returns: A specific PageDrop
Expects String page_id

website_live

Returns: A boolean if the website has gone live

Returns: A MrRichardImage of the Portal’s website specific logo. This can be used if the original logo does not work well on the site

Property Drop

Updated 2/2/2017

This is a comprehensive list of the methods available to theme templates as Liquid variables from property pages. To use these within the infinite scroll template on the properties index page, they will need to be added to the _properties_list.ljson file.

audiotour_url

Returns: The url for the property’s audio tour as a string, if it has one.

acreage

Returns: The total acreage of the property, as an integer.

acreage_float

Returns: The total acreage of the property, as a float.

address_with_commas

Returns: The full property address as a string, with the lines separated by commas.

associated_profile

Returns: A random staff member from those associated with the property.

associated_profiles

Returns: An array of staff members associated with the property.

associated_profiles_with_avatar

Returns: An array of staff members associated with the property who have avatar images.

associated_profile_with_avatar

Returns: A random staff member from those associated with the property who have avatar images.

associated_sales_profile

Returns: A random staff member from those associated with the property who are contactable for sales.

associated_sales_profiles

Returns: An array of staff members associated with the property who are contactable for sales.

associated_lettings_profile

Returns: A random staff member from those associated with the property who are contactable for lettings.

associated_lettings_profiles

Returns: An array of staff members associated with the property who are contactable for lettings.

available_on

Returns: If supplied, the date the property is available.

bathrooms

Returns: An integer for number of bathrooms that sometimes comes in as zero or empty so needs to be checked.

branch

Returns: Return the associated branch for the property as a BranchDrop.

branch_name

Returns: the name of the associated branch as a string.

branch_url_label

Returns: the associated branch’s url label (the last part of the url for linking to a branch).

branch_id

Returns: the associated branch’s ID.

bedrooms

Returns: An integer for bedroom count that sometimes comes in as zero or empty so needs to be checked.

bedrooms_text

Returns: A string of the number of bedrooms followed by the correctly pluralized word. e.g “1 bedroom” / “2 bedrooms”

brochures

Returns: This for loop would output all the brochures supplied.
Example use:

{% for brochure in property.brochures %}
 <li><a href="{{ brochure | url_for_property_asset }}">Download brochure</a></li>
{% endfor %}

building_name

Returns: The name of the property’s building, if it has one.

child_properties

Returns: the property’s child properties, if it has any.

county

Returns: The property’s county.

days_on_market

Returns: The number of days the property has been available.

description

Returns: The property’s full description (short + long if the short description is not taken from the long description).

epc_charts

Returns: This for loop would output all the EPC charts supplied.
Example use:

{% for epc_chart in property.epc_charts %}
 {% if forloop.first %}
  <a href="{{ epc_chart | url_for_property_asset }}">
  {% if property.epc_charts.size == 1 %}
   View EPC chart
  {% else %}
   View EPC charts
  {% endif %}
  </a>
 {% else %}
  <a href="{{ epc_chart | url_for_property_asset }}" style="display:none"></a>
 {% endif %}
{% endfor %}

external_url

Returns: the url for the property’s first external link.

features

Returns: A list of property features that can be displayed as bullet points.

floorplans

Returns: The collection of floor plans. This loop could output the floor plans to a light box e.g Fancybox, Colorbox, etc.
Example use:

{% for floorplan in property.floorplans %}
 {% if forloop.first %}
  <a href="http://mr0.homeflow-assets.co.uk/{{ floorplan.image }}" title="Floor plan">
  {% if property.floorplans.size == 1 %}
    View floor plan
   {% else %}
    View floor plans
  {% endif %}
  </a>
  {% else %}
   <a href="http://mr0.homeflow-assets.co.uk/{{ floorplan.image }}" style="display:none;" title="Floor plan"></a>
 {% endif %}
{% endfor %}

has_audio_tour?

Returns: A boolean value for whether the property has an audio tour.

has_external?

Returns: A boolean value for whether the property has an external link.

has_video?

Returns: A boolean value for whether the property has a video.

has_virtual_tour?

Returns: A boolean value for whether the property has a virtual tour.

high_res_photos

Returns: an array of high resolution photos for the property, if available.

home_reports

Returns: An array of home reports for the property, if there are any.

image_only_epc_charts

Returns: EPC charts that are images.

investment_yield

Returns: The investment yield for the property, if available (defaults to 0).

is_auction?

Returns: a boolean value for whether the property’s tags contains ‘auction’

is_commercial?

Returns: a boolean value for whether the property’s tags contains ‘commercial’

is_new_homes?

Returns: a boolean value for whether the property’s tags contains ‘new homes’

is_short_let?

Returns: A Boolean if the property is a short let property

is_premium?

Returns: a boolean value for whether the property’s tags contains ‘premium’

lettings_fee_text

Returns: The body of a content chunk named ‘lettings_fee_text’ if it exists and the property’s primary channel is lettings.

Returns: Any links for the property.

long_description

Returns: the long description for the property.

mab_typical_repayments

Returns: the typical repayment according to the mortgage advice bureau.

main_photo

Returns: the property’s first photo.

nearest_location

Returns: the property’s nearest location, as a LocationDrop.

nodes

Returns: The nodes for the property, if there are any.

photos

Returns: an array of the photos for the property.

price

Returns: the property’s price.

price_without_qualifier

Returns: the property’s price without the ‘£’ or any preceding qualified like ‘Offers in the region of’.

property_primary_channel

Returns: ‘sales’ or ‘lettings’

property_ref

Returns: The agent’s supplied property reference.

property_type

Returns: The type of property as a string (‘house’, ‘flat’ etc)

raw_description

Returns: The property’s description, with any HTML tags stripped out.

raw_short_description

Returns: The property’s short description, with any HTML tags stripped out.

reception_rooms

Returns: A numerical figure that sometimes comes in as zero or empty so needs to be checked.

rent_pw_value

Returns: The property’s rent calculated for one week.

road_name

Returns: The property’s road name.

short_description

Returns: a short description for the property, if it has one.

short_or_long_description

Returns: The short description, if it has one. Otherwise, the long description.

square_feet

Returns: The total area of the property, in square feet.

tags

Returns: An array of the tags set for the property.

url_description

Returns: A slug for the property - using bedrooms, type, road name and postcode and joined with hyphens.

vox_number

Returns: Homeflow is able to generate recorded telephone numbers for properties. Doing a check on this drop can see whether one is available.

video_url

Returns: The url for the property’s first video, if it has one (as a string).

virtual_tour_url

Returns: the url for the property’s virtual tour, if it has one (as a string).

Search Drop

alert frequency

Returns: The alert frequency set for a saved search, as a string.

bedrooms_description

Returns: The bedrooms as a String in a more titled format. i.e ‘between 6 and 9 bedrooms’

channel

Returns: The search channel as a String. Either ‘sales’ or ‘lettings’

description

Returns: A string of the price description and bedrooms combined

fragment

Returns: The search fragment as a string, e.g. ‘/up-to-800/most-recent-first’

geospacial_description

Returns: The geospacial description from the location searched
Requires The search to have a location

max_acreage

Returns: The max acreage

min_acreage

Returns: The min acreage

max_square_feet

Returns: The max square feet

min_square_feet

Returns: The min square feet

min_bedrooms

Returns: The min bedrooms with the price qualifier as a String

max_bedrooms

Returns: The max bedrooms with the price qualifier as a String

min_beds_value

Returns: The Integer value of the min bedrooms

max_beds_value

Returns: The Integer value of the max bedrooms

min_price_value

Returns: The min price value as an Integer

min_price_value

Returns: The max price value as an Integer

name

Returns: The query string for the search

order

Returns: The order to return properties as a string, e.g. ‘most-recent-first’

place

Returns: Either the location or county for the search as a String

price_description

Returns: The price as a String in a more titled format. i.e ‘between £150,000 and £200,000’

radius_in_km

Returns: The search radius in kilometres, as an integer.

radius_in_miles

Returns: The search radius in miles, as an integer.

radius_in_miles_formatted

Returns: The search radius in miles as a String, formatted. E.g. ‘1/2 mile’ or ‘50’ miles

search_radius_in_meters

Returns: The search radius in meters, as a float.

status

Returns: The status for searched properties, e.g. ‘sold’.

tags

Returns: A String representation of the tags used for the search. These are often used for property type filtering.

Staff Member Drop

agency

Returns: The AgencyDrop associated with the StaffMember

avatar

Returns: A MrRichardDrop image for the StaffMember’s avatar

branch

Returns: The BranchDrop for the StaffMember

direct_line

Returns: If entered on the system, the staff member’s direct dial number.

has_avatar?

Returns: A boolean for whether the StaffMember has an avatar available

Returns: A boolean whether any of the StaffMember’s social page URL’s have been set

twitter_uri

Returns: The staff member’s Twitter URI.

linkedin_uri

Returns: The staff member’s linkedin URI.

facebook_uri

Returns: The staff member’s Facebook URI.

googleplus_uri

Returns: The staff member’s Google+ URI.

instagram_uri

Returns: The staff member’s Instagram URI.

long_bio

Returns: The long biography for the StaffMember

name

Returns: The full name as a string for the StaffMember

name_without_acronyms

Returns: Some staff names contain lengthy qualification acronyms that can cause layout problems - use this to strip these acronyms.

property_commments

Returns: A collection of comments against properties made by the StaffMember

staff_member_articles

Returns: The articles where the author is the staff member.

video_uri

Returns: If the staff member has a video URL entered on the system, this field will retrieve it. Note there’s no guarantee what format or type of link this will be.

Testimonial Drop

name

Returns: The name of the person with which the Testimonial was from as a String

content

Returns: The Testimonial content as Text

channel

Returns: A String representation of the channel (sales, lettings)

branch

Returns: A BranchDrop for the Testimonial, if available

created_at

Returns: The data and time the Testimonial was created as a String

Local Business Data Drop

business_name

Returns: The name of the business, eg “Aldi”

category

Returns: The umbrella category to which the business belongs, eg “Groceries, Supermarkets & Food Shops”

sub_category

Returns: The specific category to which the business belongs, eg “Supermarkets”

business_type

Returns: The type of business, eg “Multiple”

parent_company

Returns: The umbrella company to which the business belongs, eg “Hofer KG”

classification

Returns: The classification in which the business falls, eg “Convenience”

description

Returns: A short description outlining what the business does, eg “Aldi sell a wide range of groceries, fresh fruit and vegetables, chilled and frozen foods, alcohol and household goods.”

image_url

Returns: A url that links to an image of the business

opening_times

Returns: The opening times for that business, eg “Sun: 10:00-16:00 Mon: 08:00-22:00 Tue: 08:00-22:00 Wed: 08:00-22:00 Thu: 08:00-22:00 Fri: 08:00-22:00 Sat: 08:00-22:00”

address

Returns: The formatted address of the business , eg
“unit”: null, “building”: “A5”, “street_number”: null, “street_name”: “Watling Street”, “town”: “Hinckley”, “county”: “Leicestershire”, “region”: “East Midlands”, “postcode”: “LE10 3ED”

distance_from_point_of_reference

Returns: Returns the distance that the business is from the property, branch or location.

Property Facets Drop

To access the additional information about the property, just reference property.facets, e.g.

{{ property.facets.council_tax_amount }}

These are the available values:

council_tax_amount

Returns: The cost of the property’s council tax.

council_tax_band

Returns: The single-letter designation for the property’s council tax band.

local_authority

Returns: The property’s local council, e.g. “London Borough of Brent”

attr_chain_free

Returns: a 1 if the property is chain-free.

co2_actual_rating

Returns: the actual CO2 rating for the property.

co2_potential_rating

Returns: the potential CO2 rating for the property.

epc_actual_rating

Returns: the actual EPC rating for the property.

landlord_reg_number

Returns: the landlord registration number, if applicable.

heating_type

Returns: the type of heating for the property.

accepted_occupancy_couple

Returns: a 1 if couples occupancy is accepted.

accepted_occupancy_single

Returns: a 1 if single occupancy is accepted.

attr_studio

Returns: a 1 if the property is a studio.

let_duration_max

Returns: the maximum let duration.

rent_includes_rates_tax

Returns: a 1 if the rent includes rates tax.