const endpoints = {
    GetPageData: {
        url: (applicationAbbreviation, pageName) =>
            `/content/api/v1/content/${applicationAbbreviation}/${pageName}`,
        method: "GET",
    },
    GetVehicleYears: {
        url: "/vehicle/api/v1/vehicle/years",
        method: "GET",
    },
    GetVehicleMakes: {
        url: "/vehicle/api/v1/vehicle/Makes",
        method: "GET",
    },
    GetVehicleModels: {
        url: "/vehicle/api/v1/vehicle/Models",
        method: "GET",
    },
    GetVehicleStyles: {
        url: "/vehicle/api/v1/vehicle/Styles",
        method: "GET",
    },
    GetVehicle: {
        url: "/vehicle/api/v1/vehicle/lookup",
        method: "GET",
    },
    GetDamageOptions: {
        url: "/parts/api/v1/parts/damage-options",
        method: "GET",
    },
    LookupVehicleByYmms: {
        url: "/vehicle/api/v1/vehicle/Lookup",
        method: "GET",
    },
    LookupVehicleByVin: {
        url: "/vehicle/api/v1/vehicle/lookup",
        method: "POST",
    },
    LookupVinByPlate: {
        url: "/vehicle/api/v1/vehicle/lookup-vin-by-plate",
        method: "POST",
    },
    LookupVinByAddress: {
        url: "/vehicle/api/v1/vehicle/lookup-vin-by-address",
        method: "POST",
    },
    LookupVinByImage: {
        url: "/vehicle/api/v1/vehicle/vins-by-image",
        method: "POST",
    },
    IsVinByAddressPermissible: {
        url: "/vehicle/api/v1/vehicle/is-vin-by-address-permissible",
        method: "GET",
    },
    GetPartsOrQuestions: {
        url: "/parts/api/v1/parts/parts-or-questions",
        method: "POST",
    },
    GetParts: {
        url: "/parts/api/v1/parts/parts",
        method: "POST",
    },
    GetWipers: {
        url: "/parts/api/v1/parts/wipers",
        method: "GET",
    },
    GetRainDefense: {
        url: "/parts/api/v1/parts/rain-defense",
        method: "GET",
    },
    GetMobileFeePart: {
        url: "/parts/api/v1/parts/mobile-fee",
        method: "GET",
    },
    GetPricingByDayPart: {
        url: "/parts/api/v1/parts/pricing-by-day-part-number",
        method: "GET",
    },
    GetServicePackageDiscountPart: {
        url: "/parts/api/v1/parts/service-package-discount",
        method: "POST",
    },
    GetServiceabilityDetails: {
        url: "/location/api/v1/location/serviceability-details",
        method: "GET",
    },
    GetSupportingItems: {
        url: "/parts/api/v1/parts/supporting-items",
        method: "POST",
    },
    GetRecalPart: {
        url: "/parts/api/v1/parts/recal-parts",
        method: "GET",
    },
    GetAlertReasons: {
        url: "/location/api/v1/location/alert-reasons",
        method: "GET",
    },
    GetProviders: {
        url: "/location/api/v1/location/providers",
        method: "GET",
    },
    GetCapabilityQuestions: {
        url: "/parts/api/v1/parts/capability-questions",
        method: "GET",
    },
    GetPartFromCapabilityAnswer: {
        url: "/parts/api/v1/parts/part-from-capability-answer",
        method: "POST",
    },
    GetShopTimeSlots: {
        url: "/schedule/api/v1/schedule/shop-time-slots",
        method: "POST",
    },
    GetMobileTimeSlots: {
        url: "/schedule/api/v1/schedule/mobile-time-slots",
        method: "POST",
    },
    GetMobilePremiumFee: {
        url: "/parts/api/v1/parts/mobile-premium-fee",
        method: "GET",
    },
    SaveSession: {
        url: "/order/api/v1/order/save-session/fmg",
        method: "POST",
    },
    LoadSession: {
        url: "/order/api/v1/order/load-session",
        method: "POST",
    },
    SaveQuote: {
        url: "/order/api/v1/order/save-progress",
        method: "POST",
    },
    GetSignature: {
        url: "/order/api/v1/order/sign",
        method: "POST",
    },
    ValidateZip: {
        url: "/location/api/v1/location/zip",
        method: "GET",
    },
    PriceOrderItems: {
        url: "/price/api/v1/price/order-items",
        method: "POST",
    },
    ValidatePromo: {
        url: "/price/api/v1/price/order-promo",
        method: "POST",
    },
    RevalidatePromos: {
        url: "/price/api/v1/price/revalidated-order-promos",
        method: "POST",
    },
    TaxOrderItems: {
        url: "/price/api/v1/price/taxed-order-items",
        method: "GET",
    },
    LogExperimentExposureIfAssigned: {
        url: "/experiments/api/v1/experiments/log-exposure",
        method: "POST",
    },
    LogPageView: {
        url: "/analytics/api/v1/analytics/log-page-view",
        method: "POST",
    },
    LogCustomEvent: {
        url: "/analytics/api/v1/analytics/log-custom-event",
        method: "POST",
    },
    InitializeSession: {
        url: "/analytics/api/v1/analytics/initialize",
        method: "POST",
    },
    LogPartQuestions: {
        url: "/analytics/api/v1/analytics/log-part-questions",
        method: "POST",
    },
    GetExperimentsByUser: {
        url: "/analytics/api/v1/analytics/get-experiments",
        method: "GET",
    },
    RunExperimentsForTrigger: {
        url: "/experiments/api/v1/experiments/run",
        method: "POST",
    },
    GetInsuranceCompanyList: {
        url: "/account/api/v1/account/insurance-companies",
        method: "GET",
    },
    GetBillToAccountNumber: {
        url: "/account/api/v1/account/bill-to-account-number",
        method: "GET",
    },
    ClosestApplicableShops: {
        url: "/location/api/v1/location/closest-applicable-shops",
        method: "GET",
    },
    AddDonationPart: {
        url: "/order/api/v1/order/add-donation-part",
        method: "POST",
    },
};

export { endpoints };
