{
  "format": "dataset-manifest/1",
  "slug": "customer-reviews-for-travel-services-database",
  "version": 2,
  "seed": "customer-reviews-for-travel-services-database:1",
  "spec": {
    "format": "dataset/1",
    "slug": "customer-reviews-for-travel-services-database",
    "name": "Travel Experience Insights",
    "tagline": "Reviews from travelers about hotels, car rentals, and tours, capturing sentiments and loyalty program effectiveness.",
    "description": "Travel agencies thrive on delivering exceptional experiences, and customer feedback is crucial for success. Agents work tirelessly to arrange seamless trips for their clients, coordinating everything from accommodations to transportation and activities. This dataset revolves around reviews from travelers about various services offered by these agencies, including hotels, car rentals, and guided tours. Each review captures the sentiments of travelers, often highlighting unique amenities or the effectiveness of loyalty programs. With most entries consisting of enthusiastic reviews detailing positive experiences, negative comments tend to cluster around service delays or booking issues, revealing areas for improvement.\n\nThe relational structure of the dataset includes several interconnected tables. The 'customers' table contains demographic and contact information for travelers who have engaged with various services. Each entry in the 'services' table details the different offerings available, such as types of accommodations or transportation options. The 'reviews' table documents the feedback provided by customers, linked to specific services and associated with individual travelers from the 'customers' table. Additionally, the 'loyalty_programs' table lists various programs available to frequent travelers, while the 'service_feedback' table allows for deeper insights into specific service attributes related to customer satisfaction.\n\nBy analyzing this data, developers can answer important questions regarding customer satisfaction and service effectiveness. They can explore trends in customer feedback, identify which services are most praised or criticized, and examine how loyalty programs impact overall travel experiences. This dataset is excellent for practicing skills in data analysis, allowing users to draw valuable insights from synthetic entries that mimic real-world scenarios without risking confidentiality or data privacy.",
    "domain": "travel",
    "shape": "transactional",
    "useCases": [
      "sql-practice",
      "orm-seeding"
    ],
    "keywords": [
      "travel",
      "customer reviews",
      "hotels",
      "car rentals",
      "guided tours",
      "feedback",
      "loyalty programs"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "customers": {
        "description": "This table captures information about travelers who provide reviews. Each row represents a unique customer linked to their reviews.",
        "rows": 300,
        "columns": {
          "customer_id": {
            "kind": "pk",
            "description": "Unique identifier for each customer."
          },
          "full_name": {
            "kind": "fullName",
            "description": "Full name of the customer."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "Email address of the customer."
          },
          "loyalty_program_member": {
            "kind": "bool",
            "trueRate": 0.5,
            "description": "Indicates if the customer is a member of a loyalty program."
          }
        }
      },
      "services": {
        "description": "This table lists different types of travel services available for review, linking to their respective reviews.",
        "rows": 150,
        "columns": {
          "service_id": {
            "kind": "pk",
            "description": "Unique identifier for each service."
          },
          "service_type": {
            "kind": "enum",
            "values": [
              "hotel",
              "car rental",
              "guided tour"
            ],
            "description": "Type of travel service."
          },
          "service_name": {
            "kind": "words",
            "min": 1,
            "max": 3,
            "description": "Name of the service provider.",
            "pool": [
              "hotel",
              "airline",
              "tour",
              "guide",
              "transport",
              "cruise",
              "restaurant",
              "agency",
              "service",
              "car",
              "experience",
              "package",
              "destination",
              "trip",
              "vacation",
              "stay",
              "flight",
              "transfer",
              "excursion",
              "adventure",
              "resort"
            ]
          }
        }
      },
      "reviews": {
        "description": "This table contains customer reviews for various services, linking customers to services and capturing their sentiments.",
        "rows": 450,
        "columns": {
          "review_id": {
            "kind": "pk",
            "description": "Unique identifier for each review."
          },
          "customer_id": {
            "kind": "fk",
            "ref": "customers.customer_id",
            "description": "Link to the customer who wrote the review."
          },
          "service_id": {
            "kind": "fk",
            "ref": "services.service_id",
            "description": "Link to the service being reviewed."
          },
          "rating": {
            "kind": "int",
            "min": 1,
            "max": 5,
            "description": "Rating given by the customer, from 1 (poor) to 5 (excellent).",
            "distribution": "high"
          },
          "review_text": {
            "kind": "paragraph",
            "min": 10,
            "max": 500,
            "description": "Detailed feedback from the customer."
          },
          "review_date": {
            "kind": "date",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date when the review was submitted.",
            "trend": "seasonal"
          }
        }
      },
      "loyalty_programs": {
        "description": "This table details loyalty programs associated with the services, highlighting benefits offered to members.",
        "rows": 50,
        "columns": {
          "program_id": {
            "kind": "pk",
            "description": "Unique identifier for each loyalty program."
          },
          "service_id": {
            "kind": "fk",
            "ref": "services.service_id",
            "description": "Link to the associated service."
          },
          "program_name": {
            "kind": "words",
            "min": 1,
            "max": 3,
            "description": "Name of the loyalty program.",
            "pool": [
              "rewards",
              "points",
              "club",
              "membership",
              "frequent",
              "elite",
              "loyalty",
              "benefits",
              "savings",
              "offers",
              "bonus",
              "travel",
              "exclusive",
              "perks",
              "insider",
              "access",
              "program",
              "advantage",
              "status",
              "tier",
              "pointsplus"
            ]
          },
          "benefits": {
            "kind": "sentence",
            "description": "Description of benefits provided to program members."
          }
        }
      },
      "service_feedback": {
        "description": "This table aggregates feedback on specific aspects of services, giving insights into common issues and praises.",
        "rows": 200,
        "columns": {
          "feedback_id": {
            "kind": "pk",
            "description": "Unique identifier for each feedback entry."
          },
          "service_id": {
            "kind": "fk",
            "ref": "services.service_id",
            "description": "Link to the service being evaluated."
          },
          "positive_aspect": {
            "kind": "words",
            "description": "Highlights positive elements of the service.",
            "pool": [
              "friendly",
              "clean",
              "efficient",
              "helpful",
              "comfortable",
              "affordable",
              "convenient",
              "professional",
              "reliable",
              "prompt",
              "enjoyable",
              "smooth",
              "welcoming",
              "excellent",
              "great",
              "pleasant",
              "satisfactory",
              "quick",
              "responsive",
              "trustworthy",
              "supportive"
            ],
            "min": 1,
            "max": 3
          },
          "negative_aspect": {
            "kind": "words",
            "description": "Highlights negative elements of the service.",
            "pool": [
              "delay",
              "expensive",
              "unhelpful",
              "crowded",
              "dirty",
              "slow",
              "inconvenient",
              "poor",
              "rude",
              "disorganized",
              "uncomfortable",
              "complex",
              "limited",
              "dissatisfactory",
              "confusing",
              "lack",
              "unreliable",
              "bad",
              "negative",
              "frustrating"
            ],
            "min": 1,
            "max": 3
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "timestamped",
      "nullable"
    ],
    "analysisQuestions": [
      "What are the most common positive and negative aspects mentioned in reviews?",
      "How do ratings vary between different types of services?",
      "What impact do loyalty programs have on customer ratings?",
      "Which service providers receive the highest ratings and why?",
      "How does customer feedback change over time for specific services?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Customers and Reviews",
        "sql": "SELECT c.full_name, r.rating FROM customers c JOIN reviews r ON c.customer_id = r.customer_id;",
        "dialect": "postgres"
      },
      {
        "title": "Average Ratings by Service Type",
        "sql": "SELECT s.service_type, AVG(r.rating) AS average_rating FROM services s JOIN reviews r ON s.service_id = r.service_id GROUP BY s.service_type;",
        "dialect": "postgres"
      },
      {
        "title": "Reviews with Feedback on Loyalty Programs",
        "sql": "SELECT r.review_text, lp.program_name FROM reviews r JOIN customers c ON r.customer_id = c.customer_id JOIN loyalty_programs lp ON c.loyalty_program_member = TRUE;",
        "dialect": "postgres"
      },
      {
        "title": "Monthly Rating Trends for Services",
        "sql": "SELECT DATE_TRUNC('month', r.review_date) AS review_month, AVG(r.rating) AS average_rating FROM reviews r GROUP BY review_month ORDER BY review_month;",
        "dialect": "postgres"
      },
      {
        "title": "Feedback Analysis by Service Provider",
        "sql": "SELECT s.service_name, COUNT(sf.feedback_id) AS feedback_count FROM services s JOIN service_feedback sf ON s.service_id = sf.service_id GROUP BY s.service_name;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Travel Agency Analytics",
        "body": "A travel agency can utilize this dataset to analyze customer reviews and identify service improvements. By comparing reviews across different services, the agency can pinpoint areas needing attention and enhance customer satisfaction."
      },
      {
        "title": "Loyalty Program Evaluation",
        "body": "Marketing teams can leverage the dataset to evaluate the effectiveness of their loyalty programs. By examining how program membership influences customer ratings, they can refine their offerings and increase customer retention."
      },
      {
        "title": "Customer Sentiment Analysis",
        "body": "Data scientists can perform sentiment analysis on the review texts to gauge customer feelings about specific services. This can help in developing targeted strategies to address common complaints or enhance praised features."
      },
      {
        "title": "Service Comparison Research",
        "body": "Researchers can utilize the dataset to compare different service providers within the travel industry. By analyzing ratings and feedback, they can draw conclusions about which services are most favored and why, aiding in market research."
      }
    ]
  },
  "counts": {
    "customers": 300,
    "services": 150,
    "loyalty_programs": 50,
    "reviews": 450,
    "service_feedback": 200
  },
  "stats": {
    "customers": {
      "rows": 300,
      "columns": {
        "customer_id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "full_name": {
          "nulls": 0,
          "distinct": 290,
          "min": "Alice Fischer",
          "max": "Zoe Sato"
        },
        "email": {
          "nulls": 0,
          "distinct": 295
        },
        "loyalty_program_member": {
          "nulls": 0,
          "distinct": 2,
          "min": "false",
          "max": "true"
        }
      }
    },
    "services": {
      "rows": 150,
      "columns": {
        "service_id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "service_type": {
          "nulls": 0,
          "distinct": 3,
          "min": "car rental",
          "max": "hotel"
        },
        "service_name": {
          "nulls": 0,
          "distinct": 116
        }
      }
    },
    "reviews": {
      "rows": 450,
      "columns": {
        "review_id": {
          "nulls": 0,
          "distinct": 450,
          "min": 1,
          "max": 450
        },
        "customer_id": {
          "nulls": 0,
          "distinct": 240,
          "min": 1,
          "max": 300
        },
        "service_id": {
          "nulls": 0,
          "distinct": 143,
          "min": 1,
          "max": 150
        },
        "rating": {
          "nulls": 0,
          "distinct": 5,
          "min": 1,
          "max": 5
        },
        "review_text": {
          "nulls": 0,
          "distinct": 450
        },
        "review_date": {
          "nulls": 0,
          "distinct": 326,
          "min": "2022-01-03",
          "max": "2023-12-26"
        }
      }
    },
    "loyalty_programs": {
      "rows": 50,
      "columns": {
        "program_id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "service_id": {
          "nulls": 0,
          "distinct": 40,
          "min": 2,
          "max": 147
        },
        "program_name": {
          "nulls": 0,
          "distinct": 45
        },
        "benefits": {
          "nulls": 0,
          "distinct": 50
        }
      }
    },
    "service_feedback": {
      "rows": 200,
      "columns": {
        "feedback_id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "service_id": {
          "nulls": 0,
          "distinct": 108,
          "min": 1,
          "max": 150
        },
        "positive_aspect": {
          "nulls": 0,
          "distinct": 140
        },
        "negative_aspect": {
          "nulls": 0,
          "distinct": 147
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/customers.csv",
      "format": "csv",
      "table": "customers",
      "key": "datasets/customer-reviews-for-travel-services-database/v2/csv/customers.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/customer-reviews-for-travel-services-database/v2/csv/customers.csv",
      "bytes": 13888,
      "sha256": "d7c12918cb3ec189d36459e67fa1b6314ee21a6c5fc0fb29df923203a91c6e54",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/services.csv",
      "format": "csv",
      "table": "services",
      "key": "datasets/customer-reviews-for-travel-services-database/v2/csv/services.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/customer-reviews-for-travel-services-database/v2/csv/services.csv",
      "bytes": 4401,
      "sha256": "da7462b716e1f16e632f072c61c250d31133631e55ed62cab86157a0b73c4a0a",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/loyalty_programs.csv",
      "format": "csv",
      "table": "loyalty_programs",
      "key": "datasets/customer-reviews-for-travel-services-database/v2/csv/loyalty_programs.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/customer-reviews-for-travel-services-database/v2/csv/loyalty_programs.csv",
      "bytes": 3989,
      "sha256": "2969b4626b02116fd3aa7f39d4247cc060a40cc6843496b6437d85b535c4f50a",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/reviews.csv",
      "format": "csv",
      "table": "reviews",
      "key": "datasets/customer-reviews-for-travel-services-database/v2/csv/reviews.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/customer-reviews-for-travel-services-database/v2/csv/reviews.csv",
      "bytes": 89613,
      "sha256": "3452a700477d19186801857b24a00b8c3a7b745c9696b476738ccd21d362c9be",
      "rows": 450,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/service_feedback.csv",
      "format": "csv",
      "table": "service_feedback",
      "key": "datasets/customer-reviews-for-travel-services-database/v2/csv/service_feedback.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/customer-reviews-for-travel-services-database/v2/csv/service_feedback.csv",
      "bytes": 8966,
      "sha256": "00d6f2171fababa68bb2b33cb38c9195c15a0e1d271f8c477dd334aba02b9e35",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "customer-reviews-for-travel-services-database.json",
      "format": "json",
      "table": null,
      "key": "datasets/customer-reviews-for-travel-services-database/v2/customer-reviews-for-travel-services-database.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/customer-reviews-for-travel-services-database/v2/customer-reviews-for-travel-services-database.json",
      "bytes": 253878,
      "sha256": "8b78cf19c7118dae3f64ff6b56ab2ab645b9b3339aa1aac13028296943e67f0b",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/customer-reviews-for-travel-services-database/v2/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/customer-reviews-for-travel-services-database/v2/sql/postgres.sql",
      "bytes": 139258,
      "sha256": "305d1950f5afca1a74b6ccf7c81b57fff60928956bb7db9c2ffd2ca8b4fcf060",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/customer-reviews-for-travel-services-database/v2/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/customer-reviews-for-travel-services-database/v2/sql/mysql.sql",
      "bytes": 137548,
      "sha256": "2c9fdd968fde99e42d098b5d5144ad1f3fda4ba5bc6035e466af7c40d913f453",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/customer-reviews-for-travel-services-database/v2/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/customer-reviews-for-travel-services-database/v2/sql/mssql.sql",
      "bytes": 140203,
      "sha256": "323f2a1ebcbe9577fef3f62ab7662414f12f1f06971820b374284af8d3ab2e96",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/customer-reviews-for-travel-services-database/v2/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/customer-reviews-for-travel-services-database/v2/sql/sqlite.sql",
      "bytes": 137327,
      "sha256": "0694689883be1c460e07e64bed72d6bf75376d903d88522562ec2d7252926549",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/customer-reviews-for-travel-services-database/v2/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/customer-reviews-for-travel-services-database/v2/prisma/seed.ts",
      "bytes": 216635,
      "sha256": "285212ca4e04340ae07b67a64741c81897ee012a6440da6ef11088626d3284be",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/customer-reviews-for-travel-services-database/v2/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/customer-reviews-for-travel-services-database/v2/django/fixtures.json",
      "bytes": 293462,
      "sha256": "e000084445706f7a4d8c8f0fb43c8245feb69f765cc4a0dab5587f8fd8d6b01f",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788765916684,
  "updatedAt": 1788778203010
}
