Untitled

mail@pastecode.io avatar
unknown
plain_text
12 days ago
24 kB
1
Indexable
Never
import { CompanyCustomerType } from "../../data/enums/database/company-customer-type";
import { ContactType } from "../../data/enums/database/contact-type";
import { ProductType } from "../../data/enums/database/product-type";
import { TicketType } from "../../data/enums/ticket-type";
import { Commission } from "../../data/models/commission";
import { CommissionValue } from "../../data/models/commission-value";
import { Company } from "../../data/models/company";
import { CompanyAccount } from "../../data/models/company-account";
import { CompanyAccountCredit } from "../../data/models/company-account-credit";
import { CompanyContact } from "../../data/models/company-contact";
import { DiscountCategory } from "../../data/models/discount-category";
import { DiscountTicketType } from "../../data/models/discount-ticket-type";
import { TicketGroup } from "../../data/models/ticket-group";

export class CompanyAccountInvoice {
    public static asaCompanyAccount(): CompanyAccount {
        return new CompanyAccount(
            {
                name: "ASA",
                accountCode: "ASA",
                productType: ProductType.Corporate,
                singleTransactionLimit: 60000,
                dailyTransactionLimit: 2500000,
                passengerLimitAdults: 9,
                passengerLimitChild: 9,
                onAccountPaymentAllowed: 1,
                managerByCompany: null,
                company: new Company("Angela Shanley Associates Ltd", CompanyCustomerType.AirlineHotelReseller, []),
                accountManagerEmail: "Hiren.Patel@heathrow.com",
                ticketGroup: new TicketGroup("mainNew", [TicketType.HX7, TicketType.HX4, TicketType.HZ0, TicketType.HZ6]),
                creditAccount: new CompanyAccountCredit(-500000, "TIC03"),
                allowedDomainOrEmail: ["book@asa-dmc.com"],
                discountCategories: [],
                managedCompanyAccounts: [],
                contacts: [
                    new CompanyContact("Gisela", "Shkodra", "0", "gisela.contracts@asa-dmc.com", ContactType.Administrator)

                ],
                commission: new Commission("2020-03-01 00:00:00.000", "2030-02-28 00:00:00.000", "Stewart", 2, [
                    new CommissionValue(0.00, 90000000.00, 14.00)
                ]),
                websitePaymentAllowed: 0
            })
    }

    public static bcdMeetingsCompanyAccount(): CompanyAccount {
        return new CompanyAccount(
            {
                name: "BCD Meetings & Events Ltd",
                accountCode: "BCD Meetings & Events Ltd",
                productType: ProductType.Corporate,
                singleTransactionLimit: 60000,
                dailyTransactionLimit: 2500000,
                passengerLimitAdults: 9,
                passengerLimitChild: 9,
                onAccountPaymentAllowed: 1,
                managerByCompany: null,
                company: new Company("BCD Meetings & Events Ltd UK", CompanyCustomerType.Corporate, []),
                accountManagerEmail: "Hiren.Patel@heathrow.com",
                ticketGroup: new TicketGroup("mainNew", [TicketType.HX7, TicketType.HX4, TicketType.HZ0, TicketType.HZ6]),
                creditAccount: new CompanyAccountCredit(-500000, "TIC03"),
                allowedDomainOrEmail: ["paul.fuller@bcdme.com", "sarah.alexander@bcdme.com", "linda.wigmore@bcdme.com", "alison.jackaman@bcdme.com"],
                discountCategories: [
                    new DiscountCategory(
                        {
                            name: "bcdMeetingsDiscount",
                            assertisPromoCode: "bcdMeetingsDiscount",
                            routeCode: "00240O",
                            shortDescription: "Short description",
                            longDescription: "Long description",
                            purchaseStartDate: "2023-01-01",
                            purchaseEndDate: "2030-12-31",
                            travelStartDate: "2023-01-01",
                            travelEndDate: "2030-12-31",
                            ticketGroup: "mainNew",
                            discountTicketTypes: [
                                new DiscountTicketType(TicketType.HX7, 15),
                                new DiscountTicketType(TicketType.HX4, 15),
                                new DiscountTicketType(TicketType.HZ0, 15),
                                new DiscountTicketType(TicketType.HZ6, 15),
                            ]
                        }
                    )
                ],
                managedCompanyAccounts: [],
                contacts: [
                    new CompanyContact("Paul", "Fuller", "0", "paul.fuller@bcdme.com", ContactType.Administrator)

                ],
                // commission: new Commission("2020-03-01 00:00:00.000", "2030-02-28 00:00:00.000", "Stewart", 2, [
                //     new CommissionValue(0.00, 90000000.00, 14.00)
                // ]),
                websitePaymentAllowed: 0
            })
    }

    public static beMyGuestCompanyAccount(): CompanyAccount {
        return new CompanyAccount(
            {
                name: "BeMyGuest",
                accountCode: "BeMyGuest",
                productType: ProductType.Corporate,
                singleTransactionLimit: 60000,
                dailyTransactionLimit: 2500000,
                passengerLimitAdults: 9,
                passengerLimitChild: 9,
                onAccountPaymentAllowed: 1,
                managerByCompany: null,
                company: new Company("BeMyGuest", CompanyCustomerType.AirlineHotelReseller, []),
                accountManagerEmail: "Hiren.Patel@heathrow.com",
                ticketGroup: new TicketGroup("mainNew", [TicketType.HX7, TicketType.HX4, TicketType.HZ0, TicketType.HZ6]),
                creditAccount: new CompanyAccountCredit(-500000, "TIC03"),
                allowedDomainOrEmail: ["cs@bemyguest.com.sg"],
                discountCategories: [],
                managedCompanyAccounts: [],
                contacts: [
                    new CompanyContact("Ric", "Corbett", "0", "ric.corbett@bemyguest.com.sg", ContactType.Administrator)

                ],
                commission: new Commission("2020-03-01 00:00:00.000", "2030-02-28 00:00:00.000", "Stewart", 2, [
                    new CommissionValue(0.00, 90000000.00, 15.00)
                ]),
                websitePaymentAllowed: 0
            })
    }

    public static eberhardtCompanyAccount(): CompanyAccount {
        return new CompanyAccount(
            {
                name: "Eberhardt TRAVEL GmbH",
                accountCode: "Eberhardt TRAVEL GmbH",
                productType: ProductType.Corporate,
                singleTransactionLimit: 60000,
                dailyTransactionLimit: 2500000,
                passengerLimitAdults: 9,
                passengerLimitChild: 9,
                onAccountPaymentAllowed: 1,
                managerByCompany: null,
                company: new Company("Eberhardt TRAVEL GmbH", CompanyCustomerType.AirlineHotelReseller, []),
                accountManagerEmail: "Hiren.Patel@heathrow.com",
                ticketGroup: new TicketGroup("mainNewCarnets", [TicketType.HX7, TicketType.HX4, TicketType.HZ0, TicketType.HZ6, TicketType.HZ1, TicketType.HZ2, TicketType.HZ3, TicketType.HZ4]),
                creditAccount: new CompanyAccountCredit(-200000, "TIC03"),
                allowedDomainOrEmail: ["info@eberhardt-travel.de"],
                discountCategories: [],
                managedCompanyAccounts: [],
                contacts: [
                    new CompanyContact("Annika", "Lembke", "0", "a.lembke@eberhardt-travel.de", ContactType.Administrator)

                ],
                commission: new Commission("2020-03-01 00:00:00.000", "2030-02-28 00:00:00.000", "Stewart", 2, [
                    new CommissionValue(0.00, 90000000.00, 12.00)
                ]),
                websitePaymentAllowed: 0
            })
    }

    public static froschIrelandCompanyAccount(): CompanyAccount {
        return new CompanyAccount(
            {
                name: "Frosch ireland",
                accountCode: "Frosch ireland",
                productType: ProductType.Corporate,
                singleTransactionLimit: 60000,
                dailyTransactionLimit: 2500000,
                passengerLimitAdults: 9,
                passengerLimitChild: 9,
                onAccountPaymentAllowed: 1,
                managerByCompany: null,
                company: new Company("Frosch ireland", CompanyCustomerType.Corporate, []),
                accountManagerEmail: "Hiren.Patel@heathrow.com",
                ticketGroup: new TicketGroup("mainNew", [TicketType.HX7, TicketType.HX4, TicketType.HZ0, TicketType.HZ6]),
                creditAccount: new CompanyAccountCredit(-100000, "TIC03"),
                allowedDomainOrEmail: ["corporate@frosch.iee"],
                discountCategories: [],
                managedCompanyAccounts: [],
                contacts: [
                    new CompanyContact("Aoife", "Deasy", "0", "corporate@frosch.ie", ContactType.Administrator)

                ],
                commission: new Commission("2020-03-01 00:00:00.000", "2030-02-28 00:00:00.000", "Stewart", 2, [
                    new CommissionValue(0.00, 90000000.00, 10.00)
                ]),
                websitePaymentAllowed: 0
            })
    }

    public static groundlineCompanyAccount(): CompanyAccount {
        return new CompanyAccount(
            {
                name: "Groundline",
                accountCode: "Groundline",
                productType: ProductType.Corporate,
                singleTransactionLimit: 60000,
                dailyTransactionLimit: 2500000,
                passengerLimitAdults: 9,
                passengerLimitChild: 9,
                onAccountPaymentAllowed: 1,
                managerByCompany: null,
                company: new Company("Groundline GmbH", CompanyCustomerType.AirlineHotelReseller, []),
                accountManagerEmail: "Hiren.Patel@heathrow.com",
                ticketGroup: new TicketGroup("mainNew", [TicketType.HX7, TicketType.HX4, TicketType.HZ0, TicketType.HZ6]),
                creditAccount: new CompanyAccountCredit(-500000, "TIC03"),
                allowedDomainOrEmail: ["pk@groundline.at", "booking@groundline.at"],
                discountCategories: [],
                managedCompanyAccounts: [],
                contacts: [
                    new CompanyContact("Peter", "Kratochwill", "0", "pk@groundline.at", ContactType.Administrator)

                ],
                commission: new Commission("2020-03-01 00:00:00.000", "2030-02-28 00:00:00.000", "Stewart", 2, [
                    new CommissionValue(0.00, 90000000.00, 21.00)
                ]),
                websitePaymentAllowed: 0
            })
    }

    public static hisEuropeCompanyAccount(): CompanyAccount {
        return new CompanyAccount(
            {
                name: "HIS EUROPE LTD",
                accountCode: "HIS EUROPE LTD",
                productType: ProductType.Corporate,
                singleTransactionLimit: 60000,
                dailyTransactionLimit: 2500000,
                passengerLimitAdults: 9,
                passengerLimitChild: 9,
                onAccountPaymentAllowed: 1,
                managerByCompany: null,
                company: new Company("HIS EUROPE LTD", CompanyCustomerType.AirlineHotelReseller, []),
                accountManagerEmail: "Hiren.Patel@heathrow.com",
                ticketGroup: new TicketGroup("mainNew", [TicketType.HX7, TicketType.HX4, TicketType.HZ0, TicketType.HZ6]),
                creditAccount: new CompanyAccountCredit(-250000, "TIC03"),
                allowedDomainOrEmail: ["his-world.com"],
                discountCategories: [],
                managedCompanyAccounts: [],
                contacts: [
                    new CompanyContact("Yuko", "Miyazaki", "0", "miyazaki.yuko@his-world.com", ContactType.Administrator)

                ],
                commission: new Commission("2020-03-01 00:00:00.000", "2030-02-28 00:00:00.000", "Stewart", 2, [
                    new CommissionValue(0.00, 90000000.00, 12.00)
                ]),
                websitePaymentAllowed: 0
            })
    }

    public static londonDeCompanyAccount(): CompanyAccount {
        return new CompanyAccount(
            {
                name: "London De",
                accountCode: "London De",
                productType: ProductType.Corporate,
                singleTransactionLimit: 60000,
                dailyTransactionLimit: 2500000,
                passengerLimitAdults: 9,
                passengerLimitChild: 9,
                onAccountPaymentAllowed: 1,
                managerByCompany: null,
                company: new Company("London De", CompanyCustomerType.Corporate, []),
                accountManagerEmail: "Hiren.Patel@heathrow.com",
                ticketGroup: new TicketGroup("mainNew", [TicketType.HX7, TicketType.HX4, TicketType.HZ0, TicketType.HZ6]),
                creditAccount: new CompanyAccountCredit(-1500000, "TIC03"),
                allowedDomainOrEmail: ["info@london.de"],
                discountCategories: [],
                managedCompanyAccounts: [],
                contacts: [
                    new CompanyContact("Stefani", "Rexhepi", "0", "Info@london.de", ContactType.Administrator)

                ],
                commission: new Commission("2020-03-01 00:00:00.000", "2030-02-28 00:00:00.000", "Stewart", 2, [
                    new CommissionValue(0.00, 90000000.00, 15.00)
                ]),
                websitePaymentAllowed: 0
            })
    }

    public static selectiveTravelManagementCompanyAccount(): CompanyAccount {
        return new CompanyAccount(
            {
                name: "Selective Travel Management ",
                accountCode: "Selective Travel Management ",
                productType: ProductType.Corporate,
                singleTransactionLimit: 60000,
                dailyTransactionLimit: 2500000,
                passengerLimitAdults: 9,
                passengerLimitChild: 9,
                onAccountPaymentAllowed: 1,
                managerByCompany: null,
                company: new Company("Selective Travel Management ", CompanyCustomerType.Corporate, []),
                accountManagerEmail: "Hiren.Patel@heathrow.com",
                ticketGroup: new TicketGroup("mainNew", [TicketType.HX7, TicketType.HX4, TicketType.HZ0, TicketType.HZ6]),
                creditAccount: new CompanyAccountCredit(-1000000, "TIC03"),
                allowedDomainOrEmail: ["selective-travel.co.uk", "selective-travel.com"],
                discountCategories: [],
                managedCompanyAccounts: [],
                contacts: [
                    new CompanyContact("Ruth", "Ruth", "0", "corporatemanagers@selective-travel.co.uk", ContactType.Administrator)

                ],
                commission: new Commission("2020-03-01 00:00:00.000", "2030-02-28 00:00:00.000", "Stewart", 2, [
                    new CommissionValue(0.00, 90000000.00, 20.00)
                ]),
                websitePaymentAllowed: 0
            })
    }

    public static sunairCompanyAccount(): CompanyAccount {
        return new CompanyAccount(
            {
                name: "Sunair Vakanties",
                accountCode: "Sunair Vakanties",
                productType: ProductType.Corporate,
                singleTransactionLimit: 60000,
                dailyTransactionLimit: 2500000,
                passengerLimitAdults: 9,
                passengerLimitChild: 9,
                onAccountPaymentAllowed: 1,
                managerByCompany: null,
                company: new Company("Sunair Vakanties B.V.", CompanyCustomerType.Corporate, []),
                accountManagerEmail: "Hiren.Patel@heathrow.com",
                ticketGroup: new TicketGroup("mainNewCarnets", [TicketType.HX7, TicketType.HX4, TicketType.HZ0, TicketType.HZ6, TicketType.HZ1, TicketType.HZ2, TicketType.HZ3, TicketType.HZ4]),
                creditAccount: new CompanyAccountCredit(-200000, "TIC03"),
                allowedDomainOrEmail: ["info@sunair.nl"],
                discountCategories: [
                    new DiscountCategory(
                        {
                            name: "SunairVakanties",
                            assertisPromoCode: "SunairVakanties",
                            routeCode: "00240O",
                            shortDescription: "Short description",
                            longDescription: "Long description",
                            purchaseStartDate: "2023-01-01",
                            purchaseEndDate: "2030-12-31",
                            travelStartDate: "2023-01-01",
                            travelEndDate: "2030-12-31",
                            ticketGroup: "mainNewCarnets",
                            discountTicketTypes: [
                                new DiscountTicketType(TicketType.HX7, 12),
                                new DiscountTicketType(TicketType.HX4, 12),
                                new DiscountTicketType(TicketType.HZ0, 12),
                                new DiscountTicketType(TicketType.HZ6, 12),
                            ]
                        }
                    )
                ],
                managedCompanyAccounts: [],
                contacts: [
                    new CompanyContact("Jolanda", "Boer", "0", "jolanda.boer@sunair.nl", ContactType.Administrator)

                ],
                // commission: new Commission("2020-03-01 00:00:00.000", "2030-02-28 00:00:00.000", "Stewart", 2, [
                //     new CommissionValue(0.00, 90000000.00, 20.00)
                // ]),
                websitePaymentAllowed: 0
            })
    }

    public static tenonToursCompanyAccount(): CompanyAccount {
        return new CompanyAccount(
            {
                name: "Tenon Tours",
                accountCode: "Tenon Tours",
                productType: ProductType.Corporate,
                singleTransactionLimit: 60000,
                dailyTransactionLimit: 2500000,
                passengerLimitAdults: 9,
                passengerLimitChild: 9,
                onAccountPaymentAllowed: 1,
                managerByCompany: null,
                company: new Company("Tenon Tours", CompanyCustomerType.Corporate, []),
                accountManagerEmail: "Hiren.Patel@heathrow.com",
                ticketGroup: new TicketGroup("mainNew", [TicketType.HX7, TicketType.HX4, TicketType.HZ0, TicketType.HZ6]),
                creditAccount: new CompanyAccountCredit(-200000, "TIC03"),
                allowedDomainOrEmail: ["reservations@tenontours.com"],
                discountCategories: [],
                managedCompanyAccounts: [],
                contacts: [
                    new CompanyContact("Liz", "Aungier", "0", "liz@tenontours.com", ContactType.Administrator)

                ],
                commission: new Commission("2020-03-01 00:00:00.000", "2030-02-28 00:00:00.000", "Stewart", 2, [
                    new CommissionValue(0.00, 90000000.00, 10.00)
                ]),
                websitePaymentAllowed: 0
            })
    }

    public static trafiguraCompanyAccount(): CompanyAccount {
        return new CompanyAccount(
            {
                name: "Trafigura",
                accountCode: "Trafigura",
                productType: ProductType.Corporate,
                singleTransactionLimit: 60000,
                dailyTransactionLimit: 2500000,
                passengerLimitAdults: 9,
                passengerLimitChild: 9,
                onAccountPaymentAllowed: 1,
                managerByCompany: null,
                company: new Company("Trafigura LTD", CompanyCustomerType.Corporate, []),
                accountManagerEmail: "Hiren.Patel@heathrow.com",
                ticketGroup: new TicketGroup("mainNewCarnets", [TicketType.HX7, TicketType.HX4, TicketType.HZ0, TicketType.HZ6, TicketType.HZ1, TicketType.HZ2, TicketType.HZ3, TicketType.HZ4]),
                creditAccount: new CompanyAccountCredit(-250000, "TIC03"),
                allowedDomainOrEmail: ["daniela.mandt@trafigura.com", "taslima.begum@trafigura.com", "london.reception@trafigura.com"],
                discountCategories: [
                    new DiscountCategory(
                        {
                            name: "Trafigura",
                            assertisPromoCode: "Trafigura",
                            routeCode: "00240O",
                            shortDescription: "Short description",
                            longDescription: "Long description",
                            purchaseStartDate: "2023-01-01",
                            purchaseEndDate: "2030-12-31",
                            travelStartDate: "2023-01-01",
                            travelEndDate: "2030-12-31",
                            ticketGroup: "mainNewCarnets",
                            discountTicketTypes: [
                                new DiscountTicketType(TicketType.HX7, 10),
                                new DiscountTicketType(TicketType.HX4, 10),
                                new DiscountTicketType(TicketType.HZ0, 10),
                                new DiscountTicketType(TicketType.HZ6, 10),
                            ]
                        }
                    )
                ],
                managedCompanyAccounts: [],
                contacts: [
                    new CompanyContact("Daniela", "Mandt", "0", "london.reception@trafigura.com", ContactType.Administrator)

                ],
                // commission: new Commission("2020-03-01 00:00:00.000", "2030-02-28 00:00:00.000", "Stewart", 2, [
                //     new CommissionValue(0.00, 90000000.00, 10.00)
                // ]),
                websitePaymentAllowed: 0
            })
    }

    public static waugCompanyAccount(): CompanyAccount {
        return new CompanyAccount(
            {
                name: "Waug Inc.",
                accountCode: "Waug Inc.",
                productType: ProductType.Corporate,
                singleTransactionLimit: 60000,
                dailyTransactionLimit: 2500000,
                passengerLimitAdults: 9,
                passengerLimitChild: 9,
                onAccountPaymentAllowed: 1,
                managerByCompany: null,
                company: new Company("Waug Inc.", CompanyCustomerType.AirlineHotelReseller, []),
                accountManagerEmail: "Hiren.Patel@heathrow.com",
                ticketGroup: new TicketGroup("mainNew", [TicketType.HX7, TicketType.HX4, TicketType.HZ0, TicketType.HZ6]),
                creditAccount: new CompanyAccountCredit(-300000, "TIC03"),
                allowedDomainOrEmail: ["booking@waug.com"],
                discountCategories: [],
                managedCompanyAccounts: [],
                contacts: [
                    new CompanyContact("Kevin", "Asio", "0", "kevinasio@waug.com", ContactType.Administrator)

                ],
                commission: new Commission("2020-03-01 00:00:00.000", "2030-02-28 00:00:00.000", "Stewart", 2, [
                    new CommissionValue(0.00, 90000000.00, 15.00)
                ]),
                websitePaymentAllowed: 0
            })
    }
}
Leave a Comment