{
  "format": "dataset-manifest/1",
  "slug": "culinary-experience-tracker",
  "version": 4,
  "seed": "culinary-experience-tracker:1",
  "spec": {
    "format": "dataset/1",
    "slug": "culinary-experience-tracker",
    "name": "Culinary Experience Tracker",
    "tagline": "Customer reviews, dish orders, reservations, and special events data for various restaurants.",
    "description": "Customers leave their homes to explore new dining experiences, often seeking the perfect dish or ambiance. Restaurants aim to create memorable moments and attract patrons through enticing menus and special events. This business tracks the interactions between diners and eateries, documenting reviews, dish orders, and reservation details to enhance customer experiences and provide valuable insights to restaurant owners. Each table in the dataset contributes to understanding the dynamics of dining out. \n\nThe 'customers' table holds information about patrons, including their demographics and preferences. The 'restaurants' table contains details about various dining establishments, such as location, cuisine type, and seating capacity. 'dish_orders' records the specific dishes ordered by customers, linking them to both the 'customers' and 'restaurants' tables, thereby allowing analysis of popular menu items in conjunction with customer demographics. The 'reviews' table captures customer feedback, including ratings and comments, which can be connected back to both the 'customers' and 'restaurants' tables, facilitating insights into customer satisfaction. \n\n'reservations' tracks the booking status for different restaurants, linking customers to their desired dining times and locations. Lastly, 'special_events' documents unique offerings at restaurants, such as tasting menus or themed nights, providing context for customer interest and driving engagement. \n\nThis dataset answers essential questions about dining trends, customer preferences, and the effectiveness of marketing strategies for restaurants. It serves as an excellent resource for practicing data analysis, helping users explore relationships between customer behavior and restaurant performance. Please note, all data within these tables is synthetic, designed to simulate real-world customer-restaurant interactions.",
    "domain": "restaurants",
    "shape": "event-log",
    "useCases": [
      "analytics-demo",
      "etl-pipelines"
    ],
    "keywords": [
      "restaurant reviews",
      "customer experiences",
      "dish orders",
      "reservations",
      "special events",
      "culinary delights"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "customers": {
        "description": "This table records customer information, including their unique ID and contact details. Each customer can have multiple reviews and reservations linked to their profile.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each customer."
          },
          "full_name": {
            "kind": "fullName",
            "description": "The full name of the customer."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "Email address of the customer, used for contact."
          },
          "phone": {
            "kind": "phone",
            "description": "Phone number of the customer."
          },
          "city": {
            "kind": "city",
            "description": "City where the customer resides."
          }
        }
      },
      "restaurants": {
        "description": "This table captures information about restaurants, including their unique ID and culinary types. Each restaurant can receive multiple reviews and orders.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each restaurant."
          },
          "name": {
            "kind": "words",
            "min": 1,
            "max": 3,
            "description": "Name of the restaurant.",
            "pool": [
              "bistro",
              "cuisine",
              "dining",
              "grill",
              "kitchen",
              "cafe",
              "tavern",
              "pub",
              "deli",
              "eatery",
              "pizzeria",
              "tapas",
              "steakhouse",
              "brasserie",
              "supperclub",
              "saloon",
              "bakehouse",
              "bakery",
              "market",
              "foodhall"
            ]
          },
          "cuisine_type": {
            "kind": "enum",
            "values": [
              "Italian",
              "Chinese",
              "Mexican",
              "Indian",
              "American"
            ],
            "description": "Type of cuisine offered by the restaurant.",
            "weights": [
              5,
              3,
              2,
              1,
              1
            ]
          },
          "location": {
            "kind": "city",
            "description": "City where the restaurant is located."
          }
        }
      },
      "dish_orders": {
        "description": "This table logs individual dish orders made by customers during their visits to restaurants, linking customers to specific dishes and restaurants.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each dish order."
          },
          "customer_id": {
            "kind": "fk",
            "ref": "customers.id",
            "description": "The customer who placed the order."
          },
          "restaurant_id": {
            "kind": "fk",
            "ref": "restaurants.id",
            "description": "The restaurant from which the dish was ordered."
          },
          "dish_name": {
            "kind": "words",
            "min": 1,
            "max": 3,
            "description": "Name of the dish ordered.",
            "pool": [
              "sushi",
              "pasta",
              "burger",
              "salad",
              "taco",
              "pizza",
              "soup",
              "steak",
              "curry",
              "sandwich",
              "wrap",
              "quiche",
              "tart",
              "risotto",
              "casserole",
              "dim-sum",
              "ceviche",
              "omelette",
              "fajita",
              "kebab"
            ]
          },
          "order_date": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date and time when the dish was ordered.",
            "dayProfile": "waking"
          }
        }
      },
      "reviews": {
        "description": "This table contains customer reviews for dishes and restaurants, capturing their feedback and ratings.",
        "rows": 250,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each review."
          },
          "customer_id": {
            "kind": "fk",
            "ref": "customers.id",
            "description": "The customer who wrote the review."
          },
          "restaurant_id": {
            "kind": "fk",
            "ref": "restaurants.id",
            "description": "The restaurant being reviewed."
          },
          "rating": {
            "kind": "int",
            "min": 1,
            "max": 5,
            "description": "Rating given by the customer, on a scale of 1 to 5.",
            "distribution": "high"
          },
          "review_text": {
            "kind": "sentence",
            "min": 10,
            "max": 200,
            "description": "Text of the customer's review."
          },
          "review_date": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date when the review was submitted.",
            "dayProfile": "waking",
            "trend": "growing"
          }
        }
      },
      "reservations": {
        "description": "This table tracks reservations made by customers at restaurants, including status and timestamps.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each reservation."
          },
          "customer_id": {
            "kind": "fk",
            "ref": "customers.id",
            "description": "The customer who made the reservation."
          },
          "restaurant_id": {
            "kind": "fk",
            "ref": "restaurants.id",
            "description": "The restaurant where the reservation is made."
          },
          "reservation_date": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date and time of the reservation.",
            "dayProfile": "business"
          },
          "status": {
            "kind": "enum",
            "values": [
              "confirmed",
              "canceled",
              "no-show"
            ],
            "description": "Current status of the reservation.",
            "weights": [
              6,
              2,
              1
            ]
          }
        }
      },
      "special_events": {
        "description": "This table documents special events hosted by restaurants, such as themed nights or tastings, providing insight into unique dining experiences.",
        "rows": 80,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each special event."
          },
          "restaurant_id": {
            "kind": "fk",
            "ref": "restaurants.id",
            "description": "The restaurant hosting the event."
          },
          "event_name": {
            "kind": "words",
            "min": 1,
            "max": 3,
            "description": "Name of the special event.",
            "pool": [
              "festival",
              "gala",
              "tasting",
              "showcase",
              "feast",
              "party",
              "banquet",
              "celebration",
              "launch",
              "promotion",
              "brunch",
              "dinner",
              "cook-off",
              "competition",
              "exhibition",
              "workshop",
              "night",
              "series",
              "event",
              "experience"
            ]
          },
          "event_date": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date of the special event.",
            "trend": "seasonal"
          },
          "details": {
            "kind": "sentence",
            "min": 10,
            "max": 200,
            "description": "Details about the special event."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "timestamped",
      "nullable"
    ],
    "analysisQuestions": [
      "What are the most popular dishes ordered by customers?",
      "How do customer reviews vary by cuisine type?",
      "What is the average rating for restaurants based on reservations?",
      "How often do special events impact customer reviews?",
      "What trends can be observed in reservations over time?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Customers and Reviews",
        "sql": "SELECT c.full_name, r.rating, r.review_text FROM customers c JOIN reviews r ON c.id = r.customer_id;",
        "dialect": "postgres"
      },
      {
        "title": "Average Rating by Cuisine Type",
        "sql": "SELECT r.cuisine_type, AVG(rv.rating) FROM restaurants r JOIN reviews rv ON r.id = rv.restaurant_id GROUP BY r.cuisine_type;",
        "dialect": "postgres"
      },
      {
        "title": "Count of Reservations by Status",
        "sql": "SELECT status, COUNT(*) FROM reservations GROUP BY status;",
        "dialect": "postgres"
      },
      {
        "title": "Special Events Impact on Reviews",
        "sql": "SELECT se.event_name, AVG(r.rating) FROM special_events se JOIN reviews r ON se.restaurant_id = r.restaurant_id GROUP BY se.event_name;",
        "dialect": "postgres"
      },
      {
        "title": "Trend Analysis of Reservations Over Time",
        "sql": "SELECT DATE_TRUNC('month', reservation_date) AS month, COUNT(*) FROM reservations GROUP BY month ORDER BY month;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Restaurant Marketing Analysis",
        "body": "Marketing analysts can use this dataset to assess the effectiveness of various marketing strategies by analyzing customer reviews and reservation trends before and after special events. This can help restaurants tailor their offerings and promotional activities."
      },
      {
        "title": "Customer Experience Enhancement",
        "body": "Customer experience teams can leverage the reviews and reservation data to identify areas where restaurants excel or need improvement. Understanding customer feedback can drive improvements in service and culinary offerings."
      },
      {
        "title": "Operational Efficiency Metrics",
        "body": "Operational managers can utilize this dataset to measure the efficiency of restaurant operations by analyzing reservation statuses and customer attendance patterns. This data can inform staffing and resource allocation decisions."
      },
      {
        "title": "Culinary Trends Research",
        "body": "Food researchers can explore the dataset to identify culinary trends by examining dish orders and customer reviews. Insights gained can help chefs and restaurant owners innovate and adapt their menus to current preferences."
      }
    ]
  },
  "counts": {
    "customers": 200,
    "restaurants": 100,
    "dish_orders": 300,
    "reservations": 150,
    "reviews": 250,
    "special_events": 80
  },
  "stats": {
    "customers": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "full_name": {
          "nulls": 0,
          "distinct": 196,
          "min": "Alice Cruz",
          "max": "Zoe Young"
        },
        "email": {
          "nulls": 0,
          "distinct": 199
        },
        "phone": {
          "nulls": 0,
          "distinct": 192
        },
        "city": {
          "nulls": 0,
          "distinct": 61,
          "min": "Amsterdam",
          "max": "Zurich"
        }
      }
    },
    "restaurants": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "name": {
          "nulls": 0,
          "distinct": 84
        },
        "cuisine_type": {
          "nulls": 0,
          "distinct": 5,
          "min": "American",
          "max": "Mexican"
        },
        "location": {
          "nulls": 0,
          "distinct": 53,
          "min": "Amsterdam",
          "max": "Zurich"
        }
      }
    },
    "dish_orders": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "customer_id": {
          "nulls": 0,
          "distinct": 166,
          "min": 1,
          "max": 199
        },
        "restaurant_id": {
          "nulls": 0,
          "distinct": 96,
          "min": 1,
          "max": 100
        },
        "dish_name": {
          "nulls": 0,
          "distinct": 201
        },
        "order_date": {
          "nulls": 0,
          "distinct": 300,
          "min": "2022-01-03 17:23:46",
          "max": "2023-12-30 19:13:42"
        }
      }
    },
    "reviews": {
      "rows": 250,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 250,
          "min": 1,
          "max": 250
        },
        "customer_id": {
          "nulls": 0,
          "distinct": 146,
          "min": 1,
          "max": 200
        },
        "restaurant_id": {
          "nulls": 0,
          "distinct": 89,
          "min": 1,
          "max": 100
        },
        "rating": {
          "nulls": 0,
          "distinct": 5,
          "min": 1,
          "max": 5
        },
        "review_text": {
          "nulls": 0,
          "distinct": 250
        },
        "review_date": {
          "nulls": 0,
          "distinct": 250,
          "min": "2022-01-06 10:38:53",
          "max": "2023-12-31 22:11:10"
        }
      }
    },
    "reservations": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "customer_id": {
          "nulls": 0,
          "distinct": 105,
          "min": 1,
          "max": 199
        },
        "restaurant_id": {
          "nulls": 0,
          "distinct": 78,
          "min": 2,
          "max": 100
        },
        "reservation_date": {
          "nulls": 0,
          "distinct": 150,
          "min": "2022-01-02 06:14:15",
          "max": "2023-12-25 11:10:22"
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "canceled",
          "max": "no-show"
        }
      }
    },
    "special_events": {
      "rows": 80,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 80,
          "min": 1,
          "max": 80
        },
        "restaurant_id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 99
        },
        "event_name": {
          "nulls": 0,
          "distinct": 64
        },
        "event_date": {
          "nulls": 0,
          "distinct": 80,
          "min": "2022-01-23 17:04:23",
          "max": "2023-12-31 13:12:41"
        },
        "details": {
          "nulls": 0,
          "distinct": 80
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/customers.csv",
      "format": "csv",
      "table": "customers",
      "key": "datasets/culinary-experience-tracker/v4/csv/customers.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/culinary-experience-tracker/v4/csv/customers.csv",
      "bytes": 12880,
      "sha256": "f861ee8192a9280a94109a1ab2238443ce7b9255c59b1c6cf9dcdae5d7d8950f",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/restaurants.csv",
      "format": "csv",
      "table": "restaurants",
      "key": "datasets/culinary-experience-tracker/v4/csv/restaurants.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/culinary-experience-tracker/v4/csv/restaurants.csv",
      "bytes": 3531,
      "sha256": "be1fd1de59e80bb9f46fabd11b2ee0627e1d575c8198e46db27007f10f23bde7",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/dish_orders.csv",
      "format": "csv",
      "table": "dish_orders",
      "key": "datasets/culinary-experience-tracker/v4/csv/dish_orders.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/culinary-experience-tracker/v4/csv/dish_orders.csv",
      "bytes": 13408,
      "sha256": "21d4bb6ad440756a4945ae520de879e6f99df97f70b48fe6ae208377d3b27f31",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/reservations.csv",
      "format": "csv",
      "table": "reservations",
      "key": "datasets/culinary-experience-tracker/v4/csv/reservations.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/culinary-experience-tracker/v4/csv/reservations.csv",
      "bytes": 6078,
      "sha256": "a64a5df508dde54a5555218cbe5336bd69da42a397497912b0424d5cc5fffae4",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/reviews.csv",
      "format": "csv",
      "table": "reviews",
      "key": "datasets/culinary-experience-tracker/v4/csv/reviews.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/culinary-experience-tracker/v4/csv/reviews.csv",
      "bytes": 22275,
      "sha256": "3fc0bb146cc166ca32c5a512fae15248735ef84c3f25d168e6d322662b26cb95",
      "rows": 250,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/special_events.csv",
      "format": "csv",
      "table": "special_events",
      "key": "datasets/culinary-experience-tracker/v4/csv/special_events.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/culinary-experience-tracker/v4/csv/special_events.csv",
      "bytes": 7896,
      "sha256": "b8c977671560e6c9c8e510fc535962d5cbfc76e85ee2e33363577200339e7b56",
      "rows": 80,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "culinary-experience-tracker.json",
      "format": "json",
      "table": null,
      "key": "datasets/culinary-experience-tracker/v4/culinary-experience-tracker.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/culinary-experience-tracker/v4/culinary-experience-tracker.json",
      "bytes": 189391,
      "sha256": "1e44df46fd1352052e89fd3a40c340008a67d5de56ef502a00c9612b623b30b2",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/culinary-experience-tracker/v4/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/culinary-experience-tracker/v4/sql/postgres.sql",
      "bytes": 86153,
      "sha256": "ff85bb094f0e4f1bb018c4eef72ea01eb1439dc46b198ef1a681c84709aa94aa",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/culinary-experience-tracker/v4/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/culinary-experience-tracker/v4/sql/mysql.sql",
      "bytes": 85446,
      "sha256": "4a78668967f70e286a9e9fb6620399ddeb1260d1ad3fcba68cea51e7841ff9a5",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/culinary-experience-tracker/v4/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/culinary-experience-tracker/v4/sql/mssql.sql",
      "bytes": 88616,
      "sha256": "538ab8f28681f5e57a0caea9792c86532980bba1a8d33cff5bb2a9c13efea7a3",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/culinary-experience-tracker/v4/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/culinary-experience-tracker/v4/sql/sqlite.sql",
      "bytes": 85090,
      "sha256": "ab29116ee4c78950cf38577f142d1dc0145064d02680ad419c2d4ede90cd11b1",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/culinary-experience-tracker/v4/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/culinary-experience-tracker/v4/prisma/seed.ts",
      "bytes": 158885,
      "sha256": "f6249ed676a450c64558a8e3fa365aecb060076d2d942d2606b3cf480c08e755",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/culinary-experience-tracker/v4/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/culinary-experience-tracker/v4/django/fixtures.json",
      "bytes": 234965,
      "sha256": "734a645fe116eecb941c4687dc4a34385b5030ea17fe2b7e0765d83ec8467dbd",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788766147814,
  "updatedAt": 1788797985966
}
