The me&u Data Feed is a Snowflake-native data product that delivers first-party guest, order and venue data captured at the table through the me&u order-and-pay platform. It gives me&u customers access to their data and their data only. The data lands in your Snowflake account as secure views, refreshed daily, with row-level access automatically scoped to your organisation. No pipelines, no S3 buckets, no row-level security policies to manage on your side.
This document describes what's in each tier, the refresh schedule, the schema for every shared view, and a few starter queries to get you going.
Contents
- At a glance
- Refresh cadence and data currency
- How row-level filtering works
- Standard tier
- Pro tier
- Enterprise tier
- Starter queries
- Data scope, PII and limitations
- Support and onboarding
At a glance
| Standard | Pro | Enterprise | |
|---|---|---|---|
| Transactional data (orders, bills, payouts, refunds, order line items) | yes | yes | yes |
| Customer identity (name, email, mobile) | no | yes | yes |
| Menu catalogue with sales aggregates | no | yes | yes |
| Enriched order line items (menu metadata, marketing opt-in, guest reviews) | no | yes | yes |
| Connect CRM feeds (contacts, visits, transactions, campaigns, automations) | no | yes | yes |
| Venue configuration history (SCD) | no | no | yes |
| View count | 5 | 13 | 14 |
Each higher tier is cumulative: Pro subscribers receive all Standard views plus the Pro additions; Enterprise subscribers receive all of the above plus venue history.
Refresh cadence and data currency
- Refresh frequency: daily, orchestrated via dbt Cloud. Updated data is available in your Snowflake account shortly after the producer-side build completes.
- Late-arriving updates: every incremental table reprocesses the previous day to capture late-arriving corrections (returns, status changes, payout finalisations). Recent rows can therefore be re-emitted with updated values.
-
loaded_at_utc: every view exposes aloaded_at_utc(or_dbt_loaded_at_utcon Connect feeds) column. This is the timestamp at which the row was last materialised on the producer. Use it to track data currency or for downstream incremental jobs.
How row-level filtering works
Every shared view restricts rows to your organisation automatically. Internally the secure view joins to a small mapping table on the producer that lists which organisation ids each consumer account is entitled to receive. The filter key is:
CURRENT_ORGANIZATION_NAME() || '.' || CURRENT_ACCOUNT_NAME()
This means:
- You only ever see rows belonging to organisations you are entitled to receive.
- You do not need to manage row-level security policies on your side.
- If you operate multiple Snowflake accounts under a single me&u contract, each account must be entitled separately.
To change the set of organisations you receive (add a new venue group, remove one, etc.), contact me&u support; the change is a one-row update on the producer and takes effect at the next refresh.
Standard tier
Standard delivers the core transactional dataset: every order, every bill, every payout and every refund across every me&u venue under your organisation, refreshed daily.
serve_orders
One row per order placed through me&u. Includes order header, totals, status, payment processor, loyalty redemptions, table/room context and trading day.
Grain: one row per order.
Key columns
| Column | Type | Description |
|---|---|---|
id |
TEXT | Order id (primary key). |
cart_id |
TEXT | Cart that produced this order. |
user_id |
TEXT | Guest who placed the order. Foreign key to serve_customers.id (Pro tier). |
|
|
TEXT | Venue where the order was placed. |
|
|
TEXT | Parent organisation. |
trading_date |
DATE | Trading day (calculated as 5 hours before venue-local order creation time, so late-night orders bucket to the right service). |
created_at_venue_time |
TIMESTAMP_NTZ | When the order was placed, in the venue's local time. |
|
|
TIMESTAMP_NTZ | UTC timestamps for creation and last update. |
ordering_type |
TEXT | Dine-in, pickup, delivery. |
status |
TEXT | Order status (paid, refunded, in-progress, etc.). |
currency |
TEXT | ISO 4217 currency code. |
total_in_cents |
NUMBER | Order total in smallest currency unit. |
|
|
NUMBER / BOOL | Tax amount and whether prices were tax-inclusive. |
total_gratuity_in_cents |
NUMBER | Gratuity component of the total. |
cover_count |
NUMBER | Number of guests on the order. |
|
|
TEXT | Payment metadata for the order. |
payout_id |
TEXT | Joins to serve_payouts.id to find the settlement this order was paid out in. |
|
|
NUMBER | Repeat-visit counters (visit number at this venue, and across all me&u venues). |
|
|
BOOLEAN | Order classification flags. |
loaded_at_utc |
TIMESTAMP_NTZ | When this row was last materialised. |
Full column list (66)
id TEXT cart_id TEXT user_id TEXT venue_id TEXT venue_name TEXT organisation_id TEXT organisation_name TEXT location_id TEXT account_manager_id TEXT ordering_product_type TEXT created_date TEXT created_at_venue_time TIMESTAMP_NTZ trading_date DATE dp_modified_date TIMESTAMP_NTZ created_at_utc TIMESTAMP_NTZ updated_at_utc TIMESTAMP_NTZ ordering_type TEXT status TEXT currency TEXT loyalty_membership_id TEXT loyalty_membership_program_id TEXT multi_vendor_order_id TEXT shared_payment_id TEXT has_social_tab_id BOOLEAN payout_id TEXT payout_type TEXT commission_rate FLOAT table_number TEXT table_area_name TEXT batch_id TEXT pos_order_id TEXT total_in_cents NUMBER card_surcharge NUMBER total_gratuity_in_cents NUMBER is_tax_inclusive BOOLEAN total_tax_in_cents NUMBER cover_count NUMBER redemption_code TEXT boomerang_redemption_reference_id TEXT points_used NUMBER points_acquired NUMBER pos_status TEXT payment_processor TEXT payment_transaction_id TEXT refund_transaction_id TEXT refund_user_id TEXT refund_reason TEXT social_tab_id TEXT room_name TEXT room_number TEXT pickup_option TEXT ordering_window_start_date_utc TIMESTAMP_NTZ ordering_window_end_date_utc TIMESTAMP_NTZ order_notes TEXT delivery_option TEXT club_membership_number TEXT is_mvo BOOLEAN is_tab BOOLEAN is_split_pay BOOLEAN is_crew BOOLEAN is_red_order BOOLEAN nth_visit_here NUMBER nth_visit_anywhere NUMBER source_platform_identifier TEXT loaded_at_utc TIMESTAMP_NTZ crew_commission_period TEXT
serve_bills
One row per bill. A bill represents the payment receipt for one or more orders settled together (single-pay, split-pay or tab-close). The order-to-bill relationship is many-to-one via the order_ids array.
Grain: one row per bill.
Key columns
| Column | Type | Description |
|---|---|---|
id |
TEXT | Bill id (primary key). |
|
|
TEXT | Venue and parent organisation. |
user_ids |
ARRAY | All guests who contributed to this bill. |
order_ids |
ARRAY | All orders settled in this bill. Joins to serve_orders.id. |
order_details |
ARRAY | Inline summary of each order in the bill (objects with id, totals, and timestamps). |
trading_date |
DATE | Trading day. |
|
|
TIMESTAMP_NTZ | When the bill was opened and closed. |
type |
TEXT | Bill type (e.g. single-pay, split-pay, tab). |
status |
TEXT | Bill status. |
|
|
NUMBER | Bill totals in smallest currency unit. |
|
|
NUMBER | Amount actually paid and processor fees. |
|
|
ARRAY | Payment processor(s) and payment ids used to settle the bill. |
total_gratuity_in_cents |
FLOAT | Gratuity component. |
|
|
BOOLEAN | Bill classification flags. |
loaded_at_utc |
TIMESTAMP_NTZ | Materialisation timestamp. |
Full column list (33)
id TEXT venue_id TEXT venue_name TEXT organisation_id TEXT organisation_name TEXT user_ids ARRAY order_ids ARRAY order_details ARRAY ordering_product_type TEXT created_date TEXT created_at_venue_time TIMESTAMP_NTZ trading_date DATE created_at_utc TIMESTAMP_NTZ updated_at_utc TIMESTAMP_NTZ closed_at_utc TIMESTAMP_NTZ type TEXT status TEXT currency TEXT is_mvo BOOLEAN is_tab BOOLEAN bill_amount_incl_tax NUMBER bill_tax_amount NUMBER commission_rate NUMBER card_surcharge NUMBER total_gratuity_in_cents FLOAT paid_amount_incl_tax NUMBER paid_processor_fee NUMBER payment_processors ARRAY payment_processor_transaction_ids ARRAY payment_ids ARRAY has_reversals BOOLEAN source_platform_identifier TEXT loaded_at_utc TIMESTAMP_NTZ
serve_order_line_items_core
One row per ordered line item: a single menu item on a single order, with its price, quantity, tax and venue/organisation context. The "core" variant excludes guest PII; for the enriched variant with menu metadata, marketing opt-in and reviews, see serve_order_line_items_enriched (Pro tier).
Grain: one row per order line item.
Key columns
| Column | Type | Description |
|---|---|---|
id |
TEXT | Line item id (primary key). |
order_id |
TEXT | Parent order. Joins to serve_orders.id. |
user_id |
TEXT | Guest who ordered. |
|
|
TEXT | Venue and parent organisation. |
trading_date |
DATE | Trading day. |
|
|
TEXT | Item name, internal id and POS PLU code. |
|
|
TEXT | Menu navigation context. |
quantity |
NUMBER | Quantity ordered. |
|
|
NUMBER / FLOAT | Pricing breakdown. |
parent_id |
TEXT | If the line is a modifier or variant, the parent line item's id. |
loaded_at_utc |
TIMESTAMP_NTZ | Materialisation timestamp. |
Full column list (53)
id TEXT order_id TEXT cart_id TEXT user_id TEXT user_mobile_country_code TEXT ordering_type TEXT status TEXT currency TEXT table_number TEXT table_area_name TEXT batch_id TEXT pos_order_id TEXT pos_status TEXT payment_processor TEXT refund_reason TEXT room_name TEXT room_number TEXT pickup_option TEXT order_notes TEXT delivery_option TEXT is_red_order BOOLEAN organisation_id TEXT organisation_name TEXT venue_id TEXT venue_name TEXT created_at_venue_time TIMESTAMP_NTZ created_at_utc TIMESTAMP_NTZ updated_at_utc TIMESTAMP_NTZ trading_date DATE name TEXT menu_item_id TEXT plu TEXT menu_category_id TEXT menu_category_name TEXT menu_section_id TEXT menu_section_name TEXT category TEXT type TEXT kind TEXT quantity NUMBER line_item_price NUMBER tax_amount NUMBER line_item_total_with_tax NUMBER line_item_total_with_out_tax NUMBER parent_id TEXT tax_rate FLOAT ordering_product_type TEXT is_mvo BOOLEAN is_tab BOOLEAN is_split_pay BOOLEAN is_crew BOOLEAN source_platform_identifier TEXT loaded_at_utc TIMESTAMP_NTZ
serve_payouts
One row per payout (settlement to the venue's bank account).
Grain: one row per payout.
Key columns
| Column | Type | Description |
|---|---|---|
id |
TEXT | Payout id (primary key). Joins to serve_orders.payout_id. |
|
|
TEXT | Venue and parent organisation. |
|
|
TIMESTAMP_NTZ | The trading period covered by this payout. |
total_volume |
FLOAT | Gross order volume in the period, in smallest currency unit. |
|
|
FLOAT | Deductions taken before payout. |
total_payout |
FLOAT | Net amount paid to the venue. |
payout_date |
TIMESTAMP_NTZ | When the payout was issued. |
|
|
TEXT | Settlement status and free-text reason. |
loaded_at_utc |
TIMESTAMP_NTZ | Materialisation timestamp. |
Full column list (17)
id TEXT venue_id TEXT venue_name TEXT organisation_id TEXT organisation_name TEXT payout_from_date TIMESTAMP_NTZ payout_to_date TIMESTAMP_NTZ total_volume FLOAT total_deductions FLOAT card_fees FLOAT platform_fees FLOAT total_fees FLOAT total_payout FLOAT payout_date TIMESTAMP_NTZ payout_status TEXT payout_reason TEXT loaded_at_utc TIMESTAMP_NTZ
serve_refunds
One row per refund processed against a bill or an order.
Grain: one row per refund.
Key columns
| Column | Type | Description |
|---|---|---|
id |
TEXT | Refund id (primary key). |
|
|
TEXT | Venue and parent organisation. |
trading_date |
DATE | Trading day of the refund (5 hours before venue-local creation time). |
|
|
TIMESTAMP_NTZ | Refund timestamps. |
reason |
TEXT | Free-text refund reason. |
amount |
NUMBER | Refund amount in smallest currency unit. |
currency |
TEXT | ISO 4217 currency code. |
|
|
TEXT | Refund processing route and status. |
|
|
TEXT | Where the refund went (card, wallet, manual). |
|
|
TEXT | Whether the refund applies at the bill or order level, and the id. |
|
|
TEXT / ARRAY | The bill or orders that the refund applies to. |
staff_id |
TEXT | Venue staff member who issued the refund. |
loaded_at_utc |
TIMESTAMP_NTZ | Materialisation timestamp. |
Full column list (28)
id TEXT venue_id TEXT venue_name TEXT organisation_id TEXT organisation_name TEXT created_date TEXT created_at_venue_time TIMESTAMP_NTZ trading_date DATE created_at_utc TIMESTAMP_NTZ updated_at_utc TIMESTAMP_NTZ reason TEXT amount NUMBER currency TEXT processor TEXT processor_status TEXT destination_type TEXT destination_reference TEXT payment_target TEXT payment_target_id TEXT bill_id TEXT order_ids ARRAY processor_transaction_id TEXT payment_id TEXT payment_amount NUMBER payment_currency TEXT payment_guest_id TEXT staff_id TEXT loaded_at_utc TIMESTAMP_NTZ
Pro tier
Pro adds the customer dimension: guest identity, menu catalogue with sales aggregates, line items enriched with menu metadata and marketing opt-ins, and the full Connect CRM feed.
serve_customers
One row per unique guest within an organisation. Guests are de-duplicated across visits and venues using the platform's identity resolution; a single mobile number / login produces one row per organisation, not one per visit.
Grain: one row per (organisation_id, customer_id).
Key columns
| Column | Type | Description |
|---|---|---|
|
|
TEXT | Parent organisation. |
id |
TEXT | Customer id (primary key, joins to serve_orders.user_id). |
|
|
TEXT | Parsed name. |
|
|
TEXT | Contact details. |
|
|
TIMESTAMP_NTZ | When the customer was first seen and last updated. |
loaded_at_utc |
TIMESTAMP_NTZ | Materialisation timestamp. |
Full schema (all 10 columns shown above).
serve_menu_items
The active menu catalogue per venue, joined with all-time sales aggregates per (venue, item, category, section).
Grain: one row per (venue_id, menu_item_id, category, section).
Key columns
| Column | Type | Description |
|---|---|---|
|
|
TEXT | Parent organisation. |
|
|
TEXT | Venue. |
menu_item_id |
TEXT | Menu item id. |
|
|
TEXT | Display name(s) and description. |
|
|
TEXT | Menu navigation. |
menu_item_price |
TEXT | Display price. |
|
|
TEXT | Dietary and discovery tags. |
menu_item_pos_id |
TEXT | Linkage to the venue POS for this item. |
total_line_item_total_with_tax |
NUMBER | All-time line item total (tax-inclusive) for this item in this category/section. |
total_menu_item_price_in_cents |
NUMBER | All-time aggregate of list price, useful for measuring effective discount/promotion impact. |
Full schema (all 20 columns shown above).
serve_order_line_items_enriched
Same grain as serve_order_line_items_core (one row per line item) but with menu metadata, marketing opt-in context, guest review, and additional pricing detail joined in. Guest mobile is exposed as user_mobile_hashed (SHA-256), not in cleartext.
Grain: one row per order line item.
Key columns beyond the core variant
| Column | Type | Description |
|---|---|---|
user_mobile_hashed |
TEXT | SHA-256 of the guest's mobile (for join keys / cohort building without exposing the raw value). |
price_in_cents |
NUMBER | Item list price at time of order (independent of any discount applied). |
|
|
TEXT | Menu metadata. |
external_pos_id |
TEXT | POS linkage for this item at this venue. |
|
|
BOOLEAN / TEXT / TIMESTAMP | Whether the guest opted in to marketing on this order, and the message they accepted. |
|
|
TEXT / NUMBER / TIMESTAMP | Guest review attached to the order, if any. |
|
|
TEXT | Category metadata. |
Full column list (72)
id TEXT order_id TEXT cart_id TEXT user_id TEXT user_mobile_hashed TEXT user_mobile_country_code TEXT ordering_type TEXT status TEXT currency TEXT table_number TEXT table_area_name TEXT batch_id TEXT pos_order_id TEXT pos_status TEXT payment_processor TEXT refund_reason TEXT room_name TEXT room_number TEXT pickup_option TEXT order_notes TEXT delivery_option TEXT is_red_order BOOLEAN organisation_id TEXT organisation_name TEXT venue_id TEXT venue_name TEXT created_at_venue_time TIMESTAMP_NTZ created_at_utc TIMESTAMP_NTZ updated_at_utc TIMESTAMP_NTZ trading_date DATE name TEXT menu_item_id TEXT plu TEXT menu_category_id TEXT menu_category_name TEXT menu_section_id TEXT menu_section_name TEXT category TEXT type TEXT kind TEXT quantity NUMBER line_item_price NUMBER tax_amount NUMBER line_item_total_with_tax NUMBER line_item_total_with_out_tax NUMBER parent_id TEXT tax_rate FLOAT ordering_product_type TEXT is_mvo BOOLEAN is_tab BOOLEAN is_split_pay BOOLEAN is_crew BOOLEAN has_marketing_opt_in BOOLEAN marketing_opt_in_id TEXT category_slug TEXT category_type TEXT description TEXT dietary_descriptors TEXT dietary_tags TEXT filter_tags TEXT simple_name TEXT section_sub_section TEXT price_in_cents NUMBER external_pos_id TEXT marketing_opt_in_message TEXT marketing_opt_in_created_time_venue_time TIMESTAMP_NTZ review_id TEXT review_rating NUMBER review_notes TEXT review_created_at_venue_time TIMESTAMP_NTZ source_platform_identifier TEXT loaded_at_utc TIMESTAMP_NTZ
connect_contacts
CRM contact roster from me&u Connect. Email and mobile are not exposed in raw form on this view; instead, presence flags (has_email, has_mobile, has_dob) and opt-out status are surfaced so subscribers can segment contactable populations without holding the raw PII.
Grain: one row per Connect contact (unique per account).
Key columns
| Column | Type | Description |
|---|---|---|
id |
TEXT | Contact id (primary key). |
account_id |
VARIANT | Connect account this contact belongs to. |
|
|
BOOLEAN | Whether the contact has each piece of identifying data on file. |
|
|
BOOLEAN | Whether the contact has opted out of email / SMS marketing. |
|
|
TIMESTAMP_NTZ | Lifecycle timestamps in UTC. |
|
|
TIMESTAMP_TZ | Same timestamps in the contact's account timezone. |
|
|
BOOLEAN | Soft-delete flags. |
|
|
VARIANT | Lineage and audit. |
_dbt_loaded_at_utc |
TIMESTAMP_NTZ | Materialisation timestamp. |
Full schema (all 17 columns shown above).
connect_visits
Visit events from me&u Connect (bookings, walk-ins, check-ins, check-outs, feedback).
Grain: one row per visit event.
Key columns
| Column | Type | Description |
|---|---|---|
id |
TEXT | Visit id (primary key). |
account_id |
TEXT | Connect account. |
contact |
TEXT | Contact id (joins to connect_contacts.id). |
|
|
TEXT | Visit classification. |
|
|
TIMESTAMP_NTZ | Booking lifecycle timestamps in UTC. |
|
|
TIMESTAMP_NTZ | Record lifecycle timestamps. |
pax |
NUMBER | Party size. |
feedbackscore |
NUMBER | Post-visit feedback score, if collected. |
checkinflag |
BOOLEAN | Whether the guest checked in. |
|
|
TEXT | Free-text context and venue/location reference. |
|
|
TEXT | Source-system lineage. |
_dbt_loaded_at_utc |
TIMESTAMP_NTZ | Materialisation timestamp. |
Full schema (all 24 columns shown above).
connect_transactions
Transaction events from Connect (spend captured against a contact, optionally linked to a visit).
Grain: one row per Connect transaction.
Key columns
| Column | Type | Description |
|---|---|---|
id |
TEXT | Transaction id (primary key). |
account_id |
TEXT | Connect account. |
contact_id |
TEXT | Contact who made the transaction. |
visit_id |
TEXT | Linked visit, if applicable. |
category |
TEXT | Transaction category. |
spend |
FLOAT | Transaction amount. |
|
|
TIMESTAMP_NTZ / DATE | When the transaction happened. |
|
|
TIMESTAMP_NTZ | Record lifecycle timestamps. |
|
|
TEXT | Venue/reference context. |
|
|
TEXT | Source-system lineage. |
|
|
BOOLEAN / TEXT | Soft-delete flag and external id. |
_dbt_loaded_at_utc |
TIMESTAMP_NTZ | Materialisation timestamp. |
Full schema (all 18 columns shown above).
connect_campaigns
CRM campaign roster from Connect.
Grain: one row per campaign (unique per account).
Key columns
| Column | Type | Description |
|---|---|---|
id |
TEXT | Campaign id (primary key). |
account_id |
VARIANT | Connect account. |
name |
TEXT | Campaign name. |
|
|
BOOLEAN | Composition flags (campaign contains automated and/or manual sends). |
|
|
TIMESTAMP_NTZ | Lifecycle timestamps. |
|
|
BOOLEAN | Status flags. |
_dbt_loaded_at_utc |
TIMESTAMP_NTZ | Materialisation timestamp. |
Full schema (all 11 columns shown above).
connect_automations
Automated workflows configured in Connect (drip sequences, anniversary messages, win-back flows).
Grain: one row per automation (unique per account).
Key columns
| Column | Type | Description |
|---|---|---|
id |
TEXT | Automation id (primary key). |
account_id |
TEXT | Connect account. |
|
|
TEXT | Automation name and description. |
status |
TEXT | Active / paused / stopped. |
start_time |
TIMESTAMP_NTZ | When the automation began. |
|
|
VARIANT | Send counts and execution log per period (structured object). |
|
|
TIMESTAMP_NTZ | Lifecycle timestamps. |
_dbt_loaded_at_utc |
TIMESTAMP_NTZ | Materialisation timestamp. |
Full schema (all 12 columns shown above).
Enterprise tier
Enterprise adds slowly-changing venue configuration history: one row per venue per change event, allowing point-in-time reconstruction of venue state.
serve_venue_history
Full venue configuration history. Every change to a venue's ordering settings, pricing, branding, SMS templates, tax configuration, etc. emits a new row keyed on (id, updated_at). Use this for audit, point-in-time joins, and attribution of operational changes to performance shifts.
Grain: one row per (venue_id, updated_at).
Key columns
| Column | Type | Description |
|---|---|---|
id |
TEXT | Venue id (primary key, joins to serve_orders.venue_id). |
name |
TEXT | Venue display name at this version. |
|
|
TEXT | Parent organisation. |
updated_at |
TEXT | Timestamp of this venue history version (string-typed; cast with TRY_TO_TIMESTAMP_NTZ). |
|
|
TEXT | Locality. |
|
|
BOOLEAN | Whether the venue is live, and whether it's an AVC (At-Venue Catering) flavour. |
|
|
BOOLEAN | Which order modes are enabled. |
|
|
VARIANT / TEXT | Configured order modes. |
|
|
TEXT | Delivery and pickup configuration. |
|
|
FLOAT / NUMBER / BOOL | Pricing and tax. |
|
|
BOOLEAN / FLOAT / TEXT | Gratuity configuration. |
|
|
BOOLEAN / TEXT | Visual identity. |
|
|
TEXT | Operational contacts. |
|
|
TEXT | SMS message templates per order mode. |
gst_registration_number |
TEXT | Tax registration. |
loaded_at_utc |
TIMESTAMP_NTZ | Materialisation timestamp. |
Full column list (141)
id TEXT name TEXT venue_types VARIANT landing_welcome_text TEXT seated_tap_no TEXT seated_tap_yes TEXT country TEXT country_code TEXT is_live BOOLEAN is_avc BOOLEAN bar_busy_until TEXT kitchen_busy_until TEXT age_restriction_text TEXT table_text TEXT table_areas TEXT delivery_postcodes TEXT drive_yello_store_reference TEXT delivery_options TEXT pickup_options TEXT pickup_ordering_window_id TEXT delivery_ordering_window_id TEXT created_at TEXT updated_at TEXT slug TEXT currency TEXT ordering BOOLEAN ordering_type VARIANT is_ordering_available BOOLEAN is_dine_in_available BOOLEAN is_pick_up_available BOOLEAN is_delivery_available BOOLEAN survey_link TEXT table_number_validation TEXT min_table_number NUMBER min_delivery_order_value NUMBER min_order_value_for_free_delivery NUMBER tax_rate FLOAT delivery_fee NUMBER always_charge_delivery_fee BOOLEAN max_table_number NUMBER short_description TEXT booking_link TEXT is_iframe BOOLEAN hours_id TEXT order_notification_mobile TEXT dine_in_order_accepted_sms TEXT delivery_order_accepted_sms TEXT pick_up_order_accepted_sms TEXT pick_up_order_ready_sms TEXT pickup_expected_ready_sms TEXT delivery_expected_ready_sms TEXT timezone TEXT organisation_id TEXT organisation_name TEXT marketing_opt_in_enabled BOOLEAN gratuity_enabled BOOLEAN gratuity_external_pos_id TEXT delivery_fee_external_pos_id TEXT marketing_opt_in_message TEXT support_email TEXT facebook_pixel_id TEXT support_phone TEXT popup_notification_text TEXT deleted_at TEXT hyperwallet_user_id TEXT current_discount_id TEXT banner_id TEXT logo_id TEXT square_thumb_id TEXT marketing_opt_ins_id TEXT pickup_window_send_order_before_ms NUMBER delivery_window_send_order_before_ms NUMBER gratuity_rate FLOAT guest_registry_settings_id TEXT card_surcharge FLOAT account_email TEXT has_doordash_enabled BOOLEAN send_doordash_ordering_window_start_as TEXT landing_call_to_action_text TEXT landing_call_to_action_url TEXT card_surcharge_external_pos_id TEXT pickup_table_number TEXT card_surcharge_name TEXT gst_registration_number TEXT skip_table_number_modal BOOLEAN tabs_enabled BOOLEAN og_image_id TEXT gratuity_options TEXT dine_in_order_customer_not_found_sms TEXT marketing_opt_in_default BOOLEAN popup_notification_image_id TEXT escalation_email TEXT google_tag_manager_id TEXT branding_primary TEXT branding_accent TEXT branding_enabled BOOLEAN branding_primary_text TEXT branding_accent_text TEXT is_tax_inclusive BOOLEAN can_skip_gratuity BOOLEAN unavailable_list_email TEXT facebook_access_token TEXT has_quench_enabled BOOLEAN automatically_send_quench_orders BOOLEAN default_batching_group_id TEXT always_show_visual_menu BOOLEAN flexible_gratuity_enabled BOOLEAN club_memberships_enabled BOOLEAN additional_invoice_information TEXT account_emails VARIANT escalation_emails VARIANT unavailable_list_emails VARIANT order_notification_mobiles VARIANT multi_vendor_enabled BOOLEAN mobile_banner_id TEXT yumpingo_review_sms TEXT yumpingo_venue_id TEXT default_ordering_type TEXT show_ordering_type_picker BOOLEAN custom_gratuity_text TEXT airwallex_beneficiary_id TEXT show_category_list_view_on_landing_page BOOLEAN is_pin_enabled BOOLEAN pin_code TEXT airship_venue_id NUMBER is_dynamic_upsell_enabled BOOLEAN dine_in_email_field_requirement TEXT pickup_email_field_requirement TEXT delivery_email_field_requirement TEXT table_short_text TEXT landing_dine_in_text TEXT landing_pick_up_text TEXT landing_delivery_text TEXT notes_text TEXT has_dine_in_notes BOOLEAN dine_in_notes_text TEXT table_area_text TEXT delivery_options_text TEXT pickup_options_text TEXT tipjar_url TEXT loaded_at_utc TIMESTAMP_NTZ
Starter queries
Three queries to get you going. Each uses SCHEMA.TABLE identifiers; replace the leading meandu_datafeed_<region>_<tier> database alias with whatever name you chose when installing the share.
Daily orders and revenue by venue (Standard)
SELECT
venue_name
, trading_date
, COUNT(*) AS order_count
, SUM(total_in_cents) / 100.0 AS gross_revenue
FROM shares_standard.serve_orders
WHERE trading_date >= DATEADD(DAY, -30, CURRENT_DATE())
GROUP BY 1, 2
ORDER BY trading_date DESC, gross_revenue DESC;Top customers by lifetime spend per venue (Pro)
SELECT
o.venue_name
, c.id AS customer_id
, c.first_name
, c.last_name
, COUNT(DISTINCT o.id) AS order_count
, SUM(o.total_in_cents) / 100.0 AS lifetime_spend
FROM shares_pro.serve_customers c
JOIN shares_standard.serve_orders o
ON o.user_id = c.id
AND o.organisation_id = c.organisation_id
GROUP BY 1, 2, 3, 4
QUALIFY ROW_NUMBER() OVER (PARTITION BY o.venue_name ORDER BY lifetime_spend DESC) <= 10
ORDER BY o.venue_name, lifetime_spend DESC;Venue configuration change history (Enterprise)
SELECT
id AS venue_id
, name AS venue_name
, TRY_TO_TIMESTAMP_NTZ(updated_at) AS updated_at_utc
, is_live
, currency
, tax_rate
, ordering_type
FROM shares_enterprise.serve_venue_history
WHERE TRY_TO_TIMESTAMP_NTZ(updated_at) >= DATEADD(MONTH, -12, CURRENT_TIMESTAMP())
ORDER BY name, updated_at;Data scope, PII and limitations
What's included
- Transactional data for orders settled through me&u (dine-in, pickup, delivery).
- Bills, payouts and refunds settled through me&u's payment rails.
- Guest identity (name, email, mobile) for customers who interacted with me&u order-and-pay. Pro and Enterprise tiers only.
- Connect CRM data (contacts, visits, transactions, campaigns, automations) where the venue uses me&u Connect.
What's NOT included
- No card numbers, no card-level payment instrument data. Card-related fields contain only processor references and tokens, never PANs or CVVs.
- No staff personal data. Staff are referenced by id only; no staff names, emails or contact details.
-
No raw Connect contact email/mobile. The
connect_contactsview exposes presence flags (has_email,has_mobile) and opt-out status only; raw contact details remain in the source system. - No orders placed outside me&u. Pre-existing POS-only orders, third-party delivery orders not routed through me&u, and bookings without a me&u order are not in scope.
Identity and PII boundaries by tier
| Tier | Customer name | Customer email | Customer mobile |
|---|---|---|---|
| Standard | not included | not included | not included |
| Pro |
included:
|
included:
|
included:
and SHA-256 hash on enriched line items: |
| Enterprise | inherits Pro | inherits Pro | inherits Pro |
Reprocessing window
Up to the previous trading day may be re-emitted on every refresh to capture late-arriving status changes (refunds, payout finalisations, POS reconciliation). For downstream incremental jobs, use loaded_at_utc (or _dbt_loaded_at_utc on Connect feeds), not the row's natural timestamp.
Regions and producers
Three Snowflake producer accounts publish region-specific listings:
-
APAC (
me&u APAC Data Feed): Australia and New Zealand venues. -
GB (
me&u GB Data Feed): United Kingdom venues. -
US (
me&u US Data Feed): United States venues.
Each producer holds only its region's venue data. To consume venues from multiple regions, subscribe to multiple listings.
Support and onboarding
-
Entitlement changes (add venue group, change tier, change account): contact your me&u account manager or email
bi-automation@meandu.com.au. - Technical issues (missing data, schema questions, query help): same channel.
- SLA: data is refreshed daily. If you do not see fresh data 24 hours after the expected refresh, please raise it via support.