{
  "format": "dataset-manifest/1",
  "slug": "globetrotter-insights",
  "version": 1,
  "seed": "globetrotter-insights:1",
  "spec": {
    "format": "dataset/1",
    "slug": "globetrotter-insights",
    "name": "Globetrotter Insights",
    "tagline": "User interactions, locations, tours, and translations related to virtual travel experiences.",
    "description": "Globetrotter Insights is a synthetic dataset that models the interactions of travelers using a virtual tour guide service. This service not only navigates users through various destinations but also provides real-time translation of local languages, enhancing cultural experiences. The dataset comprises user interactions, including location check-ins at popular landmarks, dining preferences, tour types, and translation requests. It includes information about user profiles, their preferred languages, and the specific tours they embark on. This data can help developers and analysts understand user behavior and preferences, leading to improved service offerings. The tables are designed to interrelate seamlessly, allowing for comprehensive insights into travel patterns and preferences. By practicing with this dataset, developers can refine their SQL skills, ORM implementations, and data analysis techniques. Note that this dataset is entirely synthetic, ensuring privacy and compliance with data regulations.",
    "domain": "travel",
    "shape": "transactional",
    "useCases": [
      "sql-practice",
      "orm-seeding"
    ],
    "keywords": [
      "travel",
      "tour guide",
      "translation",
      "user interactions",
      "location check-ins",
      "cultural experiences",
      "dining preferences",
      "language preferences"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "users": {
        "description": "This table contains user profiles of travelers using the virtual tour guide service. Each user has a unique identifier and details about their preferred languages.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each user."
          },
          "full_name": {
            "kind": "fullName",
            "description": "The full name of the user."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "The email address of the user."
          },
          "preferred_language": {
            "kind": "enum",
            "values": [
              "English",
              "Spanish",
              "French",
              "German",
              "Chinese",
              "Japanese"
            ],
            "description": "The user's preferred language for translations."
          }
        }
      },
      "locations": {
        "description": "This table lists various tourist locations that users can check into. Each location has a unique identifier and associated details.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each location."
          },
          "name": {
            "kind": "words",
            "max": 10,
            "description": "The name of the tourist location."
          },
          "latitude": {
            "kind": "decimal",
            "min": -90,
            "max": 90,
            "scale": 6,
            "description": "The geographical latitude of the location."
          },
          "longitude": {
            "kind": "decimal",
            "min": -180,
            "max": 180,
            "scale": 6,
            "description": "The geographical longitude of the location."
          },
          "type": {
            "kind": "enum",
            "values": [
              "landmark",
              "restaurant",
              "museum",
              "park"
            ],
            "description": "The type of the location."
          }
        }
      },
      "tours": {
        "description": "This table contains information about different tour types available through the service. Each tour has a unique identifier and details.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each tour."
          },
          "tour_name": {
            "kind": "words",
            "max": 15,
            "description": "The name of the tour."
          },
          "description": {
            "kind": "sentence",
            "max": 200,
            "description": "A brief description of the tour."
          },
          "duration": {
            "kind": "int",
            "min": 1,
            "max": 12,
            "description": "Duration of the tour in hours."
          },
          "language": {
            "kind": "enum",
            "values": [
              "English",
              "Spanish",
              "French",
              "German",
              "Chinese"
            ],
            "description": "Language in which the tour is conducted."
          }
        }
      },
      "check_ins": {
        "description": "This table records user check-ins at various locations. Each check-in is linked to a user and a location.",
        "rows": 500,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each check-in."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "The identifier of the user checking in."
          },
          "location_id": {
            "kind": "fk",
            "ref": "locations.id",
            "description": "The identifier of the location being checked into."
          },
          "check_in_time": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The timestamp of when the user checked in.",
            "dayProfile": "waking"
          }
        }
      },
      "translations": {
        "description": "This table records translation requests made by users during their tours. Each request is linked to a user and a specific location.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each translation request."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "The identifier of the user requesting the translation."
          },
          "location_id": {
            "kind": "fk",
            "ref": "locations.id",
            "description": "The identifier of the location where translation is requested."
          },
          "requested_language": {
            "kind": "enum",
            "values": [
              "Spanish",
              "French",
              "German",
              "Chinese",
              "Japanese"
            ],
            "description": "The language into which the translation is requested."
          },
          "request_time": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The timestamp of when the translation request was made.",
            "dayProfile": "business"
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "timestamped",
      "categorical",
      "nullable"
    ],
    "analysisQuestions": [
      "What are the most popular locations among users?",
      "Which languages are most frequently requested for translation?",
      "How do user preferences for tour types vary by location?",
      "What time of year do users tend to check in more frequently?",
      "Which user demographic prefers cultural experiences over popular attractions?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Users and Check-Ins",
        "sql": "SELECT u.full_name, ci.check_in_time, l.name FROM users u JOIN check_ins ci ON u.id = ci.user_id JOIN locations l ON ci.location_id = l.id;",
        "dialect": "postgres"
      },
      {
        "title": "Count Check-Ins by Location",
        "sql": "SELECT l.name, COUNT(ci.id) as total_check_ins FROM locations l LEFT JOIN check_ins ci ON l.id = ci.location_id GROUP BY l.name ORDER BY total_check_ins DESC;",
        "dialect": "postgres"
      },
      {
        "title": "Average Tour Duration by Language",
        "sql": "SELECT t.language, AVG(t.duration) as average_duration FROM tours t GROUP BY t.language ORDER BY average_duration DESC;",
        "dialect": "postgres"
      },
      {
        "title": "Check-Ins Over Time",
        "sql": "SELECT DATE(ci.check_in_time) as date, COUNT(ci.id) as total_check_ins FROM check_ins ci GROUP BY date ORDER BY date;",
        "dialect": "postgres"
      },
      {
        "title": "Translation Requests by User",
        "sql": "SELECT u.full_name, COUNT(tr.id) as total_requests FROM users u JOIN translations tr ON u.id = tr.user_id GROUP BY u.full_name ORDER BY total_requests DESC;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Travel Agency Analysis",
        "body": "A travel agency could use this dataset to analyze user preferences and tailor their offerings accordingly. By examining popular locations and tour types, they can create more appealing travel packages that cater to the interests of different demographics."
      },
      {
        "title": "Language Translation Services",
        "body": "A language translation service could utilize the translation request data to identify which languages are most in demand among travelers. This insight can help them allocate resources and develop targeted marketing strategies to attract more users."
      },
      {
        "title": "User Experience Enhancement",
        "body": "Developers can leverage this dataset to improve the virtual tour guide application. By analyzing check-in patterns and user feedback, they can enhance the app's features, ensuring it offers relevant information and seamless navigation for travelers."
      },
      {
        "title": "Cultural Experience Promotion",
        "body": "Organizations promoting cultural experiences can use this dataset to identify niche markets. By understanding which users prefer off-the-beaten-path locations, they can design unique experiences that appeal to adventurous travelers seeking authentic interactions."
      }
    ]
  },
  "counts": {
    "locations": 150,
    "tours": 100,
    "users": 200,
    "check_ins": 500,
    "translations": 300
  },
  "stats": {
    "users": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "full_name": {
          "nulls": 0,
          "distinct": 196,
          "min": "Alice Ali",
          "max": "Zoe Pereira"
        },
        "email": {
          "nulls": 0,
          "distinct": 198
        },
        "preferred_language": {
          "nulls": 0,
          "distinct": 6,
          "min": "Chinese",
          "max": "Spanish"
        }
      }
    },
    "locations": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "name": {
          "nulls": 0,
          "distinct": 150
        },
        "latitude": {
          "nulls": 0,
          "distinct": 150,
          "min": -89.167724,
          "max": 88.993841
        },
        "longitude": {
          "nulls": 0,
          "distinct": 150,
          "min": -179.423694,
          "max": 178.225546
        },
        "type": {
          "nulls": 0,
          "distinct": 4,
          "min": "landmark",
          "max": "restaurant"
        }
      }
    },
    "tours": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "tour_name": {
          "nulls": 0,
          "distinct": 100
        },
        "description": {
          "nulls": 0,
          "distinct": 100
        },
        "duration": {
          "nulls": 0,
          "distinct": 12,
          "min": 1,
          "max": 12
        },
        "language": {
          "nulls": 0,
          "distinct": 5,
          "min": "Chinese",
          "max": "Spanish"
        }
      }
    },
    "check_ins": {
      "rows": 500,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 500,
          "min": 1,
          "max": 500
        },
        "user_id": {
          "nulls": 0,
          "distinct": 184,
          "min": 1,
          "max": 200
        },
        "location_id": {
          "nulls": 0,
          "distinct": 145,
          "min": 1,
          "max": 150
        },
        "check_in_time": {
          "nulls": 0,
          "distinct": 500,
          "min": "2023-01-01 13:53:48",
          "max": "2023-12-31 22:20:01"
        }
      }
    },
    "translations": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "user_id": {
          "nulls": 0,
          "distinct": 151,
          "min": 1,
          "max": 200
        },
        "location_id": {
          "nulls": 0,
          "distinct": 126,
          "min": 1,
          "max": 150
        },
        "requested_language": {
          "nulls": 0,
          "distinct": 5,
          "min": "Chinese",
          "max": "Spanish"
        },
        "request_time": {
          "nulls": 0,
          "distinct": 300,
          "min": "2023-01-01 19:53:53",
          "max": "2023-12-30 14:55:17"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/locations.csv",
      "format": "csv",
      "table": "locations",
      "key": "datasets/globetrotter-insights/v1/csv/locations.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/globetrotter-insights/v1/csv/locations.csv",
      "bytes": 11177,
      "sha256": "29ade76d56b8db0cacad4d64a49e53a6493d8adb9bae6962d9f8428ad7d2c35d",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/tours.csv",
      "format": "csv",
      "table": "tours",
      "key": "datasets/globetrotter-insights/v1/csv/tours.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/globetrotter-insights/v1/csv/tours.csv",
      "bytes": 12576,
      "sha256": "f247584074f03fb1300c3811d099b333b616da403944b3eb42f3fcf9c22d4566",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/globetrotter-insights/v1/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/globetrotter-insights/v1/csv/users.csv",
      "bytes": 9752,
      "sha256": "af87edcca040377dff594cfe62769c3e2fc7789f3d3b0a4c78e14266e50f585e",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/check_ins.csv",
      "format": "csv",
      "table": "check_ins",
      "key": "datasets/globetrotter-insights/v1/csv/check_ins.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/globetrotter-insights/v1/csv/check_ins.csv",
      "bytes": 15816,
      "sha256": "3930dca7194ca20c09f85dd7df5152625ffa5c64a51b742faacf0ec56d9ed804",
      "rows": 500,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/translations.csv",
      "format": "csv",
      "table": "translations",
      "key": "datasets/globetrotter-insights/v1/csv/translations.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/globetrotter-insights/v1/csv/translations.csv",
      "bytes": 11791,
      "sha256": "610b3322273852258894b0833a9dbf3a0e0889ee5abc0f84d6f73a0c742c5c77",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "globetrotter-insights.json",
      "format": "json",
      "table": null,
      "key": "datasets/globetrotter-insights/v1/globetrotter-insights.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/globetrotter-insights/v1/globetrotter-insights.json",
      "bytes": 186480,
      "sha256": "bdb163d3ecae983e46d643df1a4a8d54e4207323b06b745367a7d280a85550dc",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/globetrotter-insights/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/globetrotter-insights/v1/sql/postgres.sql",
      "bytes": 80327,
      "sha256": "5c7b26e4bacf283732fa27d7539d46435d5b12617a6642638880478e320418d6",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/globetrotter-insights/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/globetrotter-insights/v1/sql/mysql.sql",
      "bytes": 79774,
      "sha256": "668c4a201fb361c3262adfd57fc48756ed5e8d19ccdc3e8d89efdb03c7cfbe50",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/globetrotter-insights/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/globetrotter-insights/v1/sql/mssql.sql",
      "bytes": 82398,
      "sha256": "02281f13999478363f26f1048064034f52b48ff6c3532759a4b2cdeaec86b289",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/globetrotter-insights/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/globetrotter-insights/v1/sql/sqlite.sql",
      "bytes": 79555,
      "sha256": "2989ea1af7393281336d5b8a33bcbc4aade97c172a6621796e1bc05b11976fa6",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/globetrotter-insights/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/globetrotter-insights/v1/prisma/seed.ts",
      "bytes": 157429,
      "sha256": "17750d60c2baa8f8aaa6fc2c7b3a19f731c2e3e10ac5af397410b18d5b800ee1",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/globetrotter-insights/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/globetrotter-insights/v1/django/fixtures.json",
      "bytes": 238451,
      "sha256": "3e4f0370540ceb627e5f18449c0dcc71a55267ee7465a7c6c7c6e67e7aece4b0",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788767464351,
  "updatedAt": 1788767464351
}
