import { CamelCaseKeys } from '../../utils'; import { HestiaAgencyEmployeeData } from './agency-employee.types'; export type HestiaBranchData = { [key: string]: any; agency_id: number; branch_id: number; address: string; branch_url_label: string; short_description: string; description: string; departments: HestiaDepartment[]; position: number; foreign_keys_by_provider: null; is_top_branch: null; staff_profiles: any[]; sales_enabled: boolean; lettings_enabled: boolean; contact_telephone: string; sales_telephone: string; lettings_telephone: string; sales_fax: string; lettings_fax: string; contact_email: string; lettings_email: string; sales_email: string; reapit_mapping: null; photo: string; photos: HestiaPhoto[]; hero_asset: string; nodes: any[]; show_full_details_on_homepage: boolean; rda_branch_preferences: any[]; branch_opening_times: HestiaOpeningTime[]; fees: DBAPIFee[]; preferences: { facebook_uri: string; linkedin_uri: string; twitter_uri: string; instagram_uri: string; video_uri: string; franchisee_name: string | null; letting_agency_registration_number: number | null; services: HestiaService[]; unique_selling_points: HestiaUSP[]; }; name: string; lat: number; lng: number; h1_tag: string; meta_title: string; meta_description: string; vox_numbers: any[]; news: HestiaNews[]; wanted_ads: WantedAd[]; feature_properties: HestiaFeatureProperty[] | null; agency_portal_preferences: { member_subscription_level: number; staff_profiles_enabled_on_prompted_pages: boolean; has_outbound_link: boolean; staff_profiles_enabled_on_property_pages: boolean; outbound_link_seo_benefit: boolean; staff_profiles_enabled_on_branch_pages: boolean; outbound_link_text: null; enable_social_media_links: boolean; is_featured_agency: boolean; outbound_link_target: null; }; agency: { preferences: { googleplus_uri: string; facebook_uri: string; video_uri: string; twitter_uri: string; tiktok_uri: string; linkedin_uri: string; }; provider_preferences: { feed_updated_at: string; }; street_address: string; town: string; county: string; postcode: string; agency_id: number; site_id: number; short_description: string; twitter_screen_name: string; sales_search_order_by: string[]; website_logo: string | null; favicon_logo: string; mobile_logo: string; portal_logo: string; tile_logo: string | null; secondary_domain: string[]; mobile_site_enabled: boolean; website_live: boolean; status_mobile: boolean; status_social: string; property_path: string; mobile_domain: string; subdomain: string; description: string; contact_telephone: string; activated_domain: string; external_domain: string; lettings_search_order_by: string[]; name: string; logo: string; }; }; export type HestiaDepartment = { name: string; label: string; branch_department_url_label: string; address: string; street_address: string; county: string; town: string; postcode: string; email: string; tel: string; position: number | null; loc: [number, number]; polygon: null; department_id: number; department_opening_times: HestiaOpeningTime; meta_title: string; meta_description: string; staff: HestiaAgencyEmployeeData[]; content_items: []; }; export type BranchDepartment = CamelCaseKeys; export type HestiaFeatureProperty = { id: number; description_author: string; business_unit: string; expiry_date: string; type: string; description: string; branch_name: string; }; export type HestiaService = { email_address: string; fax_number: string; service: string; phone_number: string; enabled: boolean; provided_by?: string; branch_url?: string; }; export type HestiaUSP = { sort_order: number; unique_selling_point_text: string; business_unit: string; }; export type HestiaNews = { expiry: string; business_unit: string; news_text: string; }; export type WantedAd = { sort_order: number; advert: string; business_unit: string; }; export type HestiaOpeningTime = { close_time: string; day_of_week: number; open_time: string; }; export type HestiaOpeningTimeJoined = { close_time: string; days_of_week: string; open_time: string; }; export type HestiaPhoto = { position: number; description: string; url: string; }; export type HestiaBranchResponse = { error: null | string; result: { branch: HestiaBranchData; }; response: { status: number; time_taken: number; }; }; export type BranchHestiaSearchParams = { location?: { within?: { polygon?: string; }; near?: { distance?: number; point?: [number, number]; }; inside_polygon?: { /** [lng, lat] */ point?: [number, number]; }; }; }; export type DBAPIEmailPortalData = { id: number; created_at: string; portal_id: number; agency_id: number | null; branch_id: number | null; message: string | null; sale_id: number | null; letting_id: number | null; property_id: number | null; associations: any[]; filtered_associations: any[]; }; export type DBAPIValuationRequestData = { id: number; created_at: string; portal_id: number; agency_id: number | null; branch_id: number | null; message: string | null; valuation_reason: string | null; associations: any[]; filtered_associations: any[]; }; export type DBAPIBookViewingLeadsData = DBAPIEmailPortalData; export type DBAPIRequestDetailsLeadsData = DBAPIEmailPortalData; export type DBAPIBranchForeignKeysData = { id: number; branch_id: number | null; service_provider_id: number | null; branch_ref: string; branch: { id: number; created_at: string; agency_id: number; name: string; description: string; telephone: string | null; email: string | null; town: string | null; }; }; export type DBAPIAgency = { id: number; name: string; telephone: string; postcode: string; town: string; county: string; site_id: number; email: string | null; }; export type DBAPIBranchResult = { element: DBAPIBranchData; entity: string; associations: []; filtered_associations: []; error?: string; }; export type DBAPIBranchData = { [key: string]: any; id: number; agency_id: number; name: string; description: string; telephone: string | null; email: string | null; town: string | null; email_portal_leads: DBAPIEmailPortalData[]; valuation_request_leads: DBAPIValuationRequestData[]; book_viewing_leads: DBAPIBookViewingLeadsData[]; request_details_leads: DBAPIRequestDetailsLeadsData[]; branch_foreign_keys: DBAPIBranchForeignKeysData[]; branch_preference: { id: number; branch_id: number; sales_enabled: boolean; lettings_enabled: boolean; lettings_tel: string | null; sales_tel: string | null; lettings_email: string; sales_email: string; }; agency: DBAPIAgency; metadata?: DBAPIBranchMetadata; }; export type DBAPIBranchMetadata = { fees: DBAPIFee; branch: string; company: string; wanted_ads: WantedAd[]; branch_page_url: string; latest_hfae_update: HFAEUpdateData; branch_manager_name: string; rightmove_code_resi: string; lettings_manager_name: string; rightmove_code_lettings: string; branch_accessibility_url: string; external_id_user_branch_manager: number; external_id_user_lettings_manager: number; }; export type Statistics = { ActiveBuyers: number; PropertiesForSale: number; RegisteredApplicantsResi: null; PropertyValueSoldInLastYear: number; RegisteredApplicantsLettings: null; }; export type USP = { SortOrder: number; BusinessUnit: string; UniqueSellingPointText: string; }; export type HFAEUpdateData = { data: { Id: number; Area: string; Name: string; News: []; Town: string; Branch: string; Label: string; County: string; Events: []; Company: string; Latitude: string; Longitude: string; Postcode: string; BranchRef: string; Statistics: Statistics; StreetName: string; StreetNumber: string; BranchPageUrl: string; StaffProfiles: []; MetaDescription: string; TeamDescription: string; BranchManagerName: string; FeatureProperties: []; RightmoveCodeResi: string; ServiceProviderId: number; AssociatedBranches: []; IdUserBranchManager: number; LettingsManagerName: string; UniqueSellingPoints: USP[]; }; }; export type DBAPIFee = { cost: number; name: string; show: boolean; group: string; cost_type: string; qualifier: string; sort_order: number; fee_description: string; price_on_application: boolean; }; export interface HestiaBranchesResult { branches: { total: number; elements: HestiaBranchData[]; }; } //# sourceMappingURL=branch.types.d.ts.map