</> Developers Guide to Funraisin

Funraisin Data Structure

Each Funraisin site is powered by a standalone Maria DB database running of an AWS RDS instance served from one of our 3 global locations.

Below is a guide on the data structure of a standard Funraisin site.

Relationship Diagram

Click here to view as PDF

Core Object Groups

Below is a complete list of the core Funraisin object groups, some of which contain sub-objects.

Blogs
Information relating to the standalone blog

Donations
Information relating to donors

Events
Information relating to events (online, offline and diy)

Members
Information relating to Entrants (online, diy and offline events)

Members History
Information relating to a Members entry into an event

Organisation Pages
Information relating to organisation pages (similar to teams)

Pages
Information relating to CMS pages

Platform Setup
Information relating to the platform itself

Raffles
Information relating to raffles and raffle sales

Shop
Information relating to all merch products and sales

Teams
Information relating to fundraising teams

Transactions
Information relating to a payment.

Events Objects

Events

Information relating to all events.

["event_id","created_member_id","diy_category_id","charity_id","page_id","event_key","event_code","is_locked","is_featured","use_custom_nav","use_custom_dollarhandles","has_page","event_name","event_type","event_category","allow_entries","entry_type","entry_limit","use_entry_code","entry_code","event_fee","event_fee_description","event_ticket_price","event_tickets","event_tickets_allow_multiple","event_tickets_max","event_tickets_min","event_allow_tables","event_tables","event_table_price","event_seats_per_table","event_fundraising","event_domain","st_prefix_donation","st_prefix_registration","st_prefix_ticket","st_prefix_shop","event_closed","event_closed_date","event_closed_time","event_closed_msg","event_short_desc","event_about_info","event_about_image","event_important_info","event_important_image","event_banner","event_mobile_banner","event_image","event_header_height","event_header_bgcolor","event_header_html","event_header_mask","event_header_mask_color","event_header_mask_opacity","event_thumb","event_target","event_offline","event_date","event_expiry","event_time","event_end_time","event_location","event_unit","event_number","event_street","event_suburb","event_city","event_postcode","event_state","event_country","event_lat","event_lng","event_map","event_website","show_address","show_emergency_contact","show_terms","show_waiver","event_waiver","show_dob","show_gender","show_phone","show_mobile","show_donation","show_progress","event_fundraising_banner","event_fundraising_banner_mobile","st_target_team","st_target_team_min","st_target_member","st_target_member_min","st_target_distance_member","st_target_distance_member_min","st_target_distance_member_max","st_title_member","event_fundraising_message","event_blog_message","st_title_team","event_teamfundraising_message","event_facebook_like_member","event_facebook_like_team","event_twitter_like_member","event_twitter_like_team","event_email_like_member","event_email_like_team","event_email_like_subject_member","event_email_like_subject_team","event_email_join_team","event_email_join_subject_team","event_facebook_share_member","event_facebook_share_title_member","event_facebook_share_team","event_twitter_share_member","event_twitter_share_team","event_social_sharing","event_social_sharing_public","event_email_share_subject_member","event_email_share_member","event_email_share_subject_team","event_email_share_team","event_sms_like_member","event_sms_like_team","event_alerts","event_alert_ids","event_campaign_from","st_teams","st_fundraising","st_fitness","st_challenge_mode","st_donations","st_donations_personal","event_on_header","event_on_home","event_on_landing","event_default_image","event_default_team_image","confirmation_page_id","confirmation_url","event_confirmation_html","send_confirmation_email","confirmation_email_template_id","confirmation_email_subject","confirmation_email_body","event_page_facts","event_page_date","event_page_location","event_page_fees","event_page_about","event_page_info","in_search","sort_order","event_tags","event_status","crm_event_id","last_updated","date_created"]

Events Custom Fields

Where we store custom fields relating to an event.

["id","event_id","field_name","field_value","last_updated"]

Events Options

Where we store options relating to an event.

["id","event_id","option_name","option_value","date_created"]

Events Tickets

Where we store ticket packages relating to an event.

["ticket_id","event_id","member_type_id","ticket_name","ticket_code","ticket_category","ticket_price","ticket_limit","is_table","allow_guests","is_private","num_tickets","min_buy_limit","max_buy_limit","ticket_description","ticket_image","ticket_line_item","ticket_status","sort_order","crm_ticket_id","last_updated","date_created"]

Donation Objects

The following objects are connected to donors

Donations

Information relating to a donor and their donation. For regular givers this is the initial donation.

["donation_id","event_id","org_id","team_id","member_id","cause_id","fbuser_id","fbuser_pic","history_id","charity_id","page_id","event_page_id","smscode_id","sale_id","sale_item_id","product_id","raffle_sale_id","matched_id","related_donation_id","donation_hash","donation_type","campaign_id","donation_frequency","donation_period","number_donations","donation_reason","donation_reason_for","donation_interval","display_on","d_photo","d_title","d_fname","d_lname","d_lname_prefix","d_organisation","d_email","is_fundraiser_email","care_of_email","d_optin","d_external_optout","d_external_optout_date","d_optin_email","d_optin_sms","d_optin_post","d_optin_phone","d_optin_text","d_optin_charity","d_optin_fees","d_fee","d_gender","d_language","d_dob","d_address_unit","d_address_number","d_address_street","d_address_2","d_address_suburb","d_address_pcode","d_address_state","d_address_country","d_address_dpid","d_address_barcode","d_phone","d_phone_home","d_phone_work","d_phone_mobile","d_phone_mobile_suffix","d_comments","d_response","d_leave_message","d_display_name","d_receipt","d_anonymous","d_amount","d_amount_local","d_currency","d_currency_rate","d_currency_platform_rate","d_amount_free","d_amount_sel","gateway_customer_ref","gateway_card_ref","po_number","tax_ref","payment_intent_id","card_type","card_country","card_brand","payment_method","card_number","card_name","card_expiry","cheque_name","cheque_number","eft_reference","date_paid","date_banked","d_status","d_receipt_num","d_receipt_sent","is_mobile","is_donation","is_profile_donation","d_refund_amount","d_refund_amount_local","d_refund_reason","d_refund_date","d_reissue_date","gift_aid","sent_thanks","in_memory","in_memory_title","in_memory_fname","in_memory_lname","in_memory_email","in_memory_address1","in_memory_address2","in_memory_card","ecard_first_name","ecard_last_name","ecard_email","ecard_comments","ecard_address","kw_address","donor_lat","donor_lng","donor_ip","donor_useragent","utm_campaign","utm_source","utm_medium","utm_content","utm_term","donation_tags","crm_donor_id","funraisin_synced","ecrm_customer_id","scrm_customer_id","last_logged_in","ecrm_last_synced_date","scrm_last_synced_date","last_updated","date_created"]

Donation Custom Fields

Where we store any custom fields added against a donor

["id","donation_id","field_name","field_value","last_updated"]

Donations Errors

Where we store any errors encountered on scheduled donations (regular giving)

["id","donation_id","d_amount","error_message","has_retried","last_retried_date","has_retried2","has_retried3","has_retried4","last_retried4_date","last_retried3_date","last_retried2_date","last_retried_error_message","date_created","has_succeeded"]

Donations History

Where we store the transaction history of successful scheduled donations (regular giving)

["id","donation_id","d_amount","po_number","tax_ref","crm_donation_id","date_created"]

Donations Reminders

Used to store a history of card expiry reminders that we have sent out for a donor

["id","donation_id","date_created"]

Donations Scheduled

Used to store scheduled donations (regular giving)

["id","donation_id","d_amount","d_fee","donation_frequency","donation_period","donation_day","start_date","card_expiry","last_attempt_date","donation_status","crm_schedule_id","last_updated","date_created"]

Donations Steps

Used to record post donation steps e.g. sharing page

["step_id","donation_id","step","date_created"]

Donations Triggers

Used to record any triggers sent to a donor

["id","donation_id","trigger_id","date_created"]

Member Objects

Members

Information relating to a fundraiser or entrant.

["member_id","charity_id","member_hash","member_login_token","related_member_id","m_rego_number","fbuser_id","fbuser_pic","google_user_id","apple_user_id","m_status_type","m_title","m_fname","m_lname","m_lname_prefix","m_middle","m_maiden","m_email","m_username","m_pass","m_dob","m_gender","m_language","m_address_unit","m_address_number","m_address_street","m_address_2","m_address_suburb","m_address_city","m_address_pcode","m_address_state","m_address_country","m_address_dpid","m_address_barcode","kw_address","postal_is_same","m_postal_unit","m_postal_number","m_postal_street","m_postal_address_2","m_postal_suburb","m_postal_city","m_postal_pcode","m_postal_state","m_postal_country","m_postal_dpid","m_postal_barcode","m_phone_home","m_phone_work","m_phone_mobile","m_phone_mobile_suffix","m_emergency_contact","m_emergency_contact_alt","m_emergency_contact_type","m_emergency_phone","m_medical_conditions","m_medical_conditions_text","m_business_contact_name","m_business_contact_number","m_medication","m_medication_details","m_hospitalised","m_hospitalised_details","m_diet_notes","m_addition_care","m_twitter","m_instagram","m_pinterest","m_snapchat","participated_prior","m_photo","m_coverphoto_personal","m_background","m_insupport","m_codeblock_personal","m_codeblock_personal_mobile","m_confirmation_sent","m_reminder_sent","m_donation_sent","m_goal_sent","m_alert_donation","m_alert_goal","m_agreed_waiver","m_name_alt","m_gallery_title","m_gallery_copy","m_ranking_overall_on","m_ranking_team_on","agree_site_terms","participated_before","agree_to_pay","agree_over_18","agree_to_fundraise","m_company","m_company_matchgiving","m_position","m_bio","m_shirt_size","referal","is_mobile","optin","m_optin","m_optin_text","m_optin_date","m_optin_email","m_optin_sms","m_optin_post","m_optin_phone","m_external_optout","m_external_optout_date","m_optout_triggers","m_optout_triggers_date","crm_member_id","ecrm_customer_id","scrm_customer_id","gateway_customer_ref","gateway_card_ref","no_index","m_status","last_logged_in","ecrm_last_synced_date","scrm_last_synced_date","last_updated","date_created"]

Members Blogs

Where we store fundraising blogs for members and teams.

["blog_id","blog_type","blog_key","member_id","history_id","team_id","org_id","event_id","blog_title","blog_content","blog_url","blog_embed_code","blog_image","blog_video","is_mobile","is_default","last_updated","date_created"]

Members Contacts

Where we store contacts uploaded by members.

["id","member_id","history_id","contact_name","contact_email","date_created"]

Members Custom Fields

Where we store custom fields for a member.

["id","member_id","history_id","form_id","field_name","field_value","last_updated"]

Members Fitness Activity

Where we store fitness activities manually uploaded or synced via fitness apps.

["id","member_id","history_id","team_id","org_id","event_id","source","source_id","distance","elevation","kilojoules","calories","start_latlng","end_latlng","duration","activity","activity_type","steps","date_from","date_created"]

Members Fitness Setup

Where we store fitness app information for members e.g. Fitbit, Strava.

["id","member_id","history_id","source","source_id","webhook_id","token","token_expiry","refresh_token","auth_code","token_error","reminder_sent","reminder_sent_date","last_updated","date_created"]

Members History

Information relating to a fundraiser's or entrant's entry into an event.

["history_id","member_id","event_id","org_id","team_id","charity_id","group_id","table_id","wave_id","ticket_id","invited_member_id","paid_member_id","managed_member_id","history_type","member_type","bib_number","seat_number","is_active","is_additional","is_archived","is_fundraising","is_team","is_featured","is_attending","date_attending","has_checkedout","date_checkedout","done_personaldetails","done_eventoptions","done_fundraising","done_teamdetails","conf_key","entry_code","promo_id","paypal_token","stripe_source_id","payment_intent_id","insurance_quote_id","m_optin_insurance","ticket","number_tickets","number_tables","team_access","org_access","m_display_reason","m_target","m_target_local","m_target_distance","m_target_duration","m_target_steps","m_challenge_mode","m_comments","m_reason","m_stream","m_stream_username","m_stream_type","m_stream_comments","m_codeblock","m_codeblock_mobile","m_page_title","m_coverphoto","m_event_photo","show_gallery","show_social","m_donation_amount","m_donation_amount_local","m_donation_amount_sel","m_donation_amount_free","m_donation_po","m_donation_fee","m_donation_fee_optin","is_paid","is_complete","date_completed","total_paid","total_paid_local","m_currency","m_currency_rate","m_currency_platform_rate","total_paid_entry","total_paid_entry_local","total_paid_ticket","total_paid_paypal","total_paid_card","total_paid_extra","total_paid_merchandise","total_paid_merchandise_local","total_paid_donation","total_paid_donation_local","total_paid_delivery","total_paid_delivery_local","total_paid_insurance","total_paid_insurance_local","total_paid_fees","total_paid_tax","m_refund","m_refund_amount","m_refund_reason","m_refund_date","m_receipt_sent","m_confirmation_sent","payment_method","eft_reference","payment_source","payment_failed","payment_failed_reason","po_number","tax_ref","card_type","card_country","card_brand","card_number","card_expiry","card_name","date_paid","bsb_number","account_number","cheque_name","money_order_number","sort_order","activity_lat","activity_useragent","activity_ip","activity_lng","card_token","customer_token","utm_campaign","utm_source","utm_medium","utm_content","utm_term","m_optin_event","m_optin_event_email","m_optin_event_sms","m_optin_event_post","m_optin_event_phone","m_optout_event_triggers","m_optout_event_triggers_date","m_optin_event_text","m_thanks_message","m_thanks_video","m_thanks_image","in_memory_name","in_memory_next_of_kin","in_memory_relationship","fb_fundraiser_id","twitch_id","total_raised","total_steps","total_distance","total_duration","crm_history_id","funraisin_synced","last_updated","date_created"]

Members History Options

Information relating to a fundraiser's or entrant's entry into an event such as waves, tickets, merchandise.

["id","option_type","event_id","member_id","history_id","product_id","shop_product_id","option_id","ticket_id","wave_id","option_num","option_textfield","option_cost","date_created"]

Teams Objects

Teams

Information relating to a fundraising team.

["team_id","event_id","org_id","history_id","charity_id","captain_id","bib_number","t_name","t_url","t_target","t_target_local","t_target_distance","t_target_steps","t_target_duration","t_name_alt","is_featured","t_comments","t_codeblock","t_codeblock_mobile","t_page_title","t_company_name","t_company_website","t_industry","t_industry_other","t_photo","t_coverphoto","t_background","t_alert_donation","t_alert_member","t_alert_goal","t_goal_sent","t_gallery_title","t_gallery_copy","t_thanks_message","t_address_unit","t_address_number","t_address_street","t_address_2","t_address_suburb","t_address_pcode","t_address_state","t_address_country","t_event_date","t_kw_address","t_event_time","t_lat","t_lng","related_teams","t_public","t_passcode","has_vacancy","vacancy_description","total_raised","total_steps","total_distance","total_duration","crm_team_id","t_status","last_updated","date_created"]

Teams Custom Fields

Where we store custom fields for a team

["id","team_id","field_name","field_value","last_updated"]

Teams Stats

Where we store team page visits

["id","team_id","email_id","email_type","email_subject","stat_type","source","referer","is_mobile","date_created"]

Teams Triggers

Where we store triggers sent to a team

["id","team_id","history_id","trigger_id","date_created"]

Transactions Objects

Transactions

Information relating to a payment.

["transaction_id","transaction_type","charity_id","transaction_value","currency","currency_rate","transaction_fees","transaction_fees_gateway","transaction_fees_mandatory","transaction_tax","is_reconciled","transaction_notes","payment_type","payment_reference","balance_transaction_id","payout_id","account_id","po_number","member_id","history_id","donation_id","schedule_id","billing_id","payment_id","sale_id","raffle_id","event_id","page_id","event_page_id","related_transaction_id","gl_code1","gl_code2","fb_payment_id","crm_transaction_id","funraisin_synced","date_created"]

Transactions Payments

Information relating to a stripe payout.

["id","charity_id","payment_id","payment_amount","balance_transaction_id","payment_description","payment_status","is_reconciled","payment_date","payment_currency","date_created"]

Custom Objects

It is also possible to create custom data tables that can then be used within the site, however the creation of custom objects is limited to Funraisin developers.