@page "/transfer" @using AyCode.Core.Consts @using AyCode.Core.Helpers @using TIAM.Models.Dtos.Users @using TIAM.Services @using TIAMSharedUI.Pages.Components @using TIAMSharedUI.Pages.Components.EditComponents @using TIAMSharedUI.Shared @using TIAMSharedUI.Shared.Components.BaseComponents @using TIAMWebApp.Shared.Application.Interfaces @using TIAMWebApp.Shared.Application.Models.ClientSide.UI @using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels @using AyCode.Services.Loggers @using TIAMWebApp.Shared.Application.Models.PageModels @using TIAMWebApp.Shared.Application.Services @inherits BasePageComponent @inject NavigationManager navManager @inject IAcLogWriterClientBase BrowserConsoleLogWriter @inject IWizardProcessor WizardProcessor @inject IUserDataService UserDataService @inject AdminSignalRClient _adminSignalRClient Transfer
@{ if (displayHelp) {

Step 1: Choose Your Transfer Direction

At the top of the form, select whether you need a transfer "To the Airport" or "From the Airport" by clicking on the corresponding tab.

Step 2: Enter the Destination (or Pickup) Address

In the PickupAddress section, select your address:

  • Preset addresses: Click on the dropdown menu under “Preset addresses” and choose an address from the list. For example, you may see options like "Széchenyi fürdő."
  • Custom address: If your address is not listed, click on the "Custom address" tab to manually enter your address.

Step 3: Confirm the Destination

Once you select or enter the address, the form will display it as the "Selected address." Make sure this is correct before proceeding.

Step 4: Enter Flight Information (Optional)

If applicable, fill in your FlightNumber. This is optional, so you can leave it blank if you don't have or don’t want to provide it.

Step 5: Specify the Number of Passengers

In the NumberOfPassengers field, enter the number of people who will be traveling. The default is set to 1, but you can change it as needed.

Step 6: Indicate the Amount of Luggage

In the NumberOfLuggage field, enter the total number of luggage items you will be bringing.

Step 7: Fill in Your Personal Information

Under FullName, enter your first and last name in the respective fields. Provide your PhoneNumber in the designated field. The phone number appears to be pre-filled with a sample number ("+11234567890"), so be sure to update it with your actual contact number. Enter your EmailAddress to receive confirmation and any further communication regarding your transfer.

Step 8: Add Additional Comments (Optional)

If you have any special requests or additional information you’d like to provide, use the Comment section to do so.

Step 9: Submit Your Request

Once all fields are filled in correctly, click the Submit button at the bottom of the form to place your transfer order.

Step 10: Confirmation

After submitting, you should receive a confirmation email or message. Ensure all the details are correct, and you’re all set!

} }
@* *@

Book an Airport Transfer

Welcome to Tour I Am! Book your airport transfer with us for a smooth and stress-free experience. Our professional drivers are ready to take you to and from the airport in comfort and style. We offer competitive rates and reliable service, ensuring you get to your destination on time.

Why Choose Tour I Am?

  • Reliable Service: Punctual pickups and drop-offs.
  • Professional Drivers: Experienced and courteous drivers.
  • Affordable Rates: Competitive pricing with no hidden fees.
  • Comfortable Vehicles: Clean, modern, and well-maintained cars.

How to Book

Booking your airport transfer is easy! Simply visit our booking page, enter your details, and confirm your reservation. You can also contact us at info@touriam.com or call us at (123) 456-7890 for assistance.

Experience the convenience and reliability of Tour I Am. Book your airport transfer today and travel with peace of mind!

@code { public TransferWizardModel myModel = new TransferWizardModel(); 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 List TransferIgnorList1 = new List { "Id", "Destination", "UserId", "ProductId", "PaymentId", "TripDate", "FirstName", "LastName", "UserProductMappingId", "UserProductToCarId", "ReferralId", "Price" }; public List TransferIgnorList2 = new List { "Id", "PickupAddress", "UserId", "ProductId", "PaymentId", "TripDate", "FirstName", "LastName", "UserProductMappingId", "UserProductToCarId", "ReferralId", "Price" }; /*protected override void OnAfterRender(bool isFirst) { message = " Target destination is " + slider.SliderElementId.ToString(); }*/ private bool toAirport = true; private bool displayHelp = false; public void ToAirport() { toAirport = true; myModel.Destination = "Budapest, 1185"; } public void FromAirport() { toAirport = false; myModel.PickupAddress = "Budapest, 1185"; } public async Task SubmitForm(object Result) { TransferWizardModel resModel = (TransferWizardModel)Result; //let's check if user exists with this email var user = await UserDataService.GetUserByEmailAsync(resModel.EmailAddress!); if (user != null && user.Id != Guid.Empty) { resModel.UserId = user.Id; //user exists already if (_sessionService.User != null) { if (_sessionService.User.UserId == user.Id) { //I have ordered for myself resModel.ReferralId = null; } else { //if I am logged in and different user I become referrer (if no referrer already) var transferUserDetail = await UserDataService.GetUserDetailByIdAsync(user.Id); var userDetail = await UserDataService.GetUserDetailByIdAsync(_sessionService.User.UserId); if (transferUserDetail.UserDto.RefferalId != null) { //user has aready a referrer so we use that resModel.ReferralId = transferUserDetail.UserDto.RefferalId; } else { //user has no referrer so I am the referrer resModel.ReferralId = userDetail.UserDto.RefferalId; } } } } else { //create a guest user and set referralId var registration = new RegistrationModel(); var password = AcCharsGenerator.NewPassword(AcConst.MinPasswordLength, 16); registration.Email = resModel.EmailAddress; registration.PhoneNumber = resModel.PhoneNumber; registration.Password = password; //get list with one member! var createResult = await UserDataService.CreateGuestUser(registration); if (createResult.isSuccess) { if (createResult.user != null) { if (_sessionService.User != null) { //if I am logged in user I become referrer var userDetail = await UserDataService.GetUserDetailByIdAsync(_sessionService.User.UserId); var createdUserDetail = await UserDataService.GetUserDetailByIdAsync(createResult.user.Id); if (createdUserDetail != null) { createdUserDetail.UserDto.RefferalId = userDetail.UserDto.RefferalId; var updatedNewUser = await _adminSignalRClient.PostDataAsync(SignalRTags.UpdateUserModelDtoDetail, userDetail); if (updatedNewUser != null) { //referral set } else { //something wrong } } resModel.ReferralId = userDetail.UserDto.RefferalId; } resModel.UserId = createResult.user.Id; } else { //some error handling } } } var transfer = await WizardProcessor.ProcessWizardAsync(Result.GetType(), Result); BrowserConsoleLogWriter.Info($"Submitted nested form: {Result.GetType().FullName}"); navManager.NavigateTo($"/transfer2/{resModel.Id}"); } protected override Task OnInitializedAsync() { ToAirport(); return base.OnInitializedAsync(); } private void ShowHelp_Click() { displayHelp = !displayHelp; } }