{
  "format": "dataset-manifest/1",
  "slug": "airline-reservation-system",
  "version": 1,
  "seed": "airline-reservation-system:1",
  "spec": {
    "format": "dataset/1",
    "slug": "airline-reservation-system",
    "name": "Airline Transaction Records",
    "tagline": "Flight details, ticket purchases, baggage information, promotions, and compensation requests from airline transactions.",
    "description": "Airlines manage passenger travel by coordinating flights and ensuring customer satisfaction through various services. Operations in this business involve ticket sales, baggage handling, and promotional offers, all while addressing the occasional complications that arise, such as flight delays and compensation requests. Travelers book tickets to secure their journeys, and airlines must efficiently handle the associated baggage, providing a seamless customer experience. This dataset captures these dynamics through its various tables, which reflect different aspects of airline operations.\n\nThe 'flights' table details the available flights, containing information such as flight numbers, departure and arrival locations, and scheduled times. Each entry represents a unique flight, and it connects with the 'tickets' table, which records ticket purchases made by passengers for those flights. This table includes passenger details, ticket prices, and purchase dates, allowing for insights into sales trends and passenger demographics.\n\nThe 'baggage' table tracks checked baggage associated with each ticket purchase, linking back to the tickets table. It provides data on baggage weight, fees, and handling status, which can help analyze additional revenue from baggage services and operational efficiency in handling luggage. The 'promotions' table outlines any special offers or discounts applied to ticket sales, giving context to pricing strategies and customer engagement efforts.\n\nOn the other hand, the 'compensation_requests' table captures instances of compensation due to flight delays or cancellations, linking to the specific flights affected. This table is essential for understanding customer satisfaction and the financial impact of service disruptions. By examining these relationships, analysts can uncover patterns, evaluate performance, and make data-driven decisions to enhance service quality.\n\nThis synthetic dataset provides a rich resource for practicing data analysis, enabling users to explore questions around ticket sales trends, baggage handling efficiency, promotion effectiveness, and customer service responsiveness.",
    "domain": "travel",
    "shape": "transactional",
    "useCases": [
      "sql-practice",
      "orm-seeding"
    ],
    "keywords": [
      "airline",
      "flights",
      "tickets",
      "promotions",
      "baggage",
      "compensation",
      "travel",
      "customer service"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "flights": {
        "description": "This table contains information about scheduled flights, including departure and arrival locations and times. Each flight is identified uniquely by its flight number.",
        "rows": 100,
        "columns": {
          "flight_number": {
            "kind": "pk",
            "description": "Unique identifier for the flight."
          },
          "departure": {
            "kind": "datetime",
            "from": "2023-10-01",
            "to": "2023-12-31",
            "dayProfile": "business",
            "description": "Scheduled departure date and time of the flight."
          },
          "arrival": {
            "kind": "datetime",
            "after": "departure",
            "withinDays": 5,
            "description": "Scheduled arrival date and time of the flight."
          },
          "origin": {
            "kind": "city",
            "description": "City of departure."
          },
          "destination": {
            "kind": "city",
            "description": "City of arrival."
          }
        }
      },
      "tickets": {
        "description": "This table records ticket purchases made by passengers, linking them to specific flights. Each ticket is associated with a passenger and includes pricing details.",
        "rows": 500,
        "columns": {
          "ticket_id": {
            "kind": "pk",
            "description": "Unique identifier for the ticket."
          },
          "flight_number": {
            "kind": "fk",
            "ref": "flights.flight_number",
            "description": "Flight associated with the ticket."
          },
          "passenger_name": {
            "kind": "fullName",
            "description": "Full name of the passenger.",
            "nullable": true
          },
          "price": {
            "kind": "decimal",
            "min": 50,
            "max": 1500,
            "scale": 2,
            "description": "Price of the ticket.",
            "nullable": true
          },
          "purchase_date": {
            "kind": "datetime",
            "from": "2023-10-01",
            "to": "2023-12-31",
            "description": "Date and time when the ticket was purchased.",
            "nullable": true
          }
        }
      },
      "baggage": {
        "description": "This table tracks baggage associated with tickets, including checked baggage and its status. Each entry links to a specific ticket.",
        "rows": 300,
        "columns": {
          "baggage_id": {
            "kind": "pk",
            "description": "Unique identifier for the baggage."
          },
          "ticket_id": {
            "kind": "fk",
            "ref": "tickets.ticket_id",
            "description": "Ticket associated with the baggage."
          },
          "weight": {
            "kind": "decimal",
            "min": 0,
            "max": 50,
            "scale": 2,
            "description": "Weight of the checked baggage in kilograms.",
            "nullable": true,
            "when": {
              "column": "status",
              "in": [
                "checked",
                "in transit",
                "delivered"
              ]
            }
          },
          "status": {
            "kind": "enum",
            "values": [
              "checked",
              "in transit",
              "delivered"
            ],
            "description": "Current status of the baggage."
          }
        }
      },
      "promotions": {
        "description": "This table contains promotional offers available for passengers, detailing the discounts and the validity of each promotion.",
        "rows": 50,
        "columns": {
          "promotion_id": {
            "kind": "pk",
            "description": "Unique identifier for the promotion."
          },
          "promotion_code": {
            "kind": "words",
            "min": 5,
            "max": 10,
            "description": "Code used to redeem the promotion."
          },
          "discount_percentage": {
            "kind": "decimal",
            "min": 5,
            "max": 50,
            "description": "Discount percentage offered by the promotion."
          },
          "valid_from": {
            "kind": "datetime",
            "from": "2023-10-01",
            "to": "2023-12-31",
            "description": "Start date of the promotion."
          },
          "valid_to": {
            "kind": "datetime",
            "after": "valid_from",
            "withinDays": 30,
            "description": "End date of the promotion."
          }
        }
      },
      "compensation_requests": {
        "description": "This table captures requests for compensation from passengers due to flight delays or other issues. Each request is linked to a specific ticket.",
        "rows": 100,
        "columns": {
          "request_id": {
            "kind": "pk",
            "description": "Unique identifier for the compensation request."
          },
          "ticket_id": {
            "kind": "fk",
            "ref": "tickets.ticket_id",
            "description": "Ticket associated with the compensation request."
          },
          "request_date": {
            "kind": "datetime",
            "from": "2023-10-01",
            "to": "2023-12-31",
            "description": "Date when the compensation request was made.",
            "nullable": true,
            "when": {
              "column": "status",
              "in": [
                "approved",
                "rejected"
              ]
            }
          },
          "status": {
            "kind": "enum",
            "values": [
              "pending",
              "approved",
              "rejected"
            ],
            "description": "Current status of the compensation request."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "timestamped",
      "monetary",
      "categorical"
    ],
    "analysisQuestions": [
      "What are the most common reasons for compensation requests?",
      "Which promotions lead to the highest ticket sales?",
      "How does baggage weight correlate with ticket prices?",
      "What is the average delay time for flights?",
      "Which destinations have the most flights scheduled?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Tickets with Flights",
        "sql": "SELECT t.ticket_id, f.flight_number, f.origin, f.destination FROM tickets t JOIN flights f ON t.flight_number = f.flight_number;",
        "dialect": "postgres"
      },
      {
        "title": "Count Tickets by Flight",
        "sql": "SELECT flight_number, COUNT(*) AS total_tickets FROM tickets GROUP BY flight_number;",
        "dialect": "postgres"
      },
      {
        "title": "Average Ticket Price by Destination",
        "sql": "SELECT f.destination, AVG(t.price) AS average_price FROM tickets t JOIN flights f ON t.flight_number = f.flight_number GROUP BY f.destination;",
        "dialect": "postgres"
      },
      {
        "title": "Compensation Request Status Overview",
        "sql": "SELECT status, COUNT(*) AS request_count FROM compensation_requests GROUP BY status;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Data Analysts",
        "body": "Data analysts can utilize this dataset to identify trends in airline performance, such as which flights have the highest delays and the subsequent impact on customer satisfaction. By analyzing ticket sales alongside compensation requests, they can provide actionable insights to improve service quality."
      },
      {
        "title": "Software Developers",
        "body": "Software developers can use this dataset to seed their applications with realistic data while developing airline reservation systems. By leveraging the relationships between tables, they can test functionalities such as ticket purchasing, baggage tracking, and promotion management."
      },
      {
        "title": "Marketing Teams",
        "body": "Marketing teams can analyze the effectiveness of promotional campaigns by examining the correlation between promotion codes used and ticket sales. This can help them refine their marketing strategies and create more targeted promotions for future customers."
      },
      {
        "title": "Customer Service Representatives",
        "body": "Customer service representatives can use this dataset for training purposes, simulating various scenarios involving ticketing issues, baggage claims, and compensation requests. This practical experience will help them handle real-world situations more efficiently."
      }
    ]
  },
  "counts": {
    "flights": 100,
    "promotions": 50,
    "tickets": 500,
    "baggage": 300,
    "compensation_requests": 100
  },
  "stats": {
    "flights": {
      "rows": 100,
      "columns": {
        "flight_number": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "departure": {
          "nulls": 0,
          "distinct": 100,
          "min": "2023-10-03 09:31:29",
          "max": "2023-12-31 11:18:54"
        },
        "arrival": {
          "nulls": 0,
          "distinct": 100,
          "min": "2023-10-04 03:49:41",
          "max": "2024-01-03 10:26:23"
        },
        "origin": {
          "nulls": 0,
          "distinct": 49,
          "min": "Amsterdam",
          "max": "Zurich"
        },
        "destination": {
          "nulls": 0,
          "distinct": 50,
          "min": "Amsterdam",
          "max": "Zurich"
        }
      }
    },
    "tickets": {
      "rows": 500,
      "columns": {
        "ticket_id": {
          "nulls": 0,
          "distinct": 500,
          "min": 1,
          "max": 500
        },
        "flight_number": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "passenger_name": {
          "nulls": 51,
          "distinct": 434,
          "min": "Alice Adams",
          "max": "Zoe Young"
        },
        "price": {
          "nulls": 54,
          "distinct": 444,
          "min": 51.16,
          "max": 1498.91
        },
        "purchase_date": {
          "nulls": 56,
          "distinct": 444,
          "min": "2023-10-01 07:09:28",
          "max": "2023-12-31 17:51:53"
        }
      }
    },
    "baggage": {
      "rows": 300,
      "columns": {
        "baggage_id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "ticket_id": {
          "nulls": 0,
          "distinct": 217,
          "min": 3,
          "max": 499
        },
        "weight": {
          "nulls": 0,
          "distinct": 290,
          "min": 0.31,
          "max": 49.92
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "checked",
          "max": "in transit"
        }
      }
    },
    "promotions": {
      "rows": 50,
      "columns": {
        "promotion_id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "promotion_code": {
          "nulls": 0,
          "distinct": 50
        },
        "discount_percentage": {
          "nulls": 0,
          "distinct": 50,
          "min": 5.58,
          "max": 49.7
        },
        "valid_from": {
          "nulls": 0,
          "distinct": 50,
          "min": "2023-10-01 01:58:43",
          "max": "2023-12-31 06:37:48"
        },
        "valid_to": {
          "nulls": 0,
          "distinct": 50,
          "min": "2023-10-05 02:59:35",
          "max": "2024-01-16 03:27:03"
        }
      }
    },
    "compensation_requests": {
      "rows": 100,
      "columns": {
        "request_id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "ticket_id": {
          "nulls": 0,
          "distinct": 91,
          "min": 8,
          "max": 489
        },
        "request_date": {
          "nulls": 28,
          "distinct": 72,
          "min": "2023-10-02 18:39:20",
          "max": "2023-12-31 23:50:02"
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "approved",
          "max": "rejected"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/flights.csv",
      "format": "csv",
      "table": "flights",
      "key": "datasets/airline-reservation-system/v1/csv/flights.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/airline-reservation-system/v1/csv/flights.csv",
      "bytes": 6013,
      "sha256": "8fb05948337aac7cbe5e6c8ca49d167fc49cde46708067cf87e88c0e4ad1e912",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/promotions.csv",
      "format": "csv",
      "table": "promotions",
      "key": "datasets/airline-reservation-system/v1/csv/promotions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/airline-reservation-system/v1/csv/promotions.csv",
      "bytes": 5071,
      "sha256": "41e60fbfffa3d1c142228cefc1e913b4fe22a46f83fc102dcd6ccfd08a5dbe32",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/tickets.csv",
      "format": "csv",
      "table": "tickets",
      "key": "datasets/airline-reservation-system/v1/csv/tickets.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/airline-reservation-system/v1/csv/tickets.csv",
      "bytes": 21684,
      "sha256": "bcf7c4de482a87b54fe8ad3bf2f83c87352b5d141c35fc38276d664e64b955c4",
      "rows": 500,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/baggage.csv",
      "format": "csv",
      "table": "baggage",
      "key": "datasets/airline-reservation-system/v1/csv/baggage.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/airline-reservation-system/v1/csv/baggage.csv",
      "bytes": 7184,
      "sha256": "75b49d0cf27b71511d481623a2efb861d6ae02bfe2878f86b24c6eaf30753707",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/compensation_requests.csv",
      "format": "csv",
      "table": "compensation_requests",
      "key": "datasets/airline-reservation-system/v1/csv/compensation_requests.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/airline-reservation-system/v1/csv/compensation_requests.csv",
      "bytes": 3156,
      "sha256": "cb9a7b45bab8a327755c796e491be01cfeb5d96ec18966931dd6025ff94622fe",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "airline-reservation-system.json",
      "format": "json",
      "table": null,
      "key": "datasets/airline-reservation-system/v1/airline-reservation-system.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/airline-reservation-system/v1/airline-reservation-system.json",
      "bytes": 160108,
      "sha256": "d8379f0d9cc47e929d1845eda02edb3dbc275850d7d01c771cd1bac5abe8e6ea",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/airline-reservation-system/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/airline-reservation-system/v1/sql/postgres.sql",
      "bytes": 60764,
      "sha256": "6ec1439b9ec8a4681503c0002d5f82adcc204e3a7ec13740cb8bee8ca3961253",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/airline-reservation-system/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/airline-reservation-system/v1/sql/mysql.sql",
      "bytes": 60103,
      "sha256": "50e2077f2edb2c9d5664d631f9d32371639d9fdb43c8cc5be7a836bb0a42749d",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/airline-reservation-system/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/airline-reservation-system/v1/sql/mssql.sql",
      "bytes": 62359,
      "sha256": "4c1ef19bc5a3922045f2829a31cfaeea9a60b0563eb44fb85e9c340f2b86d948",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/airline-reservation-system/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/airline-reservation-system/v1/sql/sqlite.sql",
      "bytes": 59896,
      "sha256": "6c1ef9c4778ef25b7a29ed1f1e8950acd9f204bf55f8c81fdc946adea5c334f2",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/airline-reservation-system/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/airline-reservation-system/v1/prisma/seed.ts",
      "bytes": 137105,
      "sha256": "e06c9bde6bc85b5172cb46cd0d3cb1650d00311293ba5a36164c0919657b0207",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/airline-reservation-system/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/airline-reservation-system/v1/django/fixtures.json",
      "bytes": 199896,
      "sha256": "d2c3acca9d5010d8f875c71ff738dbe456bc0558aff0744f75cc5c84d8bbd4fb",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788767850567,
  "updatedAt": 1788767850567
}
