//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.4927
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace umbraco.Test
{
    using umbraco.Linq.Core;
    using umbraco.Linq.Core.Node;
    using System.Linq;


    /// <summary>
    /// This is the contact form document type for your site.
    /// </summary>
    [UmbracoInfo("CWS_Contact")]
    [DocType()]
    public interface ICWSContact : IDocTypeBase
    {



















        /// <summary>
        /// The email address that you want the form to be sent to.
        /// </summary>
        [UmbracoInfo("emailTo", DisplayName = "Email To", Mandatory = true)]
        [Property()]
        string EmailTo
        {
            get;
            set;
        }

        /// <summary>
        /// The subject of the email that will be sent to you.
        /// </summary>
        [UmbracoInfo("emailSubject", DisplayName = "Email Subject", Mandatory = true)]
        [Property()]
        string EmailSubject
        {
            get;
            set;
        }

        /// <summary>
        /// Use placeholders [Name], [AddressLine1], [AddressLine2], [Email], [Message], [Time] and [Date]
        /// </summary>
        [UmbracoInfo("emailBody", DisplayName = "Email Message", Mandatory = true)]
        [Property()]
        string EmailBody
        {
            get;
            set;
        }

        /// <summary>
        /// The email address that you want the automated reply to be sent from.
        /// </summary>
        [UmbracoInfo("emailReplyFrom", DisplayName = "Email Reply From", Mandatory = true)]
        [Property()]
        string EmailReplyFrom
        {
            get;
            set;
        }

        /// <summary>
        /// The subject of the email that will be sent as the automated reply.
        ///
        /// </summary>
        [UmbracoInfo("emailReplySubject", DisplayName = "Email Reply Subject", Mandatory = false)]
        [Property()]
        string EmailReplySubject
        {
            get;
            set;
        }

        /// <summary>
        /// Use placeholder [Name]
        /// </summary>
        [UmbracoInfo("emailReplyBody", DisplayName = "Email Reply Body", Mandatory = false)]
        [Property()]
        string EmailReplyBody
        {
            get;
            set;
        }

        /// <summary>
        /// Does your SMTP server require SSL?
        /// </summary>
        [UmbracoInfo("enableSSL", DisplayName = "Enable SSL", Mandatory = false)]
        [Property()]
        int EnableSSL
        {
            get;
            set;
        }

        bool EnableSSLBoolean
        {
            get;
        }

        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        string UmbracoUrlName
        {
            get;
            set;
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        string UmbracoUrlAlias
        {
            get;
            set;
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        string MetaDescription
        {
            get;
            set;
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        string MetaKeywords
        {
            get;
            set;
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        int UmbracoRedirect
        {
            get;
            set;
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        int UmbracoNaviHide
        {
            get;
            set;
        }

        bool UmbracoNaviHideBoolean
        {
            get;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("headerText", DisplayName = "Header", Mandatory = false)]
        [Property()]
        string HeaderText
        {
            get;
            set;
        }

        /// <summary>
        /// This is the text that sits to the left of the contact form.
        /// </summary>
        [UmbracoInfo("formText", DisplayName = "Form Text", Mandatory = false)]
        [Property()]
        string FormText
        {
            get;
            set;
        }

        /// <summary>
        /// This is the header for the thankyou the user will see after sumbitting the contact form.
        /// </summary>
        [UmbracoInfo("thankYouHeaderText", DisplayName = "Thank You Header", Mandatory = true)]
        [Property()]
        string ThankYouHeaderText
        {
            get;
            set;
        }

        /// <summary>
        /// This is the thankyou message that the user will see after submitting your form.
        /// </summary>
        [UmbracoInfo("thankYouMessageText", DisplayName = "Thank You Message", Mandatory = true)]
        [Property()]
        string ThankYouMessageText
        {
            get;
            set;
        }

        AssociationTree<CWSTextpage> CWSTextpages
        {
            get;
            set;
        }
    }

    /// <summary>
    /// This is the email a friend form document type for your site.
    /// </summary>
    [UmbracoInfo("CWS_EmailAFriend")]
    [DocType()]
    public interface ICWSEmailAFriend : IDocTypeBase
    {















        /// <summary>
        /// The email address that you want the email to be sent from.
        /// </summary>
        [UmbracoInfo("emailFrom", DisplayName = "Email From", Mandatory = true)]
        [Property()]
        string EmailFrom
        {
            get;
            set;
        }

        /// <summary>
        /// The subject of the email that will be sent to the friend.
        /// </summary>
        [UmbracoInfo("emailSubjectToFriend", DisplayName = "Email Subject to Friend", Mandatory = true)]
        [Property()]
        string EmailSubjectToFriend
        {
            get;
            set;
        }

        /// <summary>
        /// Use placeholders [FriendName], [FriendEmail], [YourName], [YourEmail], [Message], [Date], [Time], [URL]
        /// </summary>
        [UmbracoInfo("emailMessageToFriend", DisplayName = "Email Message to Friend", Mandatory = true)]
        [Property()]
        string EmailMessageToFriend
        {
            get;
            set;
        }

        /// <summary>
        /// Does your SMTP server require SSL?
        /// </summary>
        [UmbracoInfo("enableSSL", DisplayName = "Enable SSL", Mandatory = false)]
        [Property()]
        int EnableSSL
        {
            get;
            set;
        }

        bool EnableSSLBoolean
        {
            get;
        }

        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        string UmbracoUrlName
        {
            get;
            set;
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        string UmbracoUrlAlias
        {
            get;
            set;
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        string MetaDescription
        {
            get;
            set;
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        string MetaKeywords
        {
            get;
            set;
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        int UmbracoRedirect
        {
            get;
            set;
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        int UmbracoNaviHide
        {
            get;
            set;
        }

        bool UmbracoNaviHideBoolean
        {
            get;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("headerText", DisplayName = "Header", Mandatory = false)]
        [Property()]
        string HeaderText
        {
            get;
            set;
        }

        /// <summary>
        /// This is the header for the thankyou the user will see after sumbitting the contact form.
        /// </summary>
        [UmbracoInfo("thankYouHeaderText", DisplayName = "Thank You Header", Mandatory = true)]
        [Property()]
        string ThankYouHeaderText
        {
            get;
            set;
        }

        /// <summary>
        /// This is the thankyou message that the user will see after submitting your form.
        /// </summary>
        [UmbracoInfo("thankYouMessageText", DisplayName = "Thank You Text", Mandatory = true)]
        [Property()]
        string ThankYouMessageText
        {
            get;
            set;
        }

        AssociationTree<CWSTextpage> CWSTextpages
        {
            get;
            set;
        }
    }

    /// <summary>
    /// This is the event document type for your site and lives beneath the News & Events List document type.
    /// </summary>
    [UmbracoInfo("CWS_EventItem")]
    [DocType()]
    public interface ICWSEventItem : IDocTypeBase
    {











        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("eventDate", DisplayName = "Date", Mandatory = false)]
        [Property()]
        System.DateTime EventDate
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("bodyText", DisplayName = "Text", Mandatory = false)]
        [Property()]
        string BodyText
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("articlePhoto", DisplayName = "Photo", Mandatory = false)]
        [Property()]
        string ArticlePhoto
        {
            get;
            set;
        }

        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        string UmbracoUrlName
        {
            get;
            set;
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        string UmbracoUrlAlias
        {
            get;
            set;
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        string MetaDescription
        {
            get;
            set;
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        string MetaKeywords
        {
            get;
            set;
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        int UmbracoRedirect
        {
            get;
            set;
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        int UmbracoNaviHide
        {
            get;
            set;
        }

        bool UmbracoNaviHideBoolean
        {
            get;
        }
    }

    /// <summary>
    /// This is the Galleries document type for your site which stores the Gallery document type as children.
    /// </summary>
    [UmbracoInfo("CWS_GalleryList")]
    [DocType()]
    public interface ICWSGalleryList : IDocTypeBase
    {











        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        string UmbracoUrlName
        {
            get;
            set;
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        string UmbracoUrlAlias
        {
            get;
            set;
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        string MetaDescription
        {
            get;
            set;
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        string MetaKeywords
        {
            get;
            set;
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        int UmbracoRedirect
        {
            get;
            set;
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        int UmbracoNaviHide
        {
            get;
            set;
        }

        bool UmbracoNaviHideBoolean
        {
            get;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("headerText", DisplayName = "Header", Mandatory = false)]
        [Property()]
        string HeaderText
        {
            get;
            set;
        }

        /// <summary>
        /// Choose how you want to sort the child items.
        /// </summary>
        [UmbracoInfo("sortBy", DisplayName = "Sort By", Mandatory = true)]
        [Property()]
        string SortBy
        {
            get;
            set;
        }

        /// <summary>
        /// Choose how you want to sort the child items.
        /// </summary>
        [UmbracoInfo("sortOrder", DisplayName = "Sort Order", Mandatory = true)]
        [Property()]
        string SortOrder
        {
            get;
            set;
        }

        AssociationTree<CWSGallery> CWSGalleries
        {
            get;
            set;
        }
    }

    /// <summary>
    /// This is the gallery document type which stores the Photo document type as children.
    /// </summary>
    [UmbracoInfo("CWS_Gallery")]
    [DocType()]
    public interface ICWSGallery : IDocTypeBase
    {












        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        string UmbracoUrlName
        {
            get;
            set;
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        string UmbracoUrlAlias
        {
            get;
            set;
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        string MetaDescription
        {
            get;
            set;
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        string MetaKeywords
        {
            get;
            set;
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        int UmbracoRedirect
        {
            get;
            set;
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        int UmbracoNaviHide
        {
            get;
            set;
        }

        bool UmbracoNaviHideBoolean
        {
            get;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("headerText", DisplayName = "Header", Mandatory = false)]
        [Property()]
        string HeaderText
        {
            get;
            set;
        }

        /// <summary>
        /// Choose how you want to sort the child items.
        /// </summary>
        [UmbracoInfo("sortBy", DisplayName = "Sort By", Mandatory = true)]
        [Property()]
        string SortBy
        {
            get;
            set;
        }

        /// <summary>
        /// Choose how you want to sort the child items.
        /// </summary>
        [UmbracoInfo("sortOrder", DisplayName = "Sort Order", Mandatory = true)]
        [Property()]
        string SortOrder
        {
            get;
            set;
        }

        /// <summary>
        /// 208px x 108px
        /// </summary>
        [UmbracoInfo("galleryThumbnail", DisplayName = "Thumbnail for Gallery", Mandatory = false)]
        [Property()]
        string GalleryThumbnail
        {
            get;
            set;
        }

        AssociationTree<CWSPhoto> CWSPhotos
        {
            get;
            set;
        }
    }

    /// <summary>
    /// This is the homepage document type for your site.
    /// </summary>
    [UmbracoInfo("CWS_Home")]
    [DocType()]
    public interface ICWSHome : IDocTypeBase
    {












        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        string UmbracoUrlName
        {
            get;
            set;
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        string UmbracoUrlAlias
        {
            get;
            set;
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        string MetaDescription
        {
            get;
            set;
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        string MetaKeywords
        {
            get;
            set;
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        int UmbracoRedirect
        {
            get;
            set;
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        int UmbracoNaviHide
        {
            get;
            set;
        }

        bool UmbracoNaviHideBoolean
        {
            get;
        }

        /// <summary>
        /// This is what your site is called.
        /// </summary>
        [UmbracoInfo("siteName", DisplayName = "Site Name", Mandatory = false)]
        [Property()]
        string SiteName
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("headerText", DisplayName = "Header", Mandatory = false)]
        [Property()]
        string HeaderText
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("homepagePhoto", DisplayName = "Photo", Mandatory = false)]
        [Property()]
        string HomepagePhoto
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("bodyText", DisplayName = "Text", Mandatory = false)]
        [Property()]
        string BodyText
        {
            get;
            set;
        }

        AssociationTree<CWSContact> CWSContacts
        {
            get;
            set;
        }

        AssociationTree<CWSEmailAFriend> CWSEmailAFriends
        {
            get;
            set;
        }

        AssociationTree<CWSGalleryList> CWSGalleryLists
        {
            get;
            set;
        }

        AssociationTree<CWSNewsEventsList> CWSNewsEventsLists
        {
            get;
            set;
        }

        AssociationTree<CWSTextpage> CWSTextpages
        {
            get;
            set;
        }

        AssociationTree<CWSTextpageTwoCol> CWSTextpageTwoCols
        {
            get;
            set;
        }
    }

    /// <summary>
    /// This is the News & Events List document type for your site which stores the News and Event Item document types as children.
    /// </summary>
    [UmbracoInfo("CWS_NewsEventsList")]
    [DocType()]
    public interface ICWSNewsEventsList : IDocTypeBase
    {











        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        string UmbracoUrlName
        {
            get;
            set;
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        string UmbracoUrlAlias
        {
            get;
            set;
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        string MetaDescription
        {
            get;
            set;
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        string MetaKeywords
        {
            get;
            set;
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        int UmbracoRedirect
        {
            get;
            set;
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        int UmbracoNaviHide
        {
            get;
            set;
        }

        bool UmbracoNaviHideBoolean
        {
            get;
        }

        /// <summary>
        /// Choose how you want to sort the child items.
        /// </summary>
        [UmbracoInfo("sortBy", DisplayName = "Sort By", Mandatory = true)]
        [Property()]
        string SortBy
        {
            get;
            set;
        }

        /// <summary>
        /// Choose how you want to sort the child items.
        /// </summary>
        [UmbracoInfo("sortOrder", DisplayName = "Sort Order", Mandatory = true)]
        [Property()]
        string SortOrder
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("headerText", DisplayName = "Header", Mandatory = false)]
        [Property()]
        string HeaderText
        {
            get;
            set;
        }

        AssociationTree<CWSEventItem> CWSEventItems
        {
            get;
            set;
        }

        AssociationTree<CWSNewsItem> CWSNewsItems
        {
            get;
            set;
        }
    }

    /// <summary>
    /// This is the news document type for your site and lives beneath the News & Events List document type.
    /// </summary>
    [UmbracoInfo("CWS_NewsItem")]
    [DocType()]
    public interface ICWSNewsItem : IDocTypeBase
    {










        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("bodyText", DisplayName = "Text", Mandatory = false)]
        [Property()]
        string BodyText
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("articlePhoto", DisplayName = "Photo", Mandatory = false)]
        [Property()]
        string ArticlePhoto
        {
            get;
            set;
        }

        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        string UmbracoUrlName
        {
            get;
            set;
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        string UmbracoUrlAlias
        {
            get;
            set;
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        string MetaDescription
        {
            get;
            set;
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        string MetaKeywords
        {
            get;
            set;
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        int UmbracoRedirect
        {
            get;
            set;
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        int UmbracoNaviHide
        {
            get;
            set;
        }

        bool UmbracoNaviHideBoolean
        {
            get;
        }

        AssociationTree<CWSNewsItem> CWSNewsItems
        {
            get;
            set;
        }
    }

    /// <summary>
    /// This is the Photo document type for your site and lives beneath the Gallery document type.
    /// </summary>
    [UmbracoInfo("CWS_Photo")]
    [DocType()]
    public interface ICWSPhoto : IDocTypeBase
    {











        /// <summary>
        /// Enter a description
        /// </summary>
        [UmbracoInfo("photoText", DisplayName = "Photo Text", Mandatory = false)]
        [Property()]
        string PhotoText
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("photo", DisplayName = "Photo", Mandatory = false)]
        [Property()]
        string Photo
        {
            get;
            set;
        }

        /// <summary>
        /// 151px x 108px
        /// </summary>
        [UmbracoInfo("photoThumbnail", DisplayName = "Thumbnail", Mandatory = false)]
        [Property()]
        string PhotoThumbnail
        {
            get;
            set;
        }

        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        string UmbracoUrlName
        {
            get;
            set;
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        string UmbracoUrlAlias
        {
            get;
            set;
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        string MetaDescription
        {
            get;
            set;
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        string MetaKeywords
        {
            get;
            set;
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        int UmbracoRedirect
        {
            get;
            set;
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        int UmbracoNaviHide
        {
            get;
            set;
        }

        bool UmbracoNaviHideBoolean
        {
            get;
        }
    }

    /// <summary>
    /// This is the Textpage document type for your site.
    /// </summary>
    [UmbracoInfo("CWS_Textpage")]
    [DocType()]
    public interface ICWSTextpage : IDocTypeBase
    {











        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        string UmbracoUrlName
        {
            get;
            set;
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        string UmbracoUrlAlias
        {
            get;
            set;
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        string MetaDescription
        {
            get;
            set;
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        string MetaKeywords
        {
            get;
            set;
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        int UmbracoRedirect
        {
            get;
            set;
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        int UmbracoNaviHide
        {
            get;
            set;
        }

        bool UmbracoNaviHideBoolean
        {
            get;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("headerText", DisplayName = "Header", Mandatory = false)]
        [Property()]
        string HeaderText
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("articlePhoto", DisplayName = "Photo", Mandatory = false)]
        [Property()]
        string ArticlePhoto
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("bodyText", DisplayName = "Text", Mandatory = false)]
        [Property()]
        string BodyText
        {
            get;
            set;
        }

        AssociationTree<CWSTextpage> CWSTextpages
        {
            get;
            set;
        }

        AssociationTree<CWSTextpageTwoCol> CWSTextpageTwoCols
        {
            get;
            set;
        }
    }

    /// <summary>
    /// This is the Textpage document type for your site which has two columns.
    /// </summary>
    [UmbracoInfo("CWS_TextpageTwoCol")]
    [DocType()]
    public interface ICWSTextpageTwoCol : IDocTypeBase
    {













        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("articlePhotoColOne", DisplayName = "Photo", Mandatory = false)]
        [Property()]
        string ArticlePhotoColOne
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("articlePhotoColTwo", DisplayName = "Photo", Mandatory = false)]
        [Property()]
        string ArticlePhotoColTwo
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("bodyTextColTwo", DisplayName = "Text", Mandatory = false)]
        [Property()]
        string BodyTextColTwo
        {
            get;
            set;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("bodyTextColOne", DisplayName = "Text", Mandatory = false)]
        [Property()]
        string BodyTextColOne
        {
            get;
            set;
        }

        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        string UmbracoUrlName
        {
            get;
            set;
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        string UmbracoUrlAlias
        {
            get;
            set;
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        string MetaDescription
        {
            get;
            set;
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        string MetaKeywords
        {
            get;
            set;
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        int UmbracoRedirect
        {
            get;
            set;
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        int UmbracoNaviHide
        {
            get;
            set;
        }

        bool UmbracoNaviHideBoolean
        {
            get;
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("headerText", DisplayName = "Header", Mandatory = false)]
        [Property()]
        string HeaderText
        {
            get;
            set;
        }

        AssociationTree<CWSTextpage> CWSTextpages
        {
            get;
            set;
        }

        AssociationTree<CWSTextpageTwoCol> CWSTextpageTwoCols
        {
            get;
            set;
        }
    }

    /// <summary>
    /// 
    /// </summary>
    [UmbracoInfo("TextPageThreeCol")]
    [DocType()]
    public interface ITextPageThreeCol : ICWSTextpageTwoCol
    {

    }
}

