cleanup: ticket and legal stuff

This commit is contained in:
user
2025-10-21 16:07:17 +03:00
parent 8440c6a2dd
commit de2fbd41d6
18 changed files with 92 additions and 1575 deletions

View File

@@ -1,35 +0,0 @@
<script lang="ts">
import Title from "$lib/components/atoms/title.svelte";
import TableOfContents from "../table-of-contents.svelte";
const toc = [{ title: "Introduction", link: "#introduction" }];
</script>
<section class="flex w-full flex-col-reverse gap-4 md:gap-8 lg:flex-row">
<div
class="col-span-3 flex w-full flex-col gap-4 rounded-lg border border-brand-200 bg-gradient-to-b from-white/50 to-brand-50 p-4 md:p-8"
>
<Title size="h2" weight="medium">Introduction</Title>
<p>
Welcome to FlyTicketTravel's legal documentation. As a flight booking
platform dedicated to providing seamless travel experiences, we take
our legal obligations seriously, particularly regarding payment
processing, data protection, and user privacy. This section outlines
our Privacy Policy, Terms and Conditions, Cookie Policy, and Refund
Policy, ensuring transparency in how we handle your personal data and
transactions.
</p>
<p>
Our policies are designed to comply with international data protection
laws, including GDPR. They cover everything from how we process your
flight bookings to how we secure your payment information. We
encourage you to read each section carefully to understand your rights
and our commitments to protecting your privacy while using
FlyTicketTravel's services.
</p>
</div>
<TableOfContents {toc} />
</section>

View File

@@ -1,36 +0,0 @@
<script lang="ts">
import { cn } from "$lib/utils";
import { TRANSITION_COLORS } from "$lib/core/constants";
import { legalArticles } from "./legal.articles";
import MaxWidthWrapper from "$lib/components/molecules/max-width-wrapper.svelte";
interface Props {
children?: import("svelte").Snippet;
}
let { children }: Props = $props();
</script>
<MaxWidthWrapper
cls="my-32 grid grid-cols-1 gap-4 px-4 md:px-8 lg:grid-cols-5 lg:gap-8"
>
<div
class="flex h-max flex-col gap-4 rounded-lg border border-brand-200 bg-brand-50/50 p-4 lg:col-span-1"
>
{#each legalArticles as article}
<a
href={article.link}
class={cn(
"cursor-pointer text-brand-950 hover:text-brand-600",
TRANSITION_COLORS,
)}
>
{article.title}
</a>
{/each}
</div>
<div class="lg:col-span-4">
{@render children?.()}
</div>
</MaxWidthWrapper>

View File

@@ -1,93 +0,0 @@
<script lang="ts">
import Title from "$lib/components/atoms/title.svelte";
import { CONTACT_INFO } from "$lib/core/constants";
import TableOfContents from "../table-of-contents.svelte";
const toc = [
{ title: "What Are Cookies?", link: "#what-are-cookies" },
{ title: "How We Use Cookies", link: "#how-we-use-cookies" },
{ title: "Types of Cookies We Use", link: "#types-of-cookies" },
{ title: "Managing Cookies", link: "#managing-cookies" },
{
title: "Changes to This Cookie Policy",
link: "#changes-to-this-cookie-policy",
},
{ title: "Contact Us", link: "#contact-us" },
];
const lastUpdated = "December 3, 2024";
</script>
<section class="flex w-full flex-col-reverse gap-6 md:gap-8 lg:flex-row">
<div
class="col-span-3 flex w-full flex-col gap-4 rounded-lg border border-brand-200 bg-gradient-to-b from-white/50 to-brand-50 p-4 md:p-8"
>
<Title size="h2" weight="medium">Cookie Policy</Title>
<p>
FlyTicketTravel ("we", "our", "us") uses cookies and similar
technologies to provide you with a better experience while using our
flight booking platform. This policy explains how we use cookies and
your choices regarding them.
</p>
<Title size="h3" weight="medium" id="what-are-cookies"
>1. What Are Cookies?</Title
>
<p>
Cookies are small text files stored on your device when you visit our
platform. They help us provide essential features and improve your
experience with FlyTicketTravel.
</p>
<Title size="h3" weight="medium" id="how-we-use-cookies"
>2. How We Use Cookies</Title
>
<p>We use cookies to:</p>
<ul class="list-disc pl-4">
<li>Keep you signed in to your FlyTicketTravel account securely</li>
<li>Remember your flight search preferences and settings</li>
<li>Ensure the security of your payment information</li>
<li>Improve our platform's performance</li>
<li>Analyze how our services are used</li>
</ul>
<Title size="h3" weight="medium" id="types-of-cookies"
>3. Types of Cookies We Use</Title
>
<p>Our platform uses:</p>
<ul class="list-disc pl-4">
<li>Essential cookies: Required for basic platform functionality</li>
<li>Authentication cookies: To keep you securely logged in</li>
<li>Preference cookies: To remember your settings</li>
<li>Analytics cookies: To improve our services</li>
</ul>
<Title size="h3" weight="medium" id="managing-cookies"
>4. Managing Cookies</Title
>
<p>
You can control cookies through your browser settings. Note that
disabling certain cookies may limit your access to some features of
FlyTicketTravel, particularly those related to secure booking and
payment processing.
</p>
<Title size="h3" weight="medium" id="changes-to-this-cookie-policy"
>5. Changes to This Cookie Policy</Title
>
<p>
We may update this policy as we enhance our platform. Any changes will
be posted here with an updated revision date.
</p>
<Title size="h3" weight="medium" id="contact-us">6. Contact Us</Title>
<p>
For questions about our cookie practices, contact us at {CONTACT_INFO.email}.
</p>
<small class="text-gray-500">Last Updated: {lastUpdated}</small>
</div>
<TableOfContents {toc} />
</section>

View File

@@ -1,27 +0,0 @@
export const legalArticles = [
{
id: "introduction",
title: "Introduction",
link: "/legal",
},
{
id: "privacy-policy",
title: "Privacy Policy",
link: "/legal/privacy-policy",
},
{
id: "terms-and-conditions",
title: "Terms & Conditions",
link: "/legal/terms-and-conditions",
},
{
id: "refund-policy",
title: "Refund Policy",
link: "/legal/refund-policy",
},
{
id: "cookie-policy",
title: "Cookie Policy",
link: "/legal/cookie-policy",
},
];

View File

@@ -1,133 +0,0 @@
<script lang="ts">
import Title from "$lib/components/atoms/title.svelte";
import { CONTACT_INFO } from "$lib/core/constants";
import TableOfContents from "../table-of-contents.svelte";
const toc = [
{ title: "Information We Collect", link: "#information-we-collect" },
{ title: "Booking Data", link: "#booking-data" },
{
title: "How We Use Your Information",
link: "#how-we-use-your-information",
},
{ title: "Data Protection", link: "#data-protection" },
{ title: "International Transfers", link: "#international-transfers" },
{ title: "Your Rights", link: "#your-rights" },
{ title: "Changes to Policy", link: "#changes-to-policy" },
{ title: "Contact Us", link: "#contact-us" },
];
const lastUpdated = "December 3, 2024";
</script>
<section class="flex w-full flex-col-reverse gap-6 md:gap-8 lg:flex-row">
<div
class="col-span-3 flex w-full flex-col gap-4 rounded-lg border border-brand-200 bg-gradient-to-b from-white/50 to-brand-50 p-4 md:p-8"
>
<Title size="h2" weight="medium">Privacy Policy</Title>
<p>
FlyTicketTravel is committed to protecting your privacy and ensuring
the security of your personal information. This Privacy Policy
explains how we collect, use, and protect your data when you use our
flight booking platform.
</p>
<Title size="h3" weight="medium" id="information-we-collect"
>1. Information We Collect</Title
>
<p>We collect the following types of information:</p>
<ul class="list-disc pl-4">
<li>
Personal Information:
<ul class="list-disc pl-4">
<li>Full name and contact details</li>
<li>Travel document information (passport/ID)</li>
<li>Payment details</li>
<li>Date of birth and nationality</li>
</ul>
</li>
<li>
Usage Information:
<ul class="list-disc pl-4">
<li>How you use our platform</li>
<li>Search history and preferences</li>
<li>Device and browser information</li>
</ul>
</li>
</ul>
<Title size="h3" weight="medium" id="booking-data">2. Booking Data</Title>
<p>We handle travel booking information including:</p>
<ul class="list-disc pl-4">
<li>Flight reservation details</li>
<li>Itinerary information</li>
<li>Special requests (meals, seating, etc.)</li>
</ul>
<p>
This data is processed in accordance with GDPR and relevant travel
industry regulations. We implement additional security measures for
payment data protection.
</p>
<Title size="h3" weight="medium" id="how-we-use-your-information"
>3. How We Use Your Information</Title
>
<p>We use your information to:</p>
<ul class="list-disc pl-4">
<li>Process flight bookings</li>
<li>Provide customer support</li>
<li>Send booking confirmations and updates</li>
<li>Improve our platform</li>
<li>Comply with legal obligations</li>
</ul>
<Title size="h3" weight="medium" id="data-protection"
>4. Data Protection</Title
>
<p>We implement robust security measures including:</p>
<ul class="list-disc pl-4">
<li>Encryption for payment data</li>
<li>Secure access controls</li>
<li>Regular security audits</li>
<li>Staff training on data protection</li>
</ul>
<Title size="h3" weight="medium" id="international-transfers"
>5. International Transfers</Title
>
<p>
As a flight booking service, we may transfer data across borders. All
transfers comply with GDPR and relevant data protection laws, using
appropriate safeguards and security measures.
</p>
<Title size="h3" weight="medium" id="your-rights">6. Your Rights</Title>
<p>Under GDPR, you have the right to:</p>
<ul class="list-disc pl-4">
<li>Access your personal data</li>
<li>Correct inaccurate data</li>
<li>Request data deletion</li>
<li>Restrict processing</li>
<li>Data portability</li>
<li>Object to processing</li>
</ul>
<Title size="h3" weight="medium" id="changes-to-policy"
>7. Changes to Policy</Title
>
<p>
We may update this policy as our services evolve. Significant changes
will be notified to users directly through the platform.
</p>
<Title size="h3" weight="medium" id="contact-us">8. Contact Us</Title>
<p>
For privacy-related queries or to exercise your rights, contact our
Data Protection Officer at {CONTACT_INFO.email}.
</p>
<small class="text-gray-500">Last Updated: {lastUpdated}</small>
</div>
<TableOfContents {toc} />
</section>

View File

@@ -1,177 +0,0 @@
<script lang="ts">
import Title from "$lib/components/atoms/title.svelte";
import { CONTACT_INFO } from "$lib/core/constants";
import TableOfContents from "../table-of-contents.svelte";
const toc = [
{ title: "Booking Cancellations", link: "#booking-cancellations" },
{
title: "Airline-Controlled Refunds",
link: "#airline-controlled-refunds",
},
{
title: "FlyTicketTravel Service Fees",
link: "#FlyTicketTravel-service-fees",
},
{ title: "Refund Processing", link: "#refund-processing" },
{ title: "Flight Changes", link: "#flight-changes" },
{ title: "Special Circumstances", link: "#special-circumstances" },
{ title: "Contact Us", link: "#contact-us" },
];
const lastUpdated = "December 3, 2024";
</script>
<section class="flex w-full flex-col-reverse gap-6 md:gap-8 lg:flex-row">
<div
class="col-span-3 flex w-full flex-col gap-4 rounded-lg border border-brand-200 bg-gradient-to-b from-white/50 to-brand-50 p-4 md:p-8"
>
<Title size="h2" weight="medium">Refund Policy</Title>
<p>
At FlyTicketTravel, we understand that travel plans can change. This
policy outlines our approach to refunds and cancellations for flight
bookings made through our platform.
</p>
<Title size="h3" weight="medium" id="booking-cancellations"
>1. Booking Cancellations</Title
>
<p>Our cancellation policy varies based on ticket type:</p>
<ul class="list-disc pl-4">
<li>
<strong>Refundable Tickets:</strong> Eligible for full or partial refunds
as per airline terms
</li>
<li>
<strong>Non-Refundable Tickets:</strong> Generally not eligible for
refunds, but may receive airline credits or partial refunds in special
circumstances
</li>
<li>
<strong>Flexible Tickets:</strong> Can be changed with minimal or no
fees, subject to fare difference
</li>
</ul>
<p>
The specific refund terms for your booking are displayed during the
booking process and in your confirmation email.
</p>
<Title size="h3" weight="medium" id="airline-controlled-refunds"
>2. Airline-Controlled Refunds</Title
>
<p>Important information about airline policies:</p>
<ul class="list-disc pl-4">
<li>
Most refunds are subject to the airline's fare rules and
conditions of carriage
</li>
<li>Each airline has its own cancellation fees and policies</li>
<li>
Some low-cost carriers offer no refunds under any circumstances
</li>
<li>Premium airlines typically offer more flexible refund options</li>
</ul>
<p>
FlyTicketTravel will advocate on your behalf with airlines, but we
cannot override their refund policies.
</p>
<Title size="h3" weight="medium" id="FlyTicketTravel-service-fees"
>3. FlyTicketTravel Service Fees</Title
>
<p>Our policy regarding service fees:</p>
<ul class="list-disc pl-4">
<li>
FlyTicketTravel booking service fees are non-refundable after 24
hours from booking
</li>
<li>
Within 24 hours of booking, service fees are fully refundable if
you cancel
</li>
<li>
Premium support fees are non-refundable once the service has been
provided
</li>
<li>
Seat selection and other ancillary fees follow the airline's
refund policy
</li>
</ul>
<Title size="h3" weight="medium" id="refund-processing"
>4. Refund Processing</Title
>
<p>When you're eligible for a refund:</p>
<ul class="list-disc pl-4">
<li>
Refunds are processed to the original payment method used for
booking
</li>
<li>
Processing time is typically 7-14 business days after airline
approval
</li>
<li>
Credit card refunds may take an additional 1-2 billing cycles to
appear
</li>
<li>
You'll receive email confirmation when your refund is processed
</li>
</ul>
<Title size="h3" weight="medium" id="flight-changes"
>5. Flight Changes</Title
>
<p>Our policy for changing flights:</p>
<ul class="list-disc pl-4">
<li>
Most tickets allow date/time changes for a fee plus any fare
difference
</li>
<li>
Changes must be made at least 24 hours before departure (varies by
airline)
</li>
<li>Name changes are generally not permitted by airlines</li>
<li>Route changes are treated as a cancellation and new booking</li>
</ul>
<Title size="h3" weight="medium" id="special-circumstances"
>6. Special Circumstances</Title
>
<p>We offer additional flexibility for:</p>
<ul class="list-disc pl-4">
<li>
<strong>Flight Cancellations by Airline:</strong> Full refund or rebooking
assistance
</li>
<li>
<strong>Significant Schedule Changes:</strong> Option to accept change
or request refund
</li>
<li>
<strong>Medical Emergencies:</strong> We'll help you request special
consideration from airlines (documentation required)
</li>
<li>
<strong>COVID-19 Related Changes:</strong> Subject to current airline
and regulatory policies
</li>
</ul>
<Title size="h3" weight="medium" id="contact-us">7. Contact Us</Title>
<p>
To request a refund or for questions about our refund policy, please
contact our customer support team at {CONTACT_INFO.email} or through the
support section in your FlyTicketTravel account.
</p>
<small class="text-gray-500">Last Updated: {lastUpdated}</small>
</div>
<TableOfContents {toc} />
</section>

View File

@@ -1,31 +0,0 @@
<script lang="ts">
import Title from "$lib/components/atoms/title.svelte";
import { cn } from "$lib/utils";
import { TRANSITION_COLORS } from "$lib/core/constants";
interface Props {
toc?: any;
}
let { toc = [] }: Props = $props();
</script>
<div class="flex w-full flex-col gap-4 lg:max-w-[15rem]">
<div
class="flex w-full flex-col gap-4 rounded-lg border border-brand-200 bg-brand-50/50 p-4"
>
<Title capitalize size="h5" weight="medium">Table of contents</Title>
{#each toc as each}
<a
class={cn(
"cursor-pointer text-brand-950 hover:text-brand-600",
TRANSITION_COLORS,
)}
href={each.link}
>
{each.title}
</a>
{/each}
</div>
</div>

View File

@@ -1,119 +0,0 @@
<script lang="ts">
import Title from "$lib/components/atoms/title.svelte";
import { CONTACT_INFO } from "$lib/core/constants";
import TableOfContents from "../table-of-contents.svelte";
const toc = [
{ title: "Platform Use", link: "#platform-use" },
{ title: "Booking Disclaimer", link: "#booking-disclaimer" },
{ title: "User Accounts", link: "#user-accounts" },
{ title: "Booking & Payment", link: "#booking-payment" },
{ title: "Flight Information", link: "#flight-information" },
{ title: "Liability", link: "#liability" },
{ title: "Changes to Terms", link: "#changes-to-terms" },
{ title: "Contact Us", link: "#contact-us" },
];
const lastUpdated = "December 3, 2024";
</script>
<section class="flex w-full flex-col-reverse gap-6 md:gap-8 lg:flex-row">
<div
class="col-span-3 flex w-full flex-col gap-4 rounded-lg border border-brand-200 bg-gradient-to-b from-white/50 to-brand-50 p-4 md:p-8"
>
<Title size="h2" weight="medium">Terms & Conditions</Title>
<p>
Welcome to FlyTicketTravel. By using our platform, you agree to these
terms. Please read them carefully as they govern your use of our
flight booking services.
</p>
<Title size="h3" weight="medium" id="platform-use">1. Platform Use</Title>
<p>
FlyTicketTravel provides tools for flight search, booking, and
management. You agree to:
</p>
<ul class="list-disc pl-4">
<li>Provide accurate information</li>
<li>Use the platform legally and appropriately</li>
<li>Not misuse or attempt to manipulate our services</li>
<li>Maintain the confidentiality of your account</li>
</ul>
<Title size="h3" weight="medium" id="booking-disclaimer"
>2. Booking Disclaimer</Title
>
<p>FlyTicketTravel is a flight booking platform:</p>
<ul class="list-disc pl-4">
<li>We facilitate bookings between you and airlines</li>
<li>The airline's conditions of carriage apply to your travel</li>
<li>
We are not responsible for airline schedule changes or
cancellations
</li>
</ul>
<Title size="h3" weight="medium" id="user-accounts"
>3. User Accounts</Title
>
<p>To use FlyTicketTravel, you must:</p>
<ul class="list-disc pl-4">
<li>Be at least 18 years old or have guardian consent</li>
<li>Provide valid identification when required</li>
<li>Maintain accurate account information</li>
<li>Protect your account credentials</li>
</ul>
<Title size="h3" weight="medium" id="booking-payment"
>4. Booking & Payment</Title
>
<p>When making bookings through our platform:</p>
<ul class="list-disc pl-4">
<li>All prices are displayed in the selected currency</li>
<li>Payment processing is secure and PCI-DSS compliant</li>
<li>Booking is confirmed only after payment is processed</li>
<li>Refunds are subject to our Refund Policy and airline terms</li>
</ul>
<Title size="h3" weight="medium" id="flight-information"
>5. Flight Information</Title
>
<p>Regarding flight details:</p>
<ul class="list-disc pl-4">
<li>We strive to provide accurate and up-to-date information</li>
<li>Flight schedules are subject to change by airlines</li>
<li>It is your responsibility to check final departure details</li>
<li>We will notify you of major changes when possible</li>
</ul>
<Title size="h3" weight="medium" id="liability"
>6. Limitation of Liability</Title
>
<p>FlyTicketTravel is not liable for:</p>
<ul class="list-disc pl-4">
<li>Airline service quality or performance</li>
<li>Flight delays, cancellations, or schedule changes</li>
<li>Lost or damaged baggage</li>
<li>Accuracy of third-party information</li>
<li>Service interruptions or technical issues</li>
</ul>
<Title size="h3" weight="medium" id="changes-to-terms"
>7. Changes to Terms</Title
>
<p>
We may update these terms as our services evolve. Continued use after
changes constitutes acceptance of new terms.
</p>
<Title size="h3" weight="medium" id="contact-us">8. Contact Us</Title>
<p>
For questions about these terms, contact us at {CONTACT_INFO.email}.
</p>
<small class="text-gray-500">Last Updated: {lastUpdated}</small>
</div>
<TableOfContents {toc} />
</section>