@page "/formulaone" @using AyCode.Interfaces.StorageHandlers; @using TIAM.Entities.Transfers @using TIAMSharedUI.Shared.Components @using TIAMWebApp.Shared.Application.Interfaces @using TIAMWebApp.Shared.Application.Models.ClientSide.UI @using TIAMWebApp.Shared.Application.Models.PageModels @using AyCode.Services.Loggers @using TIAMSharedUI.Pages.Components; @using TIAMSharedUI.Shared @using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels @using AyCode.Core.Helpers @using AyCode.Core.Consts @using TIAMSharedUI.Shared.Components.BaseComponents @inherits BasePageComponent @inject NavigationManager NavManager @inject IUserDataService UserDataService; @inject IJSRuntime jsRuntime; @inject ISecureStorageHandler SecureStorageHandler @inject ISessionService sessionService; @inject IStringLocalizer localizer; @inject NavigationManager navManager @inject IAcLogWriterClientBase BrowserConsoleLogWriter @inject ITransferDataService transferDataService Index
@{ if (!showWizard) {

BUDAPEST - HUNGARORING

Early bird sale

Friday

round trip

Budapest Hungaroring
Early bird sale

Saturday

round trip

Budapest Hungaroring
Early bird sale

Sunday

round trip

Budapest Hungaroring
Early bird sale

3 days

round trip

Budapest Hungaroring

AIRPORT - HUNGARORING

One way transfer

One way transfer

One way transfer

FROM LOCATION OUTSIDE OF BUDAPEST

Friday round trip

Saturday round trip

Sunday round trip

3 days round trip bundle

//six cards for the six available services } else {
Early bird sale
} }

Book a Transfer Now for Hungaroring Formula 1

Planning to attend the Hungaroring Formula 1 race on July 19-21? Avoid the hassle of finding a taxi on race days and book your transfer with Tour I Am now. Enjoy a stress-free journey with our reliable service and get an exclusive 20% discount!

Why Book with Tour I Am?

  • Hard to Find Taxis: Taxis are scarce on race days. Secure your ride in advance.
  • 20% Discount: Book now and enjoy a 20% discount on all transfers.
  • Reliable Service: Count on our punctual and professional drivers to get you to the race on time.
  • Comfortable Vehicles: Travel in comfort with our clean and well-maintained cars.
  • Easy Booking: Simple online booking process. Confirm your ride in minutes.

How to Book

Booking your transfer is quick and easy. Visit our booking page, select your dates (July 19-21), and enter the promo code HUNGARORING20 to get your 20% discount. You can also contact us at info@touriam.com or call us at (123) 456-7890 for group bookings and inquiries.

Experience the Hungaroring Formula 1 with Ease

Don't miss a moment of the action. Book your airport transfer with Tour I Am and enjoy a smooth, hassle-free experience. Travel with peace of mind knowing your transportation is taken care of.

Book Your Transfer Now

@code { [CascadingParameter] private PopupMessageBox PopupMessageBox { get; set; } = default!; public bool showWizard = false; public string _location1 = "Budapest"; public string _location2 = "Airport"; public string _location3 = "Other"; public int[] OrderDates; public bool OrderIsReturn; public string OrderLocation; public List sliders = new List { new HeroSliderItem { Title = "Welcome to TIAM", ImageUrl = "_content/TIAMSharedUI/images/f1_1.png" }, new HeroSliderItem { Title = "Welcome to TIAM", ImageUrl = "_content/TIAMSharedUI/images/f1_2.png" }, new HeroSliderItem { Title = "Welcome to TIAM", ImageUrl = "_content/TIAMSharedUI/images/f1_3.png" }, }; public TransferWizardModel myModel = new TransferWizardModel(); public List TransferIgnorList = new List { "Id", "UserId", "Destination", "PickupAddress", "ProductId", "PaymentId", "FlightNumber", "TripDate", "FirstName", "LastName", "UserProductMappingId", "UserProductToCarId", "ReferralId", "Price", "Comment" }; /*protected override void OnAfterRender(bool isFirst) { message = " Target destination is " + slider.SliderElementId.ToString(); }*/ public async Task SubmitForm(object result) { var orderModel = result as TransferWizardModel; //check if user exists if (sessionService.IsAuthenticated && sessionService.User != null) { //Basic settings orderModel.UserId = sessionService.User.UserModelDto.Id; orderModel.ProductId = sessionService.User.UserModelDto.Products.FirstOrDefault()?.Id; } else { //cherck if user exists var user = await UserDataService.GetUserByEmailAsync(orderModel.EmailAddress); if (user.Id == Guid.Empty) user = null; if (user != null) { orderModel.UserId = user.Id; if (user.Products != null) orderModel.ProductId = user.Products.FirstOrDefault()?.Id; } else { //if not, create user // Random random = new Random(); // string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; // string password = new string(Enumerable.Repeat(chars, 10) // .Select(s => s[random.Next(s.Length)]).ToArray()); var password = AcCharsGenerator.NewPassword(AcConst.MinPasswordLength, 16); RegistrationModel regModel = new RegistrationModel { PhoneNumber = orderModel.PhoneNumber, Email = orderModel.EmailAddress, Password = password, ReferralId = null }; var bleh = await UserDataService.CreateGuestUser(regModel); orderModel.UserId = bleh.user.Id; } } await ProcessTransfers(orderModel); } protected override void OnInitialized() { var isLoggedIn = sessionService.IsAuthenticated; if (isLoggedIn) { BrowserConsoleLogWriter.Info("logged in" + sessionService.User?.UserModelDto.Products.FirstOrDefault()?.Id); } } public void Book(int[] dates, bool isReturn, string location) { myModel.TripDate = new DateTime(2024, 07, dates[0]); myModel.Destination = "Hungaroring"; myModel.PickupAddress = location; OrderDates = dates; OrderIsReturn = isReturn; OrderLocation = location; showWizard = true; } public async Task> ProcessTransfers(TransferWizardModel orderModel) { List transferList = new List(); double _transferPrice = 0.0f; if(orderModel.NumberOfPassengers < 5) { switch (OrderDates.Length) { case (1): _transferPrice = 119/2; break; case (2): _transferPrice = 199 / 4; break; case (3): _transferPrice = 269 / 6; break; } } else if (orderModel.NumberOfPassengers > 5 && orderModel.NumberOfPassengers <= 8) { switch (OrderDates.Length) { case (1): _transferPrice = 219f /2; break; case (2): _transferPrice = 359 / 4; break; case (3): _transferPrice = 489 / 6; break; } } foreach (var date in OrderDates) { TransferWizardModel transfer = orderModel.Clone(); transfer.TripDate = new DateTime(2024, 07, date); // Outbound trip transfer.PickupAddress = OrderLocation; transfer.Destination = "Hungaroring"; transfer.PhoneNumber = orderModel.PhoneNumber; transfer.EmailAddress = orderModel.EmailAddress; transfer.Price = _transferPrice; transferList.Add(transfer); // Return trip transfer = orderModel.Clone(); transfer.TripDate = new DateTime(2024, 07, date); transfer.PickupAddress = "Hungaroring"; transfer.Destination = OrderLocation; transfer.PhoneNumber = orderModel.PhoneNumber; transfer.EmailAddress = orderModel.EmailAddress; transfer.Price = _transferPrice; transferList.Add(transfer); } var transferResult = await transferDataService.CreateTransfers(transferList); BrowserConsoleLogWriter.Info($"Submitted nested form: {transferResult.GetType().FullName}, {transferResult.Count}"); return transferResult; } }