{"version":3,"sources":["./src/app/model/booking.ts","./src/app/pages/home/home.component.ts","./src/app/pages/home/home.component.html","./src/app/pages/payment/payment.component.ts","./src/app/pages/payment/payment.component.html","./src/app/shared/layout/header/header.component.ts","./src/app/shared/layout/header/header.component.html","./src/app/pages/privery-policy/privery-policy.component.ts","./src/app/pages/privery-policy/privery-policy.component.html","./src/app/model/room.ts","./src/app/site/booking/booking.component.ts","./src/app/site/booking/booking.component.html","./src/environments/environment.ts","./src/app/pages/all-rooms/all-rooms.component.ts","./src/app/pages/all-rooms/all-rooms.component.html","./src/app/pages/aboutus/aboutus.component.html","./src/app/pages/aboutus/aboutus.component.ts","./src/app/toast-global/toast-service.ts","./src/app/pages/home/rooms/rooms.component.ts","./src/app/pages/home/rooms/rooms.component.html","./src/app/model/mobileWallet.ts","./src/app/shared/page/page.component.ts","./src/app/shared/page/page.component.html","./src/app/date-service.service.ts","./src/app/site/booking/choose-room/choose-room.component.ts","./src/app/site/booking/choose-room/choose-room.component.html","./src/app/pages/services/services.component.ts","./src/app/pages/services/services.component.html","./src/app/hotel-booking.service.ts","./src/app/pages/gallery/gallery.component.ts","./src/app/pages/gallery/gallery.component.html","./src/app/model/MessageDto.ts","./src/app/model/property.ts","./src/app/model/customer.ts","./src/app/site/booking/complete/complete.component.ts","./src/app/site/booking/complete/complete.component.html","./src/app/pages/terms/terms.component.ts","./src/app/pages/terms/terms.component.html","./src/app/pages/home/home-about/home-about.component.ts","./src/app/pages/home/home-about/home-about.component.html","./src/app/app.component.ts","./src/app/app.component.html","./src/app/model/payment.ts","./src/app/site/booking/booking-complete/booking-complete.component.ts","./src/app/site/booking/booking-complete/booking-complete.component.html","./src/app/model/businessServiceDtoList.ts","./src/app/pages/contact/contact.component.ts","./src/app/pages/contact/contact.component.html","./src/app/model/dateModel.ts","./src/app/app.module.ts","./src/app/model/BankAccount.ts","./src/app/pages/pages.module.ts","./src/app/site/booking/checkout/checkout.component.ts","./src/app/site/booking/checkout/checkout.component.html","./src/app/model/msg.ts","./src/app/pages/home/slider/slider.component.ts","./src/app/pages/home/slider/slider.component.html","./src/app/toast-global/toasts-container.component.ts","./src/app/model/user.ts","./src/app/pages/service-home/service-home.component.ts","./src/app/pages/service-home/service-home.component.html","./src/app/pages/near-places/near-places.component.html","./src/app/pages/near-places/near-places.component.ts","./src/app/site/booking/booking-details/booking-details.component.ts","./src/app/site/booking/booking-details/booking-details.component.html","./src/app/shared/layout/navbar/navbar.component.ts","./src/app/shared/layout/navbar/navbar.component.html","./src/app/pages/refund-policy/refund-policy.component.ts","./src/app/pages/refund-policy/refund-policy.component.html","./src/app/shared/layout/footer/footer.component.ts","./src/app/shared/layout/footer/footer.component.html","./src/app/site/booking/checkout-hdfc/checkout-hdfc.component.ts","./src/app/site/booking/checkout-hdfc/checkout-hdfc.component.html","./src/app/site/booking/booking.module.ts","./src/app/app-routing.module.ts","./src/app/pages/pages-routing.module.ts","./src/app/token.storage.ts","./src/app/site/booking/new-booking/new-booking.component.ts","./src/app/site/booking/new-booking/new-booking.component.html","./src/app/api.service.ts","./src/app/pages/home/notch/notch.component.html","./src/app/pages/home/notch/notch.component.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object","./src/app/model/businessOfferDto.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { Address } from './address';\r\nimport { TaxDetails } from './TaxDetails';\r\n\r\nexport class Booking {\r\n advanceAmount: number;\r\n id: number;\r\n referenceNumber: string;\r\n firstName: string;\r\n lastName: string;\r\n customerDtoList: any[];\r\n email: string;\r\n mobile: string;\r\n checkInDateStr: string;\r\n checkOutDateStr: string;\r\n fromDate: string;\r\n fromDateCal: Date;\r\n toDate: string;\r\n roomType: string;\r\n dayTrip: boolean;\r\n roomPrice: number;\r\n airportShuttlePrice: string;\r\n customerId: number;\r\n customerAddress: Address;\r\n customerCompanyName: string;\r\n businessEmail: string;\r\n businessName: string;\r\n notes: string;\r\n externalBookingID: string;\r\n noOfRooms: number;\r\n noOfPersons: number;\r\n noOfExtraPerson: number;\r\n noOfChildren: number;\r\n noOfNights: number;\r\n noOfKids: number;\r\n noOfPets: number;\r\n referralCode: string;\r\n referredBy: number;\r\n roleName: string;\r\n externalSite: string;\r\n paymentId: number;\r\n paymentSurcharge: string;\r\n airportService: string;\r\n accomodationType: string;\r\n propertyReservationNumber: string;\r\n roomId: number;\r\n propertyId: number;\r\n available: Boolean;\r\n modeOfPayment: string;\r\n cardNumber: number;\r\n expMonth: number;\r\n expYear: number;\r\n cvv: number;\r\n currency: string;\r\n token: string;\r\n bookingAmount: number;\r\n payableAmount: number;\r\n roomName: string;\r\n extraChildCharge: number;\r\n extraPersonCharge: number;\r\n outstandingAmount: number;\r\n discountAmount: number;\r\n discountPercentage: number;\r\n businessSubtype:string;\r\n commissionAmount: string;\r\n gstAmount: number;\r\n taxPercentage: number;\r\n netAmount: number;\r\n totalAmount: number;\r\n totalServiceAmount: number;\r\n totalExpenseAmount: number;\r\n totalPaymentAmount: number;\r\n bookingStatus: string;\r\n invoiceUrl: string;\r\n managerContactNo: string;\r\n roomBooking: boolean;\r\n groupBooking: boolean;\r\n createdDate: string;\r\n lastModifiedDate: string;\r\n roomRatePlanName: string;\r\n planCode: string;\r\n noOfExtraChild: number;\r\n taxAmount: number;\r\n taxDetails: TaxDetails[];\r\n beforeTaxAmount: number;\r\n fromTime: number;\r\n hsnCode: any;\r\n includeService: boolean;\r\n toTime: number;\r\n roomTariffBeforeDiscount: number;\r\n totalBookingAmount: number;\r\n totalRoomTariffBeforeDiscount: number;\r\n constructor() {}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { DatePipe } from '@angular/common';\r\nimport { ChangeDetectorRef, Component, NgZone, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ApiService } from 'src/app/api.service';\r\nimport { BankAccount } from 'src/app/model/BankAccount';\r\nimport { Booking } from 'src/app/model/booking';\r\nimport { BusinessServiceDtoList } from 'src/app/model/businessServiceDtoList';\r\nimport { MobileWallet } from 'src/app/model/mobileWallet';\r\nimport { Payment } from 'src/app/model/payment';\r\nimport { Property } from 'src/app/model/property';\r\nimport { BusinessUser } from 'src/app/model/user';\r\n\r\ndeclare var Stripe: any;\r\n\r\ndeclare var window: any;\r\n@Component({\r\n selector: 'app-payment',\r\n templateUrl: './payment.component.html',\r\n styleUrls: ['./payment.component.scss'],\r\n providers: [DatePipe],\r\n})\r\nexport class PaymentComponent implements OnInit {\r\n businessUser: Property;\r\n payment: Payment;\r\n booking: Booking;\r\n // room: Room;\r\n bookingNumber: number;\r\n bookingEmail: string;\r\n loader = false;\r\n\r\n businessServiceDto: BusinessServiceDtoList;\r\n taxPercentage = 0;\r\n subTotalAmount: number = 0;\r\n totalAmount: number = 0;\r\n timeDifferenceInDays: number;\r\n\r\n paymentLoader: boolean = false;\r\n\r\n bankAccount: BankAccount;\r\n mobileWallet: MobileWallet;\r\n\r\n private ewaySecureFieldCode: string;\r\n private ewayErrors: string = null;\r\n private ewayInitComplete: boolean = false;\r\n cardPaymentAvailable: boolean;\r\n taxDetails: any[] = [];\r\n currency: string;\r\n DiffDate;\r\n enddate;\r\n startDate;\r\n cashPayment: boolean;\r\n headerTitle: string;\r\n bodyMessage: string;\r\n isSuccess: boolean;\r\n contentDialog: any;\r\n alertType: string;\r\n showAlert: boolean;\r\n\r\n constructor(\r\n private acRoute: ActivatedRoute,\r\n private changeDetectorRefs: ChangeDetectorRef,\r\n public datepipe: DatePipe,\r\n private router: Router,\r\n private ngZone: NgZone,\r\n private apiService: ApiService\r\n ) {\r\n this.businessServiceDto = new BusinessServiceDtoList();\r\n this.businessUser = new Property();\r\n this.booking = new Booking();\r\n this.payment = new Payment();\r\n this.acRoute.queryParams.subscribe((params) => {\r\n if (params['BookingReferenceNumber'] !== undefined) {\r\n this.bookingNumber = params['BookingReferenceNumber'];\r\n }\r\n if (params['BookingEmail'] !== undefined) {\r\n this.bookingEmail = params['BookingEmail'];\r\n }\r\n this.getBookingDetails(this.bookingNumber, this.bookingEmail);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n window['angularComponentReference'] = {\r\n component: this,\r\n zone: this.ngZone,\r\n loadAngularFunction: () => this.stripePaymentSuccess(),\r\n };\r\n }\r\n mileSecondToNGBDate(date: string) {\r\n const dsd = new Date(date);\r\n const year = dsd.getFullYear();\r\n const day = dsd.getDate();\r\n const month = dsd.getMonth() + 1;\r\n return { year: year, month: month, day: day };\r\n }\r\n getDiffDate(toDate, fromDate) {\r\n this.enddate = new Date(toDate.year, toDate.month - 1, toDate.day);\r\n\r\n this.startDate = new Date(fromDate.year, fromDate.month - 1, fromDate.day);\r\n // console.log('this.fromDate: ', this.startDate);\r\n // console.log('this.toDate: ', this.enddate);\r\n this.DiffDate = Math.floor(\r\n (Date.UTC(\r\n this.enddate.getFullYear(),\r\n this.enddate.getMonth(),\r\n this.enddate.getDate()\r\n ) -\r\n Date.UTC(\r\n this.startDate.getFullYear(),\r\n this.startDate.getMonth(),\r\n this.startDate.getDate()\r\n )) /\r\n (1000 * 60 * 60 * 24)\r\n );\r\n }\r\n getBookingDetails(bookingNumber: number, bookingEmail: string) {\r\n this.loader = true;\r\n this.apiService.getBookingDetails(bookingNumber, bookingEmail).subscribe(\r\n (data) => {\r\n this.booking = data.body.bookingDetails;\r\n this.payment = data.body.paymentDetails[0];\r\n // this.room = data.body.roomDetails;\r\n this.getPropertyDetails(this.booking.propertyId);\r\n // console.log(' this.room ='+JSON.stringify( this.room));\r\n this.payment.transactionChargeAmount = this.payment.transactionAmount;\r\n this.getDiffDate(\r\n this.mileSecondToNGBDate(this.booking.fromDate),\r\n this.mileSecondToNGBDate(this.booking.toDate)\r\n );\r\n this.changeDetectorRefs.detectChanges();\r\n\r\n this.loader = false;\r\n },\r\n (_error) => {\r\n this.loader = false;\r\n }\r\n );\r\n }\r\n getPropertyDetails(id: number) {\r\n this.loader = true;\r\n this.apiService.getPropertyDetailsByPropertyId(id).subscribe(\r\n (data) => {\r\n this.businessUser = data.body;\r\n this.mobileWallet = this.businessUser.mobileWallet;\r\n this.bankAccount = this.businessUser.bankAccount;\r\n if(this.businessUser.localCurrency ){\r\n\r\n this.currency = this.businessUser.localCurrency.toUpperCase();\r\n }else {\r\n this.currency = \"INR\";\r\n }\r\n // console.log(' this.businessUser ===='+JSON.stringify( this.businessUser));\r\n if (this.businessUser.taxDetails.length > 0) {\r\n this.taxPercentage = this.businessUser.taxDetails[0].percentage;\r\n }\r\n if (this.businessUser.taxDetails[0].taxSlabsList.length > 0) {\r\n this.businessUser.taxDetails[0].taxSlabsList.forEach((element) => {\r\n if (\r\n element.maxAmount >= this.booking.netAmount &&\r\n element.minAmount <= this.booking.netAmount\r\n ) {\r\n this.taxPercentage = element.percentage;\r\n } else if (element.maxAmount <= this.booking.netAmount) {\r\n this.taxPercentage = element.percentage;\r\n }\r\n });\r\n }\r\n\r\n this.booking.totalAmount =\r\n this.booking.netAmount +\r\n this.booking.netAmount * (this.taxPercentage / 100);\r\n\r\n this.businessServiceDto = this.businessUser.businessServiceDtoList.find(\r\n (data) => data.name === this.businessUser.businessType\r\n );\r\n\r\n this.loader = false;\r\n },\r\n (_error) => {\r\n this.loader = false;\r\n }\r\n );\r\n }\r\n cashOnDelivery() {\r\n this.cashPayment = true;\r\n }\r\n cardPayment() {\r\n this.cashPayment = false;\r\n if (this.businessUser.paymentGateway == 'stripe') {\r\n this.loadStripe();\r\n\r\n this.payment.paymentMode = 'Card';\r\n this.payment.status = 'Paid';\r\n this.payment.firstName = this.booking.firstName;\r\n this.payment.lastName = this.booking.lastName;\r\n // this.payment.netReceivableAmount = this.booking.netAmount;\r\n // this.payment.transactionAmount = this.booking.totalAmount;\r\n // this.payment.amount = this.booking.totalAmount;\r\n this.payment.propertyId = this.businessUser.id;\r\n this.payment.transactionChargeAmount = this.booking.totalAmount;\r\n this.payment.email = this.booking.email;\r\n this.payment.businessEmail = this.businessUser.email;\r\n this.payment.currency = this.businessUser.localCurrency;\r\n\r\n this.booking.taxAmount =\r\n (this.booking.netAmount * this.booking.taxPercentage) / 100;\r\n // this.payment.taxAmount = this.booking.taxAmount;\r\n this.payment.deliveryChargeAmount = 0;\r\n this.payment.date = this.datepipe.transform(\r\n new Date().getTime(),\r\n 'yyyy-MM-dd'\r\n );\r\n\r\n this.paymentIntent(this.payment);\r\n this.cardPaymentAvailable = true;\r\n }\r\n }\r\n bankPayment() {\r\n this.cashPayment = false;\r\n }\r\n onCardPaymentSubmit() {\r\n // this.contentDialog = content;\r\n\r\n // if (this.homeDelivery == true) {\r\n // this.slotReservation.shipToAddress = this.address;\r\n // }else {\r\n // this.order.shipToAddress = this.businessUser.address;\r\n // }\r\n\r\n // this.slotReservation.orderedTime = this.getOrderTimeformatAMPM(new Date);\r\n\r\n this.payment.paymentMode = 'Card';\r\n this.payment.status = 'Paid';\r\n this.payment.firstName = this.booking.firstName;\r\n this.payment.lastName = this.booking.lastName;\r\n this.payment.netReceivableAmount = this.booking.netAmount;\r\n this.payment.transactionAmount = this.booking.totalAmount;\r\n this.payment.amount = this.booking.totalAmount;\r\n this.payment.propertyId = this.businessUser.id;\r\n this.payment.transactionChargeAmount = this.booking.totalAmount;\r\n this.payment.email = this.booking.email;\r\n this.payment.businessEmail = this.businessUser.email;\r\n this.payment.currency = this.businessUser.localCurrency;\r\n\r\n this.booking.taxAmount =\r\n (this.booking.netAmount * this.booking.taxPercentage) / 100;\r\n this.payment.taxAmount = this.booking.taxAmount;\r\n this.payment.deliveryChargeAmount = 0;\r\n this.payment.date = this.datepipe.transform(\r\n new Date().getTime(),\r\n 'yyyy-MM-dd'\r\n );\r\n\r\n this.chargeCreditCard(this.payment);\r\n }\r\n onWalletPaymentSubmit() {\r\n this.payment.paymentMode = 'Wallet';\r\n this.payment.status = 'Paid';\r\n this.payment.firstName = this.booking.firstName;\r\n this.payment.lastName = this.booking.lastName;\r\n this.payment.netReceivableAmount = this.booking.netAmount;\r\n this.payment.transactionAmount = this.booking.totalAmount;\r\n this.payment.amount = this.booking.totalAmount;\r\n this.payment.propertyId = this.booking.propertyId;\r\n this.payment.email = this.booking.email;\r\n this.payment.businessEmail = this.businessUser.email;\r\n this.payment.transactionChargeAmount = this.booking.totalAmount;\r\n this.payment.currency = this.businessUser.localCurrency;\r\n\r\n this.booking.taxAmount =\r\n (this.booking.netAmount * this.booking.taxPercentage) / 100;\r\n this.payment.taxAmount = this.booking.taxAmount;\r\n this.payment.deliveryChargeAmount = 0;\r\n this.payment.date = this.datepipe.transform(\r\n new Date().getTime(),\r\n 'yyyy-MM-dd'\r\n );\r\n\r\n this.processPayment(this.payment);\r\n }\r\n onBankPaymentSubmit() {\r\n this.payment.paymentMode = 'BankTransfer';\r\n this.payment.status = 'Paid';\r\n this.payment.firstName = this.booking.firstName;\r\n this.payment.lastName = this.booking.lastName;\r\n this.payment.netReceivableAmount = this.booking.netAmount;\r\n this.payment.transactionAmount = this.booking.totalAmount;\r\n this.payment.amount = this.booking.totalAmount;\r\n this.payment.propertyId = this.businessUser.id;\r\n this.payment.email = this.booking.email;\r\n this.payment.businessEmail = this.businessUser.email;\r\n this.payment.transactionChargeAmount = this.booking.totalAmount;\r\n this.payment.currency = this.businessUser.localCurrency;\r\n // console.log('Bank Transfer' + JSON.stringify(this.order));\r\n this.booking.taxAmount =\r\n (this.booking.netAmount * this.booking.taxPercentage) / 100;\r\n this.payment.taxAmount = this.booking.taxAmount;\r\n this.payment.deliveryChargeAmount = 0;\r\n this.payment.date = this.datepipe.transform(\r\n new Date().getTime(),\r\n 'yyyy-MM-dd'\r\n );\r\n\r\n this.processPayment(this.payment);\r\n }\r\n onCashPaymentSubmit() {\r\n // if (this.homeDelivery == true) {\r\n // this.order.shipToAddress = this.address;\r\n // } else {\r\n // this.order.shipToAddress = this.businessUser.address;\r\n // }\r\n // this.contentDialog = content;\r\n\r\n // this.order.orderedTime = this.getOrderTimeformatAMPM(new Date);\r\n\r\n this.payment.paymentMode = 'Cash';\r\n this.payment.status = 'NotPaid';\r\n this.payment.firstName = this.booking.firstName;\r\n this.payment.lastName = this.booking.lastName;\r\n this.payment.netReceivableAmount = this.booking.netAmount;\r\n this.payment.transactionAmount = this.booking.totalAmount;\r\n this.payment.amount = this.booking.totalAmount;\r\n this.payment.propertyId = this.businessUser.id;\r\n this.payment.email = this.booking.email;\r\n this.payment.businessEmail = this.businessUser.email;\r\n // this.payment.transactionChargeAmount = this.booking.totalAmount;\r\n this.payment.currency = this.businessUser.localCurrency;\r\n\r\n this.booking.taxAmount =\r\n (this.booking.netAmount * this.booking.taxPercentage) / 100;\r\n this.payment.taxAmount = this.booking.taxAmount;\r\n this.payment.deliveryChargeAmount = 0;\r\n this.payment.date = this.datepipe.transform(\r\n new Date().getTime(),\r\n 'yyyy-MM-dd'\r\n );\r\n\r\n // console.log('payment', JSON.stringify(this.payment));\r\n this.processPayment(this.payment);\r\n // this.createBooking(this.booking);\r\n }\r\n processPayment(payment: Payment) {\r\n this.paymentLoader = true;\r\n this.changeDetectorRefs.detectChanges();\r\n\r\n this.apiService.processPayment(payment).subscribe(\r\n (response) => {\r\n if (response.status === 200) {\r\n if (response.body.failureMessage != null) {\r\n this.paymentLoader = false;\r\n this.isSuccess = false;\r\n this.headerTitle = 'Error!';\r\n this.bodyMessage =\r\n 'Unable to process payment' +\r\n ' Code: ' +\r\n response.body.failureMessage;\r\n this.showDanger(this.contentDialog);\r\n\r\n this.changeDetectorRefs.detectChanges();\r\n } else {\r\n this.paymentLoader = false;\r\n this.payment = response.body;\r\n this.booking.paymentId = response.body.id;\r\n this.booking.modeOfPayment = this.payment.paymentMode;\r\n this.payment.date = this.datepipe.transform(\r\n new Date().getTime(),\r\n 'yyyy-MM-dd'\r\n );\r\n this.apiService.savePayment(this.payment).subscribe(\r\n (res1) => {\r\n if (res1.status === 200) {\r\n this.paymentLoader = false;\r\n this.changeDetectorRefs.detectChanges();\r\n\r\n // this.createBooking(this.booking);\r\n } else {\r\n this.paymentLoader = false;\r\n this.isSuccess = false;\r\n this.headerTitle = 'Error!';\r\n this.bodyMessage =\r\n 'Unable to save payment' + ' Code: ' + status;\r\n this.showDanger(this.contentDialog);\r\n\r\n this.paymentLoader = false;\r\n this.changeDetectorRefs.detectChanges();\r\n }\r\n },\r\n (error) => {\r\n this.paymentLoader = false;\r\n this.isSuccess = false;\r\n this.headerTitle = 'Error!';\r\n this.bodyMessage =\r\n 'Saving Payment Failed! Code: ' + error.status;\r\n this.showDanger(this.contentDialog);\r\n this.changeDetectorRefs.detectChanges();\r\n }\r\n );\r\n }\r\n } else {\r\n this.paymentLoader = false;\r\n this.isSuccess = false;\r\n this.headerTitle = 'Error!';\r\n this.bodyMessage = 'Payment Failed! Code: ' + response.status;\r\n this.showDanger(this.contentDialog);\r\n this.changeDetectorRefs.detectChanges();\r\n }\r\n },\r\n (error) => {\r\n this.paymentLoader = false;\r\n this.isSuccess = false;\r\n this.headerTitle = 'Error!';\r\n this.bodyMessage = 'Payment Failed! Code: ' + error.status;\r\n this.showDanger(this.contentDialog);\r\n this.changeDetectorRefs.detectChanges();\r\n }\r\n );\r\n }\r\n\r\n chargeCreditCard(payment: Payment) {\r\n this.paymentLoader = true;\r\n if (this.businessUser.paymentGateway == 'eway') {\r\n const eWAY = (window as any).eWAY;\r\n\r\n const comp = this;\r\n\r\n eWAY.saveAllFields(() => {\r\n comp.paymentLoader = false;\r\n\r\n if (\r\n comp.ewaySecureFieldCode == null ||\r\n comp.ewaySecureFieldCode == undefined ||\r\n comp.ewaySecureFieldCode.trim().length < 5\r\n ) {\r\n comp.paymentLoader = false;\r\n comp.isSuccess = false;\r\n comp.headerTitle = 'Error!';\r\n comp.bodyMessage = 'Missing card information!';\r\n comp.showDanger(comp.contentDialog);\r\n comp.changeDetectorRefs.detectChanges();\r\n } else if (comp.ewayErrors != null && comp.ewayErrors != undefined) {\r\n comp.paymentLoader = false;\r\n comp.isSuccess = false;\r\n comp.headerTitle = 'Error!';\r\n comp.bodyMessage =\r\n 'Wrong card information!' + ' Codes: ' + comp.ewayErrors;\r\n comp.showDanger(comp.contentDialog);\r\n comp.changeDetectorRefs.detectChanges();\r\n } else {\r\n payment.token = comp.ewaySecureFieldCode;\r\n comp.processPayment(payment);\r\n }\r\n }, 2000);\r\n } else {\r\n (window as any).Stripe.card.createToken(\r\n {\r\n number: payment.cardNumber,\r\n exp_month: payment.expMonth,\r\n exp_year: payment.expYear,\r\n cvc: payment.cvv,\r\n },\r\n (status: number, response: any) => {\r\n if (status === 200) {\r\n const token = response.id;\r\n payment.token = token;\r\n\r\n this.processPayment(payment);\r\n this.changeDetectorRefs.detectChanges();\r\n } else if (status === 402) {\r\n this.paymentLoader = false;\r\n this.isSuccess = false;\r\n this.headerTitle = 'Error!';\r\n this.bodyMessage = 'Wrong card information!' + ' Code: ' + status;\r\n this.showDanger(this.contentDialog);\r\n this.changeDetectorRefs.detectChanges();\r\n } else {\r\n this.paymentLoader = false;\r\n this.isSuccess = false;\r\n this.headerTitle = 'Error!';\r\n this.bodyMessage = 'Card Payment Faied!' + ' Code: ' + status;\r\n this.showDanger(this.contentDialog);\r\n this.changeDetectorRefs.detectChanges();\r\n }\r\n }\r\n ),\r\n (error) => {\r\n this.paymentLoader = false;\r\n };\r\n }\r\n }\r\n paymentIntent(payment: Payment) {\r\n this.paymentLoader = true;\r\n payment.date = this.datepipe.transform(new Date().getTime(), 'yyyy-MM-dd');\r\n this.apiService.paymentIntent(payment).subscribe((response) => {\r\n if (response.status === 200) {\r\n this.paymentLoader = false;\r\n this.payment = response.body;\r\n console.log('payment Intent Response: ' + response);\r\n } else {\r\n this.paymentLoader = false;\r\n }\r\n });\r\n }\r\n loadStripe() {\r\n // Your Stripe public key\r\n const stripe = Stripe(this.businessUser.paymentGatewayPublicKey);\r\n\r\n // Create `card` element that will watch for updates\r\n // and display error messages\r\n const elements = stripe.elements();\r\n const card = elements.create('card');\r\n card.mount('#card-element');\r\n card.addEventListener('change', (event) => {\r\n const displayError = document.getElementById('card-error');\r\n if (event.error) {\r\n displayError.textContent = event.error.message;\r\n } else {\r\n displayError.textContent = '';\r\n }\r\n });\r\n\r\n // Listen for form submission, process the form with Stripe,\r\n // and get the\r\n const paymentForm = document.getElementById('payment-form');\r\n paymentForm.addEventListener('submit', (event) => {\r\n event.preventDefault();\r\n\r\n payWithCard(stripe, card, this.payment.clientSecret);\r\n });\r\n\r\n const payWithCard = function (stripe, card, clientSecret) {\r\n loading(true);\r\n stripe\r\n .confirmCardPayment(clientSecret, {\r\n payment_method: {\r\n card: card,\r\n },\r\n })\r\n .then(function (result) {\r\n if (result.error) {\r\n // Show error to your customer\r\n showError(result.error.message);\r\n } else {\r\n // The payment succeeded!\r\n loading(false);\r\n console.log(JSON.stringify(result));\r\n orderComplete();\r\n }\r\n });\r\n };\r\n\r\n const loading = function (isLoading) {\r\n if (isLoading) {\r\n // Disable the button and show a spinner\r\n document.querySelector('button').disabled = true;\r\n document.querySelector('#spinner').classList.remove('hidden');\r\n document.querySelector('#button-text').classList.add('hidden');\r\n } else {\r\n document.querySelector('button').disabled = false;\r\n document.querySelector('#spinner').classList.add('hidden');\r\n document.querySelector('#button-text').classList.remove('hidden');\r\n }\r\n };\r\n const showError = function (errorMsgText) {\r\n loading(false);\r\n var errorMsg = document.querySelector('#card-error');\r\n errorMsg.textContent = errorMsgText;\r\n setTimeout(function () {\r\n errorMsg.textContent = '';\r\n }, 4000);\r\n };\r\n let orderComplete = function () {\r\n window.angularComponentReference.zone.run(() => {\r\n window.angularComponentReference.loadAngularFunction();\r\n });\r\n };\r\n }\r\n stripePaymentSuccess() {\r\n this.apiService.savePayment(this.payment).subscribe((response) => {\r\n this.paymentLoader = false;\r\n if (response.status === 200) {\r\n this.payment = response.body;\r\n console.log('payment Intent Response: ' + response);\r\n\r\n this.booking.paymentId = response.body.id;\r\n this.booking.modeOfPayment = this.payment.paymentMode;\r\n\r\n // console.log(\"Card info done\" + JSON.stringify(this.payment));\r\n this.changeDetectorRefs.detectChanges();\r\n this.headerTitle = 'Success!';\r\n this.bodyMessage = 'Payment Successfully Paid!';\r\n this.showSuccess(this.contentDialog);\r\n this.changeDetectorRefs.detectChanges();\r\n this.businessUser.paymentGateway = null;\r\n // this.createBooking(this.booking);\r\n }\r\n });\r\n }\r\n showSuccess(content) {\r\n this.alertType = 'success';\r\n this.showAlert = true;\r\n }\r\n showWarning(content) {\r\n this.alertType = 'warning';\r\n this.showAlert = true;\r\n setTimeout(() => {\r\n this.showAlert = false;\r\n this.changeDetectorRefs.detectChanges();\r\n }, 3000);\r\n }\r\n showDanger(content) {\r\n this.alertType = 'danger';\r\n this.showAlert = true;\r\n setTimeout(() => {\r\n this.showAlert = false;\r\n this.changeDetectorRefs.detectChanges();\r\n }, 3000);\r\n }\r\n backClicked() {\r\n // this.locationBack.back();\r\n this.router.navigate(['/']);\r\n // window.location.reload();\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Booking Payment

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \"\"\r\n\r\n \"\"\r\n
\r\n \r\n

{{businessUser.name}}

\r\n \r\n

\r\n {{businessUser.address.streetNumber? businessUser.address.streetNumber + ', ' : '' }}\r\n {{businessUser.address.streetName? businessUser.address.streetName + ', ' : '' }}\r\n {{businessUser.address.suburb? businessUser.address.suburb + ', ' : '' }}\r\n {{businessUser.address.locality? businessUser.address.locality + ', ' : '' }}\r\n {{businessUser.address.city? businessUser.address.city + ', ' : '' }}\r\n {{ businessUser.address.country? businessUser.address.country : '' }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n

Booking Details

\r\n
\r\n
\r\n
    \r\n
  • Business Name: {{booking.businessName}}
  • \r\n
  • Business Email: {{booking.businessEmail}}
  • \r\n
  • Date: {{booking.fromDate | date:'EEEE, MMM d, y'}} - {{booking.toDate | date:'EEEE, MMM d, y'}}
  • \r\n
  • Number of Night(s): {{timeDifferenceInDays}}
  • \r\n
  • Room Type: {{booking.roomName}}
  • \r\n
  • No Of Room(s): {{booking.noOfRooms}}
  • \r\n
  • Room Price: {{booking.roomPrice | currency: currency:'symbol':'1.2-2' }} \r\n
  • \r\n\r\n \r\n
\r\n
\r\n
\r\n
    \r\n
  • Reservation No: {{booking.propertyReservationNumber}}
  • \r\n
  • Booking Status: {{booking.bookingStatus}}
  • \r\n
  • Name: {{booking.firstName}} {{booking.lastName}}
  • \r\n
  • Email: {{booking.email}}
  • \r\n
  • Phone: {{booking.mobile}}
  • \r\n
  • No Of Person(s): {{booking.noOfPersons}}
  • \r\n
  • Booking Created At: {{booking.createdDate | date:'MMM d, y, hh:mm a'}}
  • \r\n
  • Booking Updated At: {{booking.lastModifiedDate | date:'MMM d, y, hh:mm a'}}
  • \r\n
\r\n
\r\n
\r\n

Payment Details

\r\n
\r\n
\r\n
    \r\n
  • Payment Id: {{payment.id}}
  • \r\n
  • Payment Ref. Id: {{payment.referenceNumber}}
  • \r\n
  • Booking Amount: {{payment.netReceivableAmount | currency: currency:'symbol':'1.2-2' }}
  • \r\n
  • Tax Amount: {{payment.taxAmount | currency: currency:'symbol':'1.2-2' }}
  • \r\n \r\n
  • Payment Amount: {{payment.transactionAmount | currency: currency:'symbol':'1.2-2' }}
    \r\n\t\t\t\t\tEnter The Amount You Want To Pay Now:
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • Payment Method: {{payment.paymentMode}}
  • \r\n
  • Status: {{payment.status }}
  • \r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n

Payment Method

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n
\r\n
\r\n
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

Payment succeeded!

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t

Card payment not available!

\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
Confirm Booking
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t

Pay the total amount\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{booking.totalAmount | currency: currency:'symbol':'1.2-2' }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twhen you\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tChecking in at the hotel.

\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
Bank Information
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t

Please pay\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ booking.totalAmount | currency: currency:'symbol':'1.2-2' }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tusing following bank details and share transaction details in\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthe given below.

\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
Mobile Wallet Information
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t

Please pay\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ booking.totalAmount | currency: currency:'symbol':'1.2-2' }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tusing following mobile wallet details and share transaction\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdetails in the given below.

\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n \r\n {{headerTitle}} {{bodyMessage}}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n// import { debug } from 'console';\r\nimport { ApiService } from 'src/app/api.service';\r\nimport { Property } from 'src/app/model/property';\r\nimport { BusinessUser } from 'src/app/model/user';\r\nimport { TokenStorage } from 'src/app/token.storage';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n property: BusinessUser;\r\n sticky:boolean = false;\r\n property1: any;\r\n constructor(\r\n public router: Router,\r\n public token: TokenStorage,\r\n public apiService: ApiService\r\n ) {\r\n this.property = new BusinessUser();\r\n if (this.token?.getPropertyData() !== null && this.token?.getPropertyData() !== undefined) {\r\n this.property = this.token?.getPropertyData();\r\n } else {\r\n this.getProperty();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n onElementScroll(event){\r\n console.log(event);\r\n if(this.sticky === true){\r\n this.sticky = false;\r\n\r\n } else{\r\n this.sticky = true;\r\n }\r\n }\r\n getProperty() {\r\n// debugger\r\n this.apiService.getPropertyDetailsByPropertyId(830).subscribe(response => {\r\n\r\n this.property = response.body;\r\n console.log(\"propertydata\" +JSON.stringify(this.property))\r\n this.token.saveProperty(this.property);\r\n },\r\n error => {\r\n if (error instanceof HttpErrorResponse) {\r\n\r\n }\r\n }\r\n );\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n {{property.mobile}}\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-privery-policy',\r\n templateUrl: './privery-policy.component.html',\r\n styleUrls: ['./privery-policy.component.css']\r\n})\r\nexport class PriveryPolicyComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Privacy Policy

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n

Who we are

\r\n\r\n\r\n

Our website address is: https://hotelaoneluxury.com .

\r\n\r\n\r\n

What personal data we collect and why we collect it

\r\n\r\n

Comments

\r\n\r\n

\r\n When visitors leave comments on the site we collect the data shown\r\n in the comments form, and also the visitor’s IP address and\r\n browser user agent string to help spam detection.\r\n

\r\n\r\n\r\n

\r\n An anonymize string created from your email address (also called\r\n a hash) may be provided to the Gravatar service to see if you are\r\n using it. The Gravatar service privacy policy is available here:\r\n https://hotelaoneluxury.com/#/privacy-policy. After approval of your\r\n comment, your profile picture is visible to the public in the\r\n context of your comment.\r\n

\r\n\r\n

Media

\r\n\r\n

\r\n If you upload images to the website, you should avoid uploading\r\n images with embedded location data (EXIF GPS) included. Visitors\r\n to the website can download and extract any location data from\r\n images on the website.\r\n

\r\n\r\n

Contact forms

\r\n\r\n

Cookies

\r\n\r\n

\r\n If you leave a comment on our site you may opt-in to saving your\r\n name, email address and website in cookies. These are for your\r\n convenience so that you do not have to fill in your details again\r\n when you leave another comment. These cookies will last for one\r\n year.\r\n

\r\n\r\n

\r\n If you visit our login page, we will set a temporary cookie to\r\n determine if your browser accepts cookies. This cookie contains no\r\n personal data and is discarded when you close your browser.\r\n

\r\n\r\n

\r\n When you log in, we will also set up several cookies to save your\r\n login information and your screen display choices. Login cookies\r\n last for two days, and screen options cookies last for a year. If\r\n you select “Remember Me”, your login will persist for two weeks.\r\n If you log out of your account, the login cookies will be removed.\r\n

\r\n\r\n

\r\n If you edit or publish an article, an additional cookie will be\r\n saved in your browser. This cookie includes no personal data and\r\n simply indicates the post ID of the article you just edited. It\r\n expires after 1 day.\r\n

\r\n\r\n

Embedded content from other websites

\r\n\r\n

\r\n Articles on this site may include embedded content (e.g. videos,\r\n images, articles, etc.). Embedded content from other websites\r\n behaves in the exact same way as if the visitor has visited the\r\n other website.\r\n

\r\n\r\n

\r\n These websites may collect data about you, use cookies, embed\r\n additional third-party tracking, and monitor your interaction with\r\n that embedded content, including tracking your interaction with\r\n the embedded content if you have an account and are logged in to\r\n that website.\r\n

\r\n\r\n

Analytics

\r\n\r\n

Who we share your data with

\r\n\r\n

How long we retain your data

\r\n\r\n

\r\n If you leave a comment, the comment and its metadata are retained\r\n indefinitely. This is so we can recognize and approve any\r\n follow-up comments automatically instead of holding them in a\r\n moderation queue.\r\n

\r\n\r\n

\r\n For users that register on our website (if any), we also store the\r\n personal information they provide in their user profile. All users\r\n can see, edit, or delete their personal information at any time\r\n (except they cannot change their username). Website administrators\r\n can also see and edit that information.\r\n

\r\n\r\n

What rights you have over your data

\r\n\r\n

\r\n If you have an account on this site, or have left comments, you\r\n can request to receive an exported file of the personal data we\r\n hold about you, including any data you have provided to us. You\r\n can also request that we erase any personal data we hold about\r\n you. This does not include any data we are obliged to keep for\r\n administrative, legal, or security purposes.\r\n

\r\n\r\n

Where we send your data

\r\n\r\n

\r\n Visitor comments may be checked through an automated spam\r\n detection service.\r\n

\r\n

Any further questions:

\r\n\r\n\r\n

\r\n Please leave your message to hotelaoneluxury@gmail.com\r\n

\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n","import { RatesAndAvailability } from './ratesAndAvailability';\r\nimport { Bed } from './bed';\r\n\r\nimport { RoomInfo } from './roominfo';\r\n\r\nimport { RoomImage } from './roomImage';\r\nimport { RoomRatePlans } from './roomRatePlans';\r\n\r\nexport class Room {\r\n\r\n id: number;\r\n name: string;\r\n roomId: number;\r\n roomName: string;\r\n description: string;\r\n minimumOccupancy: number;\r\n maximumOccupancy: number;\r\n extraChargePerPerson: number;\r\n propertyId: number;\r\n roomOnlyPrice: number;\r\n totalPriceServices: number;\r\n totalPriceAmenities: number;\r\n totalPriceRoom: number;\r\n totalNoRooms: number;\r\n noOfBooked:number;\r\n noOfAvailable:number;\r\n noOfOnHold:number;\r\n noOfPerson: number;\r\n isShared: Boolean;\r\n noOfRooms: number;\r\n propertyName: string;\r\n beds: Bed[];\r\n roomDetails: RoomInfo[];\r\n price: number;\r\n priceFortNight:\tnumber;\r\n priceMonthly:\tnumber;\r\n pricePerNight:\tnumber;\r\n pricePerWeek:\tnumber;\r\n maximumLengthOfStay: number;\r\n minimumLengthOfStay: number;\r\n imageList: RoomImage[];\r\n roomRatePlans: RoomRatePlans[];\r\n ratesAndAvailabilityDtos: RatesAndAvailability[];\r\n constructor() { }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\n\r\nimport { ActivatedRoute, NavigationExtras, Router } from '@angular/router';\r\nimport { ApiService, PROPERTY_ID } from 'src/app/api.service';\r\nimport { HotelBookingService } from 'src/app/hotel-booking.service';\r\nimport { PropertyServiceDTO } from 'src/app/model/PropertyServices';\r\nimport { Booking } from 'src/app/model/booking';\r\nimport { DateModel } from 'src/app/model/dateModel';\r\nimport { Payment } from 'src/app/model/payment';\r\nimport { Room } from 'src/app/model/room';\r\nimport { BusinessUser } from 'src/app/model/user';\r\nimport { TokenStorage } from 'src/app/token.storage';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-booking',\r\n templateUrl: './booking.component.html',\r\n styleUrls: ['./booking.component.css']\r\n})\r\nexport class BookingComponent implements OnInit {\r\n headerTitle: string;\r\n bodyMessage: string;\r\n rooms: Room[];\r\n dateModel: DateModel;\r\n cardPaymentAvailable: boolean;\r\n daySelected: string;\r\n totalBeforeTaxAmount: number = 0;\r\n yearSelected: string;\r\n contentDialog: any;\r\n monthSelected: number;\r\n businessUser: BusinessUser;\r\n totalTaxAmount: number = 0;\r\n booking: Booking;\r\n paymentLoader: boolean = false;\r\n currentDay: string;\r\n day: string;\r\n isSuccess: boolean;\r\n year: string;\r\n month: number;\r\n addServiceList: PropertyServiceDTO[];\r\n payment: Payment;\r\n day2: string;\r\n year2: string;\r\n showAlert: boolean = false;\r\n alertType: string;\r\n month2: number;\r\n totalExtraAmount: number = 0;\r\n monthArray =['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];\r\n\r\n fromDate: string;\r\n toDate: string;\r\n constructor(\r\n private apiService: ApiService,\r\n private acRoute: ActivatedRoute,\r\n private datePipe: DatePipe,\r\n private hotelBookingService: HotelBookingService,\r\n private token: TokenStorage,\r\n private changeDetectorRefs: ChangeDetectorRef,\r\n private router: Router) {\r\n this.addServiceList = [];\r\n this.dateModel = new DateModel();\r\n this.businessUser = new BusinessUser();\r\n this.payment = new Payment();\r\n }\r\n\r\n ngOnInit() {\r\n this.checkincheckOutDate();\r\n this.getRoom();\r\n\r\n this.acRoute.queryParams.subscribe(params => {\r\n\r\n if(params[\"dateob\"] != undefined)\r\n {\r\n this.dateModel = JSON.parse(params[\"dateob\"]);\r\n this.getRoomByDate( this.dateModel.checkIn ,this.dateModel.checkOut );\r\n this.getCheckInDateFormat(this.dateModel.checkIn);\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n checkincheckOutDate()\r\n {\r\n let currentDate: Date = new Date();\r\n this.day = this.getDay(currentDate);\r\n this.year = String(currentDate.getFullYear());\r\n this.month = currentDate.getMonth();\r\n\r\n\r\n let afterDate: Date = new Date();\r\n afterDate.setDate(currentDate.getDate()+1);\r\n\r\n this.day2 = this.getDay(afterDate);\r\n this.year2 = String(afterDate.getFullYear());\r\n this.month2 = afterDate.getMonth();\r\n }\r\n\r\n\r\n getDay(date: Date)\r\n {\r\n if(date.getDate().toString().length==1)\r\n {\r\n this.currentDay = '0'+date.getDate();\r\n }\r\n else\r\n {\r\n this.currentDay = ''+date.getDate();\r\n }\r\n\r\n return this.currentDay;\r\n }\r\n\r\n\r\n\r\n\r\n getRoom()\r\n {\r\n this.apiService.getRoomDetailsByPropertyId(PROPERTY_ID).subscribe(response => {\r\n\r\n // console.log('response room ' + JSON.stringify(response.body));\r\n this.rooms = response.body;\r\n },\r\n error => {\r\n if (error instanceof HttpErrorResponse) {\r\n\r\n }\r\n }\r\n );\r\n }\r\n payAndCheckout() {\r\n\r\n this.payment.callbackUrl = environment.callbackUrl + this.booking.propertyReservationNumber + \"&BookingEngine=true\";\r\n\r\n if (this.businessUser.paymentGateway === \"paytm\") {\r\n this.payment.paymentMode = \"UPI\";\r\n this.payment.status = \"NotPaid\";\r\n this.payment.businessServiceName = \"Accommodation\";\r\n this.payment.firstName = this.booking.firstName;\r\n this.payment.lastName = this.booking.lastName;\r\n this.payment.name = this.booking.firstName + \" \" + this.booking.lastName;\r\n\r\n this.payment.email = this.booking.email;\r\n this.payment.businessEmail = this.businessUser.email;\r\n this.payment.currency = this.businessUser.localCurrency;\r\n this.payment.propertyId = this.businessUser.id;\r\n this.booking.taxAmount = ((this.booking.netAmount * this.booking.taxPercentage) / 100);\r\n this.payment.taxAmount = Number((Number(((this.booking.taxAmount / 100) * 50).toFixed(2)) + Number(((this.totalTaxAmount / 100) * 50).toFixed(2))).toFixed(2));\r\n this.payment.netReceivableAmount = Number((Number(((this.booking.netAmount / 100)* 50).toFixed(2)) + Number(((this.totalBeforeTaxAmount / 100) * 50).toFixed(2))).toFixed(2));\r\n this.payment.transactionAmount = Number((Number(((this.booking.totalAmount / 100) * 50).toFixed(2))));\r\n this.payment.amount = Number((Number(((this.booking.totalAmount / 100) * 50).toFixed(2))));\r\n this.booking.advanceAmount = Number((Number(((this.booking.totalAmount / 100) * 50).toFixed(2))));\r\n this.payment.transactionChargeAmount = Number((Number(((this.booking.totalAmount / 100) * 50).toFixed(2))));\r\n this.payment.referenceNumber = new Date().getTime().toString();\r\n this.payment.deliveryChargeAmount = 0;\r\n this.payment.date = this.datePipe.transform( new Date().getTime(), \"yyyy-MM-dd\" );\r\n // Logger.log(\"this.payment \"+ JSON.stringify(this.payment));\r\n // this.token.saveBookingData(this.booking);\r\n // this.token.savePaymentData(this.payment);\r\n\r\n this.payment.callbackUrl = environment.callbackUrl;\r\n\r\n // this.processPaymentPayTM(this.payment);\r\n // this.processPaymentPayTM(this.payment);\r\n\r\n this.cardPaymentAvailable = true;\r\n }\r\n else if (this.businessUser.paymentGateway === \"atom\") {\r\n this.payment.paymentMode = \"UPI\";\r\n this.payment.status = \"NotPaid\";\r\n this.payment.businessServiceName = \"Accommodation\";\r\n this.payment.firstName = this.booking.firstName;\r\n this.payment.lastName = this.booking.lastName;\r\n this.payment.name = this.booking.firstName + \" \" + this.booking.lastName;\r\n\r\n this.payment.email = this.booking.email;\r\n this.payment.businessEmail = this.businessUser.email;\r\n this.payment.currency = this.businessUser.localCurrency;\r\n this.payment.propertyId = this.businessUser.id;\r\n this.booking.taxAmount = ((this.booking.netAmount * this.booking.taxPercentage) / 100);\r\n this.payment.taxAmount = Number((Number(((this.booking.taxAmount / 100) * 20).toFixed(2)) + Number(((this.totalTaxAmount / 100) * 20).toFixed(2))).toFixed(2));\r\n this.payment.netReceivableAmount = Number((Number(((this.booking.netAmount / 100)* 20).toFixed(2)) + Number(((this.totalBeforeTaxAmount / 100) * 20).toFixed(2))).toFixed(2));\r\n this.payment.transactionAmount = Number((Number(((this.booking.totalAmount / 100) * 20).toFixed(2)) + Number(( (this.totalExtraAmount / 100) * 20).toFixed(2))).toFixed(2));\r\n this.payment.amount = Number((Number(((this.booking.totalAmount / 100) * 20).toFixed(2)) + Number(( (this.totalExtraAmount / 100) * 20).toFixed(2))).toFixed(2));\r\n this.booking.advanceAmount = Number((Number(((this.booking.totalAmount / 100) * 20).toFixed(2)) + Number(((this.totalExtraAmount / 100) * 20).toFixed(2))).toFixed(2));\r\n this.payment.transactionChargeAmount = Number((Number(((this.booking.totalAmount / 100) * 20).toFixed(2)) + Number(((this.totalExtraAmount /100) * 20).toFixed(2))).toFixed(2));\r\n this.payment.referenceNumber = new Date().getTime().toString();\r\n this.payment.deliveryChargeAmount = 0;\r\n this.payment.date = this.datePipe.transform(\r\n new Date().getTime(),\r\n \"yyyy-MM-dd\"\r\n );\r\n // Logger.log(\"this.payment \" + JSON.stringify(this.payment));\r\n // this.token.saveBookingData(this.booking);\r\n // this.token.savePaymentData(this.payment);\r\n\r\n // this.createBookingAtom();\r\n // this.processPaymentAtom(this.payment);\r\n\r\n this.cardPaymentAvailable = true;\r\n }\r\n else if (this.businessUser.paymentGateway === \"hdfc\") {\r\n this.payment.paymentMode = \"UPI\";\r\n this.payment.status = \"NotPaid\";\r\n this.payment.businessServiceName = \"Accommodation\";\r\n this.payment.firstName = this.booking.firstName;\r\n this.payment.lastName = this.booking.lastName;\r\n this.payment.name = this.booking.firstName + \" \" + this.booking.lastName;\r\n\r\n this.payment.email = this.booking.email;\r\n this.payment.businessEmail = this.businessUser.email;\r\n this.payment.currency = this.businessUser.localCurrency;\r\n this.payment.propertyId = this.businessUser.id;\r\n this.booking.taxAmount = ((this.booking.netAmount * this.booking.taxPercentage) / 100);\r\n this.payment.taxAmount = Number((Number(((this.booking.taxAmount / 100) * 50).toFixed(2)) + Number(((this.totalTaxAmount / 100) * 50).toFixed(2))).toFixed(2));\r\n this.payment.netReceivableAmount = Number((Number(((this.booking.netAmount / 100)* 50).toFixed(2)) + Number(((this.totalBeforeTaxAmount / 100) * 50).toFixed(2))).toFixed(2));\r\n this.payment.transactionAmount = Number((Number(((this.booking.totalAmount / 100) * 50).toFixed(2))));\r\n this.payment.amount = Number((Number(((this.booking.totalAmount / 100) * 50).toFixed(2))));\r\n this.booking.advanceAmount = Number((Number(((this.booking.totalAmount / 100) * 50).toFixed(2)) + Number(((this.totalExtraAmount / 100) * 50).toFixed(2))).toFixed(2));\r\n this.payment.transactionChargeAmount = Number((Number(((this.booking.totalAmount / 100) * 50).toFixed(2)) + Number(((this.totalExtraAmount /100) * 50).toFixed(2))).toFixed(2));\r\n this.payment.referenceNumber = new Date().getTime().toString();\r\n this.payment.deliveryChargeAmount = 0;\r\n this.payment.date = this.datePipe.transform(\r\n new Date().getTime(),\r\n \"yyyy-MM-dd\"\r\n );\r\n // Logger.log(\"this.payment \" + JSON.stringify(this.payment));\r\n // this.token.saveBookingData(this.booking);\r\n // this.token.savePaymentData(this.payment);\r\n\r\n // this.createBookingAtom();\r\n this.processPaymentHDFC(this.payment);\r\n\r\n this.cardPaymentAvailable = true;\r\n }\r\n }\r\n processPaymentHDFC(payment: Payment) {\r\n this.paymentLoader = true;\r\n this.changeDetectorRefs.detectChanges();\r\n\r\n this.hotelBookingService.processPayment(payment).subscribe(\r\n (response) => {\r\n if (response.status === 200) {\r\n if (response.body.failureMessage !== null) {\r\n this.paymentLoader = false;\r\n this.isSuccess = false;\r\n this.headerTitle = \"Error!\";\r\n this.bodyMessage =\r\n \"Unable to process payment\" +\r\n \" Code: \" +\r\n response.body.failureMessage;\r\n this.showDanger(this.contentDialog);\r\n\r\n this.changeDetectorRefs.detectChanges();\r\n } else {\r\n this.paymentLoader = false;\r\n this.payment = response.body;\r\n\r\n //for post booking create\r\n\r\n this.paymentIntentHdfc(this.payment);\r\n\r\n // for pre booking create\r\n\r\n this.addServiceToBooking(this.booking);\r\n }\r\n } else {\r\n this.paymentLoader = false;\r\n this.isSuccess = false;\r\n this.headerTitle = \"Error!\";\r\n this.bodyMessage = \"Payment Failed! Code: \" + response.status;\r\n this.showDanger(this.contentDialog);\r\n this.changeDetectorRefs.detectChanges();\r\n }\r\n },\r\n (error) => {\r\n this.paymentLoader = false;\r\n this.isSuccess = false;\r\n this.headerTitle = \"Error!\";\r\n this.bodyMessage = \"Payment Failed! Code: \" + error.status;\r\n this.showDanger(this.contentDialog);\r\n this.changeDetectorRefs.detectChanges();\r\n }\r\n );\r\n }\r\n\r\n paymentIntentHdfc(payment: Payment) {\r\n this.paymentLoader = true;\r\n\r\n this.hotelBookingService.paymentIntentHdfc(payment).subscribe((response) => {\r\n this.paymentLoader = false;\r\n if (response.status === 200) {\r\n this.payment = response.body;\r\n\r\n this.token.saveBookingData(this.booking);\r\n this.token.savePaymentData(this.payment);\r\n this.token.savePropertyData(this.businessUser);\r\n\r\n this.router.navigate([\"/checkout-hdfc\"]);\r\n }\r\n });\r\n }\r\n addServiceToBooking(booking) {\r\n if (this.addServiceList.length > 0) {\r\n this.hotelBookingService\r\n .addServicesToBooking(this.addServiceList, booking.id)\r\n .subscribe((serviceRes) => {\r\n // Logger.log(\"addServiceList \", JSON.stringify(serviceRes.body));\r\n });\r\n }\r\n }\r\n showDanger(content) {\r\n this.alertType = \"danger\";\r\n this.showAlert = true;\r\n setTimeout(() => {\r\n this.showAlert = false;\r\n this.changeDetectorRefs.detectChanges();\r\n }, 3000);\r\n }\r\ngetRoomByDate( fromDate: string ,toDate: string ) {\r\n this.apiService.getRoomDetailsByPropertyIdAndDate(PROPERTY_ID, fromDate, toDate) .subscribe(response => {\r\n\r\n // console.log('getRoomByDate ' + JSON.stringify(response.body));\r\n this.rooms = response.body;\r\n },\r\n error => {\r\n if (error instanceof HttpErrorResponse) {\r\n\r\n }\r\n }\r\n);\r\n}\r\n\r\n getCheckInDateFormat(dateString: string)\r\n {\r\n var yearAndMonth = dateString.split(\"-\", 3);\r\n this.daySelected = String(yearAndMonth[2].split(\" \", 1));\r\n this.yearSelected = yearAndMonth[0];\r\n this.monthSelected = parseInt(yearAndMonth[1])-1;\r\n }\r\n\r\n onRoomBooking(room)\r\n {\r\n\r\n this.dateModel.room = room;\r\n\r\n let navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n dateob: JSON.stringify(this.dateModel),\r\n }\r\n };\r\n this.router.navigate(['/booking/booking'],navigationExtras );\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n

    CHECK-IN

    \r\n
    \r\n {{ this.day }}\r\n \r\n {{monthArray[month] }} {{ this.year }}\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
  • \r\n
  • \r\n
    \r\n

    CHECK-OUt

    \r\n
    \r\n {{ this.day2 }}\r\n \r\n {{ monthArray[month2] }} {{ this.year2 }}\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
  • \r\n
  • \r\n
    \r\n

    Guest

    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n
    • \r\n \r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
  • \r\n
  • \r\n CHECK\r\n AVAILABILITY\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n

Services

\r\n
    \r\n
  • \r\n
    \r\n \r\n \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n \r\n \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n \r\n \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n \r\n \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n \r\n \r\n
    \r\n
  • \r\n
\r\n

Extra Services

\r\n
    \r\n
  • \r\n
    \r\n \r\n \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n \r\n \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n \r\n \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n \r\n \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n \r\n \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
  • \r\n
  • \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
  • \r\n
\r\n \r\n
    \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \"\"\r\n
  • \r\n
  • \r\n \"\"\r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n

FROM ${{room.roomOnlyPrice}}

\r\n

{{room.name}}

\r\n
\r\n BOOK NOW \r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n ${{room.roomOnlyPrice}}/night\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n

{{room.name}}

\r\n
    \r\n
  • \r\n \"\"\r\n {{room.maximumOccupancy}} GUESTS\r\n
  • \r\n
  • \r\n \"\"\r\n 15 Ft²\r\n
  • \r\n
\r\n \r\n

Phasellus enim libero, blandit vel sapien ultricies magna et.

\r\n
    \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
\r\n \r\n Book Now \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n ${{room.roomOnlyPrice}}/night\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n

{{room.name}}

\r\n
    \r\n
  • \r\n \"\"\r\n {{room.maximumOccupancy}} GUESTS\r\n
  • \r\n
  • \r\n \"\"\r\n 15 Ft²\r\n
  • \r\n
\r\n \r\n

{{room.description}}

\r\n
\r\n
    \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
\r\n \r\n Book Now \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n

    CHECK-IN

    \r\n
    \r\n {{ this.daySelected }}\r\n \r\n {{monthArray[monthSelected] }} {{\r\n this.yearSelected }}\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
  • \r\n
  • \r\n
    \r\n

    CHECK-OUt

    \r\n
    \r\n {{ this.day2 }}\r\n \r\n {{monthArray[month2] }} {{ this.year2 }}\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
  • \r\n
  • \r\n
    \r\n

    Guest

    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n
    • \r\n \r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
  • \r\n
  • \r\n CHECK\r\n AVAILABILITY\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
    \r\n
  • \r\n NOT INCL : 3 $ CITY TAX ( person * night )\r\n
  • \r\n
  • \r\n INCLUDED : 22 % VAT ALREADY APPLIED\r\n
  • \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n You are booking as guest, LOGIN or REGISTER if you want to save your reservation on your account.\r\n\r\n
\r\n

Add Your Information

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n \r\n \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n

    CHECK-IN

    \r\n
    \r\n {{ this.day }}\r\n \r\n {{monthArray[month] }} {{ this.year }}\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
  • \r\n
  • \r\n
    \r\n

    CHECK-OUt

    \r\n
    \r\n {{ this.day2 }}\r\n \r\n {{monthArray[month2] }} {{ this.year2 }}\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
  • \r\n
  • \r\n
    \r\n

    Guest

    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n
    • \r\n \r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
  • \r\n
  • \r\n CHECK\r\n AVAILABILITY\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n

Your InformatIons

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

Name :

\r\n Ali\r\n
\r\n

Surname :

\r\n TUFAN\r\n
\r\n

Email :

\r\n info@gmail.com\r\n
\r\n

Phone :

\r\n +90 589 658 96 32\r\n
\r\n

Address :

\r\n Lorem Ipsum Dolar \r\n
\r\n

City :

\r\n London\r\n
\r\n

Country :

\r\n England\r\n
\r\n

ZIP :

\r\n 85996\r\n
\r\n

Arrival :

\r\n 2:00 - 3:00 pm\r\n
\r\n
\r\n

Requests :

\r\n

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been\r\n the industry's standard dummy text ever since the 1500s, when an unknown printer took

\r\n
\r\n
\r\n

Extra Services :

\r\n
    \r\n
  • \r\n Car Rental\r\n
  • \r\n
  • \r\n Wifi\r\n
  • \r\n
\r\n
\r\n
\r\n

Coupon :

\r\n

Not set

\r\n
\r\n
\r\n

Tax :

\r\n
    \r\n
  • \r\n Included 21 $ City Tax\r\n
  • \r\n
  • \r\n Included 22 % VAT\r\n
  • \r\n
\r\n
\r\n
\r\n

Payment Optıons

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n

Please note you will be able to review your ride on the next page before\r\n confirming your reservation. Your card will not be charged until after your ride.

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n

Please Pay the amount to this bank account to confirm your Reservation. \r\n Account Details

\r\n

Please note you will be able to review your ride on the next page before\r\n confirming your reservation. Your card will not be charged until after your ride.

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n

Please Pay the amount to this bank account to confirm your Reservation. \r\n Account Details

\r\n

Please note you will be able to review your ride on the next page before\r\n confirming your reservation. Your card will not be charged until after your ride.

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n

Please note you will be able to review your ride on the next page before\r\n confirming your reservation. Your card will not be charged until after your ride.

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n

    CHECK-IN

    \r\n
    \r\n {{ this.day }}\r\n \r\n {{monthArray[month] }} {{ this.year }}\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
  • \r\n
  • \r\n
    \r\n

    CHECK-OUt

    \r\n
    \r\n {{ this.day2 }}\r\n \r\n {{monthArray[month2] }} {{ this.year2 }}\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
  • \r\n
  • \r\n
    \r\n

    Guest

    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n
    • \r\n \r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
  • \r\n
  • \r\n CHECK\r\n AVAILABILITY\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n

Your Order Detaıls

\r\n

Order Transaction 896536598

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

Name :

\r\n Ali\r\n
\r\n

Surname :

\r\n TUFAN\r\n
\r\n

Email :

\r\n info@gmail.com\r\n
\r\n

Phone :

\r\n +90 589 658 96 32\r\n
\r\n

Address :

\r\n Lorem Ipsum Dolar \r\n
\r\n

City :

\r\n London\r\n
\r\n

Country :

\r\n England\r\n
\r\n

ZIP :

\r\n 85996\r\n
\r\n

Arrival :

\r\n 2:00 - 3:00 pm\r\n
\r\n
\r\n

Requests :

\r\n

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been\r\n the industry's standard dummy text ever since the 1500s, when an unknown printer took

\r\n
\r\n
\r\n

Extra Services :

\r\n
    \r\n
  • \r\n Car Rental\r\n
  • \r\n
  • \r\n Wifi\r\n
  • \r\n
\r\n
\r\n
\r\n

Coupon :

\r\n

Not set

\r\n
\r\n
\r\n

Tax :

\r\n
    \r\n
  • \r\n Included 21 $ City Tax\r\n
  • \r\n
  • \r\n Included 22 % VAT\r\n
  • \r\n
\r\n
\r\n
\r\n

Payment Options :

\r\n

Bank Transfer

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n appId: 'HotelWebsite',\r\n // apiUrl: 'https://testapi.bookonelocal.co.nz/api-bookone',\r\n // apiUrlAddress: 'https://testapi.bookonelocal.co.nz/api-address',\r\n // apiUrlPromotion: 'https://testapi.bookonelocal.co.nz/promotion-api',\r\n // propertyId: 443,\r\n // country: 'nz',\r\n apiLms: 'https://api.bookonelocal.in/api-lms',\r\n inAPIUrl: 'https://api.bookonelocal.in/api-bookone',\r\n nzAPIUrl: 'https://api.bookonelocal.in/api-bookone',\r\n apiUrl: 'https://api.bookonelocal.in/api-bookone',\r\n apiUrlAddress: 'https://api.bookonelocal.in/api-address',\r\n apiUrlPromotion: 'https://api.bookonelocal.in/promotion-api',\r\n propertyId: 830,\r\n country: 'in',\r\n // nzAPIUrl: 'https://api.bookonelocal.in/api-bookone',\r\n // inAPIUrl: 'https://api.bookonelocal.in/api-bookone',\r\n googleKey: 'AIzaSyAYT8pe61MUbk27eiYi9LnnPhwo031Ye7w',\r\n callbackUrl: 'https://hotelaoneluxury.com/#/booking/booking-complete?ReferenceNumber='\r\n // googleKey: 'AIzaSyCYc537bQom7ajFpWE5sQaVyz1SQa9_tuY'\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ApiService, PROPERTY_ID } from 'src/app/api.service';\r\nimport { DateModel } from 'src/app/model/dateModel';\r\nimport { Room } from 'src/app/model/room';\r\nimport { TokenStorage } from 'src/app/token.storage';\r\n\r\n@Component({\r\n selector: 'app-all-rooms',\r\n templateUrl: './all-rooms.component.html',\r\n styleUrls: ['./all-rooms.component.css']\r\n})\r\nexport class AllRoomsComponent implements OnInit {\r\n\r\n rooms: Room[];\r\n dateModel: DateModel;\r\n\r\n constructor(private apiService: ApiService,\r\n private router: Router,\r\n public token: TokenStorage) {\r\n this.dateModel = new DateModel();\r\n }\r\n ngOnInit() {\r\n this.getRoom();\r\n }\r\n getRoom() {\r\n this.apiService.getRoomDetailsByPropertyId(PROPERTY_ID).subscribe(response => {\r\n this.rooms = response.body;\r\nconsole.log(\"roomdata \",JSON.stringify(this.rooms));\r\n },\r\n error => {\r\n if (error instanceof HttpErrorResponse) {\r\n\r\n }\r\n }\r\n );\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

all kinds of rooms

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \"\"\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
    \r\n
  • \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n\r\n \"\"\r\n \r\n {{item.name}}\r\n \r\n\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
  • \r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n

{{room.name}}

\r\n

{{room.roomOnlyPrice}}

\r\n Book now\r\n

per night

\r\n

available

\r\n \r\n

Accommodates upto\r\n {{room.maximumOccupancy}} pax
No. Of Rooms Available {{room.noOfRooms}}

\r\n

{{room.description}}

\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

about us

\r\n
\r\n

A Home Away From Home

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \"First\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n

Hotel A One Luxury Puri, Odisha

\r\n
\r\n
\r\n

Greetings from the greatest Hotel A ONE! The personnel of Hotel A One is available round-the-clock to ensure that your stay is comfortable. All of our freshly refurbished hotel rooms come equipped with complimentary Wi-Fi, air conditioning, and geysers to make your stay even more pleasurable. Also, we offer free parking and 24(hrs) room service, so you won't need to worry about anything. We provide everything you require for a comfortable stay. You'll be glad you stayed at the A One Hotel, we're confident of it. If you're interested in booking room, please call the hotel today to reserve your room.\r\n

\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { TokenStorage } from 'src/app/token.storage';\r\n\r\n@Component({\r\n selector: 'app-aboutus',\r\n templateUrl: './aboutus.component.html',\r\n styleUrls: ['./aboutus.component.css']\r\n})\r\nexport class AboutusComponent implements OnInit {\r\n // property: Property;\r\n reveals: any;\r\n windowHeight: any;\r\n elementTop: any;\r\n elementVisible: any;\r\n slideImage = [\r\n {\r\n imageUrl: 'assets/images/aboutimg1.png',\r\n title: '',\r\n },\r\n {\r\n imageUrl: 'assets/images/aboutimg2.png',\r\n title:'',\r\n },\r\n {\r\n imageUrl: 'assets/images/aboutimg3.png',\r\n title:'',\r\n }\r\n ];\r\n slideConfig = {\r\n dots: true,\r\n dotsData: true,\r\n centerMode: true,\r\n centerPadding: '0',\r\n slidesToShow: 1,\r\n autoplay: true,\r\n autoplaySpeed: 3000,\r\n arrows: true,\r\n\r\n responsive: [\r\n {\r\n breakpoint: 1367,\r\n settings: {\r\n centerPadding: '0',\r\n dots: false\r\n },\r\n },\r\n {\r\n breakpoint: 1025,\r\n settings: {\r\n centerPadding: '0',\r\n slidesToShow: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 767,\r\n settings: {\r\n centerPadding: '0',\r\n slidesToShow: 1,\r\n },\r\n },\r\n ],\r\n };\r\n constructor(\r\n public token: TokenStorage,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.revealone()\r\n this.revealTwo()\r\n }\r\n\r\n revealone() {\r\n this.reveals = document.querySelectorAll('.revealLeft');\r\n\r\n for (var i = 0; i < this.reveals.length; i++) {\r\n this.windowHeight = window.innerHeight;\r\n this.elementTop = this.reveals[i].getBoundingClientRect().top;\r\n this.elementVisible = 150;\r\n\r\n if (this.elementTop < this.windowHeight - this.elementVisible) {\r\n this.reveals[i].classList.add('active');\r\n } else {\r\n this.reveals[i].classList.remove('active');\r\n }\r\n }\r\n window.addEventListener('scroll', this.revealone);\r\n }\r\n revealTwo() {\r\n this.reveals = document.querySelectorAll('.revealRight');\r\n\r\n for (var i = 0; i < this.reveals.length; i++) {\r\n this.windowHeight = window.innerHeight;\r\n this.elementTop = this.reveals[i].getBoundingClientRect().top;\r\n this.elementVisible = 150;\r\n\r\n if (this.elementTop < this.windowHeight - this.elementVisible) {\r\n this.reveals[i].classList.add('active');\r\n } else {\r\n this.reveals[i].classList.remove('active');\r\n }\r\n }\r\n window.addEventListener('scroll', this.revealTwo);\r\n }\r\n\r\n}\r\n","import { Injectable, TemplateRef } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ToastService {\r\n toasts: any[] = [];\r\n\r\n show(textOrTpl: string | TemplateRef, options: any = {}) {\r\n this.toasts.push({ textOrTpl, ...options });\r\n }\r\n\r\n remove(toast) {\r\n this.toasts = this.toasts.filter(t => t !== toast);\r\n }\r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ApiService, PROPERTY_ID } from 'src/app/api.service';\r\nimport { DateModel } from 'src/app/model/dateModel';\r\nimport { Room } from 'src/app/model/room';\r\nimport { TokenStorage } from 'src/app/token.storage';\r\n\r\n@Component({\r\n selector: 'app-rooms',\r\n templateUrl: './rooms.component.html',\r\n styleUrls: ['./rooms.component.css']\r\n})\r\nexport class RoomsComponent implements OnInit {\r\n\r\n reveals: any;\r\n windowHeight: any;\r\n elementTop: any;\r\n elementVisible: any;\r\n rooms: Room[];\r\n dateModel: DateModel;\r\n\r\n slideConfig = {\r\n centerMode: true,\r\n centerPadding: '0',\r\n slidesToShow: 4,\r\n autoplay: true,\r\n autoplaySpeed: 2000,\r\n arrows: false,\r\n responsive: [\r\n {\r\n breakpoint: 1367,\r\n settings: {\r\n centerPadding: '0',\r\n slidesToShow: 3,\r\n },\r\n },\r\n {\r\n breakpoint: 1025,\r\n settings: {\r\n centerPadding: '0',\r\n slidesToShow: 2,\r\n },\r\n },\r\n {\r\n breakpoint: 767,\r\n settings: {\r\n centerPadding: '0',\r\n slidesToShow: 1,\r\n },\r\n },\r\n ],\r\n };\r\n constructor(public apiService: ApiService,\r\n public router: Router,\r\n public token: TokenStorage) {\r\n this.dateModel = new DateModel();\r\n }\r\n\r\n ngOnInit() {\r\n this.getRoom();\r\n this.reveal();\r\n }\r\n\r\n\r\n reveal() {\r\n this.reveals = document.querySelectorAll('.reveal');\r\n\r\n for (var i = 0; i < this.reveals.length; i++) {\r\n this.windowHeight = window.innerHeight;\r\n this.elementTop = this.reveals[i].getBoundingClientRect().top;\r\n this.elementVisible = 150;\r\n\r\n if (this.elementTop < this.windowHeight - this.elementVisible) {\r\n this.reveals[i].classList.add('active');\r\n } else {\r\n this.reveals[i].classList.remove('active');\r\n }\r\n }\r\n window.addEventListener('scroll', this.reveal);\r\n }\r\n\r\n getRoom() {\r\n this.apiService.getRoomDetailsByPropertyId(PROPERTY_ID).subscribe(response => {\r\n this.rooms = response.body;\r\nconsole.log(\"roomdata \",JSON.stringify(this.rooms));\r\n },\r\n error => {\r\n if (error instanceof HttpErrorResponse) {\r\n\r\n }\r\n }\r\n );\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

hotel rooms

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","\r\nexport class MobileWallet {\r\n firstName :\tstring;\r\n lastName :\tstring;\r\n phoneNumber :\tstring;\r\n qrCode : string;\r\n walletProvider :\tstring;\r\n walletUrl :\tstring;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-page',\r\n templateUrl: './page.component.html',\r\n styleUrls: ['./page.component.css']\r\n})\r\nexport class PageComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DateService {\r\n\r\n constructor() { }\r\n\r\n convertMillisecondsToDateFormat(milliseconds: string):string{\r\n const d = new Date(milliseconds);\r\n const year = d.getFullYear();\r\n const date = d.getDate();\r\n\r\n const month = d.getMonth() + 1;\r\n\r\n let month1;\r\n let day1;\r\n if (month < 10) {\r\n month1 = `0${month}`;\r\n } else {\r\n month1 = `${month}`;\r\n } if (date < 10) {\r\n day1 = `0${date}`;\r\n } else {\r\n day1 = `${date}`;\r\n }\r\n //return `${year.getFullYear()}-${month1}-${day1}`;\r\n\r\n return `${day1}-${month1}-${year}`;\r\n }\r\n\r\n convertMillisecondsToYYYMMDDFormat(milliseconds: string):string{\r\n const d = new Date(milliseconds);\r\n const year = d.getFullYear();\r\n const date = d.getDate();\r\n\r\n const month = d.getMonth() + 1;\r\n\r\n let month1;\r\n let day1;\r\n if (month < 10) {\r\n month1 = `0${month}`;\r\n } else {\r\n month1 = `${month}`;\r\n } if (date < 10) {\r\n day1 = `0${date}`;\r\n } else {\r\n day1 = `${date}`;\r\n }\r\n //return `${year.getFullYear()}-${month1}-${day1}`;\r\n\r\n return `${year}-${month1}-${day1}`;\r\n }\r\n\r\n convertMillisecondsToMMDDYYYYFormat(milliseconds: string):string{\r\n\r\n const d = new Date(milliseconds);\r\n const year = d.getFullYear();\r\n const date = d.getDate();\r\n\r\n const month = d.getMonth() + 1;\r\n\r\n let month1;\r\n let day1;\r\n if (month < 10) {\r\n month1 = `0${month}`;\r\n } else {\r\n month1 = `${month}`;\r\n } if (date < 10) {\r\n day1 = `0${date}`;\r\n } else {\r\n day1 = `${date}`;\r\n }\r\n\r\n return `${month1}-${day1}-${year} `;\r\n }\r\n\r\n convertMillisecondsToCalenderDateFormat(milliseconds: string):Date{\r\n\r\n const d = new Date(milliseconds);\r\n return d;\r\n }\r\n\r\n}\r\n","import { formatDate } from '@angular/common';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { Router, ActivatedRoute, NavigationExtras } from '@angular/router';\r\nimport { ModalDismissReasons,NgbCalendar, NgbDate, NgbDateParserFormatter, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ApiService, PROPERTY_ID } from 'src/app/api.service';\r\nimport { BankAccount } from 'src/app/model/BankAccount';\r\nimport { Booking } from 'src/app/model/booking';\r\nimport { DateModel } from 'src/app/model/dateModel';\r\nimport { MobileWallet } from 'src/app/model/mobileWallet';\r\nimport { Property } from 'src/app/model/property';\r\nimport { Room } from 'src/app/model/room';\r\nimport { RoomRatePlans } from 'src/app/model/roomRatePlans';\r\nimport { BusinessUser } from 'src/app/model/user';\r\nimport { TokenStorage } from 'src/app/token.storage';\r\n\r\n\r\n@Component({\r\n selector: 'app-choose-room',\r\n templateUrl: './choose-room.component.html',\r\n styleUrls: ['./choose-room.component.scss'],\r\n})\r\nexport class ChooseRoomComponent implements OnInit {\r\n fromDate: NgbDate | null;\r\n toDate: NgbDate | null;\r\nshowtext:boolean=false;\r\n rooms: Room[];\r\n dateModel: DateModel;\r\n selectedIndex: number;\r\n daySelected: string;\r\n yearSelected: string;\r\n monthSelected: number;\r\n mobileWallet: MobileWallet;\r\n bankAccount: BankAccount;\r\n daySelected2: string;\r\n yearSelected2: string;\r\n monthSelected2: number;\r\n booking: Booking;\r\n currentDay: string;\r\n checkAvailabilityStatus: boolean;\r\n checkAvailabilityStatusName: string;\r\n checkAvailabilityStatusHide: boolean;\r\n planDetails: RoomRatePlans;\r\n\r\n property: BusinessUser;\r\n currency: string;\r\n taxPercentage: number;\r\n\r\n adults: number = 1;\r\n children: number = 0;\r\n noOfrooms: number = 1;\r\n DiffDate;\r\n enddate;\r\n startDate;\r\n planSelected: boolean = false;\r\n\r\n planAmount = 0;\r\n extraPersonRate = 0;\r\n maxSelectRoom = 1;\r\n maxOccupancy = 2;\r\n closeResult = \"\";\r\n modalImage = \"\";\r\n modalTitle = \"\";\r\n modalData: Room;\r\n\r\n modalSlideConfig = {\r\n centerMode: true,\r\n centerPadding: \"0%\",\r\n slidesToShow: 1,\r\n dots: true,\r\n autoplay: true,\r\n autoplaySpeed: 3000,\r\n arrows: true,\r\n responsive: [\r\n {\r\n breakpoint: 1367,\r\n settings: {\r\n centerPadding: \"0%\",\r\n },\r\n },\r\n {\r\n breakpoint: 1025,\r\n settings: {\r\n centerPadding: \"0\",\r\n },\r\n },\r\n {\r\n breakpoint: 767,\r\n settings: {\r\n centerPadding: \"0\",\r\n slidesToShow: 1,\r\n },\r\n },\r\n ],\r\n };\r\n // planDetails:FormControl = new FormControl('', Validators.nullValidator);\r\n\r\n monthArray = [\r\n 'Jan',\r\n 'Feb',\r\n 'Mar',\r\n 'Apr',\r\n 'May',\r\n 'Jun',\r\n 'Jul',\r\n 'Aug',\r\n 'Sep',\r\n 'Oct',\r\n 'Nov',\r\n 'Dec',\r\n ];\r\n roomsAndOccupancy: boolean = false;\r\n hoveredDate: NgbDate | null = null;\r\n scrollDiv:any;\r\n bookingMinDate: NgbDate | null;\r\n bookingMaxDate: NgbDate | null;\r\n bookingRoomPrice: number;\r\n PlanRoomPrice: number;\r\n constructor(\r\n private apiService: ApiService,\r\n public token: TokenStorage,\r\n private router: Router,\r\n private changeDetectorRefs: ChangeDetectorRef,\r\n public formatter: NgbDateParserFormatter,\r\n private calendar: NgbCalendar,\r\n private acRoute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n this.dateModel = new DateModel();\r\n this.booking = new Booking();\r\n\r\n // this.getRoom();\r\n\r\n this.acRoute.queryParams.subscribe((params) => {\r\n if (params['dateob'] != undefined) {\r\n this.dateModel = JSON.parse(params['dateob']);\r\n this.getCheckInDateFormat(this.dateModel.checkIn);\r\n this.getCheckOutDateFormat(this.dateModel.checkOut);\r\n this.booking.fromDate = this.dateModel.checkIn;\r\n this.booking.toDate = this.dateModel.checkOut;\r\n this.booking.noOfRooms = this.dateModel.noOfRooms;\r\n this.booking.noOfPersons = this.dateModel.guest;\r\n this.booking.noOfChildren = this.dateModel.noOfChildren;\r\n this.noOfrooms = this.booking.noOfRooms;\r\n this.adults = this.booking.noOfPersons;\r\n this.children = this.booking.noOfChildren;\r\n this.fromDate = new NgbDate(\r\n this.mileSecondToNGBDate(this.booking.fromDate).year,\r\n this.mileSecondToNGBDate(this.booking.fromDate).month,\r\n this.mileSecondToNGBDate(this.booking.fromDate).day\r\n );\r\n this.toDate = new NgbDate(\r\n this.mileSecondToNGBDate(this.booking.toDate).year,\r\n this.mileSecondToNGBDate(this.booking.toDate).month,\r\n this.mileSecondToNGBDate(this.booking.toDate).day\r\n );\r\n this.getDiffDate(this.toDate, this.fromDate);\r\n this.getAvailableRoom();\r\n } else {\r\n // this.dateModel.checkIn = formatDate(new Date(), 'yyyy-MM-dd', 'en');\r\n // this.dateModel.checkOut = formatDate(new Date(new Date().getTime() + 24 * 60 * 60 * 1000), 'yyyy-MM-dd', 'en');\r\n // this.getCheckInDateFormat(this.dateModel.checkIn);\r\n // this.getCheckOutDateFormat(this.dateModel.checkOut);\r\n // this.booking.fromDate = this.dateModel.checkIn;\r\n // this.booking.toDate = this.dateModel.checkOut;\r\n this.fromDate = calendar.getToday();\r\n this.toDate = calendar.getNext(calendar.getToday(), 'd', 1);\r\n this.booking.fromDate = this.getDateFormatYearMonthDay(\r\n this.fromDate.day,\r\n this.fromDate.month,\r\n this.fromDate.year\r\n );\r\n this.booking.toDate = this.getDateFormatYearMonthDay(\r\n this.toDate.day,\r\n this.toDate.month,\r\n this.toDate.year\r\n );\r\n this.booking.noOfRooms = 1;\r\n this.booking.noOfPersons = 1;\r\n this.booking.noOfChildren = 1;\r\n this.fromDate = new NgbDate(\r\n this.mileSecondToNGBDate(this.booking.fromDate).year,\r\n this.mileSecondToNGBDate(this.booking.fromDate).month,\r\n this.mileSecondToNGBDate(this.booking.fromDate).day\r\n );\r\n this.toDate = new NgbDate(\r\n this.mileSecondToNGBDate(this.booking.toDate).year,\r\n this.mileSecondToNGBDate(this.booking.toDate).month,\r\n this.mileSecondToNGBDate(this.booking.toDate).day\r\n );\r\n this.getDiffDate(this.toDate, this.fromDate);\r\n this.getAvailableRoom();\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n //this.checkincheckoutDate();\r\n }\r\n openalert(){\r\n this.changeDetectorRefs.detectChanges();\r\n this.showtext=true;\r\n document.getElementById(\"roomsection\").scrollIntoView();\r\n // element.offsetBottom = element.offsetTop + element.offsetHeight\r\n\r\n // this.scrollDiv =document.getElementById(\"check\").offsetTop\r\n // window.scrollTo({ top: this.scrollDiv+70, behavior: 'smooth'});\r\n\r\n console.log(this.showtext)\r\n }\r\n\r\n toggleRoomsAndOccupancy() {\r\n if (this.roomsAndOccupancy == false) {\r\n this.roomsAndOccupancy = true;\r\n } else if (this.roomsAndOccupancy == true) {\r\n this.roomsAndOccupancy = false;\r\n }\r\n }\r\n onDateSelection(date: NgbDate) {\r\n if (!this.fromDate && !this.toDate) {\r\n this.fromDate = date;\r\n } else if (\r\n this.fromDate &&\r\n !this.toDate &&\r\n date &&\r\n date.after(this.fromDate)\r\n ) {\r\n this.toDate = date;\r\n } else {\r\n this.toDate = null;\r\n this.fromDate = date;\r\n }\r\n this.getDiffDate(this.toDate, this.fromDate);\r\n }\r\n\r\n isHovered(date: NgbDate) {\r\n return (\r\n this.fromDate &&\r\n !this.toDate &&\r\n this.hoveredDate &&\r\n date.after(this.fromDate) &&\r\n date.before(this.hoveredDate)\r\n );\r\n }\r\n\r\n isInside(date: NgbDate) {\r\n return this.toDate && date.after(this.fromDate) && date.before(this.toDate);\r\n }\r\n\r\n isRange(date: NgbDate) {\r\n return (\r\n date.equals(this.fromDate) ||\r\n (this.toDate && date.equals(this.toDate)) ||\r\n this.isInside(date) ||\r\n this.isHovered(date)\r\n );\r\n }\r\n\r\n validateInput(currentValue: NgbDate | null, input: string): NgbDate | null {\r\n const parsed = this.formatter.parse(input);\r\n return parsed && this.calendar.isValid(NgbDate.from(parsed))\r\n ? NgbDate.from(parsed)\r\n : currentValue;\r\n }\r\n mileSecondToNGBDate(date: string) {\r\n const dsd = new Date(date);\r\n const year = dsd.getFullYear();\r\n const day = dsd.getDate();\r\n const month = dsd.getMonth() + 1;\r\n return { year: year, month: month, day: day };\r\n }\r\n getDiffDate(toDate, fromDate) {\r\n this.startDate = new Date(fromDate.year, fromDate.month - 1, fromDate.day);\r\n this.enddate = new Date(toDate.year, toDate.month - 1, toDate.day);\r\n\r\n // console.log('this.fromDate: ', this.startDate);\r\n // console.log('this.toDate: ', this.enddate);\r\n this.DiffDate = Math.floor(\r\n (Date.UTC(\r\n this.enddate.getFullYear(),\r\n this.enddate.getMonth(),\r\n this.enddate.getDate()\r\n ) -\r\n Date.UTC(\r\n this.startDate.getFullYear(),\r\n this.startDate.getMonth(),\r\n this.startDate.getDate()\r\n )) /\r\n (1000 * 60 * 60 * 24)\r\n );\r\n }\r\n getDateFormatYearMonthDay(\r\n day12: number,\r\n month12: number,\r\n year12: number\r\n ): string {\r\n const year = year12;\r\n const date = day12;\r\n\r\n const month = month12;\r\n\r\n let month1;\r\n let day1;\r\n if (Number(month) < 10) {\r\n month1 = `0${month}`;\r\n } else {\r\n month1 = `${month}`;\r\n }\r\n if (Number(date) < 10) {\r\n day1 = `0${date}`;\r\n } else {\r\n day1 = `${date}`;\r\n }\r\n\r\n return `${year}-${month1}-${day1}`;\r\n }\r\n\r\n hasPercentage(roomOnlyPrice, planAmount) {\r\n if (((roomOnlyPrice - planAmount) / roomOnlyPrice) * 100 > 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n onPlanSelected(plan, room) {\r\n this.checkAvailabilityStatus = false;\r\n this.checkAvailabilityStatusHide = true;\r\n this.checkAvailabilityStatusName = undefined;\r\n // if(this.adults > 2){\r\n // this.adults = 2;\r\n // }\r\n // this.children = 0;\r\n // this.noOfrooms = 1;\r\n // if(room.ratesAndAvailabilityDtos.noOfAvailable * room.maximumOccupancy < this.adults){\r\n // this.adults = room.ratesAndAvailabilityDtos.noOfAvailable * room.maximumOccupancy;\r\n\r\n // }\r\n // this.noOfrooms = Number((this.adults / room.maximumOccupancy).toFixed(0));\r\n // if(plan.noOfAvailable < this.noOfrooms){\r\n // this.noOfrooms = plan.noOfAvailable;\r\n // }\r\n if (this.booking.noOfPersons > room.maximumOccupancy) {\r\n this.extraPersonRate = plan.extraChargePerPerson;\r\n }\r\n this.booking.extraPersonCharge = this.extraPersonRate;\r\n if (\r\n plan.minimumOccupancy * this.booking.noOfRooms <\r\n this.booking.noOfPersons\r\n ) {\r\n if (plan.extraChargePerPerson !== 0) {\r\n this.booking.noOfExtraPerson = this.booking.noOfPersons - plan.minimumOccupancy * this.booking.noOfRooms;\r\n this.booking.extraPersonCharge = plan.extraChargePerPerson * this.booking.noOfExtraPerson * this.DiffDate;\r\n } else {\r\n this.booking.extraPersonCharge = 0;\r\n }\r\n } else {\r\n this.booking.noOfExtraPerson = 0;\r\n this.booking.extraPersonCharge = 0;\r\n }\r\n if ( plan.noOfChildren * this.booking.noOfRooms < this.booking.noOfChildren ) {\r\n if (plan.extraChargePerChild !== 0) {\r\n this.booking.noOfExtraChild = this.booking.noOfChildren - (plan.noOfChildren * this.booking.noOfRooms);\r\n this.booking.extraChildCharge = plan.extraChargePerChild * this.booking.noOfExtraChild * this.DiffDate;\r\n } else {\r\n this.booking.extraChildCharge = 0;\r\n }\r\n } else {\r\n this.booking.noOfExtraChild = 0;\r\n this.booking.extraChildCharge = 0;\r\n }\r\n\r\n this.booking.netAmount = (plan.amount * this.DiffDate * this.noOfrooms) + this.booking.extraPersonCharge + this.booking.extraChildCharge;\r\n if (this.property.taxDetails?.length > 0) {\r\n this.taxPercentage = this.property.taxDetails[0].percentage;\r\n }\r\n if (plan != undefined && plan.amount != undefined) {\r\n this.bookingRoomPrice = (plan.amount * this.DiffDate * this.booking.noOfRooms) + this.booking.extraPersonCharge + this.booking.extraChildCharge;\r\n this.PlanRoomPrice = plan.amount * this.DiffDate * this.booking.noOfRooms;\r\n } else {\r\n this.bookingRoomPrice = 0;\r\n this.PlanRoomPrice = 0;\r\n }\r\n if (this.property.taxDetails && this.property.taxDetails[0].taxSlabsList?.length > 0) {\r\n this.property.taxDetails[0].taxSlabsList.forEach((element) => {\r\n if (\r\n element.maxAmount > this.booking.netAmount &&\r\n element.minAmount < this.booking.netAmount\r\n ) {\r\n this.taxPercentage = element.percentage;\r\n } else if (element.maxAmount < this.booking.netAmount) {\r\n this.taxPercentage = element.percentage;\r\n }\r\n });\r\n }\r\n this.booking.taxPercentage = this.taxPercentage;\r\n this.planDetails = plan;\r\n this.booking.planCode = plan.code;\r\n this.booking.roomRatePlanName = plan.name;\r\n this.booking.roomPrice = plan.amount;\r\n this.planSelected = true;\r\n this.planAmount = plan.amount;\r\n\r\n\r\n // this.fromDate = undefined;\r\n // this.toDate = undefined;\r\n // this.booking.fromDate = undefined;\r\n // this.booking.toDate = undefined;\r\n // Logger.log(JSON.stringify(this.booking));\r\n // Logger.log(JSON.stringify(this.checkAvailabilityStatusHide));\r\n this.changeDetectorRefs.detectChanges();\r\n // this.checkingAvailability();\r\n }\r\n onRoomBook(room, index) {\r\n // this.dateModel.room = room;\r\n this.selectedIndex = index;\r\n\r\n // let navigationExtras: NavigationExtras = {\r\n // queryParams: {\r\n // dateob: JSON.stringify(this.dateModel),\r\n // },\r\n // };\r\n // this.router.navigate(['/booking/booking'], navigationExtras);\r\n }\r\n getDateFormat(dateString: string) {\r\n const yearAndMonth = dateString.split('-', 3);\r\n return (\r\n yearAndMonth[0] +\r\n '-' +\r\n yearAndMonth[1] +\r\n '-' +\r\n yearAndMonth[2].split(' ', 1)\r\n );\r\n }\r\n bookRoomNow() {\r\n this.booking.fromDate = this.getDateFormat(this.booking.fromDate);\r\n this.booking.toDate = this.getDateFormat(this.booking.toDate);\r\n // this.booking.noOfRooms = this.noOfrooms;\r\n // this.booking.noOfPersons = this.adults;\r\n // this.booking.noOfExtraPerson = this.children;\r\n\r\n // this.booking.netAmount =\r\n this.changeDetectorRefs.detectChanges();\r\n\r\n this.mobileWallet = this.property.mobileWallet;\r\n this.bankAccount = this.property.bankAccount;\r\n // Logger.log(' this.property ===='+JSON.stringify( this.property));\r\n if (this.property.taxDetails.length > 0) {\r\n this.taxPercentage = this.property.taxDetails[0].percentage;\r\n }\r\n if (this.property.taxDetails[0].taxSlabsList.length > 0) {\r\n this.property.taxDetails[0].taxSlabsList.forEach((element) => {\r\n if (\r\n element.maxAmount > this.booking.roomPrice &&\r\n element.minAmount < this.booking.roomPrice\r\n ) {\r\n this.taxPercentage = element.percentage;\r\n } else if (element.maxAmount < this.booking.roomPrice) {\r\n this.taxPercentage = element.percentage;\r\n }\r\n });\r\n }\r\n\r\n this.booking.netAmount =\r\n this.booking.roomPrice * this.booking.noOfRooms * this.DiffDate;\r\n this.booking.discountAmount = 0;\r\n this.booking.totalAmount = this.booking.netAmount + ((this.booking.netAmount * this.taxPercentage) / 100) - this.booking.discountAmount;\r\n this.booking.gstAmount =\r\n (this.booking.netAmount * this.booking.taxPercentage) / 100;\r\n this.booking.totalAmount =\r\n this.booking.netAmount +\r\n this.booking.gstAmount -\r\n this.booking.discountAmount;\r\n // console.log('book now ', JSON.stringify(this.booking.netAmount));\r\n this.token.saveBookingData(this.booking);\r\n this.router.navigate(['/booking/booking']);\r\n }\r\n getAvailableRoom() {\r\n\r\n this.booking.fromDate = this.getDateFormat(this.booking.fromDate);\r\n this.booking.toDate = this.getDateFormat(this.booking.toDate);\r\n this.apiService.checkAvailabilityByID(this.booking).subscribe(\r\n (response) => {\r\n this.property = response.body;\r\n this.token.saveProperty(this.property);\r\n this.currency = this.property.localCurrency;\r\n this.rooms = response.body.roomList;\r\n this.checkAvailabilityStatus = response.body.available;\r\n this.booking.bookingAmount = response.body.bookingAmount;\r\n this.booking.extraPersonCharge = response.body.extraPersonCharge;\r\n // this.selectedRoomMaximumOccupancy = response.body.noOfPersons;\r\n\r\n if (response.body.available == true) {\r\n this.checkAvailabilityStatusName = 'Available';\r\n } else {\r\n this.checkAvailabilityStatusName = 'Not Available';\r\n }\r\n\r\n console.log('checkAvailability ' + JSON.stringify(response.body));\r\n },\r\n (error) => {\r\n if (error instanceof HttpErrorResponse) {\r\n }\r\n }\r\n );\r\n }\r\n getRoom() {\r\n this.apiService.getRoomDetailsByPropertyId(PROPERTY_ID).subscribe(\r\n (response) => {\r\n console.log(\r\n 'response room choose room ' + JSON.stringify(response.body)\r\n );\r\n this.rooms = response.body;\r\n },\r\n (error) => {\r\n if (error instanceof HttpErrorResponse) {\r\n }\r\n }\r\n );\r\n }\r\n\r\n getRoomByDate(fromDate: string, toDate: string) {\r\n this.apiService\r\n .getRoomDetailsByPropertyIdAndDate(PROPERTY_ID, fromDate, toDate)\r\n .subscribe(\r\n (response) => {\r\n this.rooms = response.body;\r\n },\r\n (error) => {\r\n if (error instanceof HttpErrorResponse) {\r\n }\r\n }\r\n );\r\n }\r\n\r\n getCheckInDateFormat(dateString: string) {\r\n var yearAndMonth = dateString.split('-', 3);\r\n this.daySelected = String(yearAndMonth[2].split(' ', 1));\r\n this.yearSelected = yearAndMonth[0];\r\n this.monthSelected = parseInt(yearAndMonth[1]) - 1;\r\n }\r\n\r\n getCheckOutDateFormat(dateString: string) {\r\n var yearAndMonth = dateString.split('-', 3);\r\n this.daySelected2 = String(yearAndMonth[2].split(' ', 1));\r\n this.yearSelected2 = yearAndMonth[0];\r\n this.monthSelected2 = parseInt(yearAndMonth[1]) - 1;\r\n }\r\n open(content, src, title) {\r\n this.modalData = src;\r\n console.log(\"The rooms \" +this.modalData);\r\n this.modalTitle = title;\r\n this.modalService\r\n .open(content, { size: \"xl\", scrollable: true })\r\n .result.then(\r\n (result) => {\r\n this.closeResult = `Closed with: ${result}`;\r\n },\r\n (reason) => {\r\n this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n }\r\n );\r\n }\r\n\r\n private getDismissReason(reason: any): string {\r\n if (reason === ModalDismissReasons.ESC) {\r\n return \"by pressing ESC\";\r\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n return \"by clicking on a backdrop\";\r\n } else {\r\n return `with: ${reason}`;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Booking

\r\n
\r\n

Find Your Desire Room

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Rates and Availability is successfully updated.\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
Search
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ date.day }}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {{adults}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {{children}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {{noOfrooms}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \"\"\r\n \"\"\r\n
\r\n

FROM\r\n {{room.roomOnlyPrice | currency: token.getProperty().localCurrency.toUpperCase()}}\r\n

\r\n

{{room.name}}

\r\n
\r\n \r\n BOOK NOW \r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n \"\"\r\n {{ booking.roomPrice ||room.roomOnlyPrice | currency: token.getProperty().localCurrency.toUpperCase()}}/night\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n

{{room.name}}

\r\n
    \r\n
  • \r\n \"\"\r\n {{room.maximumOccupancy}} GUESTS\r\n
  • \r\n
  • \r\n \"\"\r\n 15 Ft²\r\n
  • \r\n
\r\n \r\n

{{room.description}}

\r\n\r\n Book Now \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n \"\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n

{{room.name}}

\r\n
    \r\n
  • \r\n\r\n \"\"\r\n \"\"\r\n \"\"\r\n \"\"\r\n \"\"\r\n \"\"\r\n 6\">\"\"\r\n {{room.maximumOccupancy}} GUESTS\r\n
  • \r\n
  • \r\n

    Available: {{room.ratesAndAvailabilityDtos[0].noOfAvailable}}\r\n room 1\">s\r\n

    \r\n
  • \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

Room Not Available!

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Facilities

\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
{{item.name}}
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Select Plan:\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ plan.name }}
\r\n
Extra person charge\r\n {{ plan.extraChargePerPerson | currency: currency:'symbol':'1.2-2'}}
\r\n
Extra child charge\r\n {{ plan.extraChargePerChild | currency: currency:'symbol':'1.2-2'}}
\r\n\r\n

{{ plan.description }}

\r\n\r\n
\r\n
\r\n
\r\n {{ (plan.amount * DiffDate * noOfrooms) | currency: currency:'symbol':'1.2-2' }}\r\n
\r\n \r\n {{DiffDate}} nights,\r\n {{booking.noOfPersons}}\r\n adults
\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n

Plan Not Available. Without plan you can't book room.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Description
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n

\r\n {{modalTitle}}\r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-services',\r\n templateUrl: './services.component.html',\r\n styleUrls: ['./services.component.css']\r\n})\r\nexport class ServicesComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

hotel service

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n

Hotel A One Luxury Puri,Odisha

\r\n
\r\n
\r\n

We appreciate you staying at our hotel when you were in India. We hope you liked\r\n your time with us and everything that our hotel has to offer. We value the time\r\n you took away from your hectic schedule to stay with us.\r\n Below are the specifics of our rooms' layout and property:
\r\n 2 Rooms : The Chhota Parivar Room has amenities including WiFi, an air conditioner, geysers,\r\n and 24-hour room service and can house up to 3 people.
\r\n 1 Room :The Bada Paribar Room has amenities including WiFi, an air conditioner, geysers,\r\n and 24-hour room service and can accommodate up to 5 people.
\r\n 4 Rooms : The Parivar Room has amenities including WiFi, an air conditioner, geysers,\r\n and 24-hour room service and can accommodate up to 3 people.
\r\n 6 Rooms : The Nav Dampati Room has amenities including WiFi, an air conditioner, geysers,\r\n and 24-hour room service and can accommodate up to 2 people.
\r\n 3 Rooms : The Paribar Sea View Room has amenities including WiFi, an air\r\n conditioner, geysers, and 24-hour room service and can accommodate up to 3\r\n people.
\r\n \r\n

\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n

Group Bookings

\r\n
\r\n
\r\n

We have 16 rooms where 2 Rooms are Chhota Parivar and 1 Room is Bada Paribar Room and 4 Rooms are Parivar Room and 6 Rooms are Nav Dampati Room\r\n and 3 Rooms are Paribar Sea View Room
\r\n \r\n \r\n\r\n\r\n

\r\n
\r\n
\r\n\r\n
\r\n \"\"\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Restaurant

\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n

wi-fi

\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Pick Up and Drop

\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Room Service

\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n

LED TV

\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Security

\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Car parking

\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { TokenStorage } from 'src/app/token.storage';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { environment } from 'src/environments/environment';\r\nimport { MessageDto } from './model/MessageDto';\r\nimport { PropertyServiceDTO } from './model/PropertyServices';\r\nimport { Customer } from './model/customer';\r\nimport { Booking } from './model/booking';\r\nimport { Room } from './model/room';\r\nimport { Msg } from './model/msg';\r\nimport { Payment } from './model/payment';\r\nimport { API_URL_IN, API_URL_NZ, API_URL_PROMOTION, APP_ID } from './app.component';\r\n// import { WhatsappDto } from '../model/whatsappDto';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class HotelBookingService {\r\n API_URL: string;\r\nAPI:string\r\n constructor(private http: HttpClient, private token: TokenStorage) {\r\n this.setApi();\r\n // this.API =\"https://testapi.bookonelocal.co.nz/bookone-scheduler\"\r\n }\r\n\r\n setApi() {\r\n if (this.token.getCountry() === 'New Zealand') {\r\n this.API_URL = API_URL_NZ;\r\n } else if (this.token.getCountry() === 'Fiji') {\r\n this.API_URL = API_URL_NZ;\r\n } else if (this.token.getCountry() === 'Australia') {\r\n this.API_URL = API_URL_NZ;\r\n } else if (this.token.getCountry() === 'Samoa') {\r\n this.API_URL = API_URL_NZ;\r\n } else if (this.token.getCountry() === 'India') {\r\n this.API_URL = API_URL_IN;\r\n } else {\r\n this.API_URL = API_URL_IN;\r\n }\r\n }\r\n authorisationToken(message: MessageDto) {\r\n this.setApi();\r\n const headers = new HttpHeaders({\r\n APP_ID: APP_ID,\r\n });\r\n return this.http.post(\r\n this.API_URL + '/api/message/authorisationToken',\r\n message,\r\n { headers: headers }\r\n );\r\n }\r\n send(message: MessageDto) {\r\n this.setApi();\r\n return this.http.post(\r\n this.API_URL + '/api/message/send',\r\n message,\r\n { observe: 'response' }\r\n );\r\n }\r\n verifyAuthorisationToken(message: MessageDto) {\r\n this.setApi();\r\n const headers = new HttpHeaders({\r\n APP_ID: APP_ID,\r\n });\r\n return this.http.post(\r\n this.API_URL + '/api/message/verifyAuthorisationToken',\r\n message,\r\n { headers: headers }\r\n );\r\n }\r\n\r\n addServicesToBooking(services: PropertyServiceDTO[], bookingId: number) {\r\n this.setApi();\r\n return this.http.post(\r\n this.API_URL + '/api/website/add/services/' + bookingId,\r\n services,\r\n { observe: 'response' }\r\n );\r\n }\r\n getCustomerDetailsByEmail(email: string) {\r\n this.setApi();\r\n return this.http.get(\r\n this.API_URL + '/api/website/email/' + email + '/',\r\n { observe: 'response' }\r\n );\r\n }\r\n getCustomerDetailsByMobile(mobile: string) {\r\n this.setApi();\r\n return this.http.get(\r\n this.API_URL + '/api/website/mobile/' + mobile,\r\n { observe: 'response' }\r\n );\r\n }\r\n getBookingConfirmation(bookingId: string) {\r\n this.setApi();\r\n return this.http.get(\r\n this.API_URL + '/api/website/confirm?BookingId='+bookingId,\r\n { observe: 'response' }\r\n );\r\n }\r\n getRoomDetailsByPropertyId(propertyId: number) {\r\n this.setApi();\r\n return this.http.get(\r\n this.API_URL + '/api/website/findAllRoomsByPropertyId/' + propertyId,\r\n { observe: 'response' }\r\n );\r\n }\r\n createBooking(booking: Booking) {\r\n this.setApi();\r\n return this.http.post(\r\n this.API_URL + '/api/website/booking',\r\n booking,\r\n { observe: 'response' }\r\n );\r\n }\r\n checkAvailability(booking: any) {\r\n return this.http.post(\r\n this.API_URL + '/api/website/checkAvailability',\r\n booking,\r\n { observe: 'response' }\r\n );\r\n }\r\n checkAvailabilityByProperty(\r\n fromDate,\r\n toDate,\r\n noOfRooms,\r\n noOfPersons,\r\n propertyId\r\n ) {\r\n this.setApi();\r\n return this.http.get(\r\n this.API_URL +\r\n '/api/website/checkAvailability/' +\r\n propertyId +\r\n '?fromDate=' +\r\n fromDate +\r\n '&toDate=' +\r\n toDate +\r\n '&noOfRooms=' +\r\n noOfRooms +\r\n '&noOfPersons=' +\r\n noOfPersons,\r\n { observe: 'response' }\r\n );\r\n }\r\n getRoomDetailsByPropertyIdAndDate(\r\n propertyId: number,\r\n fromDate: string,\r\n toDate: string\r\n ) {\r\n this.setApi();\r\n return this.http.get(\r\n this.API_URL +\r\n '/api/website/getAllRoomsByDate?PropertyId=' +\r\n propertyId +\r\n '&FromDate=' +\r\n fromDate +\r\n '&ToDate=' +\r\n toDate,\r\n { observe: 'response' }\r\n );\r\n }\r\n sendTextMessage(message: Msg) {\r\n this.setApi();\r\n return this.http.post(\r\n this.API_URL + '/api/website/message/send',\r\n message,\r\n { observe: 'response' }\r\n );\r\n }\r\n getBookingDetails(bookingNumber: number, bookingEmail: string) {\r\n this.setApi();\r\n return this.http.get(\r\n this.API_URL +\r\n '/api/website/findBookingByIdAndEmail?BookingReferenceNumber=' +\r\n bookingNumber +\r\n '&BookingEmail=' +\r\n bookingEmail,\r\n { observe: 'response' }\r\n );\r\n }\r\n getPlan(propertyId: string, roomId: string) {\r\n this.setApi();\r\n return this.http.get(\r\n this.API_URL +\r\n '/api/website/property/' +\r\n propertyId +\r\n '/room/' +\r\n roomId +\r\n '/roomPlan',\r\n { observe: 'response' }\r\n );\r\n }\r\n paymentIntent(paymentDetails: Payment) {\r\n return this.http.post(\r\n this.API_URL + '/api/website/paymentIntent',\r\n paymentDetails,\r\n { observe: 'response' }\r\n );\r\n }\r\n paymentIntentHdfc(paymentDetails: Payment) {\r\n return this.http.post(\r\n this.API_URL + '/api/website/paymentIntent',\r\n paymentDetails,\r\n { observe: 'response' }\r\n );\r\n }\r\n processPayment(paymentDetails: Payment) {\r\n this.setApi();\r\n return this.http.post(\r\n this.API_URL + '/api/website/processPayment',\r\n paymentDetails,\r\n { observe: 'response' }\r\n );\r\n }\r\n savePayment(paymentDetails: Payment) {\r\n this.setApi();\r\n return this.http.post(\r\n this.API_URL + '/api/website/savePayment',\r\n paymentDetails,\r\n { observe: 'response' }\r\n );\r\n }\r\n getPaymentByReffId(ref: string) {\r\n this.setApi();\r\n return this.http.get(\r\n this.API_URL +\r\n '/api/website/findPaymentByReferenceNumber/' + ref,\r\n { observe: 'response' }\r\n );\r\n }\r\n getOfferDetailsBySeoFriendlyName(seoName: string) {\r\n this.setApi();\r\n return this.http.get(\r\n API_URL_PROMOTION + '/api/offer/findBySeofriendlyName/' + seoName + '/',\r\n { observe: 'response' }\r\n );\r\n }\r\n\r\n // accommodationEnquiry(enquiry: EnquiryDto) {\r\n // this.setApi();\r\n // return this.http.post(\r\n // environment.apiLms + '/api/v1/accommodationEnquiry',\r\n // enquiry,\r\n // { observe: 'response' }\r\n // );\r\n // }\r\n\r\n // emailEnquire(enquiry: EnquiryDto) {\r\n // this.setApi();\r\n // return this.http.post(\r\n // this.API_URL + '/api/email/enquire',\r\n // enquiry,\r\n // { observe: 'response' }\r\n // );\r\n // }\r\n // whatsAppMsg(whatsappmsg: WhatsappDto){\r\n // this.setApi();\r\n // return this.http.post(\r\n // environment.apiScheduler + '/api/whatsapp/sendMessage',\r\n // whatsappmsg,\r\n // { observe: 'response' }\r\n // );\r\n // }\r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ApiService, PROPERTY_ID } from 'src/app/api.service';\r\nimport { Property } from 'src/app/model/property';\r\nimport { BusinessUser } from 'src/app/model/user';\r\nimport { TokenStorage } from 'src/app/token.storage';\r\n\r\n@Component({\r\n selector: 'app-gallery',\r\n templateUrl: './gallery.component.html',\r\n styleUrls: ['./gallery.component.css']\r\n})\r\nexport class GalleryComponent implements OnInit {\r\n modalImage = \"\";\r\n modalTitle = \"\";\r\n closeResult = \"\";\r\n galleryImage = [\r\n {\r\n imageURL: 'assets/Gallery/Gallery1.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery2.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery3.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery4.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery5.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery6.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery7.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery8.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery9.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery20.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery21.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery22.jpg',\r\n title: 'Bathroom',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery24.jpg',\r\n title: 'Rooms',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery26.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery27.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery28.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery29.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery30.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery31.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery32.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery33.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery34.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery36.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery37.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery39.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery40.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery42.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery43.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery44.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery45.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery46.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery47.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery48.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery49.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery50.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery52.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery53.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery54.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery55.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery56.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery57.jpg',\r\n title: 'Room',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery10.jpg',\r\n title: 'Bathroom',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery11.jpg',\r\n title: 'Bathroom',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery12.jpg',\r\n title: 'Bathroom',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery13.jpg',\r\n title: 'Bathroom',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery14.jpg',\r\n title: 'Bathroom',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery15.jpg',\r\n title: 'Bathroom',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery16.jpg',\r\n title: 'Bathroom',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery17.jpg',\r\n title: 'Bathroom',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery18.jpg',\r\n title: 'Bathroom',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery19.jpg',\r\n title: 'Bathroom',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery23.jpg',\r\n title: 'Bathroom',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery25.jpg',\r\n title: 'Bathroom',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery35.jpg',\r\n title: 'Bathroom',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery38.jpg',\r\n title: 'Bathroom',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery41.jpg',\r\n title: 'Bathroom',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/Gallery/Gallery51.jpg',\r\n title: 'Bathroom',\r\n class: 'rooms'\r\n },\r\n // {\r\n // imageURL: 'assets/images/gallery_img13.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img1.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img14.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img15.jpg',\r\n // title: 'Hotel'\r\n // }, {\r\n // imageURL: 'assets/images/gallery_img16.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img17.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img18.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img19.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img20.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img21.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img22.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img23.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img24.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img25.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img26.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img27.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img28.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img29.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img30.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img31.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img32.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img33.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img34.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img35.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img36.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img37.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img38.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img39.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img40.jpg',\r\n // title: 'Hotel'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img41.jpg',\r\n // title: 'Hotel'\r\n // },\r\n ]\r\n property: BusinessUser;\r\n property1: Property;\r\n constructor(\r\n private router: Router,\r\n private token: TokenStorage,\r\n private apiService: ApiService,\r\n private modalService: NgbModal,\r\n ) {\r\n this.property = new BusinessUser();\r\n if (this.token.getPropertyData() !== null) {\r\n this.property = this.token.getPropertyData();\r\n } else {\r\n this.getProperty();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n modalSlideConfig = {\r\n centerMode: true,\r\n centerPadding: \"0%\",\r\n slidesToShow: 1,\r\n dots: true,\r\n autoplay: true,\r\n autoplaySpeed: 3000,\r\n arrows: true,\r\n responsive: [\r\n {\r\n breakpoint: 1367,\r\n settings: {\r\n centerPadding: \"0%\",\r\n },\r\n },\r\n {\r\n breakpoint: 1025,\r\n settings: {\r\n centerPadding: \"0\",\r\n },\r\n },\r\n {\r\n breakpoint: 767,\r\n settings: {\r\n centerPadding: \"0\",\r\n slidesToShow: 1,\r\n },\r\n },\r\n ],\r\n };\r\n getProperty() {\r\n this.apiService.getPropertyDetailsByPropertyId(PROPERTY_ID).subscribe(response => {\r\n\r\n this.property1 = response.body;\r\n this.token.saveProperty(this.property);\r\n },\r\n error => {\r\n if (error instanceof HttpErrorResponse) {\r\n\r\n }\r\n }\r\n );\r\n }\r\n// getGallery(){}\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Gallery

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Previous\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","export class MessageDto {\r\n email: string;\r\n fromNumber: string;\r\n message: string;\r\n notificationStatus: boolean;\r\n sid: string;\r\n toNumber: string;\r\n verificationCode: string;\r\n verificationStatus: boolean;\r\n}\r\n","import { TaxDetails } from './TaxDetails';\r\n\r\n\r\nimport { Address } from './address';\r\nimport { BusinessServiceDtoList } from './businessServiceDtoList';\r\nimport { MobileWallet } from './mobileWallet';\r\nimport { Room } from './room';\r\nimport { SubscriptionList } from './subscriptionList';\r\n\r\nexport class Property {\r\n name: string;\r\n id: number;\r\n businessDescription: string;\r\n businessShortDescription: string;\r\n businessName: string;\r\n businessSubtype:string;\r\n businessType: string;\r\n businessTypeGroup: string;\r\n email: string;\r\n firstName: string;\r\n localCurrency: string;\r\n lastName: string;\r\n landphoneNumber: string;\r\n landphone: string;\r\n mobileNumber: string;\r\n organisationId: number;\r\n userStatus: string;\r\n username: string;\r\n password: string;\r\n confirmPassword: string;\r\n dashboardUrl: string;\r\n plan: string;\r\n newBusinessType: string;\r\n transactionAmount: number;\r\n netReceivableAmount: number;\r\n address: Address;\r\n facebook: string;\r\n instagram: string;\r\n twitter: string;\r\n gstNumber: string;\r\n imageUrl: string;\r\n bookOneRating: number;\r\n minimumRoooPrice: number;\r\n imageList: [\r\n {\r\n description: string,\r\n id: string,\r\n mainImage: true,\r\n name: string,\r\n url: string\r\n }\r\n ];\r\n longitude: string;\r\n latitude: string;\r\n seoFriendlyName: string;\r\n logoUrl: string;\r\n managerContactNo: string;\r\n managerEmailAddress: string;\r\n managerFirstName: string;\r\n managerLastName: string;\r\n maximumOccupancy: number;\r\n minimumOccupancy: number;\r\n mobile: string;\r\n noOfFloor: number;\r\n noOfBookOneReview: number;\r\n noOfRoomType: number;\r\n numberOfRooms: number;\r\n placeId: string;\r\n paymentGateway: string;\r\n paymentGatewayApiKey: string;\r\n paymentGatewayApiToken: string;\r\n paymentGatewayPublicKey: string;\r\n priceFortNight: number;\r\n priceMonthly: number;\r\n pricePerNight: number;\r\n pricePerWeek: number;\r\n propertyBarCode: string;\r\n propertyStatus: string;\r\n shortName: string;\r\n slogan: string;\r\n subscriptionList: SubscriptionList[];\r\n website: string;\r\n whatsApp: string;\r\n businessServiceDtoList: BusinessServiceDtoList[];\r\n roomList: Room[];\r\n bankAccount : any;\r\n mobileWallet : MobileWallet;\r\n\r\n taxDetails: TaxDetails[];\r\n constructor() { }\r\n}\r\n","import { Address } from './address';\r\n\r\nexport class Customer {\r\n anniversaryDate: string;\r\n birthday: string;\r\n company: string;\r\n dietaryRequirement: string;\r\n email: string;\r\n firstName: string;\r\n gender: string;\r\n id: number;\r\n language: string;\r\n lastName: string;\r\n mobile: string;\r\n new: boolean;\r\n noOfKids: number;\r\n noOfPets: number;\r\n propertyId: number;\r\n roleName: string;\r\n address: Address;\r\n}","\r\nimport { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute, NavigationExtras } from '@angular/router';\r\nimport { NgbDate } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ApiService, PROPERTY_ID } from 'src/app/api.service';\r\nimport { BankAccount } from 'src/app/model/BankAccount';\r\nimport { Booking } from 'src/app/model/booking';\r\nimport { BusinessServiceDtoList } from 'src/app/model/businessServiceDtoList';\r\nimport { Customer } from 'src/app/model/customer';\r\nimport { DateModel } from 'src/app/model/dateModel';\r\nimport { MessageDto } from 'src/app/model/MessageDto';\r\nimport { MobileWallet } from 'src/app/model/mobileWallet';\r\nimport { Payment } from 'src/app/model/payment';\r\nimport { Property } from 'src/app/model/property';\r\nimport { BusinessUser } from 'src/app/model/user';\r\nimport { TokenStorage } from 'src/app/token.storage';\r\n\r\n\r\n@Component({\r\n selector: 'app-complete',\r\n templateUrl: './complete.component.html',\r\n styleUrls: ['./complete.component.css']\r\n})\r\nexport class CompleteComponent implements OnInit {\r\n\r\n currency: string;\r\n\r\n showAlert: boolean = false;\r\n alertType: string;\r\n\r\n verifyOption = \"email\";\r\n // smsOption: string = '';\r\n sendBtn = \"Send\";\r\n submitButtonDisable: boolean = false;\r\n loader = false;\r\n verificationCode: string;\r\n lookup = false;\r\n checkCustomerLookup = false;\r\n customerVerified = false;\r\n verificationSend = false;\r\n paymentLoader: boolean = false;\r\n verified = false;\r\n customerExist = false;\r\n verifiedPending: boolean = false;\r\n verifySuccessMessage: boolean = false;\r\n isReservationList: boolean = false;\r\n headerTitle: string;\r\n bodyMessage: string;\r\n payment: Payment;\r\n homeDelivery = false;\r\n cashPayment = false;\r\n\r\n isSuccess: boolean;\r\n property: BusinessUser;\r\n // totalQuantity: number ;\r\n // totalPrice: number;\r\n myDate: any;\r\n message: MessageDto;\r\n // slotReservation: SlotReservation;\r\n // slotReservations: SlotReservation[];\r\n businessServiceDto: BusinessServiceDtoList;\r\n customerDto: Customer;\r\n // payment: Payment;\r\n prepareDay: number;\r\n prepareHour: number;\r\n prepareMinute: number;\r\n\r\n leadHour: number;\r\n leadDay: number;\r\n leadMin: number;\r\n\r\n leadMaxDay: number;\r\n leadMaxMin: number;\r\n leadMaxHour: number;\r\n\r\n contentDialog: any;\r\n\r\n ngbDate: any;\r\n mobileHasError: boolean = true;\r\n taxPercentage = 0;\r\n subTotalAmount: number = 0;\r\n totalAmount: number = 0;\r\n bookingData: any;\r\n booking: Booking;\r\n timeDifferenceInDays: number;\r\n\r\n isVerified: boolean = false;\r\n\r\n fromDate: NgbDate | null;\r\n toDate: NgbDate | null;\r\n\r\n roomsAndOccupancy: boolean = false;\r\n bookingCity: string;\r\n adults: number = 2;\r\n children: number = 0;\r\n noOfrooms: number = 1;\r\n DiffDate;\r\n enddate;\r\n startDate;\r\n bookingConfirmed = false;\r\n\r\n bankAccount: BankAccount;\r\n mobileWallet: MobileWallet;\r\n // businessOfferDto: BusinessOfferDto;\r\n promoCode : string;\r\n discountPercentage: number;\r\n promoMessage = \"\";\r\n\r\n private ewaySecureFieldCode: string;\r\n private ewayErrors: string = null;\r\n private ewayInitComplete: boolean = false;\r\n\r\n\r\n dateModel: DateModel;\r\n\r\n daySelected: string;\r\n yearSelected: string;\r\n monthSelected: number;\r\n\r\n daySelected2: string;\r\n yearSelected2: string;\r\n monthSelected2: number;\r\n\r\n\r\n currentDay: string;\r\n\r\n monthArray = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n property1: Property;\r\n\r\n constructor(\r\n private token: TokenStorage,\r\n private locationBack: Location,\r\n private changeDetectorRefs: ChangeDetectorRef,\r\n private apiService: ApiService,\r\n private router: Router,\r\n private acRoute: ActivatedRoute, )\r\n {\r\n this.myDate = new Date();\r\n this.businessServiceDto = new BusinessServiceDtoList();\r\n this.property = new BusinessUser();\r\n this.booking = new Booking();\r\n this.payment = new Payment();\r\n this.mobileWallet = new MobileWallet();\r\n this.bankAccount = new BankAccount();\r\n this.customerDto = new Customer();\r\n if (this.token.getBookingData() !== null) {\r\n this.bookingData = this.token.getBookingData();\r\n this.booking = this.bookingData;\r\n this.fromDate = new NgbDate(\r\n this.mileSecondToNGBDate(this.booking.fromDate).year,\r\n this.mileSecondToNGBDate(this.booking.fromDate).month,\r\n this.mileSecondToNGBDate(this.booking.fromDate).day\r\n );\r\n this.toDate = new NgbDate(\r\n this.mileSecondToNGBDate(this.booking.toDate).year,\r\n this.mileSecondToNGBDate(this.booking.toDate).month,\r\n this.mileSecondToNGBDate(this.booking.toDate).day\r\n );\r\n this.adults = this.booking.noOfPersons;\r\n this.children = this.booking.noOfExtraPerson;\r\n this.noOfrooms = this.booking.noOfRooms;\r\n }\r\n // if (this.token.getBookingCity() !== null) {\r\n // this.bookingCity = this.token.getBookingCity();\r\n // }\r\n // this.bookingData = this.token.getBookingData();\r\n // this.booking = this.bookingData;\r\n // this.calculateDateDeference();\r\n this.getDiffDate(this.toDate, this.fromDate);\r\n }\r\n\r\n ngOnInit()\r\n {\r\n if (this.token.getBookingData() != undefined) {\r\n this.booking = this.token.getBookingData();\r\n\r\n // this.room = this.dateModel.room;\r\n // this.booking = this.dateModel.booking;\r\n\r\n this.getCheckInDateFormat(this.booking.fromDate);\r\n this.getCheckOutDateFormat(this.booking.toDate);\r\n\r\n this.booking.businessEmail = this.booking.email;\r\n // this.booking.fromDate = this.dateModel.checkIn;\r\n // this.booking.toDate = this.dateModel.checkOut;\r\n // this.booking.roomId = this.room.id;\r\n this.booking.propertyId = PROPERTY_ID;\r\n // this.checkAvailabilty();\r\n }\r\n if (this.token.getProperty() != undefined) {\r\n this.property = this.token.getProperty();\r\n\r\n this.bankAccount= this.property.bankAccount;\r\n this.mobileWallet= this.property.mobileWallet;\r\n }\r\n }\r\n mileSecondToNGBDate(date: string) {\r\n const dsd = new Date(date);\r\n const year = dsd.getFullYear();\r\n const day = dsd.getDate();\r\n const month = dsd.getMonth() + 1;\r\n return { year: year, month: month, day: day };\r\n}\r\ngetDiffDate(toDate, fromDate) {\r\n this.enddate = new Date(toDate.year, toDate.month - 1, toDate.day);\r\n\r\n this.startDate = new Date(fromDate.year, fromDate.month - 1, fromDate.day);\r\n // console.log('this.fromDate: ', this.startDate);\r\n // console.log('this.toDate: ', this.enddate);\r\n this.DiffDate = Math.floor(\r\n (Date.UTC(\r\n this.enddate.getFullYear(),\r\n this.enddate.getMonth(),\r\n this.enddate.getDate()\r\n ) -\r\n Date.UTC(\r\n this.startDate.getFullYear(),\r\n this.startDate.getMonth(),\r\n this.startDate.getDate()\r\n )) /\r\n (1000 * 60 * 60 * 24)\r\n );\r\n}\r\ngetAvailableRoom() {\r\n this.dateModel = new DateModel();\r\n\r\n this.dateModel.checkIn = this.getDateFormat(this.booking.fromDate);\r\n this.dateModel.checkOut = this.getDateFormat(this.booking.toDate);\r\n this.dateModel.guest = this.booking.noOfPersons;\r\n this.dateModel.noOfRooms = this.booking.noOfRooms;\r\n\r\n // console.log(' this.dateModel '+JSON.stringify( this.dateModel));\r\n\r\n const navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n dateob: JSON.stringify(this.dateModel),\r\n },\r\n };\r\n\r\n this.router.navigate([\"/booking/choose\"], navigationExtras);\r\n}\r\ngetDateFormat(dateString: string) {\r\n var yearAndMonth = dateString.split(\"-\", 3);\r\n return (\r\n yearAndMonth[0] +\r\n \"-\" +\r\n yearAndMonth[1] +\r\n \"-\" +\r\n yearAndMonth[2].split(\" \", 1)\r\n );\r\n}\r\n getCheckInDateFormat(dateString: string)\r\n {\r\n var yearAndMonth = dateString.split(\"-\", 3);\r\n this.daySelected = String(yearAndMonth[2].split(\" \", 1));\r\n this.yearSelected = yearAndMonth[0];\r\n this.monthSelected = parseInt(yearAndMonth[1]) - 1;\r\n }\r\n\r\n getCheckOutDateFormat(dateString: string)\r\n {\r\n var yearAndMonth = dateString.split(\"-\", 3);\r\n this.daySelected2 = String(yearAndMonth[2].split(\" \", 1));\r\n this.yearSelected2 = yearAndMonth[0];\r\n this.monthSelected2 = parseInt(yearAndMonth[1]) - 1;\r\n }\r\n\r\n\r\n toggleRoomsAndOccupancy() {\r\n if (this.roomsAndOccupancy == false) {\r\n this.roomsAndOccupancy = true;\r\n } else if (this.roomsAndOccupancy == true) {\r\n this.roomsAndOccupancy = false;\r\n }\r\n}\r\nonReload() {\r\n window.location.reload();\r\n}\r\ncalculateDateDeference() {\r\n // Here are the two dates to compare\r\n let date1 = this.booking.fromDate;\r\n let date2 = this.booking.toDate;\r\n\r\n // First we split the values to arrays date1[0] is the year, [1] the month and [2] the day\r\n let date1a = date1.split(\"-\");\r\n let date2a = date2.split(\"-\");\r\n\r\n // Now we convert the array to a Date object, which has several helpful methods\r\n let date1b = new Date(\r\n Number(date1a[0]),\r\n Number(date1a[1]) + 1,\r\n Number(date1a[2])\r\n );\r\n let date2b = new Date(\r\n Number(date2a[0]),\r\n Number(date2a[1]) + 1,\r\n Number(date2a[2])\r\n );\r\n\r\n // We use the getTime() method and get the unixtime (in milliseconds, but we want seconds, therefore we divide it through 1000)\r\n const date1_unixtime = Number(date1b.getTime() / 1000);\r\n const date2_unixtime = Number(date2b.getTime() / 1000);\r\n\r\n // This is the calculated difference in seconds\r\n const timeDifference = date2_unixtime - date1_unixtime;\r\n\r\n // in Hours\r\n const timeDifferenceInHours = timeDifference / 60 / 60;\r\n\r\n // and finaly, in days :)\r\n this.timeDifferenceInDays = timeDifferenceInHours / 24;\r\n}\r\ngetPropertyDetails(id: number) {\r\n this.loader = true;\r\n this.apiService.getPropertyDetailsByPropertyId(id).subscribe(\r\n (data) => {\r\n this.property1 = data.body;\r\n this.currency = this.property.localCurrency.toUpperCase();\r\n this.mobileWallet = this.property.mobileWallet;\r\n this.bankAccount = this.property.bankAccount;\r\n // console.log(' this.property ===='+JSON.stringify( this.property));\r\n if (this.property.taxDetails.length > 0) {\r\n this.taxPercentage = this.property.taxDetails[0].percentage;\r\n }\r\n if (this.property.taxDetails[0].taxSlabsList.length > 0) {\r\n this.property.taxDetails[0].taxSlabsList.forEach((element) => {\r\n if (\r\n element.maxAmount > this.booking.roomPrice &&\r\n element.minAmount < this.booking.roomPrice\r\n ) {\r\n this.taxPercentage = element.percentage;\r\n } else if (element.maxAmount < this.booking.roomPrice) {\r\n this.taxPercentage = element.percentage;\r\n }\r\n });\r\n }\r\n\r\n this.booking.totalAmount = this.booking.netAmount + ((this.booking.netAmount * this.taxPercentage) / 100) - this.booking.discountAmount;\r\n\r\n this.businessServiceDto = this.property.businessServiceDtoList.find(\r\n (data) => data.name === this.property.businessType\r\n );\r\n\r\n this.loader = false;\r\n },\r\n (_error) => {\r\n this.loader = false;\r\n }\r\n );\r\n}\r\n\r\nclickPhone() {\r\n this.booking.email = \"\";\r\n}\r\n\r\nclickEmail() {\r\n this.booking.mobile = \"\";\r\n}\r\ncheckCustomer() {\r\n this.loader = true;\r\n\r\n if (this.verifyOption == \"email\") {\r\n this.message.email = this.booking.email;\r\n this.message.toNumber = null;\r\n } else if (this.verifyOption == \"sms\") {\r\n this.message.toNumber = this.booking.mobile;\r\n this.message.email = null;\r\n }\r\n\r\n this.sendBtn = \"Resend\";\r\n this.apiService.authorisationToken(this.message)\r\n .subscribe((response) => {\r\n this.loader = false;\r\n console.log(\"authorisationToken data\", JSON.stringify(response));\r\n const data: any = response;\r\n this.message.verificationStatus = data.verificationStatus;\r\n this.message.sid = data.sid;\r\n this.message.notificationStatus = data.notificationStatus;\r\n }),\r\n (error) => {\r\n this.loader = false;\r\n };\r\n // console.log('authorisationToken data', JSON.stringify(this.message));\r\n this.lookup = true;\r\n this.loader = false;\r\n this.verificationSend = true;\r\n}\r\nphoneHasError(obj) {\r\n console.log(JSON.stringify(obj));\r\n this.mobileHasError = obj;\r\n}\r\ngetNumber(obj) {\r\n console.log(JSON.stringify(obj));\r\n this.booking.mobile = obj;\r\n}\r\nonVerified() {\r\n this.isVerified = true;\r\n}\r\nmobileTextChange() {\r\n this.mobileHasError = true;\r\n this.isVerified = false;\r\n}\r\ncustomerLookup() {\r\n if (this.verifyOption == \"email\") {\r\n this.apiService\r\n .getCustomerDetailsByEmail(this.booking.email)\r\n .subscribe(\r\n (data) => {\r\n this.bookingData.customerDtoList = [];\r\n // console.log('Get customer ' + JSON.stringify(data.body));\r\n this.booking.firstName = data.body.firstName;\r\n this.booking.lastName = data.body.lastName;\r\n this.booking.mobile = data.body.mobile;\r\n this.bookingData.customerDtoList.push(data.body);\r\n this.booking.customerId = this.bookingData.customerDtoList[0].id;\r\n this.lookup = true;\r\n this.customerExist = true;\r\n this.verified = true;\r\n },\r\n (_error) => {\r\n this.loader = false;\r\n this.lookup = true;\r\n this.customerExist = false;\r\n }\r\n );\r\n } else if (this.verifyOption == \"sms\") {\r\n this.apiService\r\n .getCustomerDetailsByMobile(this.booking.mobile)\r\n .subscribe(\r\n (data) => {\r\n this.bookingData.customerDtoList = [];\r\n // console.log('Get customer ' + JSON.stringify(data.body));\r\n this.booking.firstName = data.body.firstName;\r\n this.booking.lastName = data.body.lastName;\r\n // this.booking.mobile = data.body.mobile;\r\n this.booking.email = data.body.email;\r\n this.bookingData.customerDtoList.push(data.body);\r\n this.booking.customerId = this.bookingData.customerDtoList[0].id;\r\n this.lookup = true;\r\n this.customerExist = true;\r\n this.verified = true;\r\n },\r\n (_error) => {\r\n this.loader = false;\r\n this.lookup = true;\r\n this.customerExist = false;\r\n }\r\n );\r\n }\r\n}\r\nvarificationSend() {\r\n this.loader = true;\r\n\r\n if (this.verifyOption == \"email\") {\r\n this.message.email = this.booking.email;\r\n this.message.toNumber = null;\r\n } else if (this.verifyOption == \"sms\") {\r\n this.message.toNumber = this.booking.mobile;\r\n this.message.email = null;\r\n }\r\n this.message.verificationCode = this.verificationCode;\r\n this.apiService.verifyAuthorisationToken(this.message).subscribe(\r\n (response) => {\r\n this.loader = false;\r\n\r\n const data: any = response;\r\n this.message.verificationStatus = data.verificationStatus;\r\n this.message.notificationStatus = data.notificationStatus;\r\n if (data.verificationStatus === \"approved\") {\r\n this.verifiedPending = false;\r\n this.verified = true;\r\n this.verifySuccessMessage = true;\r\n setTimeout(function () {\r\n this.verifySuccessMessage = false;\r\n }, 5000);\r\n } else if (data.verificationStatus === \"pending\") {\r\n this.isSuccess = false;\r\n this.verifiedPending = true;\r\n this.verified = false;\r\n this.verifySuccessMessage = true;\r\n setTimeout(function () {\r\n this.verifySuccessMessage = false;\r\n }, 5000);\r\n } else {\r\n this.verified = false;\r\n }\r\n },\r\n (_error) => {\r\n this.loader = false;\r\n }\r\n );\r\n}\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Booking

\r\n
\r\n

Find Your Desire Room

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n

    CHECK-IN

    \r\n
    \r\n {{ this.daySelected }}\r\n \r\n {{monthArray[monthSelected] }} \r\n {{ this.yearSelected }}\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
  • \r\n
  • \r\n
    \r\n

    CHECK-OUt

    \r\n
    \r\n {{ this.daySelected2 }}\r\n \r\n {{ monthArray[monthSelected2] }} {{ this.yearSelected2 }}\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
  • \r\n \r\n
  • \r\n
    \r\n

    Guest

    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n {{booking.noOfPersons}}\r\n\r\n
    • \r\n
    • \r\n \r\n \r\n \r\n\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
  • \r\n
  • \r\n
    \r\n

    Room(s)

    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n {{booking.noOfRooms}}\r\n\r\n
    • \r\n
    • \r\n \r\n \r\n \r\n\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
  • \r\n
  • \r\n CHECK AVAILABILITY\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Thank you for your booking!

\r\n\r\n
\r\n
\r\n
    \r\n
  • \r\n Reservation No:\r\n {{ booking.propertyReservationNumber }}\r\n
  • \r\n
  • \r\n Full guest name: {{ booking.firstName }}\r\n {{ booking.lastName }}\r\n
  • \r\n
  • \r\n Email: {{ booking.email }}\r\n
  • \r\n
  • \r\n Phone: {{ booking.mobile }}\r\n
  • \r\n
  • \r\n Selected Room: {{ booking.roomName }}\r\n
  • \r\n
  • \r\n Room Price: \r\n {{\r\n booking.roomPrice | currency: currency:\"symbol\":\"1.2-2\"\r\n }}\r\n \r\n
  • \r\n
  • \r\n No Of Person(s): {{ booking.noOfPersons }}\r\n
  • \r\n\r\n
  • \r\n Net Amount: \r\n \r\n {{ payment.netReceivableAmount\r\n | currency: currency:\"symbol\":\"1.2-2\"\r\n }}\r\n \r\n
  • \r\n
  • \r\n Tax Amount ({{ this.taxPercentage }}%): \r\n \r\n {{\r\n payment.taxAmount | currency: currency:\"symbol\":\"1.2-2\"\r\n }}\r\n
  • \r\n
  • \r\n Discount: {{ booking.discountPercentage }}%\r\n
  • \r\n
  • \r\n
  • \r\n Discount Amount: {{\r\n booking.discountAmount\r\n | currency: currency:\"symbol\":\"1.2-2\"\r\n }}\r\n
  • \r\n
  • \r\n
    \r\n Total Amount:\r\n \r\n {{\r\n booking.totalAmount\r\n | currency: currency:\"symbol\":\"1.2-2\"\r\n }}\r\n \r\n
    \r\n
  • \r\n
  • \r\n Special Notes: {{ booking.notes }}\r\n
  • \r\n
  • \r\n Payment method:\r\n {{ payment.paymentMode }}\r\n
  • \r\n\r\n
  • \r\n
    \r\n Paid amount:\r\n {{\r\n payment.transactionChargeAmount\r\n | currency: currency:\"symbol\":\"1.2-2\"\r\n }}\r\n \r\n
    \r\n
  • \r\n
  • \r\n
    Payment Status: Not Paid
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-terms',\r\n templateUrl: './terms.component.html',\r\n styleUrls: ['./terms.component.css']\r\n})\r\nexport class TermsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Terms & Conditions

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n Guest Profile: \r\n\r\n
  • couples are not allowed
  • \r\n
  • Guests below 18 years of age are allowed
  • \r\n
  • Groups with only male guests are not allowed at this property
  • \r\nID Proof Related :\r\n
  • Passport, Aadhar, Govt. ID and Driving License are accepted as ID proof(s)
  • \r\n
  • Local ids not allowed
  • \r\n\r\nFood Arrangement:\r\n\r\n
  • Non veg food is allowed
  • \r\n
  • Outside food is not allowed
  • \r\n
  • Food delivery service is not available at the property
  • \r\n\r\nSmoking/Alcohol consumption Rules :\r\n
  • \r\n Smoking within the premises is not allowed
  • \r\n
  • There are no restrictions on alcohol consumption.
  • \r\nPet(s) Related:\r\n\r\n
  • Pets are not allowed.
  • \r\n
  • There are no pets living on the property
  • \r\nProperty Accessibility :\r\n\r\n
  • This property is accessible to guests who use a wheelchair. Guests are requested to carry their own wheelchair.\r\n Other Rules\r\n
  • \r\n
  • Does not allow private parties or events
  • \r\n
  • Visitors are allowed
  • \r\nChild & Extra Bed Policy\r\n\r\n
  • An extra bed will be provided to accommodate any child included in the booking for a charge mentioned below. (Subject to availability)\r\n INR 400 will be charged for an extra mattress per child. (To be paid at the property).
  • \r\n
  • An extra bed will be provided to accommodate any additional guest included in the booking for a charge mentioned below. (Subject to availability)\r\n INR 400 will be charged for an extra mattress per guest. (To be paid at the property).
  • \r\n
    \r\n
    \r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ApiService, PROPERTY_ID } from 'src/app/api.service';\r\nimport { Property } from 'src/app/model/property';\r\nimport { BusinessUser } from 'src/app/model/user';\r\nimport { TokenStorage } from 'src/app/token.storage';\r\n\r\n@Component({\r\n selector: 'app-home-about',\r\n templateUrl: './home-about.component.html',\r\n styleUrls: ['./home-about.component.css']\r\n})\r\nexport class HomeAboutComponent implements OnInit {\r\n property: BusinessUser;\r\n reveals: any;\r\n windowHeight: any;\r\n elementTop: any;\r\n elementVisible: any;\r\n property1: Property;\r\n constructor(\r\n public token: TokenStorage,\r\n public apiService: ApiService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getProperty();\r\n this.reveal();\r\n this.revealTwo();\r\n this.revealone();\r\n }\r\n reveal() {\r\n this.reveals = document.querySelectorAll('.reveal');\r\n\r\n for (var i = 0; i < this.reveals.length; i++) {\r\n this.windowHeight = window.innerHeight;\r\n this.elementTop = this.reveals[i].getBoundingClientRect().top;\r\n this.elementVisible = 150;\r\n\r\n if (this.elementTop < this.windowHeight - this.elementVisible) {\r\n this.reveals[i].classList.add('active');\r\n } else {\r\n this.reveals[i].classList.remove('active');\r\n }\r\n }\r\n window.addEventListener('scroll', this.reveal);\r\n }\r\n revealone() {\r\n this.reveals = document.querySelectorAll('.revealLeft');\r\n\r\n for (var i = 0; i < this.reveals.length; i++) {\r\n this.windowHeight = window.innerHeight;\r\n this.elementTop = this.reveals[i].getBoundingClientRect().top;\r\n this.elementVisible = 150;\r\n\r\n if (this.elementTop < this.windowHeight - this.elementVisible) {\r\n this.reveals[i].classList.add('active');\r\n } else {\r\n this.reveals[i].classList.remove('active');\r\n }\r\n }\r\n window.addEventListener('scroll', this.revealone);\r\n }\r\n revealTwo() {\r\n this.reveals = document.querySelectorAll('.revealRight');\r\n\r\n for (var i = 0; i < this.reveals.length; i++) {\r\n this.windowHeight = window.innerHeight;\r\n this.elementTop = this.reveals[i].getBoundingClientRect().top;\r\n this.elementVisible = 150;\r\n\r\n if (this.elementTop < this.windowHeight - this.elementVisible) {\r\n this.reveals[i].classList.add('active');\r\n } else {\r\n this.reveals[i].classList.remove('active');\r\n }\r\n }\r\n window.addEventListener('scroll', this.revealTwo);\r\n }\r\n\r\n getProperty() {\r\n this.apiService.getPropertyDetailsByPropertyId(PROPERTY_ID).subscribe(response => {\r\n\r\n this.property1 = response.body;\r\n this.token.saveProperty(this.property);\r\n },\r\n error => {\r\n if (error instanceof HttpErrorResponse) {\r\n\r\n }\r\n }\r\n );\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n

    Relax In Our Hotel

    \r\n\r\n \r\n

    Greetings from the greatest Hotel A ONE! The personnel of Hotel A One is available round-the-clock to ensure that your stay is comfortable. All of our freshly refurbished hotel rooms come equipped with complimentary Wi-Fi, air conditioning, and geysers to make your stay even more pleasurable. Also, we offer free parking and 24(hrs) room service, so you won't need to worry about anything. We provide everything you require for a comfortable stay. You'll be glad you stayed at the A One Hotel, we're confident of it. If you're interested in booking room, please call the hotel today to reserve your room.\r\n

    \r\n about us\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n","import { Component } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n title = 'hotelWebsite';\r\n}\r\nexport const APP_ID = environment.appId;\r\nexport const PROPERTY_ID = environment.propertyId;\r\nexport const API_URL_NZ = environment.nzAPIUrl;\r\nexport const API_URL_IN = environment.inAPIUrl;\r\nexport const API_URL_PROMOTION = environment.apiUrlPromotion;\r\nexport const API_URL_ADDRESS = environment.apiUrlAddress;\r\n// export const APP_ID = environment.appId;\r\n","\r\n\r\n\r\n\r\n\r\n","\r\nexport class Payment {\r\n\r\n id: number;\r\n referenceNumber: string;\r\n name: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n businessEmail: string;\r\n amount: number;\r\n currency: string;\r\n state: string;\r\n date: string;\r\n token: string;\r\n expYear: string;\r\n callBackUrl: void;\r\n callbackUrl: string;\r\n expMonth: string;\r\n cardNumber: string;\r\n cvv: string;\r\n description: string;\r\n status: string;\r\n receiptNumber: string;\r\n failureMessage: string;\r\n failureCode: string;\r\n deliveryChargeAmount: number;\r\n paymentMode: string;\r\n externalReference: string;\r\n propertyId: number;\r\n businessName: string;\r\n transactionAmount: number;\r\n transactionChargeAmount: number;\r\n netReceivableAmount: number;\r\n otherChargesAmount: number;\r\n taxAmount: number;\r\n bankName: string;\r\n branchName: string;\r\n swiftCode:string;\r\n accountName:string;\r\n accountNumber:string;\r\n bankReferenceNumber: number;\r\n bookingCommissionAmount: number;\r\n clientSecret: string;\r\n businessServiceName: string;\r\n encryptedData: any;\r\n lastModifiedDate: any;\r\n constructor() {\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\n// import { TokenStorage } from './../../token.storage';\r\nimport { Component, OnInit, ChangeDetectorRef, NgZone } from '@angular/core';\r\nimport { Booking } from 'src/app/model/booking';\r\nimport { Payment } from 'src/app/model/payment';\r\n// import { BusinessUser } from 'src/app/model/user';\r\n// import { Logger } from 'src/app/services/logger.service';\r\n// import { HotelBookingService } from 'src/app/services/hotel-booking.service';\r\nimport { NgbDate } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Location, DatePipe, formatDate } from '@angular/common';\r\nimport { environment } from 'src/environments/environment';\r\n// import { EnquiryForm } from '../Enquiry/Enquiry.component';\r\nimport { API_URL_NZ, API_URL_IN } from 'src/app/app.component';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { TokenStorage } from 'src/app/token.storage';\r\nimport { HotelBookingService } from 'src/app/hotel-booking.service';\r\nimport { BusinessUser } from 'src/app/model/user';\r\n\r\nexport class EnquiryForm {\r\n fromEmail: string;\r\n toEmail: string;\r\n fromName: string;\r\n toName: string;\r\n bccEmail: string;\r\n bccEmailTo: string;\r\n bccName: string;\r\n firstName: string;\r\n accountManager: string;\r\n consultantPerson: string;\r\n createdDate: Date;\r\n lastName: string;\r\n propertyName: string;\r\n accommodationType: string;\r\n noOfPerson: number;\r\n noOfRooms: number;\r\n noOfChildren: number;\r\n noOfPets: number;\r\n location: string;\r\n country: string;\r\n alternativeLocation: string;\r\n phone: string;\r\n email: string;\r\n checkInDate: string;\r\n checkOutDate: string;\r\n foodOptions: string;\r\n dietaryRequirement: string;\r\n status: string;\r\n min: number;\r\n propertyId: number;\r\n max: number;\r\n specialNotes: string;\r\n organisationId: number;\r\n}\r\n@Component({\r\n selector: 'app-booking-complete',\r\n templateUrl: './booking-complete.component.html',\r\n styleUrls: ['./booking-complete.component.scss'],\r\n})\r\n\r\nexport class BookingCompleteComponent implements OnInit {\r\n businessUser: BusinessUser;\r\n booking: Booking;\r\n payment: Payment;\r\n paymentLoader: boolean;\r\n bookingData: any;\r\n isSuccess: boolean;\r\n headerTitle: string;\r\n bodyMessage: string;\r\n showAlert: boolean = false;\r\n alertType: string;\r\n bookingConfirmed = false;\r\n fromDate: any;\r\n toDate: any;\r\n adults: number;\r\n children: number;\r\n children3to5: number;\r\n noOfrooms: number;\r\n currency: string;\r\n payment2: Payment;\r\n totalExtraAmount: number = 0;\r\n totalTaxAmount: number = 0;\r\n totalBeforeTaxAmount: number = 0;\r\n addServiceList: any[];\r\n enquiryForm: any;\r\n enquiryResponse: EnquiryForm;\r\n successMessage: boolean;\r\n API_URL: string;\r\n enquirySent: boolean = false;\r\n submitButtonDisable: boolean;\r\n paymentorderid: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private token: TokenStorage,\r\n private acRoute: ActivatedRoute,\r\n private hotelBookingService: HotelBookingService,\r\n private ngZone: NgZone,\r\n private changeDetectorRefs: ChangeDetectorRef\r\n ) {\r\n this.businessUser = new BusinessUser();\r\n this.booking = new Booking();\r\n this.payment = new Payment();\r\n\r\n if (this.token.getPropertyData() != null && this.token.getPropertyData() != undefined)\r\n {\r\n this.businessUser = this.token.getPropertyData();\r\n }\r\n\r\n if (this.token.getBookingData() != null && this.token.getBookingData() != undefined)\r\n {\r\n this.booking = this.token.getBookingData();\r\n }\r\n\r\n if (this.token.getPaymentData() != null && this.token.getPaymentData() != undefined)\r\n {\r\n this.payment = this.token.getPaymentData();\r\n }\r\n\r\n if (this.token.getPayment2Data() != null && this.token.getPayment2Data() != undefined)\r\n {\r\n this.payment2 = this.token.getPayment2Data();\r\n }\r\n\r\n\r\n this.addServiceList = [];\r\n if (this.token.getServiceData() !== null) {\r\n this.addServiceList = this.token.getServiceData();\r\n }\r\n if (this.token.getBookingData() !== null) {\r\n this.bookingData = this.token.getBookingData();\r\n this.booking = this.bookingData;\r\n this.fromDate = new NgbDate(\r\n this.mileSecondToNGBDate(this.booking.fromDate).year,\r\n this.mileSecondToNGBDate(this.booking.fromDate).month,\r\n this.mileSecondToNGBDate(this.booking.fromDate).day\r\n );\r\n this.toDate = new NgbDate(\r\n this.mileSecondToNGBDate(this.booking.toDate).year,\r\n this.mileSecondToNGBDate(this.booking.toDate).month,\r\n this.mileSecondToNGBDate(this.booking.toDate).day\r\n );\r\n this.adults = this.booking.noOfPersons;\r\n this.children = this.booking.noOfChildren;\r\n // this.children3to5 = this.booking.noOfChildren3To5yrs;\r\n this.noOfrooms = this.booking.noOfRooms;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.acRoute.queryParams.subscribe((params) => {\r\n if (params[\"businessUser\"] !== undefined) {\r\n this.businessUser = JSON.parse(params[\"businessUser\"]);\r\n }\r\n\r\n if (params[\"payment\"] !== undefined) {\r\n this.payment = JSON.parse(params[\"payment\"]);\r\n }\r\n\r\n if (params[\"payment2\"] !== undefined) {\r\n this.payment2 = JSON.parse(params[\"payment2\"]);\r\n }\r\n\r\n if (params[\"addServiceList\"] !== undefined) {\r\n this.addServiceList = [];\r\n this.payment2 = JSON.parse(params[\"addServiceList\"]);\r\n }\r\n\r\n if (params[\"booking\"] !== undefined) {\r\n this.booking = JSON.parse(params[\"booking\"]);\r\n\r\n this.bookingData = this.booking;\r\n this.fromDate = new NgbDate(\r\n this.mileSecondToNGBDate(this.booking.fromDate).year,\r\n this.mileSecondToNGBDate(this.booking.fromDate).month,\r\n this.mileSecondToNGBDate(this.booking.fromDate).day\r\n );\r\n this.toDate = new NgbDate(\r\n this.mileSecondToNGBDate(this.booking.toDate).year,\r\n this.mileSecondToNGBDate(this.booking.toDate).month,\r\n this.mileSecondToNGBDate(this.booking.toDate).day\r\n );\r\n this.adults = this.booking.noOfPersons;\r\n this.children = this.booking.noOfChildren;\r\n // this.children3to5 = this.booking.noOfChildren3To5yrs;\r\n this.noOfrooms = this.booking.noOfRooms;\r\n }\r\n\r\n });\r\n\r\n\r\n this.totalExtraAmount = 0;\r\n this.totalBeforeTaxAmount = 0;\r\n this.totalTaxAmount = 0;\r\n this.addServiceList.forEach((element) => {\r\n this.totalExtraAmount = this.totalExtraAmount + element.afterTaxAmount;\r\n this.totalTaxAmount = this.totalTaxAmount + element.taxAmount;\r\n this.totalBeforeTaxAmount =\r\n this.totalBeforeTaxAmount + element.beforeTaxAmount;\r\n });\r\n this.getPaymentInfoByReffId(this.payment.referenceNumber);\r\nthis.paymentorderid = this.payment.referenceNumber\r\n if (this.booking.id !== undefined) {\r\n this.bookingConfirmed = true;\r\n }\r\n this.currency = 'INR';\r\n }\r\n getPaymentInfoByReffId(referenceNumber){\r\n this.hotelBookingService.getPaymentByReffId(referenceNumber).subscribe((res) => {\r\n this.payment = res.body[0];\r\n if (this.payment.failureCode === null && this.payment.status == 'Paid') {\r\n this.createBookingPayTM();\r\n }else{\r\n // Logger.log('create enquiry')\r\n // this.createEnquiry();\r\n }\r\n });\r\n }\r\n mileSecondToNGBDate(date: string) {\r\n const dsd = new Date(date);\r\n const year = dsd.getFullYear();\r\n const day = dsd.getDate();\r\n const month = dsd.getMonth() + 1;\r\n return { year: year, month: month, day: day };\r\n }\r\n addServiceToBooking(booking) {\r\n if (this.addServiceList.length > 0) {\r\n this.hotelBookingService\r\n .addServicesToBooking(this.addServiceList, booking.id)\r\n .subscribe((serviceRes) => {\r\n // Logger.log('before Payment: ', JSON.stringify(this.payment));\r\n\r\n // Logger.log('addServiceList ', JSON.stringify(serviceRes.body));\r\n this.payment2 = this.payment;\r\n this.payment2.id = undefined;\r\n this.payment2.paymentMode = 'UPI';\r\n this.payment2.status = 'NotPaid';\r\n this.payment2.propertyId = this.bookingData.propertyId;\r\n this.payment2.email = this.booking.email;\r\n this.payment2.businessEmail = this.businessUser.email;\r\n this.payment2.currency = this.businessUser.localCurrency;\r\n this.payment2.transactionAmount = Number((this.totalExtraAmount ).toFixed(2));\r\n this.payment2.netReceivableAmount = Number((this.totalBeforeTaxAmount ).toFixed(2));\r\n this.payment2.transactionAmount = Number((this.totalExtraAmount ).toFixed(2));\r\n this.payment2.amount = Number((this.totalExtraAmount ).toFixed(2));\r\n this.payment2.transactionChargeAmount = Number((this.totalExtraAmount ).toFixed(2));\r\n this.payment2.deliveryChargeAmount = 0;\r\n this.payment2.date = formatDate(new Date(), 'yyyy-MM-dd', 'en');\r\n this.payment2.taxAmount = this.totalTaxAmount ;\r\n this.payment2.businessServiceName = 'Restaurants';\r\n this.hotelBookingService\r\n .processPayment(this.payment2)\r\n .subscribe((res) => {\r\n // Logger.log('Extra Payment: ', JSON.stringify(res.body));\r\n });\r\n });\r\n }\r\n }\r\n createBookingPayTM() {\r\n this.booking.modeOfPayment = this.payment.paymentMode;\r\n this.booking.externalSite = 'Website';\r\n this.booking.businessName = this.businessUser.name;\r\n this.booking.businessEmail = this.businessUser.email;\r\n this.booking.roomBooking = true;\r\n this.booking.bookingAmount = this.booking.totalAmount;\r\n this.booking.groupBooking = false;\r\n this.booking.available = true;\r\n this.booking.payableAmount = this.booking.totalAmount;\r\n this.booking.currency = this.businessUser.localCurrency;\r\n this.booking.paymentId = this.payment.id;\r\n\r\n // Logger.log('createBooking ', JSON.stringify(this.booking));\r\n\r\n this.paymentLoader = true;\r\n this.hotelBookingService\r\n .createBooking(this.booking)\r\n .subscribe((response) => {\r\n // Logger.log('createBooking ', JSON.stringify(response.body));\r\n if (response.status === 200) {\r\n this.paymentLoader = false;\r\n this.booking = response.body;\r\n this.booking.fromDate = this.bookingData.fromDate;\r\n this.booking.toDate = this.bookingData.toDate;\r\n\r\n this.payment.referenceNumber = this.booking.propertyReservationNumber;\r\n this.payment.externalReference = this.booking.externalBookingID;\r\n this.addServiceToBooking(this.booking);\r\n this.bookingConfirmed = true;\r\n this.paymentLoader = true;\r\n this.changeDetectorRefs.detectChanges();\r\n this.payment.status = 'Paid';\r\n // Logger.log('payment ' + JSON.stringify(this.payment));\r\n\r\n this.hotelBookingService\r\n .savePayment(this.payment)\r\n .subscribe((res) => {\r\n if (res.status === 200) {\r\n // this.openSuccessSnackBar(`Payment Details Saved`);\r\n this.paymentLoader = false;\r\n\r\n this.payment.id = undefined;\r\n this.payment.paymentMode = \"Cash\";\r\n this.payment.status = \"NotPaid\";\r\n this.booking.taxAmount =\r\n (this.booking.netAmount * this.booking.taxPercentage) / 100;\r\n this.payment.taxAmount = (this.booking.taxAmount / 100) * 50;\r\n this.payment.netReceivableAmount = (this.booking.netAmount /100) * 50;\r\n this.payment.transactionAmount = (this.booking.totalAmount / 100) * 50 ;\r\n this.payment.referenceNumber = this.booking.propertyReservationNumber;\r\n this.payment.amount = (this.booking.totalAmount / 100) * 50;\r\n this.booking.advanceAmount = (this.booking.totalAmount / 100) * 20;\r\n this.payment.propertyId = this.bookingData.propertyId;\r\n this.payment.transactionChargeAmount =\r\n(this.booking.totalAmount / 100)* 50;\r\n this.hotelBookingService\r\n .processPayment(this.payment)\r\n .subscribe((response2) => {\r\n this.payment = response2.body;\r\n this.booking.paymentId = response2.body.id;\r\n this.booking.modeOfPayment = this.payment.paymentMode;\r\n if (this.booking.id != null) {\r\n this.submitButtonDisable = true;\r\n this.isSuccess = true;\r\n this.headerTitle = \"Success!\";\r\n this.bodyMessage =\r\n \"Thanks for the booking .Please note the Reservation No: # \" +\r\n this.booking.propertyReservationNumber +\r\n \" and an email is sent with the booking details.\";\r\n\r\n this.token.clearHotelBooking();\r\n // this.showSuccess(this.contentDialog);\r\n\r\n this.paymentLoader = true;\r\n\r\n // Logger.log(\"payment \" + JSON.stringify(this.payment));\r\n // this.paymentIntentPayTm(this.payment);\r\n } else {\r\n this.paymentLoader = false;\r\n }\r\n });\r\n\r\n // setTimeout(() => {\r\n // this.isSuccess = true;\r\n // this.headerTitle = \"Success!\";\r\n // this.bodyMessage = \"Payment Details Saved.\";\r\n // this.showSuccess(this.contentDialog);\r\n // this.changeDetectorRefs.detectChanges();\r\n // }, 5000);\r\n } else {\r\n this.paymentLoader = false;\r\n // this.openErrorSnackBar(`Error in updating payment details`);\r\n // setTimeout(() => {\r\n // // this.paymentLoader = false;\r\n // this.isSuccess = false;\r\n // this.headerTitle = \"Error!\";\r\n // this.bodyMessage = \"Error in updating payment details.\";\r\n // this.showDanger(this.contentDialog);\r\n // this.changeDetectorRefs.detectChanges();\r\n // }, 9000);\r\n }\r\n });\r\n } else {\r\n this.paymentLoader = false;\r\n }\r\n });\r\n /*setTimeout(() => {\r\n this.msgs = [];\r\n createBookingObsr.unsubscribe();\r\n this.spinner = false;\r\n this.msgs.push({\r\n severity: 'error',\r\n summary: 'The server is taking more than usual time,please try again after sometime.'\r\n });\r\n }, 25000); */\r\n }\r\n\r\n createEnquiry() {\r\n this.booking.modeOfPayment = this.payment.paymentMode;\r\n this.booking.externalSite = 'The Hotel Mate';\r\n this.booking.businessName = this.businessUser.name;\r\n this.booking.businessEmail = this.businessUser.email;\r\n this.booking.roomBooking = true;\r\n this.booking.bookingAmount = this.booking.totalAmount;\r\n this.booking.groupBooking = false;\r\n this.booking.available = true;\r\n this.booking.payableAmount = this.booking.totalAmount;\r\n this.booking.currency = this.businessUser.localCurrency;\r\n this.booking.paymentId = this.payment.id;\r\n\r\n // Logger.log('createBooking ', JSON.stringify(this.booking));\r\n\r\n this.paymentLoader = true;\r\n\r\n\r\n // Logger.log(JSON.stringify(this.subscriptions));\r\n const TO_EMAIL = 'subhasmitatripathy37@gmail.com';\r\n // const TO_EMAIL = 'abir.sayeed@gmail.com';\r\n const TO_NAME = 'Support - The Hotel Mate';\r\n const bccEmail = 'rajeshbiswal591@gmail.com';\r\n // const bccEmail= 'abir.sayeed@credencesoft.co.nz';\r\n\r\n const bccName = 'Samaya';\r\n this.enquiryForm = new EnquiryForm();\r\n this.enquiryForm.businessEmail = this.businessUser.email;\r\n this.enquiryForm.businessName = this.businessUser.name;\r\n this.enquiryForm.roomBooking = this.booking.roomBooking;\r\n this.enquiryForm.groupBooking = this.booking.groupBooking;\r\n this.enquiryForm.roomId = this.booking.roomId;\r\n this.enquiryForm.roomPrice = this.booking.roomPrice;\r\n this.enquiryForm.roomName = this.booking.roomName;\r\n this.enquiryForm.firstName = this.booking.firstName;\r\n this.enquiryForm.lastName = this.booking.lastName;\r\n this.enquiryForm.fromDate = this.booking.fromDate;\r\n this.enquiryForm.toDate = this.booking.toDate;\r\n // this.enquiryForm.fromTime = this.booking.fromTime;\r\n // this.enquiryForm.toTime = this.booking.toTime;\r\n this.enquiryForm.checkInDate = this.booking.fromDate;\r\n this.enquiryForm.checkOutDate = this.booking.toDate;\r\n this.enquiryForm.email = this.booking.email;\r\n this.enquiryForm.hsnCode = this.booking.hsnCode;\r\n this.enquiryForm.phone = this.booking.mobile;\r\n this.enquiryForm.mobile = this.booking.mobile;\r\n this.enquiryForm.noOfRooms = this.booking.noOfRooms;\r\n this.enquiryForm.noOfPerson = this.booking.noOfPersons;\r\n this.enquiryForm.noOfChildren = this.booking.noOfChildren;\r\n this.enquiryForm.noOfPets = this.booking.noOfPets;\r\n this.enquiryForm.externalSite = this.booking.externalSite;\r\n this.enquiryForm.location = '';\r\n this.enquiryForm.min = 0;\r\n this.enquiryForm.max = 0;\r\n this.enquiryForm.roomRatePlanName = this.booking.roomRatePlanName;\r\n this.enquiryForm.noOfExtraPerson = this.booking.noOfExtraPerson;\r\n this.enquiryForm.extraPersonCharge = this.booking.extraPersonCharge;\r\n this.enquiryForm.noOfExtraChild = this.booking.noOfExtraChild;\r\n this.enquiryForm.extraChildCharge = this.booking.extraChildCharge;\r\n this.enquiryForm.roomTariffBeforeDiscount = this.booking.roomTariffBeforeDiscount;\r\n this.enquiryForm.totalBookingAmount = this.booking.totalBookingAmount;\r\n this.enquiryForm.paymentStatus = this.payment.status;\r\n this.enquiryForm.totalRoomTariffBeforeDiscount = this.booking.totalRoomTariffBeforeDiscount;\r\n this.enquiryForm.discountAmount = this.booking.discountAmount;\r\n this.enquiryForm.discountPercentage = this.booking.discountPercentage;\r\n this.enquiryForm.taxAmount = this.booking.taxAmount;\r\n this.enquiryForm.taxDetails = this.booking.taxDetails;\r\n this.enquiryForm.payableAmount = this.booking.payableAmount;\r\n this.enquiryForm.totalAmount = this.booking.totalAmount;\r\n this.enquiryForm.beforeTaxAmount = this.booking.beforeTaxAmount;\r\n this.enquiryForm.propertyId = this.booking.propertyId;\r\n this.enquiryForm.currency = this.booking.currency;\r\n this.enquiryForm.available = this.booking.available;\r\n this.enquiryForm.modeOfPayment = this.booking.modeOfPayment;\r\n this.enquiryForm.includeService = this.booking.includeService;\r\n this.enquiryForm.customerId = this.booking.customerId;\r\n this.enquiryForm.businessEmail = this.businessUser.email;\r\n this.enquiryForm.planCode = this.booking.planCode;\r\n\r\n this.enquiryForm.organisationId = this.businessUser.organisationId;\r\n\r\n this.enquiryForm.counterNumber = '1';\r\n this.enquiryForm.operatorName = '';\r\n\r\n this.enquirySent = true;\r\n\r\n this.enquiryForm.fromName = this.enquiryForm.firstName + ' ' + this.enquiryForm.lastName;\r\n this.enquiryForm.toName = TO_NAME;\r\n this.enquiryForm.fromEmail = this.enquiryForm.email;\r\n this.enquiryForm.toEmail = TO_EMAIL;\r\n this.enquiryForm.bccEmail = bccEmail;\r\n this.enquiryForm.bccName = bccEmail;\r\n\r\n this.enquiryForm.accommodationType = '';\r\n // this.enquiryForm.dietaryRequirement = form.controls.dietaryRequirement.value;\r\n\r\n this.enquiryForm.accommodationType = this.businessUser.businessSubtype;\r\n this.enquiryForm.status = \"Enquiry\";\r\n\r\n if (\r\n this.enquiryForm.dietaryRequirement === null ||\r\n this.enquiryForm.dietaryRequirement === undefined\r\n ) {\r\n this.enquiryForm.dietaryRequirement = '';\r\n }\r\n if (\r\n this.enquiryForm.accommodationType === null ||\r\n this.enquiryForm.accommodationType === undefined\r\n ) {\r\n this.enquiryForm.accommodationType = '';\r\n }\r\n if (\r\n this.enquiryForm.specialNotes === null ||\r\n this.enquiryForm.specialNotes === undefined\r\n ) {\r\n this.enquiryForm.specialNotes = '';\r\n }\r\n if (\r\n this.enquiryForm.alternativeLocation === null ||\r\n this.enquiryForm.alternativeLocation === undefined\r\n ) {\r\n this.enquiryForm.alternativeLocation = '';\r\n }\r\n\r\n this.enquiryForm.foodOptions = '';\r\n\r\n\r\n\r\n this.enquiryForm.subject = '';\r\n this.setApi();\r\n // Logger.log('form data ' + JSON.stringify(this.enquiryForm));\r\n // this.success = true;\r\n this.http\r\n .post(\r\n this.API_URL + '/api/website/enquire',\r\n this.enquiryForm\r\n )\r\n .subscribe((response) => {\r\n this.enquiryResponse = response;\r\n this.successMessage = true;\r\n // Logger.log('save ' + response);\r\n });\r\n this.http\r\n .post(this.API_URL + '/api/email/enquire', this.enquiryForm)\r\n .subscribe((response) => {\r\n // this.success = response;\r\n // Logger.log('sent ' + response);\r\n\r\n\r\n // this.enquiryForm = new EnquiryForm();\r\n this.successMessage = true;\r\n });\r\n\r\n this.paymentLoader = false;\r\n\r\n }\r\n setApi() {\r\n if (this.token.getCountry() === 'New Zealand') {\r\n this.API_URL = API_URL_NZ;\r\n } else if (this.token.getCountry() === 'Fiji') {\r\n this.API_URL = API_URL_NZ;\r\n } else if (this.token.getCountry() === 'Australia') {\r\n this.API_URL = API_URL_NZ;\r\n } else if (this.token.getCountry() === 'Samoa') {\r\n this.API_URL = API_URL_NZ;\r\n } else if (this.token.getCountry() === 'India') {\r\n this.API_URL = API_URL_IN;\r\n } else {\r\n this.API_URL = API_URL_IN;\r\n }\r\n }\r\n showSuccess(content) {\r\n this.alertType = 'success';\r\n this.showAlert = true;\r\n }\r\n showWarning(content) {\r\n this.alertType = 'warning';\r\n this.showAlert = true;\r\n setTimeout(() => {\r\n this.showAlert = false;\r\n this.changeDetectorRefs.detectChanges();\r\n }, 3000);\r\n }\r\n showDanger(content) {\r\n this.alertType = 'danger';\r\n this.showAlert = true;\r\n setTimeout(() => {\r\n this.showAlert = false;\r\n this.changeDetectorRefs.detectChanges();\r\n }, 3000);\r\n }\r\n backClicked() {\r\n // this.locationBack.back();\r\n this.token.clearHotelBooking();\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Booking Complete

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n Home \r\n
    • \r\n
    • Booking Complete
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    ERROR: {{payment.failureCode}}

    \r\n

    {{payment.failureMessage}}

    \r\n
  • Order ID: {{ paymentorderid }}
  • \r\n
    Oops!! Seems your payment is not successful , please contact with the property owner for more details .
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n

    Thank you for your booking!

    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \"\"\r\n\r\n \"\"\r\n
    \r\n \r\n

    {{businessUser.name}}

    \r\n \r\n

    \r\n {{businessUser.address.streetNumber? businessUser.address.streetNumber + ', ' : '' }}\r\n {{businessUser.address.streetName? businessUser.address.streetName + ', ' : '' }}\r\n {{businessUser.address.suburb? businessUser.address.suburb + ', ' : '' }}\r\n {{businessUser.address.locality? businessUser.address.locality + ', ' : '' }}\r\n {{businessUser.address.city? businessUser.address.city + ', ' : '' }}\r\n {{ businessUser.address.country? businessUser.address.country : '' }}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
      \r\n
    • Order ID: {{ paymentorderid }}
    • \r\n
    • Reservation No: {{ booking.propertyReservationNumber }}
    • \r\n
    • Full guest name: {{ booking.firstName }} {{booking.lastName}}
    • \r\n
    • Email: {{booking.email}}
    • \r\n
    • Phone: {{booking.mobile}}
    • \r\n
    • Selected Room: {{booking.roomName}}
    • \r\n
    • Room Price: \r\n {{booking.roomPrice | currency: currency:'symbol':'1.2-2' }} \r\n
    • \r\n
    • No Of Person(s): {{booking.noOfPersons}}
    • \r\n\r\n\r\n \r\n
    • Discount: {{booking.discountPercentage}}%
    • \r\n
    • \r\n
    • Discount Amount:\r\n {{booking.discountAmount | currency: currency:'symbol':'1.2-2'}}
    • \r\n
    • \r\n
      Total Amount: \r\n {{booking.totalAmount | currency: currency:'symbol':'1.2-2' }} \r\n
      \r\n
    • \r\n
    • \r\n
      Advance Amount: \r\n {{booking.advanceAmount | currency: currency:'symbol':'1.2-2' }} \r\n
      \r\n
    • \r\n
    • Special Notes: {{booking.notes}}
    • \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    Your Payment was not successful! But an enquiry for your booking is sent!

    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \"\"\r\n\r\n \"\"\r\n
    \r\n \r\n

    {{businessUser.name}}

    \r\n \r\n

    \r\n {{businessUser.address.streetNumber? businessUser.address.streetNumber + ', ' : '' }}\r\n {{businessUser.address.streetName? businessUser.address.streetName + ', ' : '' }}\r\n {{businessUser.address.suburb? businessUser.address.suburb + ', ' : '' }}\r\n {{businessUser.address.locality? businessUser.address.locality + ', ' : '' }}\r\n {{businessUser.address.city? businessUser.address.city + ', ' : '' }}\r\n {{ businessUser.address.country? businessUser.address.country : '' }}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
      \r\n\r\n \r\n
    • Full guest name: {{ enquiryForm.firstName }} {{enquiryForm.lastName}}
    • \r\n
    • Email: {{enquiryForm.email}}
    • \r\n
    • Phone: {{enquiryForm.mobile}}
    • \r\n
    • Selected Room: {{enquiryForm.roomName}}
    • \r\n
    • Room Price: \r\n {{enquiryForm.roomPrice | currency: currency:'symbol':'1.2-2' }} \r\n
    • \r\n
    • No Of Person(s): {{enquiryForm.noOfPersons}}
    • \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { ClosedDays } from './closedDays';\r\nimport { OpenDays } from './openDays';\r\nimport { BusinessServiceTypes } from './businessServiceTypes';\r\n\r\nexport class BusinessServiceDtoList {\r\n id: number;\r\n closedDays: ClosedDays[];\r\n openDays: OpenDays[];\r\n name: string;\r\n\r\n businessLocationName: string;\r\n customerLocationName: string;\r\n canChangeBusinessAddress: boolean;\r\n provideBusinessAndCustomerAddress: boolean;\r\n\r\n businessTermLocation: string;\r\n businessTermResource: string;\r\n\r\n businessProductName: string;\r\n businessServiceName: string;\r\n\r\n maxLeadTime: number;\r\n minLeadTime: number;\r\n stdPrepTime: number;\r\n\r\n description: string;\r\n propertyId: number;\r\n businessServiceTypes: BusinessServiceTypes[];\r\n policy: string;\r\n serviceCloseList: [\r\n {\r\n day: string;\r\n }\r\n ];\r\n serviceOpenList: [\r\n {\r\n breakFromTime: string;\r\n breakToTime: string;\r\n closingTime: string;\r\n day: string;\r\n openingTime: string;\r\n }\r\n ];\r\n taxDetails: any;\r\n constructor() {}\r\n}\r\n","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ApiService, PROPERTY_ID } from 'src/app/api.service';\r\nimport { TokenStorage } from 'src/app/token.storage';\r\n\r\nimport { FormGroup, FormControl, NgForm } from '@angular/forms';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Property } from 'src/app/model/property';\r\nimport { BusinessUser } from 'src/app/model/user';\r\n\r\nexport interface Email {\r\n fromEmail: string;\r\n toEmail: string;\r\n subject: string;\r\n message: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-contact',\r\n templateUrl: './contact.component.html',\r\n styleUrls: ['./contact.component.css'],\r\n})\r\nexport class ContactComponent implements OnInit {\r\n\r\n reveals: any;\r\n windowHeight: any;\r\n elementTop: any;\r\n elementVisible: any;\r\n @Input() property: BusinessUser;\r\n loadingError = false;\r\n\r\n\r\n lat = 73.42238740602201;\r\n lng = 18.751949369519863;\r\n\r\n error = null;\r\n success: any = false;\r\n subjects: string;\r\n property1: Property;\r\n constructor(\r\n private router: Router,\r\n public token: TokenStorage,\r\n public apiService: ApiService,\r\n public http: HttpClient\r\n ) {\r\n this.property = new BusinessUser();\r\n if (this.token.getPropertyData() !== null) {\r\n this.property = this.token.getPropertyData();\r\n } else {\r\n this.getProperty();\r\n }\r\n }\r\n subject: FormControl = new FormControl();\r\n // name: FormControl = new FormControl();\r\n fromEmail: FormControl = new FormControl();\r\n toEmail: FormControl = new FormControl();\r\n message: FormControl = new FormControl();\r\n serviceName: string;\r\n subscriptions: string[];\r\n name: string;\r\n email: Email;\r\n emailSuccess: Boolean;\r\n form = new FormGroup({\r\n subject: new FormControl(),\r\n name: new FormControl(),\r\n fromEmail: new FormControl(),\r\n message: new FormControl(),\r\n });\r\n\r\n ngOnInit(): void {\r\n this.revealone()\r\n this.revealTwo()\r\n this.email = {\r\n fromEmail: '',\r\n toEmail: '',\r\n subject: '',\r\n message: '',\r\n\r\n };\r\n }\r\n\r\n\r\n\r\n revealone() {\r\n this.reveals = document.querySelectorAll('.revealLeft');\r\n\r\n for (var i = 0; i < this.reveals.length; i++) {\r\n this.windowHeight = window.innerHeight;\r\n this.elementTop = this.reveals[i].getBoundingClientRect().top;\r\n this.elementVisible = 150;\r\n\r\n if (this.elementTop < this.windowHeight - this.elementVisible) {\r\n this.reveals[i].classList.add('active');\r\n } else {\r\n this.reveals[i].classList.remove('active');\r\n }\r\n }\r\n window.addEventListener('scroll', this.revealone);\r\n }\r\n revealTwo() {\r\n this.reveals = document.querySelectorAll('.revealRight');\r\n\r\n for (var i = 0; i < this.reveals.length; i++) {\r\n this.windowHeight = window.innerHeight;\r\n this.elementTop = this.reveals[i].getBoundingClientRect().top;\r\n this.elementVisible = 150;\r\n\r\n if (this.elementTop < this.windowHeight - this.elementVisible) {\r\n this.reveals[i].classList.add('active');\r\n } else {\r\n this.reveals[i].classList.remove('active');\r\n }\r\n }\r\n window.addEventListener('scroll', this.revealTwo);\r\n }\r\n\r\n\r\n getProperty() {\r\n this.apiService.getPropertyDetailsByPropertyId(PROPERTY_ID).subscribe(\r\n (response) => {\r\n this.property1 = response.body;\r\n this.token.saveProperty(this.property);\r\n },\r\n (error) => {\r\n if (error instanceof HttpErrorResponse) {\r\n }\r\n }\r\n );\r\n }\r\n submitForm(form: NgForm) {\r\n console.log(JSON.stringify(this.subscriptions));\r\n // const TO_EMAIL = 'samaya.muduli@credencesoft.co.nz';\r\n const TO_EMAIL = this.token.getPropertyData().email;\r\n // const TO_EMAIL = this.property.email;\r\n\r\n const API_URL = environment.apiUrl;\r\n // const API_URL = 'http://localhost:8080';\r\n\r\n this.email.fromEmail = form.value.email;\r\n this.email.toEmail = TO_EMAIL;\r\n this.name = form.value.name;\r\n // this.email.subject = form.value.subject;\r\n this.serviceName = '' + this.subscriptions;\r\n // tslint:disable-next-line: max-line-length\r\n this.email.message =\r\n 'Name: ' +\r\n this.name +\r\n '\\nEmail: ' +\r\n form.value.email +\r\n ' \\nSubject: ' +\r\n this.subjects +\r\n ' \\nMessage: ' +\r\n form.value.message +\r\n '. \\n*****this message is sent from ' +\r\n this.property.name +\r\n ' Website.******';\r\n\r\n console.log(this.subscriptions + ' ' + this.name);\r\n this.email.subject = '' + this.subjects;\r\n console.log('form data ' + JSON.stringify(this.email));\r\n // this.success = true;\r\n this.http\r\n .post(API_URL + '/api/website/sendEmailFromWebSite', this.email)\r\n .subscribe((response) => {\r\n this.success = response;\r\n console.log(response);\r\n });\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    contact

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n Home \r\n
    • \r\n
    • contact
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Drop Us A Message

    \r\n

    If You Have Any Query , Don't Hesitate to Contact With Us

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Your Message Sent succefully\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    Address:\r\n {{ property.address.streetName }}\r\n {{ property.address.streetNumber }}\r\n {{ property.address.suburb }}, {{ property.address.city }},\r\n {{ property.address.state }},\r\n {{ property.address.country }},\r\n {{ property.address.postcode }}
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","\r\n\r\nimport { Booking } from \"./booking\";\r\nimport { Payment } from \"./payment\";\r\nimport { Room } from \"./room\";\r\n\r\n\r\n\r\nexport class DateModel {\r\n\r\n checkIn: string;\r\n checkOut: string;\r\n guest: number;\r\n noOfChildren: number;\r\n noOfRooms: number;\r\n room: Room;\r\n booking: Booking;\r\n payment: Payment;\r\n\r\n constructor()\r\n { }\r\n}\r\n","import { BookingModule } from './site/booking/booking.module';\r\nimport { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { DatePipe } from '@angular/common';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { NgbCarousel, NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { PageComponent } from './shared/page/page.component';\r\nimport { HeaderComponent } from './shared/layout/header/header.component';\r\nimport { NavbarComponent } from './shared/layout/navbar/navbar.component';\r\nimport { FooterComponent } from './shared/layout/footer/footer.component';\r\nimport { LocationStrategy, HashLocationStrategy } from '@angular/common';\r\nimport { TokenStorage } from './token.storage';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { Ng2TelInputModule } from 'ng2-tel-input';\r\nimport { PagesModule } from './pages/pages.module';\r\nimport { ToastsContainer } from './toast-global/toasts-container.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n PageComponent,\r\n\r\n HeaderComponent,\r\n FooterComponent,\r\n NavbarComponent,\r\n ToastsContainer\r\n ],\r\n imports: [\r\n BrowserModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n AppRoutingModule,\r\n Ng2TelInputModule,\r\n NgbModule,\r\n PagesModule,\r\n ReactiveFormsModule,\r\n BookingModule\r\n ],\r\n providers: [\r\n TokenStorage,\r\n { provide: LocationStrategy, useClass: HashLocationStrategy },\r\n\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","\r\nexport class BankAccount {\r\n accountName :\tstring;\r\n accountNumber :\tstring;\r\n bankName : string;\r\n branchName :\tstring;\r\n swiftCode :\tstring;\r\n}\r\n","// import { ListingDetailOneComponent } from './ListingDetailOne/ListingDetailOne.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { PagesRoutingModule } from './pages-routing.module';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { SliderComponent } from './home/slider/slider.component';\r\nimport { RoomsComponent } from './home/rooms/rooms.component';\r\nimport { AllRoomsComponent } from './all-rooms/all-rooms.component';\r\nimport { ServicesComponent } from './services/services.component';\r\nimport { GalleryComponent } from './gallery/gallery.component';\r\nimport { NotchComponent } from './home/notch/notch.component';\r\nimport { AboutusComponent } from './aboutus/aboutus.component';\r\nimport { ContactComponent } from './contact/contact.component';\r\nimport { SlickCarouselModule } from 'ngx-slick-carousel';\r\nimport { HomeAboutComponent } from './home/home-about/home-about.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BookingComponent } from '../site/booking/booking.component';\r\nimport { PaymentComponent } from './payment/payment.component';\r\nimport { NearPlacesComponent } from './near-places/near-places.component';\r\nimport { ServiceHomeComponent } from './service-home/service-home.component';\r\nimport { TermsComponent } from './terms/terms.component';\r\nimport { PriveryPolicyComponent } from './privery-policy/privery-policy.component';\r\nimport { RefundPolicyComponent } from './refund-policy/refund-policy.component';\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n\r\n HomeComponent,\r\n SliderComponent,\r\n RoomsComponent,\r\n AllRoomsComponent,\r\n ServicesComponent,\r\n GalleryComponent,\r\n NotchComponent,\r\n AboutusComponent,\r\n // ListingDetailOneComponent,\r\n ServiceHomeComponent,\r\n ContactComponent,\r\n HomeAboutComponent,\r\n BookingComponent,\r\n PaymentComponent,\r\n NearPlacesComponent,\r\n ServiceHomeComponent,\r\n TermsComponent,\r\n PriveryPolicyComponent,\r\n RefundPolicyComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PagesRoutingModule,\r\n NgbModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SlickCarouselModule\r\n ],\r\nexports:[\r\n\r\n]\r\n})\r\nexport class PagesModule { }\r\n","import { ApiService, PROPERTY_ID, SMS_NUMBER } from 'src/app/api.service';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { DatePipe, formatDate } from '@angular/common';\r\nimport { Component, OnInit, ChangeDetectorRef, NgZone } from '@angular/core';\r\nimport {\r\n FormControl,\r\n Validators,\r\n FormGroup,\r\n FormBuilder,\r\n} from '@angular/forms';\r\nimport { Router, ActivatedRoute, NavigationExtras } from '@angular/router';\r\nimport { BankAccount } from 'src/app/model/BankAccount';\r\nimport { Booking } from 'src/app/model/booking';\r\nimport { DateModel } from 'src/app/model/dateModel';\r\nimport { Message } from 'src/app/model/message';\r\nimport { MessageDto } from 'src/app/model/MessageDto';\r\nimport { MobileWallet } from 'src/app/model/mobileWallet';\r\nimport { Msg } from 'src/app/model/msg';\r\nimport { Payment } from 'src/app/model/payment';\r\nimport { Property } from 'src/app/model/property';\r\nimport { TokenStorage } from 'src/app/token.storage';\r\nimport { NgbCalendar, NgbDate } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Room } from 'src/app/model/room';\r\nimport { BusinessUser } from 'src/app/model/user';\r\nimport { HotelBookingService } from 'src/app/hotel-booking.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { PropertyServiceDTO } from 'src/app/model/PropertyServices';\r\n\r\ndeclare var Stripe: any;\r\n\r\ndeclare var window: any;\r\nexport interface Year {\r\n value: string;\r\n viewValue: string;\r\n}\r\nexport interface Currency {\r\n value: string;\r\n viewValue: string;\r\n}\r\nexport interface Month {\r\n value: string;\r\n viewValue: string;\r\n}\r\n\r\nexport interface PaymentMode {\r\n value: string;\r\n viewValue: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-checkout',\r\n templateUrl: './checkout.component.html',\r\n styleUrls: ['./checkout.component.css'],\r\n providers: [DatePipe],\r\n})\r\nexport class CheckoutComponent implements OnInit {\r\n fromDate: NgbDate | null;\r\n toDate: NgbDate | null;\r\n paymentLoader: boolean = false;\r\n verified = false;\r\n msgs: Message[] = [];\r\n loader: boolean = false;\r\n propertyName: string;\r\n isAvailableChecked: boolean = true;\r\n cashPayment: boolean;\r\n property: BusinessUser;\r\n totalBeforeTaxAmount:number=0\r\n bankAccount: BankAccount;\r\n mobileWallet: MobileWallet;\r\n mobileHasError: boolean;\r\n years: Year[] = [\r\n { value: '2021', viewValue: '2021' },\r\n { value: '2022', viewValue: '2022' },\r\n { value: '2023', viewValue: '2023' },\r\n { value: '2024', viewValue: '2024' },\r\n { value: '2025', viewValue: '2025' },\r\n { value: '2026', viewValue: '2026' },\r\n { value: '2027', viewValue: '2027' },\r\n { value: '2028', viewValue: '2028' },\r\n { value: '2029', viewValue: '2029' },\r\n { value: '2030', viewValue: '2030' },\r\n ];\r\n paymentModes: PaymentMode[] = [\r\n { value: 'Cash', viewValue: 'Cash on arrival' },\r\n { value: 'Card', viewValue: 'Card' },\r\n { value: 'BankTransfer', viewValue: 'BankTransfer' },\r\n { value: 'Wallet', viewValue: 'Wallet' },\r\n { value: 'Cheque', viewValue: 'Cheque' },\r\n { value: 'DemandDraft', viewValue: 'DemandDraft' },\r\n ];\r\n currencies: Currency[] = [\r\n { value: 'INR', viewValue: 'INR' },\r\n { value: 'AUD', viewValue: 'AUD' },\r\n { value: 'BDT', viewValue: 'BDT' },\r\n { value: 'EUR', viewValue: 'EUR' },\r\n { value: 'GBP', viewValue: 'GBP' },\r\n { value: 'USD', viewValue: 'USD' },\r\n ];\r\n months: Month[] = [\r\n { value: '01', viewValue: '01' },\r\n { value: '02', viewValue: '02' },\r\n { value: '03', viewValue: '03' },\r\n { value: '04', viewValue: '04' },\r\n { value: '05', viewValue: '05' },\r\n { value: '06', viewValue: '06' },\r\n { value: '07', viewValue: '07' },\r\n { value: '08', viewValue: '08' },\r\n { value: '09', viewValue: '09' },\r\n { value: '10', viewValue: '10' },\r\n { value: '11', viewValue: '11' },\r\n { value: '12', viewValue: '12' },\r\n ];\r\n\r\n expMonth: FormControl = new FormControl('', Validators.required);\r\n expYear: FormControl = new FormControl('', Validators.required);\r\n cvv: FormControl = new FormControl('', Validators.required);\r\n cardHolderName: FormControl = new FormControl('', Validators.required);\r\n cardNumber: FormControl = new FormControl('', Validators.required);\r\n paymentMode: FormControl = new FormControl('', Validators.required);\r\n bookingAmount: FormControl = new FormControl('', Validators.required);\r\n\r\n checkIn: FormControl = new FormControl();\r\n checkOut: FormControl = new FormControl();\r\n\r\n onPaymentForm: FormGroup = new FormGroup({\r\n expMonth: this.expMonth,\r\n expYear: this.expYear,\r\n cvv: this.cvv,\r\n cardHolderName: this.cardHolderName,\r\n cardNumber: this.cardNumber,\r\n paymentMode: this.paymentMode,\r\n bookingAmount: this.bookingAmount,\r\n });\r\n\r\n rooms: Room[];\r\n room: Room;\r\n dateModel: DateModel;\r\n booking: Booking;\r\n payment: Payment;\r\n businessUser:BusinessUser\r\n daySelected: string;\r\n yearSelected: string;\r\n monthSelected: number;\r\n addServiceList: PropertyServiceDTO[];\r\n daySelected2: string;\r\n yearSelected2: string;\r\n monthSelected2: number;\r\n currentDay: string;\r\n totalTaxAmount:number =0;\r\n isSuccess: boolean;\r\n headerTitle: string;\r\n bodyMessage: string;\r\n\r\n message: MessageDto;\r\n\r\n showAlert: boolean = false;\r\n alertType: string;\r\n contentDialog: any;\r\n roomsAndOccupancy: boolean = false;\r\n guest: number = 1;\r\n noOfChildren: number = 0;\r\n noOfrooms: number = 1;\r\n DiffDate;\r\n enddate;\r\n startDate;\r\n\r\n monthArray = [\r\n 'Jan',\r\n 'Feb',\r\n 'Mar',\r\n 'Apr',\r\n 'May',\r\n 'Jun',\r\n 'Jul',\r\n 'Aug',\r\n 'Sep',\r\n 'Oct',\r\n 'Nov',\r\n 'Dec',\r\n ];\r\n\r\n private ewaySecureFieldCode: string;\r\n private ewayErrors: string = null;\r\n private ewayInitComplete: boolean = false;\r\n submitButtonDisabled: boolean = false;\r\n currency: string;\r\n totalExtraAmount:number =0\r\n cardPaymentAvailable: boolean;\r\n constructor(\r\n private apiService: ApiService,\r\n private ngZone: NgZone,\r\n public token: TokenStorage,\r\n private router: Router,\r\n private hotelBookingService: HotelBookingService,\r\n // private snackBar: MatSnackBar,\r\n private changeDetectorRefs: ChangeDetectorRef,\r\n private datePipe: DatePipe,\r\n private formBuilder: FormBuilder,\r\n private acRoute: ActivatedRoute,\r\n private calendar: NgbCalendar\r\n ) {\r\n this.dateModel = new DateModel();\r\n this.booking = new Booking();\r\n this.room = new Room();\r\n this.payment = new Payment();\r\n this.property = new BusinessUser();\r\n\r\n if (\r\n this.token.getProperty() != undefined &&\r\n this.token.getProperty() != null\r\n ) {\r\n this.property = this.token.getProperty();\r\n this.businessUser = this.property\r\n\r\n this.currency = this.property.localCurrency.toLocaleUpperCase();\r\n }\r\n\r\n if (\r\n this.token.getBookingData() != undefined &&\r\n this.token.getBookingData() != null\r\n ) {\r\n this.booking = this.token.getBookingData();\r\n\r\n console.log('this.booking : ', JSON.stringify(this.booking));\r\n // console.log(\"payment gateway is\" + this.businessUser.paymentGateway)\r\n\r\n if (\r\n this.booking.fromDate != undefined &&\r\n this.booking.toDate != undefined\r\n ) {\r\n this.isAvailableChecked = true;\r\n // this.getCheckInDateFormat(this.booking.fromDate);\r\n // this.getcheckOutDateFormat(this.booking.toDate);\r\n this.fromDate = new NgbDate(\r\n this.mileSecondToNGBDate(this.booking.fromDate).year,\r\n this.mileSecondToNGBDate(this.booking.fromDate).month,\r\n this.mileSecondToNGBDate(this.booking.fromDate).day\r\n );\r\n this.toDate = new NgbDate(\r\n this.mileSecondToNGBDate(this.booking.toDate).year,\r\n this.mileSecondToNGBDate(this.booking.toDate).month,\r\n this.mileSecondToNGBDate(this.booking.toDate).day\r\n );\r\n // this.adults = this.booking.noOfPersons;\r\n // this.children = this.booking.noOfChildren;\r\n // this.noOfrooms = this.booking.noOfRooms;\r\n } else {\r\n this.booking.fromDate = this.getDateFormatYearMonthDay(\r\n this.fromDate.day,\r\n this.fromDate.month,\r\n this.fromDate.year\r\n );\r\n this.booking.toDate = this.getDateFormatYearMonthDay(\r\n this.toDate.day,\r\n this.toDate.month,\r\n this.toDate.year\r\n );\r\n this.isAvailableChecked = false;\r\n this.checkincheckOutDate();\r\n }\r\n\r\n this.getDiffDate(this.toDate, this.fromDate);\r\n\r\n console.log('this.bookingData ', JSON.stringify(this.booking));\r\n this.booking.discountAmount = 0;\r\n this.booking.netAmount =\r\n this.booking.roomPrice * this.booking.noOfRooms * this.DiffDate +\r\n this.booking.extraPersonCharge +\r\n this.booking.extraChildCharge;\r\n this.booking.gstAmount =\r\n (this.booking.netAmount * this.booking.taxPercentage) / 100;\r\n this.booking.totalAmount =\r\n this.booking.netAmount +\r\n this.booking.gstAmount -\r\n this.booking.discountAmount;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n\r\n window['angularComponentReference'] = {\r\n component: this,\r\n zone: this.ngZone,\r\n loadAngularFunction: () => this.stripePaymentSuccess(),\r\n };\r\n // this.acRoute.queryParams.subscribe((params) => {\r\n if (this.token.getBookingData() != undefined) {\r\n this.booking = this.token.getBookingData();\r\n\r\n // this.room = this.dateModel.room;\r\n // this.booking = this.dateModel.booking;\r\n\r\n this.getCheckInDateFormat(this.booking.fromDate);\r\n this.getCheckOutDateFormat(this.booking.toDate);\r\n\r\n // this.booking.businessEmail = this.booking.email;\r\n // this.booking.fromDate = this.dateModel.checkIn;\r\n // this.booking.toDate = this.dateModel.checkOut;\r\n // this.booking.roomId = this.room.id;\r\n this.booking.propertyId = PROPERTY_ID;\r\n // this.checkAvailabilty();\r\n // this.booking.discountPercentage = 0;\r\n }\r\n if (this.token.getProperty() != undefined) {\r\n this.property = this.token.getProperty();\r\n\r\n this.bankAccount = this.property.bankAccount;\r\n this.mobileWallet = this.property.mobileWallet;\r\n }\r\n // });\r\n }\r\n payAndCheckout() {\r\n\r\n this.payment.callbackUrl = environment.callbackUrl + this.booking.propertyReservationNumber + \"&BookingEngine=true\";\r\n\r\n if (this.businessUser.paymentGateway === \"paytm\") {\r\n this.payment.paymentMode = \"UPI\";\r\n this.payment.status = \"NotPaid\";\r\n this.payment.businessServiceName = \"Accommodation\";\r\n this.payment.firstName = this.booking.firstName;\r\n this.payment.lastName = this.booking.lastName;\r\n this.payment.name = this.booking.firstName + \" \" + this.booking.lastName;\r\n\r\n this.payment.email = this.booking.email;\r\n this.payment.businessEmail = this.businessUser.email;\r\n this.payment.currency = this.businessUser.localCurrency;\r\n this.payment.propertyId = this.businessUser.id;\r\n this.booking.taxAmount = ((this.booking.netAmount * this.booking.taxPercentage) / 100);\r\n this.payment.taxAmount = Number((Number(((this.booking.taxAmount / 100) * 20).toFixed(2)) + Number(((this.totalTaxAmount / 100) * 20).toFixed(2))).toFixed(2));\r\n this.payment.netReceivableAmount = Number((Number(((this.booking.netAmount / 100)* 20).toFixed(2)) + Number(((this.totalBeforeTaxAmount / 100) * 20).toFixed(2))).toFixed(2));\r\n this.payment.transactionAmount = Number((Number(((this.booking.totalAmount / 100) * 20).toFixed(2))));\r\n this.payment.amount = Number((Number(((this.booking.totalAmount / 100) * 20).toFixed(2))));\r\n this.booking.advanceAmount = Number((Number(((this.booking.totalAmount / 100) * 20).toFixed(2))));\r\n this.payment.transactionChargeAmount = Number((Number(((this.booking.totalAmount / 100) * 20).toFixed(2))));\r\n this.payment.referenceNumber = new Date().getTime().toString();\r\n this.payment.deliveryChargeAmount = 0;\r\n this.payment.date = this.datePipe.transform( new Date().getTime(), \"yyyy-MM-dd\" );\r\n // Logger.log(\"this.payment \"+ JSON.stringify(this.payment));\r\n // this.token.saveBookingData(this.booking);\r\n // this.token.savePaymentData(this.payment);\r\n\r\n this.payment.callbackUrl = environment.callbackUrl;\r\n\r\n // this.processPaymentPayTM(this.payment);\r\n // this.processPaymentPayTM(this.payment);\r\n\r\n this.cardPaymentAvailable = true;\r\n }\r\n else if (this.businessUser.paymentGateway === \"atom\") {\r\n this.payment.paymentMode = \"UPI\";\r\n this.payment.status = \"NotPaid\";\r\n this.payment.businessServiceName = \"Accommodation\";\r\n this.payment.firstName = this.booking.firstName;\r\n this.payment.lastName = this.booking.lastName;\r\n this.payment.name = this.booking.firstName + \" \" + this.booking.lastName;\r\n\r\n this.payment.email = this.booking.email;\r\n this.payment.businessEmail = this.businessUser.email;\r\n this.payment.currency = this.businessUser.localCurrency;\r\n this.payment.propertyId = this.businessUser.id;\r\n this.booking.taxAmount = ((this.booking.netAmount * this.booking.taxPercentage) / 100);\r\n this.payment.taxAmount = Number((Number(((this.booking.taxAmount / 100) * 20).toFixed(2)) + Number(((this.totalTaxAmount / 100) * 20).toFixed(2))).toFixed(2));\r\n this.payment.netReceivableAmount = Number((Number(((this.booking.netAmount / 100)* 20).toFixed(2)) + Number(((this.totalBeforeTaxAmount / 100) * 20).toFixed(2))).toFixed(2));\r\n this.payment.transactionAmount = Number((Number(((this.booking.totalAmount / 100) * 20).toFixed(2)) + Number(( (this.totalExtraAmount / 100) * 20).toFixed(2))).toFixed(2));\r\n this.payment.amount = Number((Number(((this.booking.totalAmount / 100) * 20).toFixed(2)) + Number(( (this.totalExtraAmount / 100) * 20).toFixed(2))).toFixed(2));\r\n this.booking.advanceAmount = Number((Number(((this.booking.totalAmount / 100) * 20).toFixed(2)) + Number(((this.totalExtraAmount / 100) * 20).toFixed(2))).toFixed(2));\r\n this.payment.transactionChargeAmount = Number((Number(((this.booking.totalAmount / 100) * 20).toFixed(2)) + Number(((this.totalExtraAmount /100) * 20).toFixed(2))).toFixed(2));\r\n this.payment.referenceNumber = new Date().getTime().toString();\r\n this.payment.deliveryChargeAmount = 0;\r\n this.payment.date = this.datePipe.transform(\r\n new Date().getTime(),\r\n \"yyyy-MM-dd\"\r\n );\r\n // Logger.log(\"this.payment \" + JSON.stringify(this.payment));\r\n // this.token.saveBookingData(this.booking);\r\n // this.token.savePaymentData(this.payment);\r\n\r\n // this.createBookingAtom();\r\n // this.processPaymentAtom(this.payment);\r\n\r\n this.cardPaymentAvailable = true;\r\n }\r\n else if (this.businessUser.paymentGateway === \"hdfc\") {\r\n this.payment.paymentMode = \"UPI\";\r\n this.payment.status = \"NotPaid\";\r\n this.payment.businessServiceName = \"Accommodation\";\r\n this.payment.firstName = this.booking.firstName;\r\n this.payment.lastName = this.booking.lastName;\r\n this.payment.name = this.booking.firstName + \" \" + this.booking.lastName;\r\n\r\n this.payment.email = this.booking.email;\r\n this.payment.businessEmail = this.businessUser.email;\r\n this.payment.currency = this.businessUser.localCurrency;\r\n this.payment.propertyId = this.businessUser.id;\r\n this.booking.taxAmount = ((this.booking.netAmount * this.booking.taxPercentage) / 100);\r\n this.payment.taxAmount = Number((Number(((this.booking.taxAmount / 100) *50).toFixed(2)) + Number(((this.totalTaxAmount / 100) *50).toFixed(2))).toFixed(2));\r\n this.payment.netReceivableAmount = Number((Number(((this.booking.netAmount / 100)*50).toFixed(2)) + Number(((this.totalBeforeTaxAmount / 100) *50).toFixed(2))).toFixed(2));\r\n this.payment.transactionAmount = Number((Number(((this.booking.totalAmount / 100) *50).toFixed(2))));\r\n this.payment.amount = Number((Number(((this.booking.totalAmount / 100) *50).toFixed(2))));\r\n this.booking.advanceAmount = Number((Number(((this.booking.totalAmount / 100) *50).toFixed(2)) + Number(((this.totalExtraAmount / 100) *50).toFixed(2))).toFixed(2));\r\n this.payment.transactionChargeAmount = Number((Number(((this.booking.totalAmount / 100) *50).toFixed(2)) + Number(((this.totalExtraAmount /100) *50).toFixed(2))).toFixed(2));\r\n this.payment.referenceNumber = new Date().getTime().toString();\r\n this.payment.deliveryChargeAmount = 0;\r\n this.payment.date = this.datePipe.transform(\r\n new Date().getTime(),\r\n \"yyyy-MM-dd\"\r\n );\r\n // Logger.log(\"this.payment \" + JSON.stringify(this.payment));\r\n // this.token.saveBookingData(this.booking);\r\n // this.token.savePaymentData(this.payment);\r\n\r\n // this.createBookingAtom();\r\n this.processPaymentHDFC(this.payment);\r\n\r\n this.cardPaymentAvailable = true;\r\n }\r\n }\r\n processPaymentHDFC(payment: Payment) {\r\n this.paymentLoader = true;\r\n this.changeDetectorRefs.detectChanges();\r\n\r\n this.hotelBookingService.processPayment(payment).subscribe(\r\n (response) => {\r\n if (response.status ===200) {\r\n if (response.body.failureMessage !== null) {\r\n this.paymentLoader = false;\r\n this.isSuccess = false;\r\n this.headerTitle = \"Error!\";\r\n this.bodyMessage =\r\n \"Unable to process payment\" +\r\n \" Code: \" +\r\n response.body.failureMessage;\r\n this.showDanger(this.contentDialog);\r\n\r\n this.changeDetectorRefs.detectChanges();\r\n } else {\r\n this.paymentLoader = false;\r\n this.payment = response.body;\r\n\r\n //for post booking create\r\n\r\n this.paymentIntentHdfc(this.payment);\r\n\r\n // for pre booking create\r\n\r\n this.addServiceToBooking(this.booking);\r\n }\r\n } else {\r\n this.paymentLoader = false;\r\n this.isSuccess = false;\r\n this.headerTitle = \"Error!\";\r\n this.bodyMessage = \"Payment Failed! Code: \" + response.status;\r\n this.showDanger(this.contentDialog);\r\n this.changeDetectorRefs.detectChanges();\r\n }\r\n },\r\n (error) => {\r\n this.paymentLoader = false;\r\n this.isSuccess = false;\r\n this.headerTitle = \"Error!\";\r\n this.bodyMessage = \"Payment Failed! Code: \" + error.status;\r\n this.showDanger(this.contentDialog);\r\n this.changeDetectorRefs.detectChanges();\r\n }\r\n );\r\n }\r\n\r\n paymentIntentHdfc(payment: Payment) {\r\n this.paymentLoader = true;\r\n\r\n this.hotelBookingService.paymentIntentHdfc(payment).subscribe((response) => {\r\n this.paymentLoader = false;\r\n if (response.status === 200) {\r\n this.payment = response.body;\r\n\r\n this.token.saveBookingData(this.booking);\r\n this.token.savePaymentData(this.payment);\r\n this.token.savePropertyData(this.businessUser);\r\n\r\n this.router.navigate([\"/booking/checkout-hdfc\"]);\r\n }\r\n });\r\n }\r\n addServiceToBooking(booking) {\r\n if (this.addServiceList.length > 0) {\r\n this.hotelBookingService\r\n .addServicesToBooking(this.addServiceList, booking.id)\r\n .subscribe((serviceRes) => {\r\n // Logger.log(\"addServiceList \", JSON.stringify(serviceRes.body));\r\n });\r\n }\r\n }\r\n getAvailableRoom() {\r\n this.dateModel = new DateModel();\r\n\r\n this.dateModel.checkIn = this.booking.fromDate;\r\n this.dateModel.checkOut = this.booking.toDate;\r\n this.dateModel.guest = this.booking.noOfPersons;\r\n this.dateModel.noOfRooms = this.booking.noOfRooms;\r\n this.dateModel.noOfChildren = this.booking.noOfChildren;\r\n\r\n // console.log(' this.dateModel '+JSON.stringify( this.dateModel));\r\n\r\n const navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n dateob: JSON.stringify(this.dateModel),\r\n },\r\n };\r\n\r\n this.router.navigate(['/booking/choose'], navigationExtras);\r\n }\r\n mileSecondToNGBDate(date: string) {\r\n const dsd = new Date(date);\r\n const year = dsd.getFullYear();\r\n const day = dsd.getDate();\r\n const month = dsd.getMonth() + 1;\r\n return { year: year, month: month, day: day };\r\n }\r\n getDiffDate(toDate, fromDate) {\r\n this.enddate = new Date(toDate.year, toDate.month - 1, toDate.day);\r\n\r\n this.startDate = new Date(fromDate.year, fromDate.month - 1, fromDate.day);\r\n // console.log('this.fromDate: ', this.startDate);\r\n // console.log('this.toDate: ', this.enddate);\r\n this.DiffDate = Math.floor(\r\n (Date.UTC(\r\n this.enddate.getFullYear(),\r\n this.enddate.getMonth(),\r\n this.enddate.getDate()\r\n ) -\r\n Date.UTC(\r\n this.startDate.getFullYear(),\r\n this.startDate.getMonth(),\r\n this.startDate.getDate()\r\n )) /\r\n (1000 * 60 * 60 * 24)\r\n );\r\n }\r\n checkedOutEvent() {\r\n this.isAvailableChecked = false;\r\n }\r\n // toggleRoomsAndOccupancy() {\r\n // if (this.roomsAndOccupancy == false) {\r\n // this.roomsAndOccupancy = true;\r\n // } else if (this.roomsAndOccupancy == true) {\r\n // this.roomsAndOccupancy = false;\r\n // }\r\n // }\r\n checkInEvent() {\r\n this.isAvailableChecked = false;\r\n let currentDate: Date = new Date(this.checkIn.value);\r\n\r\n let afterDate: Date = new Date();\r\n afterDate.setDate(currentDate.getDate() + 1);\r\n afterDate.setFullYear(currentDate.getFullYear());\r\n afterDate.setMonth(currentDate.getMonth());\r\n\r\n this.daySelected2 = this.getDay(afterDate);\r\n this.yearSelected2 = String(afterDate.getFullYear());\r\n this.monthSelected2 = afterDate.getMonth();\r\n }\r\n checkincheckOutDate() {\r\n let currentDate: Date = new Date();\r\n this.daySelected = this.getDay(currentDate);\r\n this.yearSelected = String(currentDate.getFullYear());\r\n this.monthSelected = currentDate.getMonth();\r\n\r\n let afterDate: Date = new Date();\r\n afterDate.setDate(currentDate.getDate() + 1);\r\n\r\n this.daySelected2 = this.getDay(afterDate);\r\n this.yearSelected2 = String(afterDate.getFullYear());\r\n this.monthSelected2 = afterDate.getMonth();\r\n }\r\n getDay(date: Date) {\r\n if (date.getDate().toString().length == 1) {\r\n this.currentDay = '0' + date.getDate();\r\n } else {\r\n this.currentDay = '' + date.getDate();\r\n }\r\n\r\n return this.currentDay;\r\n }\r\n getRoomByDate() {\r\n if (this.checkIn.value === null) {\r\n this.dateModel.checkIn =\r\n this.yearSelected +\r\n '-' +\r\n this.monthSelected +\r\n 1 +\r\n '-' +\r\n this.daySelected;\r\n } else {\r\n this.dateModel.checkIn = this.getDateFormat(this.checkIn.value);\r\n }\r\n\r\n if (this.checkOut.value === null) {\r\n this.dateModel.checkOut =\r\n this.yearSelected2 +\r\n '-' +\r\n this.monthSelected2 +\r\n 1 +\r\n '-' +\r\n this.daySelected2;\r\n } else {\r\n this.dateModel.checkOut = this.getDateFormat(this.checkOut.value);\r\n }\r\n\r\n if (\r\n this.dateModel.checkOut != undefined &&\r\n this.dateModel.checkIn != undefined\r\n ) {\r\n this.isAvailableChecked = true;\r\n\r\n this.booking.businessEmail = this.booking.email;\r\n this.booking.fromDate = this.dateModel.checkIn;\r\n this.booking.toDate = this.dateModel.checkOut;\r\n this.booking.roomId = this.room.id;\r\n this.booking.propertyId = PROPERTY_ID;\r\n this.checkAvailabilty();\r\n }\r\n }\r\n\r\n getDateFormat(dateString: string) {\r\n var yearAndMonth = dateString.split('-', 3);\r\n return (\r\n yearAndMonth[0] +\r\n '-' +\r\n yearAndMonth[1] +\r\n '-' +\r\n yearAndMonth[2].split(' ', 1)\r\n );\r\n }\r\n\r\n checkAvailabilty() {\r\n this.loader = true;\r\n this.msgs = [];\r\n\r\n this.apiService.checkAvailability(this.booking).subscribe(\r\n (response) => {\r\n this.loader = false;\r\n if (response.status === 200) {\r\n this.booking.available = response.body.available;\r\n this.booking.totalAmount = response.body.bookingAmount;\r\n this.booking.payableAmount = response.body.bookingAmount;\r\n this.booking.noOfExtraPerson = response.body.noOfExtraPerson;\r\n this.booking.extraPersonCharge = response.body.extraPersonCharge;\r\n\r\n console.log('avaiability' + JSON.stringify(response.body));\r\n\r\n if (this.booking.available === false) {\r\n this.msgs.push({\r\n severity: 'warn',\r\n summary:\r\n 'Appologies ! Seems we are soldout for the selected dates,please leave your details we will getback with in 24 hours. ',\r\n });\r\n //this.bookingButtonLabel = 'Enquire';\r\n } else {\r\n //this.bookingButtonLabel = 'Book';\r\n }\r\n } else {\r\n this.msgs.push({\r\n severity: 'error',\r\n summary: response.status + ':' + response.statusText,\r\n });\r\n }\r\n },\r\n (error) => this.handleError(error)\r\n );\r\n }\r\n\r\n private handleError(error: HttpErrorResponse) {\r\n this.msgs = [];\r\n this.loader = false;\r\n if (error.error instanceof ErrorEvent) {\r\n this.msgs.push({\r\n severity: 'error',\r\n summary: ` The server responded with erorr code : ${error.status} ,\r\n please email ${this.booking.businessEmail} to the proceed with the booking `,\r\n });\r\n } else {\r\n this.msgs.push({\r\n severity: 'error',\r\n summary: ` Erorr code : ${error.status} ,\r\n please email ${this.booking.businessEmail} to the proceed with the booking `,\r\n });\r\n }\r\n // return an observable with a user-facing error message\r\n /*return throwError(\r\n ` The server responded with erorr code : ${error.status} ,\r\n please email ${this.booking.businessEmail} to the proceed with the booking `\r\n );*/\r\n }\r\n\r\n onCardPaymentSubmit() {\r\n this.payment.paymentMode = 'Card';\r\n this.payment.status = 'Paid';\r\n this.payment.firstName = this.booking.firstName;\r\n this.payment.lastName = this.booking.lastName;\r\n this.payment.netReceivableAmount = this.booking.netAmount;\r\n this.payment.transactionAmount = this.booking.totalAmount;\r\n this.payment.amount = this.booking.totalAmount;\r\n this.payment.propertyId = this.booking.propertyId;\r\n this.payment.transactionChargeAmount = this.booking.totalAmount;\r\n this.payment.email = this.booking.email;\r\n this.payment.businessEmail = this.property.email;\r\n this.payment.currency = this.property.localCurrency;\r\n this.payment.deliveryChargeAmount = 0;\r\n this.payment.date = formatDate(new Date(), 'yyyy-MM-dd', 'en');\r\n this.payment.taxAmount = this.booking.gstAmount;\r\n this.booking.taxAmount = this.booking.gstAmount;\r\n this.chargeCreditCard(this.payment);\r\n }\r\n onWalletPaymentSubmit() {\r\n this.payment.paymentMode = 'Wallet';\r\n this.payment.status = 'Paid';\r\n this.payment.firstName = this.booking.firstName;\r\n this.payment.lastName = this.booking.lastName;\r\n this.payment.netReceivableAmount = this.booking.netAmount;\r\n this.payment.transactionAmount = this.booking.totalAmount;\r\n this.payment.amount = this.booking.totalAmount;\r\n this.payment.propertyId = this.booking.propertyId;\r\n this.payment.email = this.booking.email;\r\n this.payment.businessEmail = this.property.email;\r\n this.payment.transactionChargeAmount = this.booking.totalAmount;\r\n this.payment.currency = this.property.localCurrency;\r\n this.payment.deliveryChargeAmount = 0;\r\n this.payment.date = formatDate(new Date(), 'yyyy-MM-dd', 'en');\r\n this.payment.taxAmount = this.booking.gstAmount;\r\n // this.booking.taxAmount = this.booking.gstAmount;\r\n\r\n this.processPayment(this.payment);\r\n }\r\n onBankPaymentSubmit(content) {\r\n this.payment.paymentMode = 'BankTransfer';\r\n this.payment.status = 'Paid';\r\n this.payment.firstName = this.booking.firstName;\r\n this.payment.lastName = this.booking.lastName;\r\n this.payment.netReceivableAmount = this.booking.netAmount;\r\n this.payment.transactionAmount = this.booking.totalAmount;\r\n this.payment.amount = this.booking.totalAmount;\r\n this.payment.propertyId = this.booking.propertyId;\r\n this.payment.email = this.booking.email;\r\n this.payment.businessEmail = this.property.email;\r\n this.payment.transactionChargeAmount = this.booking.totalAmount;\r\n this.payment.currency = this.property.localCurrency;\r\n this.payment.deliveryChargeAmount = 0;\r\n this.payment.date = formatDate(new Date(), 'yyyy-MM-dd', 'en');\r\n this.payment.taxAmount = this.booking.gstAmount;\r\n // this.booking.taxAmount = this.booking.gstAmount;\r\n\r\n this.processPayment(this.payment);\r\n }\r\n\r\n onCashPaymentSubmit() {\r\n this.payment.paymentMode = 'Cash';\r\n this.payment.status = 'NotPaid';\r\n this.payment.firstName = this.booking.firstName;\r\n this.payment.lastName = this.booking.lastName;\r\n this.payment.netReceivableAmount = this.booking.netAmount;\r\n this.payment.transactionAmount = this.booking.totalAmount;\r\n this.payment.amount = this.booking.totalAmount;\r\n this.payment.propertyId = this.booking.propertyId;\r\n this.payment.email = this.booking.email;\r\n this.payment.businessEmail = this.property.email;\r\n this.payment.transactionChargeAmount = this.booking.totalAmount;\r\n this.payment.currency = this.property.localCurrency;\r\n this.payment.deliveryChargeAmount = 0;\r\n this.payment.date = formatDate(new Date(), 'yyyy-MM-dd', 'en');\r\n this.payment.taxAmount = this.booking.gstAmount;\r\n // this.booking.taxAmount = this.booking.gstAmount;\r\n\r\n this.processPayment(this.payment);\r\n }\r\n\r\n chargeCreditCard(payment: Payment) {\r\n this.paymentLoader = true;\r\n if (this.property.paymentGateway == 'eway') {\r\n const eWAY = (window as any).eWAY;\r\n\r\n const comp = this;\r\n\r\n eWAY.saveAllFields(() => {\r\n comp.paymentLoader = false;\r\n\r\n if (\r\n comp.ewaySecureFieldCode == null ||\r\n comp.ewaySecureFieldCode == undefined ||\r\n comp.ewaySecureFieldCode.trim().length < 5\r\n ) {\r\n comp.paymentLoader = false;\r\n comp.isSuccess = false;\r\n comp.headerTitle = 'Error!';\r\n comp.bodyMessage = 'Missing card information!';\r\n comp.showDanger(comp.contentDialog);\r\n comp.changeDetectorRefs.detectChanges();\r\n } else if (comp.ewayErrors != null && comp.ewayErrors != undefined) {\r\n comp.paymentLoader = false;\r\n comp.isSuccess = false;\r\n comp.headerTitle = 'Error!';\r\n comp.bodyMessage =\r\n 'Wrong card information!' + ' Codes: ' + comp.ewayErrors;\r\n comp.showDanger(comp.contentDialog);\r\n comp.changeDetectorRefs.detectChanges();\r\n } else {\r\n payment.token = comp.ewaySecureFieldCode;\r\n comp.processPayment(payment);\r\n }\r\n }, 2000);\r\n } else {\r\n (window as any).Stripe.card.createToken(\r\n {\r\n number: payment.cardNumber,\r\n exp_month: payment.expMonth,\r\n exp_year: payment.expYear,\r\n cvc: payment.cvv,\r\n },\r\n (status: number, response: any) => {\r\n if (status === 200) {\r\n const token = response.id;\r\n payment.token = token;\r\n\r\n this.processPayment(payment);\r\n this.changeDetectorRefs.detectChanges();\r\n } else if (status === 402) {\r\n this.paymentLoader = false;\r\n this.isSuccess = false;\r\n this.headerTitle = 'Error!';\r\n this.bodyMessage = 'Wrong card information!' + ' Code: ' + status;\r\n this.showDanger(this.contentDialog);\r\n this.changeDetectorRefs.detectChanges();\r\n } else {\r\n this.paymentLoader = false;\r\n this.isSuccess = false;\r\n this.headerTitle = 'Error!';\r\n this.bodyMessage = 'Card Payment Faied!' + ' Code: ' + status;\r\n this.showDanger(this.contentDialog);\r\n this.changeDetectorRefs.detectChanges();\r\n }\r\n }\r\n ),\r\n (error) => {\r\n this.paymentLoader = false;\r\n };\r\n }\r\n\r\n // (window as any).Stripe.card.createToken(\r\n // {\r\n // number: payment.cardNumber,\r\n // exp_month: payment.expMonth,\r\n // exp_year: payment.expYear,\r\n // cvc: payment.cvv,\r\n // },\r\n // (status: number, response: any) => {\r\n // if (status === 200) {\r\n // const token = response.id;\r\n // payment.token = token;\r\n\r\n // // console.log('credit card info done' + JSON.stringify(this.payment));\r\n // this.createBooking(this.booking);\r\n // this.changeDetectorRefs.detectChanges();\r\n // } else if (status === 402) {\r\n // this.paymentLoader = false;\r\n // this.isSuccess = false;\r\n // this.headerTitle = \"Error!\";\r\n // this.bodyMessage = \"Wrong card information!\" + \" Code: \" + status;\r\n // this.showDanger(this.contentDialog);\r\n // this.changeDetectorRefs.detectChanges();\r\n // } else {\r\n // this.paymentLoader = false;\r\n // this.isSuccess = false;\r\n // this.headerTitle = \"Error!\";\r\n // this.bodyMessage = \"Card Payment Faied!\" + \" Code: \" + status;\r\n // this.showDanger(this.contentDialog);\r\n // this.changeDetectorRefs.detectChanges();\r\n // }\r\n // }\r\n // ),\r\n // (error) => {\r\n // this.paymentLoader = false;\r\n // };\r\n }\r\n savePaymentProcess() {\r\n this.apiService.savePayment(this.payment).subscribe((res1) => {\r\n if (res1.status === 200) {\r\n this.payment = res1.body;\r\n // console.log('res1 save payment : ' + JSON.stringify(res1.body));\r\n // console.log('s : ' + JSON.stringify(this.slotReservation));\r\n\r\n this.booking.paymentId = this.payment.id;\r\n this.booking.modeOfPayment = this.payment.paymentMode;\r\n this.createBooking();\r\n } else {\r\n this.paymentLoader = false;\r\n }\r\n });\r\n }\r\n showSuccess(content) {\r\n this.alertType = 'success';\r\n this.showAlert = true;\r\n }\r\n showWarning(content) {\r\n this.alertType = 'warning';\r\n this.showAlert = true;\r\n setTimeout(() => {\r\n this.showAlert = false;\r\n this.changeDetectorRefs.detectChanges();\r\n }, 3000);\r\n }\r\n showDanger(content) {\r\n this.alertType = 'danger';\r\n this.showAlert = true;\r\n setTimeout(() => {\r\n this.showAlert = false;\r\n this.changeDetectorRefs.detectChanges();\r\n }, 3000);\r\n }\r\n cashOnDelivery() {\r\n this.cashPayment = true;\r\n }\r\n cardPayment() {\r\n this.cashPayment = false;\r\n if (this.property.paymentGateway == 'stripe') {\r\n this.loadStripe();\r\n\r\n this.payment.paymentMode = 'Card';\r\n this.payment.status = 'Paid';\r\n this.payment.firstName = this.booking.firstName;\r\n this.payment.lastName = this.booking.lastName;\r\n this.payment.netReceivableAmount = this.booking.netAmount;\r\n this.payment.transactionAmount = this.booking.totalAmount;\r\n this.payment.amount = this.booking.totalAmount;\r\n this.payment.propertyId = this.property.id;\r\n this.payment.transactionChargeAmount = this.booking.totalAmount;\r\n this.payment.email = this.booking.email;\r\n this.payment.businessEmail = this.property.email;\r\n this.payment.currency = this.property.localCurrency;\r\n\r\n this.booking.taxAmount =\r\n (this.booking.netAmount * this.booking.taxPercentage) / 100;\r\n this.payment.taxAmount = this.booking.taxAmount;\r\n this.payment.deliveryChargeAmount = 0;\r\n this.payment.date = this.datePipe.transform(\r\n new Date().getTime(),\r\n 'yyyy-MM-dd'\r\n );\r\n\r\n this.paymentIntent(this.payment);\r\n this.cardPaymentAvailable = true;\r\n }\r\n }\r\n bankPayment() {\r\n this.cashPayment = false;\r\n }\r\n MobileWallet() {\r\n this.cashPayment = false;\r\n }\r\n submitPayment() {\r\n if (\r\n this.booking.modeOfPayment != null &&\r\n this.booking.modeOfPayment === 'Card'\r\n ) {\r\n // this.chargeCreditCard();\r\n this.processPayment(this.payment);\r\n } else if (\r\n this.booking.modeOfPayment != null &&\r\n this.booking.modeOfPayment != 'Card'\r\n ) {\r\n this.loader = true;\r\n this.payment.amount = this.booking.payableAmount;\r\n this.payment.paymentMode = this.booking.modeOfPayment;\r\n this.payment.currency = 'INR';\r\n this.payment.email = this.booking.email;\r\n this.payment.businessEmail = this.booking.businessEmail;\r\n this.payment.description = `Accomodation for ${this.booking.firstName} at ${this.propertyName}`;\r\n this.createBooking();\r\n }\r\n }\r\n\r\n processPayment(payment: Payment) {\r\n this.paymentLoader = true;\r\n this.apiService.processPayment(payment).subscribe((response) => {\r\n if (response.status === 200) {\r\n if (response.body.failureMessage != null) {\r\n this.paymentLoader = false;\r\n this.isSuccess = false;\r\n this.headerTitle = 'Error!';\r\n this.bodyMessage =\r\n 'Unable to process payment' +\r\n ' Code: ' +\r\n response.body.failureMessage;\r\n this.showDanger(this.contentDialog);\r\n\r\n this.changeDetectorRefs.detectChanges();\r\n } else {\r\n this.paymentLoader = false;\r\n this.payment = response.body;\r\n this.booking.paymentId = response.body.id;\r\n this.booking.modeOfPayment = this.payment.paymentMode;\r\n this.createBooking();\r\n\r\n }\r\n } else {\r\n this.paymentLoader = false;\r\n this.isSuccess = false;\r\n this.headerTitle = 'Error!';\r\n this.bodyMessage = 'Payment Failed! Code: ' + response.status;\r\n this.showDanger(this.contentDialog);\r\n this.changeDetectorRefs.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n createBooking() {\r\n this.booking.modeOfPayment = this.payment.paymentMode;\r\n this.booking.externalSite = 'Website';\r\n this.booking.businessName = this.property.name;\r\n this.booking.businessEmail = this.property.email;\r\n this.booking.roomBooking = true;\r\n this.booking.bookingAmount = this.booking.totalAmount;\r\n this.booking.groupBooking = false;\r\n this.booking.available = true;\r\n this.booking.payableAmount = this.booking.totalAmount;\r\n this.booking.currency = this.property.localCurrency;\r\n\r\n console.log('createBooking ', JSON.stringify(this.booking));\r\n\r\n this.paymentLoader = true;\r\n\r\n this.apiService.createBooking(this.booking).subscribe((response) => {\r\n if (response.status === 200) {\r\n this.booking = response.body;\r\n if (this.booking.id != null) {\r\n this.openSuccessSnackBar(\r\n `Thanks for the booking .Please not the Reservation No: # ${this.booking.id} and an email is sent with the booking details.`\r\n );\r\n // this.msgs.push({\r\n // severity: 'success',\r\n // detail:\r\n // `Thanks for the booking .Please not the Reservation No: # ${this.booking.id} and an email is sent with the booking details.`\r\n // });\r\n if (\r\n this.booking.mobile !== null &&\r\n this.booking.mobile !== undefined\r\n ) {\r\n this.sendConfirmationMessage();\r\n }\r\n\r\n this.payment.referenceNumber = this.booking.propertyReservationNumber;\r\n this.payment.externalReference = this.booking.externalBookingID;\r\n this.apiService.savePayment(this.payment).subscribe((res) => {\r\n if (res.status === 200) {\r\n this.openSuccessSnackBar(`Payment Details Saved`);\r\n } else {\r\n this.openErrorSnackBar(`Error in updating payment details`);\r\n }\r\n });\r\n this.completedPage();\r\n this.loader = false;\r\n } else {\r\n this.loader = false;\r\n // this.msgs.push({\r\n // severity: 'error',\r\n // summary: 'Please check the booking details and try again !'\r\n // });\r\n }\r\n } else {\r\n this.loader = false;\r\n // this.msgs.push({\r\n // severity: 'error',\r\n // summary: response.statusText + ':' + response.statusText\r\n // });\r\n }\r\n this.loader = false;\r\n });\r\n /*setTimeout(() => {\r\n this.msgs = [];\r\n createBookingObsr.unsubscribe();\r\n this.spinner = false;\r\n this.msgs.push({\r\n severity: 'error',\r\n summary: 'The server is taking more than usual time,please try again after sometime.'\r\n });\r\n }, 25000); */\r\n }\r\n\r\n completedPage() {\r\n this.dateModel.payment = this.payment;\r\n\r\n let navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n dateob: JSON.stringify(this.dateModel),\r\n },\r\n };\r\n this.router.navigate([\r\n '/booking/details/' + this.booking.propertyReservationNumber + '/' + this.booking.email + '',\r\n ]);\r\n }\r\n\r\n sendConfirmationMessage() {\r\n let msg = new Msg();\r\n msg.fromNumber = SMS_NUMBER;\r\n msg.toNumber = this.booking.mobile;\r\n msg.message = `Dear ${this.booking.firstName},Rsvn#:${this.booking.id},${this.booking.roomName},Chk-In:${this.booking.fromDate},Chk-Out:${this.booking.toDate},Amt:${this.booking.payableAmount}INR.Thx.${this.booking.businessName},${this.booking.mobile}`;\r\n\r\n this.apiService.sendTextMessage(msg).subscribe(\r\n (response1) => {\r\n msg = response1.body;\r\n if (msg.sid !== undefined || msg.sid !== null) {\r\n this.openSuccessSnackBar('Booking Confirmation Sent.');\r\n }\r\n },\r\n (error) => {\r\n if (error instanceof HttpErrorResponse) {\r\n this.openErrorSnackBar('Error in sending sms');\r\n }\r\n }\r\n );\r\n }\r\n\r\n openErrorSnackBar(message: string) {\r\n // this.snackBar.open(message, \"Error!\", {\r\n // panelClass: [\"mat--errors\"],\r\n // verticalPosition: \"top\",\r\n // horizontalPosition: \"right\",\r\n // duration: 4000,\r\n // });\r\n }\r\n openSuccessSnackBar(message: string) {\r\n // this.snackBar.open(message, \"Success!\", {\r\n // panelClass: [\"mat--success\"],\r\n // verticalPosition: \"top\",\r\n // horizontalPosition: \"right\",\r\n // duration: 4000,\r\n // });\r\n }\r\n\r\n getCheckInDateFormat(dateString: string) {\r\n var yearAndMonth = dateString.split('-', 3);\r\n this.daySelected = String(yearAndMonth[2].split(' ', 1));\r\n this.yearSelected = yearAndMonth[0];\r\n this.monthSelected = parseInt(yearAndMonth[1]) - 1;\r\n }\r\n\r\n getCheckOutDateFormat(dateString: string) {\r\n var yearAndMonth = dateString.split('-', 3);\r\n this.daySelected2 = String(yearAndMonth[2].split(' ', 1));\r\n this.yearSelected2 = yearAndMonth[0];\r\n this.monthSelected2 = parseInt(yearAndMonth[1]) - 1;\r\n }\r\n getDateFormatYearMonthDay(\r\n day12: number,\r\n month12: number,\r\n year12: number\r\n ): string {\r\n const year = year12;\r\n const date = day12;\r\n\r\n const month = month12;\r\n\r\n let month1;\r\n let day1;\r\n if (Number(month) < 10) {\r\n month1 = `0${month}`;\r\n } else {\r\n month1 = `${month}`;\r\n }\r\n if (Number(date) < 10) {\r\n day1 = `0${date}`;\r\n } else {\r\n day1 = `${date}`;\r\n }\r\n\r\n return `${year}-${month1}-${day1}`;\r\n }\r\n\r\n paymentIntent(payment: Payment) {\r\n this.paymentLoader = true;\r\n payment.date = this.datePipe.transform(new Date().getTime(), 'yyyy-MM-dd');\r\n this.apiService.paymentIntent(payment).subscribe((response) => {\r\n this.paymentLoader = false;\r\n if (response.status === 200) {\r\n this.payment = response.body;\r\n console.log('payment Intent Response: ' + JSON.stringify(response) );\r\n }\r\n });\r\n }\r\n loadStripe() {\r\n // Your Stripe public key\r\n const stripe = Stripe(this.property.paymentGatewayPublicKey);\r\n\r\n // Create `card` element that will watch for updates\r\n // and display error messages\r\n const elements = stripe.elements();\r\n const card = elements.create('card');\r\n card.mount('#card-element');\r\n card.addEventListener('change', (event) => {\r\n const displayError = document.getElementById('card-error');\r\n if (event.error) {\r\n displayError.textContent = event.error.message;\r\n } else {\r\n displayError.textContent = '';\r\n }\r\n });\r\n\r\n // Listen for form submission, process the form with Stripe,\r\n // and get the\r\n const paymentForm = document.getElementById('payment-form');\r\n paymentForm.addEventListener('submit', (event) => {\r\n event.preventDefault();\r\n\r\n payWithCard(stripe, card, this.payment.clientSecret);\r\n });\r\n\r\n const payWithCard = function (stripe, card, clientSecret) {\r\n loading(true);\r\n stripe\r\n .confirmCardPayment(clientSecret, {\r\n payment_method: {\r\n card: card,\r\n },\r\n })\r\n .then(function (result) {\r\n if (result.error) {\r\n // Show error to your customer\r\n showError(result.error.message);\r\n } else {\r\n // The payment succeeded!\r\n loading(false);\r\n\r\n console.log(JSON.stringify(result));\r\n\r\n orderComplete();\r\n }\r\n });\r\n };\r\n\r\n const loading = function (isLoading) {\r\n if (isLoading) {\r\n // Disable the button and show a spinner\r\n document.querySelector('button').disabled = true;\r\n document.querySelector('#spinner').classList.remove('hidden');\r\n document.querySelector('#button-text').classList.add('hidden');\r\n } else {\r\n document.querySelector('button').disabled = false;\r\n document.querySelector('#spinner').classList.add('hidden');\r\n document.querySelector('#button-text').classList.remove('hidden');\r\n }\r\n };\r\n const showError = function (errorMsgText) {\r\n loading(false);\r\n var errorMsg = document.querySelector('#card-error');\r\n errorMsg.textContent = errorMsgText;\r\n setTimeout(function () {\r\n errorMsg.textContent = '';\r\n }, 4000);\r\n };\r\n let orderComplete = function () {\r\n window.angularComponentReference.zone.run(() => {\r\n window.angularComponentReference.loadAngularFunction();\r\n });\r\n };\r\n }\r\n stripePaymentSuccess() {\r\n this.apiService.savePayment(this.payment).subscribe((response) => {\r\n this.paymentLoader = false;\r\n if (response.status === 200) {\r\n this.payment = response.body;\r\n console.log('payment Intent Response: ' + response);\r\n\r\n this.booking.paymentId = response.body.id;\r\n this.booking.modeOfPayment = this.payment.paymentMode;\r\n\r\n console.log('Card info done' + JSON.stringify(this.payment));\r\n this.changeDetectorRefs.detectChanges();\r\n\r\n this.createBooking();\r\n }\r\n });\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Booking

    \r\n
    \r\n

    Find Your Desire Room

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n
      \r\n

      CHECK-IN

      \r\n
      \r\n {{ this.daySelected }}\r\n \r\n {{monthArray[monthSelected] }} \r\n {{ this.yearSelected }}\r\n \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
    • \r\n
    • \r\n
      \r\n

      CHECK-OUT

      \r\n
      \r\n {{ this.daySelected2 }}\r\n \r\n {{ monthArray[monthSelected2] }} {{ this.yearSelected2 }}\r\n \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
    • \r\n \r\n\r\n
    • \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
    • \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n

    Your InformatIons

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n

    First Name :

    \r\n {{ this.booking.firstName }}\r\n
    \r\n

    Last First :

    \r\n {{ this.booking.lastName }}\r\n
    \r\n

    Phone :

    \r\n {{ this.booking.mobile }}\r\n
    \r\n

    Email :

    \r\n {{ this.booking.email }}\r\n
    \r\n\r\n
    \r\n

    Room Information :

    \r\n
      \r\n
    • Room Name : {{ booking.roomName }}
    • \r\n
    • No of rooms : {{ booking.noOfRooms }}
    • \r\n
    • No of guest : {{ booking.noOfPersons }}
    • \r\n
    • No of child(s) : {{ booking.noOfChildren }}
    • \r\n
    \r\n
    \r\n
    \r\n

    Payment Method

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Confirm booking
    \r\n

    Pay the total amount\r\n {{booking.totalAmount | currency: currency:'symbol':'1.2-2' }}\r\n when you check-in at the hotel.

    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n Please pay 50% of the total booking amount \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Bank Information
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n

    Please pay {{ booking.totalAmount | number : '1.2-2' }} using\r\n following bank details and share the transaction reference\r\n number below.

    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Mobile Wallet Information
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n

    Please pay {{ booking.totalAmount | number : '1.2-2' }} using\r\n following mobile wallet details and share the transaction\r\n reference number below.

    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n","export class Msg {\r\n toNumber: string;\r\n fromNumber: string;\r\n message: string;\r\n sid: string;\r\n constructor() {\r\n } \r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Injectable, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, NavigationExtras, Router } from '@angular/router';\r\nimport {\r\n NgbCalendar,\r\n NgbCarouselConfig,\r\n NgbDate,\r\n NgbDateAdapter,\r\n NgbDateParserFormatter,\r\n NgbDateStruct,\r\n} from '@ng-bootstrap/ng-bootstrap';\r\nimport { ApiService } from 'src/app/api.service';\r\nimport { PROPERTY_ID } from 'src/app/app.component';\r\nimport { DateModel } from 'src/app/model/dateModel';\r\nimport { Property } from 'src/app/model/property';\r\nimport { BusinessUser } from 'src/app/model/user';\r\nimport { TokenStorage } from 'src/app/token.storage';\r\n\r\nexport class CustomAdapter extends NgbDateAdapter {\r\n readonly DELIMITER = '-';\r\n\r\n fromModel(value: string | null): NgbDateStruct | null {\r\n if (value) {\r\n let date = value.split(this.DELIMITER);\r\n return {\r\n day: parseInt(date[0], 10),\r\n month: parseInt(date[1], 10),\r\n year: parseInt(date[2], 10),\r\n };\r\n }\r\n return null;\r\n }\r\n\r\n toModel(date: NgbDateStruct | null): string | null {\r\n return date\r\n ? date.day + this.DELIMITER + date.month + this.DELIMITER + date.year\r\n : null;\r\n }\r\n}\r\n@Injectable()\r\nexport class CustomDateParserFormatter extends NgbDateParserFormatter {\r\n readonly DELIMITER = '/';\r\n\r\n parse(value: string): NgbDateStruct | null {\r\n if (value) {\r\n let date = value.split(this.DELIMITER);\r\n return {\r\n day: parseInt(date[0], 10),\r\n month: parseInt(date[1], 10),\r\n year: parseInt(date[2], 10),\r\n };\r\n }\r\n return null;\r\n }\r\n\r\n format(date: NgbDateStruct | null): string {\r\n return date\r\n ? date.day + this.DELIMITER + date.month + this.DELIMITER + date.year\r\n : '';\r\n }\r\n}\r\n@Component({\r\n selector: 'app-slider',\r\n templateUrl: './slider.component.html',\r\n styleUrls: ['./slider.component.css'],\r\n providers: [\r\n NgbCarouselConfig,\r\n { provide: NgbDateAdapter, useClass: CustomAdapter },\r\n { provide: NgbDateParserFormatter, useClass: CustomDateParserFormatter },\r\n ], // add NgbCarouselConfig to the component providers\r\n})\r\nexport class SliderComponent implements OnInit {\r\n property: BusinessUser;\r\n currentDay: string;\r\n day: string;\r\n year: string;\r\n month: number;\r\n\r\n day2: string;\r\n year2: string;\r\n month2: number;\r\n\r\n fromDate: NgbDateStruct;\r\n toDate: NgbDateStruct;\r\n\r\n dateModel: DateModel;\r\n\r\n minToDate: Date;\r\n maxToDate: Date;\r\n\r\n minFromDate: Date;\r\n maxFromDate: Date;\r\n toDateMinMilliSeconds: number;\r\n toDateMaxMilliSeconds: number;\r\n fromDateMinMilliSeconds: number;\r\n fromDateMaxMilliSeconds: number;\r\n\r\n placement = 'top';\r\n\r\n checkIn: NgbDate;\r\n checkOut: NgbDate;\r\n guest: number = 1;\r\n noOfRooms: number = 1;\r\n noOfChildren: number = 0;\r\n\r\n CheckIn: FormControl = new FormControl();\r\n CheckOut: FormControl = new FormControl();\r\n Guest: FormControl = new FormControl();\r\n NoOfRooms: FormControl = new FormControl();\r\n NoOfChildren: FormControl = new FormControl();\r\n\r\n form = new FormGroup({\r\n CheckIn: new FormControl(),\r\n CheckOut: new FormControl(),\r\n Guest: new FormControl(),\r\n NoOfRooms: new FormControl(),\r\n NoOfChildren: new FormControl(),\r\n });\r\n\r\n slideImage = [\r\n {\r\n imageUrl: 'assets/images/picone.png',\r\n title: '',\r\n },\r\n {\r\n imageUrl: 'assets/images/pictwo.png',\r\n title: '',\r\n },\r\n {\r\n imageUrl: 'assets/images/pictwo.png',\r\n title: '',\r\n },\r\n // {\r\n // imageUrl: 'assets/images/dgreenvillage1.png',\r\n // title: '',\r\n // },\r\n ];\r\n slideConfig = {\r\n centerMode: true,\r\n centerPadding: '0',\r\n slidesToShow: 1,\r\n autoplay: true,\r\n autoplaySpeed: 3000,\r\n arrows: true,\r\n responsive: [\r\n {\r\n breakpoint: 1367,\r\n settings: {\r\n centerPadding: '0',\r\n },\r\n },\r\n {\r\n breakpoint: 1025,\r\n settings: {\r\n centerPadding: '0',\r\n slidesToShow: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 767,\r\n settings: {\r\n centerPadding: '0',\r\n slidesToShow: 1,\r\n },\r\n },\r\n ],\r\n };\r\n maxOccupancy: number;\r\n maxSelectedRooms: number;\r\n hotelID: any;\r\n checkinDay: any;\r\n checkinMonth: any;\r\n checkinYear: any;\r\n nights: any;\r\n adults: any;\r\n children: any;\r\n property1: Property;\r\n constructor(\r\n public config: NgbCarouselConfig,\r\n public router: Router,\r\n public token: TokenStorage,\r\n public formatter: NgbDateParserFormatter,\r\n private calendar: NgbCalendar,\r\n public apiService: ApiService,\r\n private acRoute: ActivatedRoute,\r\n private ngbCalendar: NgbCalendar,\r\n private dateAdapter: NgbDateAdapter\r\n ) {\r\n config.interval = 5000;\r\n config.keyboard = true;\r\n config.pauseOnHover = true;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dateModel = new DateModel();\r\n this.getProperty();\r\n this.acRoute.queryParams.subscribe((params) => {\r\n // https://demohotel.bookonepms.com?hotelID=(PARTNER-HOTEL-ID)&checkinDay=(CHECKINDAY)&checkinMonth=(CHECKINMONTH)&checkinYear=(CHECKINYEAR)&nights=(LENGTH)&adults=(NUM-ADULTS)&children=(NUM-CHILDREN)\r\n if (params['hotelID'] !== undefined) {\r\n this.hotelID = params['hotelID'];\r\n }\r\n if (params['checkinDay'] !== undefined) {\r\n this.checkinDay = params['checkinDay'];\r\n }\r\n if (params['checkinMonth'] !== undefined) {\r\n this.checkinMonth = params['checkinMonth'];\r\n }\r\n if (params['checkinYear'] !== undefined) {\r\n this.checkinYear = params['checkinYear'];\r\n }\r\n // this.checkInDate = this.checkinYear + \"-\" + this.checkinMonth + \"-\" + this.checkinDay;\r\n // this.checkIn.day = Number(this.checkinDay);\r\n // this.checkIn.month = Number(this.checkinMonth);\r\n // this.checkIn.year = Number(this.checkinYear);\r\n this.dateModel.checkIn = this.getDateFormatYearMonthDay(\r\n this.checkinDay,\r\n this.checkinMonth,\r\n this.checkinYear\r\n );\r\n this.year = this.checkinYear;\r\n this.month = this.checkinMonth - 1;\r\n this.day = this.checkinDay;\r\n if (params['nights'] !== undefined) {\r\n this.nights = params['nights'];\r\n const jsDate = new Date(\r\n Number(this.checkinYear),\r\n Number(this.checkinMonth),\r\n Number(this.checkinDay) + Number(this.nights)\r\n );\r\n this.checkIn = new NgbDate(Number(this.checkinYear),Number(this.checkinMonth),Number(this.checkinDay));\r\n this.checkOut = new NgbDate(jsDate.getFullYear(),jsDate.getMonth(),jsDate.getDate());\r\n\r\n this.dateModel.checkOut = this.getDateFormatYearMonthDay(\r\n jsDate.getDate(),\r\n jsDate.getMonth(),\r\n jsDate.getFullYear()\r\n );\r\n console.log(jsDate.getDate() + ' - ' + jsDate.getMonth());\r\n\r\n console.log(this.dateModel.checkOut);\r\n this.noOfRooms = 1;\r\n }\r\n if (params['adults'] !== undefined) {\r\n this.adults = params['adults'];\r\n this.guest = this.adults;\r\n }\r\n if (params['children'] !== undefined) {\r\n this.children = params['children'];\r\n this.noOfChildren = this.children;\r\n }\r\n console.log(\r\n 'googleData ' +\r\n this.hotelID +\r\n ' checkinDay ' +\r\n this.checkinDay +\r\n ' checkinMonth ' +\r\n this.checkinMonth +\r\n ' checkinYear ' +\r\n this.checkinYear +\r\n ' nights ' +\r\n this.nights +\r\n ' adults ' +\r\n this.adults +\r\n ' children ' +\r\n this.children +\r\n this.dateModel.checkIn\r\n );\r\n });\r\n }\r\n getProperty() {\r\n this.apiService.getPropertyDetailsByPropertyId(PROPERTY_ID).subscribe(\r\n (response) => {\r\n this.property = response.body;\r\n this.maxOccupancy = this.property.maximumOccupancy;\r\n this.maxSelectedRooms = this.property.numberOfRooms;\r\n this.token.saveProperty(this.property1);\r\n },\r\n (error) => {\r\n if (error instanceof HttpErrorResponse) {\r\n }\r\n }\r\n );\r\n }\r\n submitForm(searchForm) {}\r\n validateInput(currentValue: NgbDate | null, input: string): NgbDate | null {\r\n const parsed = this.formatter.parse(input);\r\n return parsed && this.calendar.isValid(NgbDate.from(parsed))\r\n ? NgbDate.from(parsed)\r\n : currentValue;\r\n }\r\n getDateFormat(dateString: string) {\r\n const yearAndMonth = dateString.split('-', 3);\r\n return (\r\n yearAndMonth[0] +\r\n '-' +\r\n yearAndMonth[1] +\r\n '-' +\r\n yearAndMonth[2].split(' ', 1)\r\n );\r\n }\r\n model(checkIn) {\r\n console.log('model: ', checkIn);\r\n }\r\n onBook() {\r\n if (this.checkIn === null) {\r\n this.dateModel.checkIn =\r\n this.year + '-' + (this.month + 1) + '-' + this.day;\r\n } else {\r\n // this.dateModel.checkIn = this.getDateFormat(this.checkIn);\r\n this.dateModel.checkIn = this.getDateFormatYearMonthDay(\r\n this.checkIn.day,\r\n this.checkIn.month,\r\n this.checkIn.year\r\n );\r\n }\r\n\r\n if (this.checkOut === null) {\r\n this.dateModel.checkOut =\r\n this.year2 + '-' + (this.month2 + 1) + '-' + this.day2;\r\n } else {\r\n // this.dateModel.checkOut = this.getDateFormat(this.checkOut);\r\n this.dateModel.checkOut = this.getDateFormatYearMonthDay(\r\n this.checkOut.day,\r\n this.checkOut.month,\r\n this.checkOut.year\r\n );\r\n }\r\n if (this.guest === null) {\r\n this.dateModel.guest = 1;\r\n } else {\r\n this.dateModel.guest = this.guest;\r\n }\r\n if (this.noOfChildren === null) {\r\n this.dateModel.noOfChildren = 1;\r\n } else {\r\n this.dateModel.noOfChildren = this.noOfChildren;\r\n }\r\n if (this.noOfRooms === null) {\r\n this.dateModel.noOfRooms = 1;\r\n } else {\r\n this.dateModel.noOfRooms = this.noOfRooms;\r\n }\r\n console.log(' this.dateModel ' + JSON.stringify(this.dateModel));\r\n\r\n const navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n dateob: JSON.stringify(this.dateModel),\r\n },\r\n };\r\n this.router.navigate(['/booking/choose'], navigationExtras);\r\n }\r\n getDateFormatYearMonthDay(\r\n day12: number,\r\n month12: number,\r\n year12: number\r\n ): string {\r\n const year = year12;\r\n const date = day12;\r\n\r\n const month = month12;\r\n\r\n let month1;\r\n let day1;\r\n if (Number(month) < 10) {\r\n month1 = `0${month}`;\r\n } else {\r\n month1 = `${month}`;\r\n }\r\n if (Number(date) < 10) {\r\n day1 = `0${date}`;\r\n } else {\r\n day1 = `${date}`;\r\n }\r\n\r\n return `${year}-${month1}-${day1}`;\r\n }\r\n}\r\n","\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Hotel A One Luxury

    \r\n
    \r\n

    Best memories starts here

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \"First\r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n\r\n\r\n\r\n","import {Component, TemplateRef} from '@angular/core';\r\n\r\nimport {ToastService} from './toast-service';\r\n\r\n\r\n@Component({\r\n selector: 'app-toasts',\r\n template: `\r\n \r\n \r\n \r\n \r\n\r\n {{ toast.textOrTpl }}\r\n \r\n `,\r\n host: {'[class.ngb-toasts]': 'true'}\r\n})\r\nexport class ToastsContainer {\r\n constructor(public toastService: ToastService) {}\r\n\r\n isTemplate(toast) { return toast.textOrTpl instanceof TemplateRef; }\r\n}","import { TaxDetails } from './TaxDetails';\r\nimport { Room } from 'src/app/model/room';\r\nimport { Address } from './address';\r\nimport { BusinessServiceDtoList } from './businessServiceDtoList';\r\nimport { SubscriptionList } from './subscriptionList';\r\nimport { MobileWallet } from './mobileWallet';\r\n\r\nexport class BusinessUser {\r\n name: string;\r\n id: number;\r\n numberOfRooms:number;\r\n businessDescription: string;\r\n businessShortDescription: string;\r\n businessName: string;\r\n businessType: string;\r\n businessSubtype: string;\r\n businessTypeGroup: string;\r\n email: string;\r\n firstName: string;\r\n lastName: string;\r\n landphoneNumber: string;\r\n landphone: string;\r\n mobileNumber: string;\r\n organisationId: number;\r\n userStatus: string;\r\n username: string;\r\n password: string;\r\n confirmPassword: string;\r\n dashboardUrl: string;\r\n plan: string;\r\n newBusinessType: string;\r\n address: Address;\r\n facebook: string;\r\n instagram: string;\r\n twitter: string;\r\n gstNumber: string;\r\n imageUrl: string;\r\n bookOneRating: number;\r\n minimumRoooPrice: number;\r\n imageList: [\r\n {\r\n description: string,\r\n id: string,\r\n mainImage: true,\r\n name: string,\r\n url: string\r\n }\r\n ];\r\n longitude: string;\r\n latitude: string;\r\n seoFriendlyName: string;\r\n localCurrency: string;\r\n logoUrl: string;\r\n managerContactNo: string;\r\n managerEmailAddress: string;\r\n managerFirstName: string;\r\n managerLastName: string;\r\n maximumOccupancy: number;\r\n minimumOccupancy: number;\r\n mobile: string;\r\n noOfFloor: number;\r\n noOfBookOneReview: number;\r\n noOfRoomType: number;\r\n placeId: string;\r\n paymentGateway: string;\r\n paymentGatewayApiKey: string;\r\n paymentGatewayApiToken: string;\r\n paymentGatewayPublicKey: string;\r\n priceFortNight: number;\r\n priceMonthly: number;\r\n pricePerNight: number;\r\n pricePerWeek: number;\r\n propertyBarCode: string;\r\n propertyStatus: string;\r\n shortName: string;\r\n slogan: string;\r\n subscriptionList: SubscriptionList[];\r\n website: string;\r\n whatsApp: string;\r\n businessServiceDtoList: BusinessServiceDtoList[];\r\n roomList: Room[];\r\n bankAccount : any;\r\n mobileWallet : MobileWallet;\r\n\r\n taxDetails: TaxDetails[];\r\n constructor() {}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-service-home',\r\n templateUrl: './service-home.component.html',\r\n styleUrls: ['./service-home.component.css'],\r\n})\r\nexport class ServiceHomeComponent implements OnInit {\r\n reveals: any;\r\n windowHeight: any;\r\n elementTop: any;\r\n elementVisible: any;\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.reveal();\r\n }\r\n\r\n reveal() {\r\n this.reveals = document.querySelectorAll('.reveal');\r\n\r\n for (var i = 0; i < this.reveals.length; i++) {\r\n this.windowHeight = window.innerHeight;\r\n this.elementTop = this.reveals[i].getBoundingClientRect().top;\r\n this.elementVisible = 150;\r\n\r\n if (this.elementTop < this.windowHeight - this.elementVisible) {\r\n this.reveals[i].classList.add('active');\r\n } else {\r\n this.reveals[i].classList.remove('active');\r\n }\r\n }\r\n window.addEventListener('scroll', this.reveal);\r\n }\r\n}\r\n","
    \r\n

    What we provide

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Avatar\"\r\n
    \r\n
    \r\n

    Hotel

    \r\n

    \r\n We appreciate you staying at our hotel when you were in India. We hope you liked\r\n your time with us and everything that our hotel has to offer. We value the time\r\n you took away from your hectic schedule to stay with us.\r\n\r\n\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Avatar\"\r\n
    \r\n
    \r\n

    Restaurant

    \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n","

    Near By places

    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"...\"\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"...\"\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n Previous\r\n \r\n \r\n \r\n Next\r\n \r\n
    \r\n
    \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-near-places',\r\n templateUrl: './near-places.component.html',\r\n styleUrls: ['./near-places.component.scss']\r\n})\r\nexport class NearPlacesComponent implements OnInit {\r\n reveals: any;\r\n windowHeight: any;\r\n elementTop: any;\r\n elementVisible: any;\r\ndata = [\r\n{\r\n name:\"subha\",\r\n url:\"assets/images/visit1.jpeg\"\r\n},\r\n{\r\n name:\"subha\",\r\n url:\"assets/images/visit2.jpeg\"\r\n},\r\n{\r\n name:\"subha\",\r\n url:\"assets/images/visit3.jpeg\"\r\n},\r\n{\r\n name:\"subha\",\r\n url:\"assets/images/visit4.jpeg\"\r\n},\r\n\r\n]\r\ndataone = [\r\n {\r\n name:\"subha\",\r\n url:\"assets/images/aboutimage3.png\"\r\n },\r\n {\r\n name:\"subha\",\r\n url:\"assets/images/aboutimage3.png\"\r\n },\r\n {\r\n name:\"subha\",\r\n url:\"assets/images/aboutimage3.png\"\r\n }\r\n ]\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.reveal()\r\n }\r\n\r\n\r\n reveal() {\r\n this.reveals = document.querySelectorAll('.reveal');\r\n\r\n for (var i = 0; i < this.reveals.length; i++) {\r\n this.windowHeight = window.innerHeight;\r\n this.elementTop = this.reveals[i].getBoundingClientRect().top;\r\n this.elementVisible = 150;\r\n\r\n if (this.elementTop < this.windowHeight - this.elementVisible) {\r\n this.reveals[i].classList.add('active');\r\n } else {\r\n this.reveals[i].classList.remove('active');\r\n }\r\n }\r\n window.addEventListener('scroll', this.reveal);\r\n }\r\n slideConfig = {\r\n centerMode: true,\r\n centerPadding: '20%',\r\n slidesToShow: 2,\r\n responsive: [\r\n {\r\n breakpoint: 1367,\r\n settings: {\r\n centerPadding: '15%',\r\n },\r\n },\r\n {\r\n breakpoint: 1025,\r\n settings: {\r\n centerPadding: '0',\r\n },\r\n },\r\n {\r\n breakpoint: 767,\r\n settings: {\r\n centerPadding: '0',\r\n slidesToShow: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n}\r\n","import { PaymentMode } from './../../../model/PaymentMode';\r\nimport { ChangeDetectorRef, Component, OnInit } from \"@angular/core\";\r\nimport { Router, ActivatedRoute, NavigationExtras } from \"@angular/router\";\r\nimport { ApiService } from \"src/app/api.service\";\r\nimport { DateService } from \"src/app/date-service.service\";\r\nimport { Booking } from \"src/app/model/booking\";\r\nimport { DateModel } from \"src/app/model/dateModel\";\r\nimport { Payment } from \"src/app/model/payment\";\r\nimport { TokenStorage } from \"src/app/token.storage\";\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-booking-details',\r\n templateUrl: './booking-details.component.html',\r\n styleUrls: ['./booking-details.component.css']\r\n})\r\nexport class BookingDetailsComponent implements OnInit {\r\n dateModel:DateModel;\r\n currency: string;\r\n booking: Booking ;\r\n bookingEmail: string ;\r\n bookingReferenceNumber: string ;\r\n payment: Payment;\r\n payments: Payment [] ;\r\n loader : boolean = false;\r\n taxPercentage: number;\r\n discountPercentage: boolean = false;\r\n showAlert: boolean = false;\r\n constructor(\r\n private router: Router,\r\n public token: TokenStorage,\r\n private activatedRoute: ActivatedRoute,\r\n public dateService : DateService,\r\n private changeDetectorRefs: ChangeDetectorRef,\r\n private apiServices: ApiService) {\r\n\r\n this.booking = new Booking();\r\n\r\n let id = this.activatedRoute.snapshot.params['id'];\r\n this.activatedRoute.params.subscribe(params => {\r\n id = params['id'];\r\n // this.booking.id = id;\r\n\r\n this.bookingReferenceNumber = id;\r\n });\r\n\r\n let email = this.activatedRoute.snapshot.paramMap.get('email');\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n this.booking.email = email;\r\n\r\n this.bookingEmail = email;\r\n });\r\n\r\n console.log('booking detail ob: ' + JSON.stringify( this.booking));\r\n }\r\n\r\n ngOnInit() {\r\n console.log(`Inside Booking Details Booking Email: ${this.booking.email} & Booking Reference Number : ${this.bookingReferenceNumber}`);\r\n\r\n this.loader = true;\r\n this.apiServices.getBookingDetails(this.bookingReferenceNumber, this.booking.email).subscribe( response => {\r\n this.booking = response.body.bookingDetails ;\r\n this.payments = response.body.paymentDetails;\r\n this.payment = this.payments[0];\r\n\r\n this.loader = false;\r\n\r\n this.currency = this.booking.currency;\r\n\r\n this.changeDetectorRefs.detectChanges();\r\n console.log(this.booking);\r\n console.log(this.payment);\r\n },error=>{ this.loader = false;});\r\n }\r\n onGoHome() {\r\n this.router.navigate([\"/\"]);\r\n // this.locationBack.back();\r\n }\r\n getAvailableRoom() {\r\n this.dateModel = new DateModel();\r\n\r\n this.dateModel.checkIn = this.getDateFormat(this.booking.fromDate);\r\n this.dateModel.checkOut = this.getDateFormat(this.booking.toDate);\r\n this.dateModel.guest = this.booking.noOfPersons;\r\n this.dateModel.noOfRooms = this.booking.noOfRooms;\r\n\r\n // console.log(' this.dateModel '+JSON.stringify( this.dateModel));\r\n\r\n const navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n dateob: JSON.stringify(this.dateModel),\r\n },\r\n };\r\n\r\n this.router.navigate([\"/booking/choose\"], navigationExtras);\r\n }\r\n getDateFormat(dateString: string) {\r\n var yearAndMonth = dateString.split(\"-\", 3);\r\n return (\r\n yearAndMonth[0] +\r\n \"-\" +\r\n yearAndMonth[1] +\r\n \"-\" +\r\n yearAndMonth[2].split(\" \", 1)\r\n );\r\n }\r\n\r\n }\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Booking

    \r\n
    \r\n

    Find Your Desire Room

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
  • \r\n Home \r\n
  • \r\n
  • Booking
  • \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n

    Thank you for your booking!

    \r\n\r\n
    \r\n
    \r\n \r\n
  • \r\n Reservation No:\r\n {{ booking.propertyReservationNumber }}\r\n
  • \r\n
  • \r\n Full guest name: {{ booking.firstName }}\r\n {{ booking.lastName }}\r\n
  • \r\n
  • \r\n Email: {{ booking.email }}\r\n
  • \r\n
  • \r\n Phone: {{ booking.mobile }}\r\n
  • \r\n
  • \r\n Selected Room: {{ booking.roomName }}\r\n
  • \r\n
  • \r\n Room Price: \r\n {{\r\n booking.roomPrice | currency: currency:\"symbol\":\"1.2-2\"\r\n }}\r\n \r\n
  • \r\n
  • \r\n No Of Person(s): {{ booking.noOfPersons }}\r\n
  • \r\n
  • \r\n No Of Child(s): {{ booking.noOfChildren }}\r\n
  • \r\n\r\n
  • \r\n Net Amount: \r\n \r\n {{\r\n payment.netReceivableAmount\r\n | currency: currency:\"symbol\":\"1.2-2\"\r\n }}\r\n \r\n
  • \r\n
  • \r\n Tax Amount ({{ this.taxPercentage }}%): \r\n \r\n {{\r\n booking.taxAmount | currency: currency:\"symbol\":\"1.2-2\"\r\n }}\r\n
  • \r\n
  • \r\n Discount: {{ booking.discountPercentage }}%\r\n
  • \r\n
  • \r\n
  • \r\n Discount Amount: {{\r\n payment.discountAmount\r\n | currency: currency:\"symbol\":\"1.2-2\"\r\n }}\r\n
  • \r\n
  • \r\n
    \r\n Total Amount:\r\n \r\n {{\r\n booking.totalAmount\r\n | currency: currency:\"symbol\":\"1.2-2\"\r\n }}\r\n \r\n
    \r\n
  • \r\n
  • \r\n Special Notes: {{ booking.notes }}\r\n
  • \r\n
  • \r\n Payment method:\r\n {{ payment.paymentMode }}\r\n
  • \r\n\r\n
  • \r\n
    \r\n Paid amount:\r\n {{\r\n booking.transactionChargeAmount\r\n | currency: currency:\"symbol\":\"1.2-2\"\r\n }}\r\n \r\n
    \r\n
  • \r\n
  • \r\n
    Payment Status: Not Paid
    \r\n
  • \r\n \r\n
    \r\n
    \r\n \r\n Go Back\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ApiService, PROPERTY_ID } from 'src/app/api.service';\r\nimport { Property } from 'src/app/model/property';\r\nimport { BusinessUser } from 'src/app/model/user';\r\nimport { TokenStorage } from 'src/app/token.storage';\r\n\r\n@Component({\r\n selector: 'app-navbar',\r\n templateUrl: './navbar.component.html',\r\n styleUrls: ['./navbar.component.css']\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n property: BusinessUser;\r\n mobileActive: boolean = false;\r\n sticky:boolean = false;\r\n property1: Property;\r\n\r\n constructor(\r\n public router: Router,\r\n public token: TokenStorage,\r\n public apiService: ApiService\r\n ) {\r\n this.property = new BusinessUser();\r\n if (this.token.getPropertyData() !== null && this.token.getPropertyData() !== undefined) {\r\n this.property = this.token.getPropertyData();\r\n } else {\r\n this.getProperty();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.token.getPropertyData() !== null) {\r\n this.property = this.token.getPropertyData();\r\n } else {\r\n this.getProperty();\r\n }\r\n }\r\n onElementScroll(){\r\n if(this.sticky === true){\r\n this.sticky = false;\r\n\r\n } else{\r\n this.sticky = true;\r\n }\r\n }\r\n menuToggle(){\r\n if(this.mobileActive === false){\r\n this.mobileActive = true;\r\n }else{\r\n this.mobileActive = false;\r\n }\r\n }\r\n getProperty() {\r\n this.apiService.getPropertyDetailsByPropertyId(PROPERTY_ID).subscribe(response => {\r\n\r\n this.property = response.body;\r\n this.token.saveProperty(this.property);\r\n },\r\n error => {\r\n if (error instanceof HttpErrorResponse) {\r\n\r\n }\r\n }\r\n );\r\n }\r\n\r\n}\r\n","
    \r\n \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-refund-policy',\r\n templateUrl: './refund-policy.component.html',\r\n styleUrls: ['./refund-policy.component.css']\r\n})\r\nexport class RefundPolicyComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Refund Policy

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n
  • If you cancel your reservation or booking within the specified time frame amount non refundable.
  • \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ApiService, PROPERTY_ID } from 'src/app/api.service';\r\nimport { Property } from 'src/app/model/property';\r\nimport { BusinessUser } from 'src/app/model/user';\r\nimport { TokenStorage } from 'src/app/token.storage';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.css']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n property: BusinessUser;\r\n property1: Property;\r\n constructor(\r\n public router: Router,\r\n public token: TokenStorage,\r\n public apiService: ApiService\r\n ) {\r\n this.property = new BusinessUser();\r\n if (this.token.getPropertyData() !== null && this.token.getPropertyData() !== undefined) {\r\n this.property = this.token.getPropertyData();\r\n } else {\r\n this.getProperty();\r\n }\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.token.getPropertyData() !== null) {\r\n this.property = this.token.getPropertyData();\r\n } else {\r\n this.getProperty();\r\n }\r\n }\r\n getProperty() {\r\n this.apiService.getPropertyDetailsByPropertyId(PROPERTY_ID).subscribe(response => {\r\n\r\n this.property = response.body;\r\n this.token.saveProperty(this.property);\r\n },\r\n error => {\r\n if (error instanceof HttpErrorResponse) {\r\n\r\n }\r\n }\r\n );\r\n }\r\n scroll_top(){\r\n document.documentElement.scrollTop = 0;\r\n }\r\n\r\n}\r\n","\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Planning For A Vacation?

    \r\n

    You can book your stay online, and if it is available that day, automatically reserve your stay\r\n to enjoy your vacation. So do not wait, book your hotel now!

    \r\n
    \r\n
    \r\n book now\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Made with ❤ by \"CredenceSoft-outline\"
    \r\n COPYRIGHT @ 2023 ALL RIGHT RESERVED. Hotel A One Luxury
    Powered\r\n By \"CredenceSoft-outline\"\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n\r\n","import { HttpClientModule } from '@angular/common/http';\r\nimport { ChangeDetectorRef, Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n// import { CheckoutService } from 'paytm-blink-checkout-angular';\r\nimport { Subscription } from 'rxjs';\r\nimport { HotelBookingService } from 'src/app/hotel-booking.service';\r\nimport { Booking } from 'src/app/model/booking';\r\nimport { Payment } from 'src/app/model/payment';\r\nimport { BusinessUser } from 'src/app/model/user';\r\n// import { HotelBookingService } from 'src/app/services/hotel-booking.service';\r\nimport { TokenStorage } from 'src/app/token.storage';\r\n\r\n@Component({\r\n selector: 'app-checkout-hdfc',\r\n templateUrl: './checkout-hdfc.component.html',\r\n styleUrls: ['./checkout-hdfc.component.scss']\r\n})\r\nexport class CheckoutHdfcComponent {\r\n businessUser: BusinessUser;\r\n payment: Payment;\r\n booking: Booking;\r\n private subs: Subscription;\r\n paymentLoader: boolean;\r\n headerTitle: string;\r\n isSuccess: boolean;\r\n bodyMessage: string;\r\n bookingConfirmed: boolean;\r\n showAlert: boolean;\r\n alertType: string;\r\n contentDialog: any;\r\n DiffDate;\r\n currency: string;\r\n\r\n\r\n constructor(\r\n\r\n private token: TokenStorage,\r\n private hotelBookingService: HotelBookingService,\r\n private changeDetectorRefs: ChangeDetectorRef,\r\n private http: HttpClientModule,\r\n private router: Router\r\n ) {\r\n this.businessUser = new BusinessUser();\r\n this.booking = new Booking();\r\n this.payment = new Payment();\r\n\r\n this.booking = this.token.getBookingData();\r\n this.businessUser = this.token.getPropertyData();\r\n this.payment = this.token.getPaymentData();\r\n\r\n this.currency = this.businessUser.localCurrency;\r\n\r\n if (this.payment.encryptedData !== null){\r\n\r\n // let endata = `EE5FB4E50B7DA70AFD6B0929CEAD07C65776E8DC49C7BED234AAE1ECC13FD1AC5AAFEA55A0A59359F06030E492CDB662231C08B24B272E58AEBA38704BA15612D836A4B2D41F533B77219BBDC2F7E39F217C8C0F93D89C5622B1C3C549F8925927C9BD1E81BE5AD03FEAA241B81ECFB2BD6C54388F6129B7A8C7AB5C7F586B911050E6F8898D86D36F9E4FFF5530E97100BDE67FAF4A2D7B15C3556967C91555BEC2F0A8C00F801A99156EDDB112557696E31DB08C91E0F4ABAE388C60C005A3BE86C47FC18814DB839EC2EF49365292391CF6C680B7F41AECA83431E2BE4D4AAF93C77CED09FC5451F05FE51A54B29ACB0E57EB98E6903A351E27F7A34E40C26A557782AA8531027C2B3A690021171E0DC4F113DFF7D30B60C79419D8C507AFCB23217FFA1DC6013DB401B5B40BF4821E411D9BC863DC3DCEACB4F8C9C7D3788433B7D682E1EDC8582DF411703D345DFD1A0C6E808D0AAA55A4C9A49B87C78AF73E71CB9C77D53206540F21AF44AB97437F7E1B8DF4E51A3F8B61C0F5FE5BF2DF67846E2BF83FCFB18515015CA85C1C3E66360BEF2E416844462199D522C21B`;\r\n // let requestUrl = \"https://paynetzuat.atomtech.in/paynetz/epi/fts?login=192&encdata=\" + endata;\r\n // let requestUrl = \"https://test.ccavenue.com/transaction/transaction.do?command=initiateTransaction&encRequest=\" + this.payment.encryptedData +\"&access_code=AVRV84KG69AH15VRHA\";\r\n let requestUrl = \"https://secure.ccavenue.com/transaction/transaction.do?command=initiateTransaction&encRequest=\" + this.payment.encryptedData +\"&access_code=AVLI80LD93BU36ILUB\";\r\n\r\n setTimeout(() => {\r\n window.open(requestUrl);\r\n }, 1000);\r\n\r\n }\r\n\r\n }\r\n\r\n ngOnInit(): void {}\r\n notifyMerchantHandler = (eventType, data): void => {\r\n console.log('MERCHANT NOTIFY LOG', eventType, data);\r\n this.payment.failureCode = data.body.resultInfo.resultCode;\r\n this.payment.failureMessage = data.body.resultInfo.resultMsg;\r\n };\r\n ngOnDestroy(): void {\r\n if (this.subs) {\r\n this.subs.unsubscribe();\r\n\r\n this.hotelBookingService.savePayment(this.payment).subscribe((res) => {\r\n if (res.status === 200) {\r\n this.paymentLoader = false;\r\n this.headerTitle = 'Success!';\r\n this.bodyMessage =\r\n 'Thanks for the booking .Please note the Reservation No: # ' +\r\n this.booking.propertyReservationNumber +\r\n ' and an email is sent with the booking details.';\r\n this.bookingConfirmed = true;\r\n\r\n // this.token.clearHotelBooking();\r\n this.showSuccess(this.contentDialog);\r\n if (\r\n this.booking.mobile !== null &&\r\n this.booking.mobile !== undefined\r\n ) {\r\n setTimeout(() => {\r\n // this.backClicked();\r\n // this.router.navigate(['/']);\r\n // this.sendConfirmationMessage();\r\n this.changeDetectorRefs.detectChanges();\r\n }, 1000);\r\n // this.sendConfirmationMessage();\r\n }\r\n setTimeout(() => {\r\n this.isSuccess = true;\r\n this.headerTitle = 'Success!';\r\n this.bodyMessage = 'Payment Details Saved.';\r\n this.showSuccess(this.contentDialog);\r\n this.changeDetectorRefs.detectChanges();\r\n }, 5000);\r\n } else {\r\n this.paymentLoader = false;\r\n setTimeout(() => {\r\n // this.paymentLoader = false;\r\n this.isSuccess = false;\r\n this.headerTitle = 'Error!';\r\n this.bodyMessage = 'Error in updating payment details.';\r\n this.showDanger(this.contentDialog);\r\n this.changeDetectorRefs.detectChanges();\r\n }, 9000);\r\n }\r\n });\r\n setTimeout(() => {\r\n this.showAlert = false;\r\n this.changeDetectorRefs.detectChanges();\r\n }, 9000);\r\n setTimeout(() => {\r\n // this.backClicked();\r\n // this.router.navigate(['/']);\r\n this.changeDetectorRefs.detectChanges();\r\n }, 10000);\r\n this.paymentLoader = false;\r\n }\r\n }\r\n\r\n showSuccess(content) {\r\n this.alertType = 'success';\r\n this.showAlert = true;\r\n }\r\n showWarning(content) {\r\n this.alertType = 'warning';\r\n this.showAlert = true;\r\n setTimeout(() => {\r\n this.showAlert = false;\r\n this.changeDetectorRefs.detectChanges();\r\n }, 3000);\r\n }\r\n showDanger(content) {\r\n this.alertType = 'danger';\r\n this.showAlert = true;\r\n setTimeout(() => {\r\n this.showAlert = false;\r\n this.changeDetectorRefs.detectChanges();\r\n }, 3000);\r\n }\r\n onGoHome() {\r\n this.router.navigate(['/']);\r\n // this.locationBack.back();\r\n }\r\n}\r\n","\r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    ERROR: {{payment.failureCode}}

    \r\n

    {{payment.failureMessage}}

    \r\n \r\n
    Oops!! Seems your payment is not successful. Please try again later.
    \r\n\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BookingComponent } from './booking.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n// import { NewBookingComponent } from './new-booking/new-booking.component';\r\nimport { ChooseRoomComponent } from './choose-room/choose-room.component';\r\nimport { CompleteComponent } from './complete/complete.component';\r\nimport { BookingDetailsComponent } from './booking-details/booking-details.component';\r\nimport { CheckoutComponent } from './checkout/checkout.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { SlickCarouselModule } from 'ngx-slick-carousel';\r\nimport { Ng2TelInputModule } from 'ng2-tel-input';\r\nimport { NewBookingComponent } from './new-booking/new-booking.component';\r\nimport { CheckoutHdfcComponent } from './checkout-hdfc/checkout-hdfc.component';\r\nimport { BookingCompleteComponent } from './booking-complete/booking-complete.component';\r\nconst routes: Routes = [\r\n { path: 'booking/choose', component: ChooseRoomComponent },\r\n { path: 'booking/booking', component: NewBookingComponent },\r\n { path: 'booking/payment', component: CheckoutComponent },\r\n { path: 'booking/complete', component: CompleteComponent },\r\n { path: 'booking/checkout-hdfc', component: CheckoutHdfcComponent },\r\n { path: 'booking/booking-complete', component: BookingCompleteComponent },\r\n { path: 'booking/details/:id/:email', component: BookingDetailsComponent },\r\n { path: '', redirectTo: 'booking/choose', pathMatch: 'full' },\r\n];\r\n@NgModule({\r\n imports: [\r\n NgbModule,\r\n CommonModule,\r\n\r\n FormsModule,\r\n Ng2TelInputModule,\r\n ReactiveFormsModule,\r\n SlickCarouselModule,\r\n RouterModule.forChild(routes),\r\n ],\r\n declarations: [\r\n // BookingComponent,\r\n CheckoutComponent,\r\n NewBookingComponent,\r\nBookingCompleteComponent,\r\nCheckoutHdfcComponent,\r\n ChooseRoomComponent,\r\n CompleteComponent,\r\n BookingDetailsComponent,\r\n ],\r\n})\r\nexport class BookingModule {}\r\n","import { DatePipe } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { PageComponent } from './shared/page/page.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: PageComponent,\r\n children: [\r\n {\r\n path: '',\r\n loadChildren: () =>\r\n import('./pages/pages.module').then((m) => m.PagesModule),\r\n },\r\n {\r\n path: 'booking',\r\n loadChildren: () =>\r\n import('./site/booking/booking.module').then((m) => m.BookingModule),\r\n },\r\n {\r\n path: \"menu\",\r\n loadChildren: () =>\r\n import(\"./pages/shop/shop.module\").then((m) => m.ShopModule),\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { ServicesComponent } from './services/services.component';\r\nimport { AllRoomsComponent } from './all-rooms/all-rooms.component';\r\nimport { GalleryComponent } from './gallery/gallery.component';\r\nimport { AboutusComponent } from './aboutus/aboutus.component';\r\nimport { ContactComponent } from './contact/contact.component';\r\nimport { BookingModule } from '../site/booking/booking.module';\r\nimport { PaymentComponent } from './payment/payment.component';\r\nimport { ServiceHomeComponent } from './service-home/service-home.component';\r\nimport { TermsComponent } from './terms/terms.component';\r\nimport { PriveryPolicyComponent } from './privery-policy/privery-policy.component';\r\nimport { RefundPolicyComponent } from './refund-policy/refund-policy.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HomeComponent },\r\n { path: \"all-rooms\", component: AllRoomsComponent },\r\n { path: \"gallery\", component: GalleryComponent },\r\n { path: \"services\", component: ServicesComponent },\r\n { path: \"aboutus\", component: AboutusComponent },\r\n { path: \"contact\", component: ContactComponent },\r\n { path: \"terms-conditions\", component: TermsComponent },\r\n { path: \"privacy-policy\", component: PriveryPolicyComponent },\r\n { path: \"refund-policy\", component: RefundPolicyComponent },\r\n { path: 'booking', component: BookingModule },\r\n { path: \"payment\", component: PaymentComponent },\r\n { path: \"service-home\", component: ServiceHomeComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n\r\n\r\n RouterModule.forChild(routes)\r\n ],\r\n exports: [RouterModule]\r\n})\r\nexport class PagesRoutingModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Booking } from './model/booking';\r\nimport { BusinessServiceTypes } from './model/businessServiceTypes';\r\nimport { Customer } from './model/customer';\r\nimport { DeliveryOption } from './model/deliveryOption';\r\nimport { Payment } from './model/payment';\r\nimport { PropertyServiceDTO } from './model/PropertyServices';\r\nimport { Room } from './model/room';\r\nimport { BusinessUser } from './model/user';\r\n\r\nconst SELECTED_COUNTRY = 'selectedCountry';\r\nconst TOKEN_KEY = 'AuthToken';\r\nconst BOOKSLOTDATA = 'slotbookdata';\r\nconst CUSTOMER = 'Customer';\r\nconst SLOTDATA = 'slotdata';\r\nconst BOOKINGDATA = 'booking';\r\nconst BOOKINGCITY = 'bookingCity';\r\nconst CITY = 'city';\r\nconst BUSINESS_SERVICE = 'businessservice';\r\nconst businessTypeGroupListDATA = 'businessTypeGroupList';\r\nconst businessTypeListDATA = 'businessTypeList';\r\nconst PROPERTY_SERVICE_DATA = 'PROPERTY_SERVICE_DATA';\r\nconst PAYMENT = 'payment';\r\nconst PAYMENT2 = 'payment2';\r\n\r\nconst PROPERTY = 'property';\r\nconst ROOMSDATA = 'roomsData';\r\nconst COUNTRY = 'country';\r\nconst PROPERTY_DETAILS = 'PROPERTY_DETAILS';\r\nconst BUSINESS_PROPERTY = 'businessProperty';\r\nconst PRODUCT_CART = 'productCart';\r\nconst CURRENT_CITY = 'currentCity';\r\nconst DELIVERY_OPTION = 'delivery_option';\r\nconst LOGIN_EMAIL = 'loginemail';\r\nconst LOGIN_PASSWORD = 'loginpassword';\r\nconst USER_ID = 'UserId';\r\nconst USER_NAME = 'UserName';\r\n\r\n@Injectable()\r\nexport class TokenStorage {\r\n constructor() {}\r\n clearAll() {\r\n localStorage.clear();\r\n }\r\n clearBusiness() {\r\n localStorage.removeItem(BUSINESS_SERVICE);\r\n // window.localStorage.removeItem(BOOKSLOTDATA);\r\n localStorage.removeItem(BOOKINGDATA);\r\n }\r\n\r\n clearCountry() {\r\n localStorage.removeItem(COUNTRY);\r\n }\r\n\r\n public saveCountry(Country:any) {\r\n localStorage.removeItem(COUNTRY);\r\n if (Country !== null || Country !== undefined) {\r\n localStorage.setItem(COUNTRY, Country);\r\n } else {\r\n localStorage.setItem(COUNTRY, '{}');\r\n }\r\n }\r\n public saveCity(city:any) {\r\n localStorage.removeItem(CITY);\r\n if (city !== null || city !== undefined) {\r\n localStorage.setItem(CITY, city);\r\n } else {\r\n localStorage.setItem(CITY, '{}');\r\n }\r\n }\r\n public getCity() {\r\n return localStorage.getItem(CITY);\r\n }\r\n public getCountry() {\r\n return localStorage.getItem(COUNTRY);\r\n }\r\n public getPropertyData(): BusinessUser {\r\n return JSON.parse(localStorage.getItem(PROPERTY) as string);\r\n }\r\n\r\n // Auth\r\n signOut() {\r\n localStorage.removeItem(BOOKSLOTDATA);\r\n localStorage.removeItem(TOKEN_KEY);\r\n localStorage.removeItem(USER_ID);\r\n localStorage.removeItem(CUSTOMER);\r\n //window.localStorage.clear();\r\n }\r\n\r\n\r\n public saveToken(token: string) {\r\n localStorage.removeItem(TOKEN_KEY);\r\n localStorage.setItem(TOKEN_KEY, token);\r\n }\r\n public getToken(){\r\n return localStorage.getItem(TOKEN_KEY);\r\n }\r\n public saveUserId(userId: number) {\r\n localStorage.removeItem(USER_ID);\r\n localStorage.setItem(USER_ID, userId.toString());\r\n }\r\n public getUserId() {\r\n return localStorage.getItem(USER_ID);\r\n }\r\n public saveLoginInfo(username: string, password: string) {\r\n localStorage.removeItem(LOGIN_EMAIL);\r\n localStorage.setItem(LOGIN_EMAIL, username);\r\n\r\n localStorage.removeItem(LOGIN_PASSWORD);\r\n localStorage.setItem(LOGIN_PASSWORD, password);\r\n }\r\n\r\n public saveLoginEmail(username: string) {\r\n localStorage.removeItem(LOGIN_EMAIL);\r\n localStorage.setItem(LOGIN_EMAIL, username);\r\n }\r\n\r\n public saveLoginPassword(password: string) {\r\n localStorage.removeItem(LOGIN_PASSWORD);\r\n localStorage.setItem(LOGIN_PASSWORD, password);\r\n }\r\n\r\n public saveCustomer(customer: Customer) {\r\n localStorage.removeItem(CUSTOMER);\r\n localStorage.setItem(CUSTOMER, JSON.stringify(customer));\r\n }\r\n public getCustomer(): Customer {\r\n return JSON.parse(localStorage.getItem(CUSTOMER) as string);\r\n }\r\n public clearCUSTOMER() {\r\n return window.localStorage.removeItem(CUSTOMER);\r\n }\r\n clearRememberMe() {\r\n localStorage.removeItem(LOGIN_PASSWORD);\r\n localStorage.removeItem(LOGIN_EMAIL);\r\n }\r\n\r\n public getLoginUserEmail() {\r\n return localStorage.getItem(LOGIN_EMAIL);\r\n }\r\n public getLoginPassword(){\r\n return localStorage.getItem(LOGIN_PASSWORD);\r\n }\r\n public getSelectedCountry() {\r\n return window.localStorage.getItem(SELECTED_COUNTRY);\r\n }\r\n\r\n public getUserName() {\r\n return localStorage.getItem(USER_NAME);\r\n }\r\n\r\n\r\n // BusinessTypeGroupList\r\n public saveBusinessTypeGroupListData(businessTypeGroupList:any) {\r\n localStorage.removeItem(businessTypeGroupListDATA);\r\n if (businessTypeGroupList !== null || businessTypeGroupList !== undefined) {\r\n localStorage.setItem(\r\n businessTypeGroupListDATA,\r\n JSON.stringify(businessTypeGroupList)\r\n );\r\n } else {\r\n localStorage.setItem(businessTypeGroupListDATA, '{}');\r\n }\r\n }\r\n\r\n public getBusinessTypeListGroupData(): any[] {\r\n return JSON.parse(localStorage.getItem(businessTypeGroupListDATA)as string);\r\n }\r\n\r\n public getProperty(): BusinessUser {\r\n return JSON.parse(localStorage.getItem(PROPERTY_DETAILS) as string);\r\n }\r\n\r\n public saveProperty(property: BusinessUser) {\r\n localStorage.removeItem(PROPERTY_DETAILS);\r\n if (property !== null) {\r\n localStorage.setItem(PROPERTY_DETAILS, JSON.stringify(property));\r\n } else {\r\n localStorage.setItem(PROPERTY_DETAILS, '{}');\r\n }\r\n }\r\n clearProperty() {\r\n localStorage.removeItem(PROPERTY_DETAILS);\r\n }\r\n // BusinessTypeList\r\n public saveBusinessTypeListData(businessTypeList:any) {\r\n localStorage.removeItem(businessTypeListDATA);\r\n if (businessTypeList !== null || businessTypeList !== undefined) {\r\n localStorage.setItem(\r\n businessTypeListDATA,\r\n JSON.stringify(businessTypeList)\r\n );\r\n } else {\r\n localStorage.setItem(businessTypeListDATA,'{}');\r\n }\r\n }\r\n\r\n public getBusinessTypeListData(): any[] {\r\n return JSON.parse(localStorage.getItem(businessTypeListDATA) as string);\r\n }\r\n\r\n public saveSlotData(businessServiceTypes: BusinessServiceTypes[]) {\r\n localStorage.removeItem(SLOTDATA);\r\n if (businessServiceTypes !== null || businessServiceTypes !== undefined) {\r\n localStorage.setItem(\r\n SLOTDATA,\r\n JSON.stringify(businessServiceTypes)\r\n );\r\n } else {\r\n localStorage.setItem(SLOTDATA, '{}');\r\n }\r\n }\r\n\r\n public getSlotData(): BusinessServiceTypes[] {\r\n return JSON.parse(localStorage.getItem(SLOTDATA) as string);\r\n }\r\n public getServiceData(): PropertyServiceDTO[] {\r\n return JSON.parse(localStorage.getItem(PROPERTY_SERVICE_DATA) as string);\r\n }\r\n\r\n // PROPERTY_SERVICE_DATA\r\n public saveServiceData(propertyServiceDTO: PropertyServiceDTO[]) {\r\n localStorage.removeItem(PROPERTY_SERVICE_DATA);\r\n if (propertyServiceDTO !== null || propertyServiceDTO !== undefined) {\r\n localStorage.setItem(\r\n PROPERTY_SERVICE_DATA,\r\n JSON.stringify(propertyServiceDTO)\r\n );\r\n } else {\r\n localStorage.setItem(PROPERTY_SERVICE_DATA, '{}');\r\n }\r\n }\r\n // Booking\r\n public saveBookingData(booking: Booking) {\r\n localStorage.removeItem(BOOKINGDATA);\r\n if (booking !== null || booking !== undefined) {\r\n localStorage.setItem(BOOKINGDATA, JSON.stringify(booking));\r\n } else {\r\n localStorage.setItem(BOOKINGDATA, '{}');\r\n }\r\n }\r\n\r\n public getBookingData(): Booking {\r\n return JSON.parse(localStorage.getItem(BOOKINGDATA) as string);\r\n }\r\n\r\n clearHotelBooking() {\r\n localStorage.removeItem(BOOKINGDATA);\r\n }\r\n // Booking City\r\n public saveBookingCity(bookingCity: string) {\r\n localStorage.removeItem(BOOKINGCITY);\r\n if (bookingCity !== null || bookingCity !== undefined) {\r\n localStorage.setItem(BOOKINGCITY, bookingCity);\r\n } else {\r\n localStorage.setItem(BOOKINGCITY, '{}');\r\n }\r\n }\r\n\r\n public getBookingCity() {\r\n return localStorage.getItem(BOOKINGCITY);\r\n }\r\n\r\n clearBookingCity() {\r\n localStorage.removeItem(BOOKINGCITY);\r\n }\r\n // Rooms Data\r\n public saveRoomsData(RoomsData: Room[]) {\r\n localStorage.removeItem(ROOMSDATA);\r\n if (RoomsData !== null || RoomsData !== undefined) {\r\n localStorage.setItem(ROOMSDATA, JSON.stringify(RoomsData));\r\n } else {\r\n localStorage.setItem(ROOMSDATA, '{}');\r\n }\r\n }\r\n\r\n public getRoomsData(): Room[] {\r\n return JSON.parse(localStorage.getItem(ROOMSDATA) as string);\r\n }\r\n\r\n clearRoomsData() {\r\n localStorage.removeItem(ROOMSDATA);\r\n }\r\n public savePaymentData(payment:any) {\r\n localStorage.removeItem(PAYMENT);\r\n if (payment !== null || payment !== undefined) {\r\n localStorage.setItem(PAYMENT, JSON.stringify(payment));\r\n } else {\r\n localStorage.setItem(PAYMENT, '{}');\r\n }\r\n }\r\n\r\n public getPaymentData(): Payment {\r\n return JSON.parse(localStorage.getItem(PAYMENT) as string);\r\n }\r\n // Payment2\r\n public savePayment2Data(payment2:any) {\r\n localStorage.removeItem(PAYMENT2);\r\n if (payment2 !== null || payment2 !== undefined) {\r\n localStorage.setItem(PAYMENT2, JSON.stringify(payment2));\r\n } else {\r\n localStorage.setItem(PAYMENT2, '{}');\r\n }\r\n }\r\n\r\n public getPayment2Data(): Payment {\r\n return JSON.parse(localStorage.getItem(PAYMENT2) as string);\r\n }\r\n // Property\r\n public savePropertyData(property:any) {\r\n localStorage.removeItem(PROPERTY);\r\n if (property !== null || property !== undefined) {\r\n localStorage.setItem(PROPERTY, JSON.stringify(property));\r\n } else {\r\n localStorage.setItem(PROPERTY, '{}');\r\n }\r\n }\r\n\r\n // BusinessService\r\n public saveBusinessService(businessUser: BusinessUser[]) {\r\n localStorage.removeItem(BUSINESS_SERVICE);\r\n if (businessUser !== null || businessUser !== undefined) {\r\n localStorage.setItem(\r\n BUSINESS_SERVICE,\r\n JSON.stringify(businessUser)\r\n );\r\n } else {\r\n localStorage.setItem(BUSINESS_SERVICE, '{}');\r\n }\r\n }\r\n\r\n public getBusinessService(): BusinessUser[] {\r\n return JSON.parse(localStorage.getItem(BUSINESS_SERVICE) as string);\r\n }\r\n\r\n // Current City\r\npublic saveCurrentCity(currentCity: string){\r\n\r\nlocalStorage.removeItem(CURRENT_CITY);\r\n if (currentCity !== null || currentCity !== undefined) {\r\n localStorage.setItem(\r\n CURRENT_CITY,currentCity\r\n )\r\n } else {\r\n localStorage.setItem(CURRENT_CITY, '{}');\r\n }\r\n}\r\n\r\npublic getCurrentCity(){\r\n return localStorage.getItem(CURRENT_CITY);\r\n}\r\n\r\n// delivery option\r\n\r\npublic saveDeliveryOption(deliveryOption: DeliveryOption){\r\n\r\nlocalStorage.removeItem(DELIVERY_OPTION);\r\n if (deliveryOption !== null || deliveryOption !== undefined) {\r\n localStorage.setItem(DELIVERY_OPTION, JSON.stringify(deliveryOption));\r\n } else {\r\n localStorage.setItem(DELIVERY_OPTION, '{}');\r\n }\r\n}\r\npublic saveSelectedCountry(countryCode: string) {\r\n window.localStorage.setItem(SELECTED_COUNTRY, countryCode);\r\n}\r\n\r\npublic getDeliveryOption(): DeliveryOption {\r\n return JSON.parse(localStorage.getItem(DELIVERY_OPTION) as string);\r\n}\r\n}\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ApiService } from 'src/app/api.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { NavigationExtras } from '@angular/router';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n FormControl,\r\n FormGroup,\r\n NgForm,\r\n FormGroupDirective,\r\n Validators,\r\n FormBuilder,\r\n} from '@angular/forms';\r\nimport { NgbDate } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Customer } from 'src/app/model/customer';\r\nimport { MessageDto } from 'src/app/model/MessageDto';\r\nimport { Payment } from 'src/app/model/payment';\r\nimport { Property } from 'src/app/model/property';\r\nimport { TokenStorage } from 'src/app/token.storage';\r\nimport { Booking } from 'src/app/model/booking';\r\nimport { DateModel } from 'src/app/model/dateModel';\r\nimport { BusinessOfferDto } from 'src/app/model/businessOfferDto';\r\nimport { Room } from 'src/app/model/room';\r\nimport { BusinessUser } from 'src/app/model/user';\r\n\r\n\r\n@Component({\r\n selector: 'app-new-booking',\r\n templateUrl: './new-booking.component.html',\r\n styleUrls: ['./new-booking.component.css'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class NewBookingComponent implements OnInit {\r\n rooms: Room[];\r\n room: Room;\r\n booking: Booking;\r\n dateModel: DateModel;\r\n daySelected: string;\r\n yearSelected: string;\r\n monthSelected: number;\r\n // customerDtoList: any[];\r\n daySelected2: string;\r\n yearSelected2: string;\r\n monthSelected2: number;\r\n\r\n isAvailableChecked: boolean;\r\n currentDay: string;\r\n bookingConfirmed: boolean;\r\n currency: string;\r\n message: MessageDto;\r\n\r\n showAlert: boolean = false;\r\n alertType: string;\r\n\r\n verifyOption = \"email\";\r\n // smsOption: string = '';\r\n sendBtn = \"Get OTP\";\r\n submitButtonDisable: boolean = false;\r\n loader = false;\r\n verificationCode: string;\r\n lookup = false;\r\n checkCustomerLookup = false;\r\n customerVerified = false;\r\n verificationSend = false;\r\n paymentLoader: boolean = false;\r\n verified = false;\r\n customerExist = false;\r\n verifiedPending: boolean = false;\r\n verifySuccessMessage: boolean = false;\r\n isReservationList: boolean = false;\r\n headerTitle: string;\r\n bodyMessage: string;\r\n payment: Payment;\r\n homeDelivery = false;\r\n cashPayment = false;\r\n property: BusinessUser;\r\n isSuccess: boolean;\r\n\r\n mobileHasError: boolean = true;\r\n taxPercentage = 0;\r\n subTotalAmount: number = 0;\r\n totalAmount: number = 0;\r\n bookingData: any;\r\n customerDto: Customer;\r\n timeDifferenceInDays: number;\r\n\r\n fromDate: NgbDate | null;\r\n toDate: NgbDate | null;\r\n\r\n roomsAndOccupancy: boolean = false;\r\n bookingCity: string;\r\n guest: number = 1;\r\n\r\n adults: number = 2;\r\n children: number = 0;\r\n noOfrooms: number = 1;\r\n\r\n isVerified = false;\r\n\r\n DiffDate;\r\n enddate;\r\n startDate;\r\n\r\n\r\n\r\n discountPercentage: number;\r\n\r\n monthArray = [\r\n 'Jan',\r\n 'Feb',\r\n 'Mar',\r\n 'Apr',\r\n 'May',\r\n 'Jun',\r\n 'Jul',\r\n 'Aug',\r\n 'Sep',\r\n 'Oct',\r\n 'Nov',\r\n 'Dec',\r\n ];\r\n\r\n firstName: FormControl = new FormControl('', Validators.required);\r\n lastName: FormControl = new FormControl('', Validators.required);\r\n bookingEmail: FormControl = new FormControl('', Validators.nullValidator);\r\n bookingContact: FormControl = new FormControl('', Validators.nullValidator);\r\n noOfPersons: FormControl = new FormControl('', Validators.required);\r\n noOfRooms: FormControl = new FormControl('', Validators.required);\r\n //termAndConditions : FormControl = new FormControl(\"\",Validators.required);\r\n checkIn: FormControl = new FormControl();\r\n checkOut: FormControl = new FormControl();\r\n\r\n onBookingForm: FormGroup = new FormGroup({\r\n firstName: this.firstName,\r\n lastName: this.lastName,\r\n bookingEmail: this.bookingEmail,\r\n bookingContact: this.bookingContact,\r\n noOfPersons: this.noOfPersons,\r\n noOfRooms: this.noOfRooms,\r\n // termAndConditions : this.termAndConditions,\r\n });\r\n promoMessage = \"\";\r\n promoCode: string;\r\n\r\n businessOfferDto: BusinessOfferDto;\r\n\r\n constructor(\r\n private apiService: ApiService,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n public token: TokenStorage,\r\n private acRoute: ActivatedRoute\r\n ) {\r\n // this.dateModel = new DateModel();\r\n\r\n this.booking = new Booking();\r\n this.room = new Room();\r\n this.businessOfferDto = new BusinessOfferDto();\r\n this.customerDto = new Customer();\r\n this.message = new MessageDto();\r\n\r\n if (this.token.getProperty() != undefined && this.token.getProperty() != null) {\r\n this.property = this.token.getProperty();\r\n this.getOfferDetails();\r\n this.currency = this.property.localCurrency.toLocaleUpperCase();\r\n }\r\n\r\n if (this.token.getBookingData() != undefined && this.token.getBookingData() != null) {\r\n this.booking = this.token.getBookingData();\r\n\r\n console.log('this.booking : ', JSON.stringify(this.booking));\r\n\r\n if (\r\n this.booking.fromDate != undefined &&\r\n this.booking.toDate != undefined\r\n ) {\r\n\r\n this.isAvailableChecked = true;\r\n // this.getCheckInDateFormat(this.booking.fromDate);\r\n // this.getcheckOutDateFormat(this.booking.toDate);\r\n this.fromDate = new NgbDate(\r\n this.mileSecondToNGBDate(this.booking.fromDate).year,\r\n this.mileSecondToNGBDate(this.booking.fromDate).month,\r\n this.mileSecondToNGBDate(this.booking.fromDate).day\r\n );\r\n this.toDate = new NgbDate(\r\n this.mileSecondToNGBDate(this.booking.toDate).year,\r\n this.mileSecondToNGBDate(this.booking.toDate).month,\r\n this.mileSecondToNGBDate(this.booking.toDate).day\r\n );\r\n // this.adults = this.booking.noOfPersons;\r\n // this.children = this.booking.noOfChildren;\r\n // this.noOfrooms = this.booking.noOfRooms;\r\n } else {\r\n\r\n this.booking.fromDate = this.getDateFormatYearMonthDay(\r\n this.fromDate.day,\r\n this.fromDate.month,\r\n this.fromDate.year\r\n );\r\n this.booking.toDate = this.getDateFormatYearMonthDay(\r\n this.toDate.day,\r\n this.toDate.month,\r\n this.toDate.year\r\n );\r\n this.isAvailableChecked = false;\r\n this.checkincheckOutDate();\r\n }\r\n\r\n this.getDiffDate(this.toDate, this.fromDate);\r\n\r\n console.log(\"this.bookingData \", JSON.stringify(this.booking));\r\n this.booking.discountAmount = 0;\r\n this.booking.netAmount = (this.booking.roomPrice * this.booking.noOfRooms * this.DiffDate) + this.booking.extraPersonCharge + this.booking.extraChildCharge;\r\n this.booking.gstAmount = (this.booking.netAmount * this.booking.taxPercentage) / 100;\r\n this.booking.totalAmount = this.booking.netAmount + this.booking.gstAmount - this.booking.discountAmount;\r\n\r\n }\r\n // });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n clickPhone() {\r\n this.booking.email = \"\";\r\n }\r\n\r\n clickEmail() {\r\n this.booking.mobile = \"\";\r\n }\r\n checkCustomer() {\r\n this.loader = true;\r\n this.message = new MessageDto();\r\n if (this.verifyOption == \"email\") {\r\n console.log(this.booking.email);\r\n this.message.email = this.booking.email;\r\n this.message.toNumber = null;\r\n } else if (this.verifyOption == \"sms\") {\r\n this.message.toNumber = this.booking.mobile;\r\n this.message.email = null;\r\n }\r\n\r\n this.sendBtn = \"Resend\";\r\n this.apiService.authorisationToken(this.message).subscribe((response) => {\r\n this.loader = false;\r\n console.log(\"authorisationToken data\", JSON.stringify(response));\r\n const data: any = response;\r\n this.message.verificationStatus = data.verificationStatus;\r\n this.message.sid = data.sid;\r\n this.message.notificationStatus = data.notificationStatus;\r\n }),\r\n (error) => {\r\n this.loader = false;\r\n };\r\n // Logger.log('authorisationToken data', JSON.stringify(this.message));\r\n this.lookup = true;\r\n this.loader = false;\r\n this.verificationSend = true;\r\n }\r\n phoneHasError(obj) {\r\n console.log(JSON.stringify(obj));\r\n this.mobileHasError = obj;\r\n }\r\n getNumber(obj) {\r\n console.log(JSON.stringify(obj));\r\n this.booking.mobile = obj;\r\n }\r\n onVerified() {\r\n this.isVerified = true;\r\n }\r\n mobileTextChange() {\r\n this.mobileHasError = true;\r\n this.isVerified = false;\r\n }\r\n customerLookup() {\r\n if (this.verifyOption == \"email\") {\r\n this.apiService.getCustomerDetailsByEmail(this.booking.email)\r\n .subscribe(\r\n (data) => {\r\n if(data.status == 200){\r\n this.customerDto = new Customer();\r\n this.customerDto = data.body;\r\n console.log('Get customer ' + JSON.stringify(data.body));\r\nthis.booking.customerDtoList = [];\r\n this.booking.customerDtoList.push(this.customerDto);\r\n this.booking.firstName = this.customerDto.firstName;\r\n this.booking.lastName = this.customerDto.lastName;\r\n this.booking.mobile = this.customerDto.mobile;\r\n this.booking.customerId = this.customerDto.id;\r\n this.lookup = true;\r\n this.customerExist = true;\r\n this.verified = true;\r\n } else if (data.status == 404){\r\n this.loader = false;\r\n this.lookup = true;\r\n this.customerExist = false;\r\n }\r\n\r\n },\r\n (_error) => {\r\n this.loader = false;\r\n this.lookup = true;\r\n this.customerExist = false;\r\n }\r\n );\r\n } else if (this.verifyOption == \"sms\") {\r\n this.apiService\r\n .getCustomerDetailsByMobile(this.booking.mobile)\r\n .subscribe(\r\n (data) => {\r\n this.customerDto = new Customer();\r\n this.customerDto = data.body;\r\n console.log('Get customer ' + JSON.stringify(data.body));\r\n this.booking.customerDtoList = [];\r\n\r\n this.booking.customerDtoList.push(this.customerDto);\r\n this.booking.firstName = this.customerDto.firstName;\r\n this.booking.lastName = this.customerDto.lastName;\r\n this.booking.email = this.customerDto.email;\r\n this.booking.customerId = this.customerDto.id;\r\n this.lookup = true;\r\n this.customerExist = true;\r\n this.verified = true;\r\n },\r\n (_error) => {\r\n this.loader = false;\r\n this.lookup = true;\r\n this.customerExist = false;\r\n }\r\n );\r\n }\r\n }\r\n varificationSend() {\r\n this.loader = true;\r\n if (this.verifyOption == \"email\") {\r\n this.message.email = this.booking.email;\r\n this.message.toNumber = null;\r\n } else if (this.verifyOption == \"sms\") {\r\n this.message.toNumber = this.booking.mobile;\r\n this.message.email = null;\r\n }\r\n this.message.verificationCode = this.verificationCode;\r\n this.apiService.verifyAuthorisationToken(this.message).subscribe(\r\n (response) => {\r\n this.loader = false;\r\n\r\n const data: any = response;\r\n this.message.verificationStatus = data.verificationStatus;\r\n this.message.notificationStatus = data.notificationStatus;\r\n if (data.verificationStatus === \"approved\") {\r\n this.verifiedPending = false;\r\n this.verified = true;\r\n this.verifySuccessMessage = true;\r\n setTimeout(function () {\r\n this.verifySuccessMessage = false;\r\n }, 5000);\r\n } else if (data.verificationStatus === \"pending\") {\r\n this.isSuccess = false;\r\n this.verifiedPending = true;\r\n this.verified = false;\r\n this.verifySuccessMessage = true;\r\n setTimeout(function () {\r\n this.verifySuccessMessage = false;\r\n }, 5000);\r\n } else {\r\n this.verified = false;\r\n }\r\n },\r\n (_error) => {\r\n this.loader = false;\r\n }\r\n );\r\n }\r\n onSubmit(orderForm) { }\r\n\r\n\r\n mileSecondToNGBDate(date: string) {\r\n const dsd = new Date(date);\r\n const year = dsd.getFullYear();\r\n const day = dsd.getDate();\r\n const month = dsd.getMonth() + 1;\r\n return { year: year, month: month, day: day };\r\n }\r\n getOfferDetails() {\r\n this.apiService\r\n .getOfferDetailsBySeoFriendlyName(this.property.seoFriendlyName)\r\n .subscribe((data) => {\r\n this.businessOfferDto = data.body;\r\n console.log(\"this.businessOfferDto: \", data.body);\r\n });\r\n }\r\n applyPromoCode(offer) {\r\n if (offer !== '') {\r\n let f = new Date(this.booking.fromDate);\r\n let s = new Date(offer.startDate);\r\n\r\n let t = new Date(this.booking.toDate);\r\n let e = new Date(offer.endDate);\r\n if (s.getTime() <= f.getTime() && e.getTime() >= t.getTime()) {\r\n this.discountPercentage = offer.discountPercentage;\r\n this.booking.discountPercentage = offer.discountPercentage;\r\n this.booking.discountAmount = this.booking.netAmount * (this.booking.discountPercentage / 100);\r\n this.booking.totalAmount = this.booking.netAmount + ((this.booking.netAmount * this.taxPercentage) / 100) - this.booking.discountAmount;\r\n\r\n this.promoMessage = offer.couponCode + \" applied!\";\r\n } else {\r\n this.promoMessage = offer.couponCode + \" has expired!\";\r\n }\r\n\r\n } else {\r\n this.discountPercentage = 0;\r\n this.booking.discountPercentage = 0;\r\n this.booking.discountAmount = this.booking.netAmount * (this.booking.discountPercentage / 100);\r\n this.booking.totalAmount = this.booking.netAmount + ((this.booking.netAmount * this.taxPercentage) / 100) - this.booking.discountAmount;\r\n\r\n this.promoMessage = \"Not available!\";\r\n }\r\n }\r\n getDiffDate(toDate, fromDate) {\r\n this.enddate = new Date(toDate.year, toDate.month - 1, toDate.day);\r\n\r\n this.startDate = new Date(fromDate.year, fromDate.month - 1, fromDate.day);\r\n // console.log('this.fromDate: ', this.startDate);\r\n // console.log('this.toDate: ', this.enddate);\r\n this.DiffDate = Math.floor(\r\n (Date.UTC(\r\n this.enddate.getFullYear(),\r\n this.enddate.getMonth(),\r\n this.enddate.getDate()\r\n ) -\r\n Date.UTC(\r\n this.startDate.getFullYear(),\r\n this.startDate.getMonth(),\r\n this.startDate.getDate()\r\n )) /\r\n (1000 * 60 * 60 * 24)\r\n );\r\n }\r\n\r\n getDateFormatYearMonthDay(\r\n day12: number,\r\n month12: number,\r\n year12: number\r\n ): string {\r\n const year = year12;\r\n const date = day12;\r\n\r\n const month = month12;\r\n\r\n let month1;\r\n let day1;\r\n if (Number(month) < 10) {\r\n month1 = `0${month}`;\r\n } else {\r\n month1 = `${month}`;\r\n }\r\n if (Number(date) < 10) {\r\n day1 = `0${date}`;\r\n } else {\r\n day1 = `${date}`;\r\n }\r\n\r\n return `${year}-${month1}-${day1}`;\r\n }\r\n\r\n getAvailableRoom() {\r\n this.dateModel = new DateModel();\r\n this.booking.fromDate = this.getDateFormatYearMonthDay(\r\n this.fromDate.day,\r\n this.fromDate.month,\r\n this.fromDate.year\r\n );\r\n this.booking.toDate = this.getDateFormatYearMonthDay(\r\n this.toDate.day,\r\n this.toDate.month,\r\n this.toDate.year\r\n );\r\n this.dateModel.checkIn = this.getDateFormat(this.booking.fromDate);\r\n this.dateModel.checkOut = this.getDateFormat(this.booking.toDate);\r\n this.dateModel.guest = this.booking.noOfPersons;\r\n this.dateModel.noOfRooms = this.booking.noOfRooms;\r\n\r\n // console.log(' this.dateModel '+JSON.stringify( this.dateModel));\r\n\r\n const navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n dateob: JSON.stringify(this.dateModel),\r\n },\r\n };\r\n\r\n this.router.navigate([\"/booking/choose\"], navigationExtras);\r\n }\r\n onBook() {\r\n this.dateModel = new DateModel();\r\n\r\n if (this.checkIn.value === null) {\r\n this.dateModel.checkIn = this.yearSelected + '-' + (this.monthSelected + 1) + '-' + this.daySelected;\r\n } else {\r\n this.dateModel.checkIn = this.getDateFormat(this.checkIn.value);\r\n }\r\n\r\n if (this.checkOut.value === null) {\r\n this.dateModel.checkOut = this.yearSelected2 + '-' + (this.monthSelected2 + 1) + '-' + this.daySelected2;\r\n } else {\r\n this.dateModel.checkOut = this.getDateFormat(this.checkOut.value);\r\n }\r\n if (this.guest === null) {\r\n this.dateModel.guest = 1;\r\n } else {\r\n this.dateModel.guest = this.guest;\r\n\r\n }\r\n\r\n this.dateModel.noOfRooms = 1;\r\n\r\n\r\n // console.log(' this.dateModel '+JSON.stringify( this.dateModel));\r\n\r\n const navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n dateob: JSON.stringify(this.dateModel),\r\n }\r\n };\r\n\r\n this.router.navigate(['/booking/choose'], navigationExtras);\r\n }\r\n checkincheckOutDate() {\r\n let currentDate: Date = new Date();\r\n this.daySelected = this.getDay(currentDate);\r\n this.yearSelected = String(currentDate.getFullYear());\r\n this.monthSelected = currentDate.getMonth();\r\n\r\n let afterDate: Date = new Date();\r\n afterDate.setDate(currentDate.getDate() + 1);\r\n\r\n this.daySelected2 = this.getDay(afterDate);\r\n this.yearSelected2 = String(afterDate.getFullYear());\r\n this.monthSelected2 = afterDate.getMonth();\r\n }\r\n\r\n getDay(date: Date) {\r\n if (date.getDate().toString().length == 1) {\r\n this.currentDay = '0' + date.getDate();\r\n } else {\r\n this.currentDay = '' + date.getDate();\r\n }\r\n\r\n return this.currentDay;\r\n }\r\n onCheckoutSubmit() {\r\n\r\n }\r\n checkedOutEvent() {\r\n this.isAvailableChecked = false;\r\n }\r\n\r\n checkInEvent() {\r\n this.isAvailableChecked = false;\r\n let currentDate: Date = new Date(this.checkIn.value);\r\n\r\n let afterDate: Date = new Date();\r\n afterDate.setDate(currentDate.getDate() + 1);\r\n afterDate.setFullYear(currentDate.getFullYear());\r\n afterDate.setMonth(currentDate.getMonth());\r\n\r\n this.daySelected2 = this.getDay(afterDate);\r\n this.yearSelected2 = String(afterDate.getFullYear());\r\n this.monthSelected2 = afterDate.getMonth();\r\n }\r\n\r\n getRoomByDate() {\r\n if (this.checkIn.value === null) {\r\n this.booking.fromDate = this.yearSelected + '-' + this.monthSelected + 1 + '-' + this.daySelected;\r\n } else {\r\n this.booking.fromDate = this.getDateFormat(this.checkIn.value);\r\n }\r\n\r\n if (this.checkOut.value === null) {\r\n this.booking.toDate =\r\n this.yearSelected2 +\r\n '-' +\r\n this.monthSelected2 +\r\n 1 +\r\n '-' +\r\n this.daySelected2;\r\n } else {\r\n this.booking.toDate = this.getDateFormat(this.checkOut.value);\r\n }\r\n\r\n if (\r\n this.booking.toDate != undefined &&\r\n this.booking.fromDate != undefined\r\n ) {\r\n this.isAvailableChecked = true;\r\n }\r\n }\r\n\r\n getDateFormat(dateString: string) {\r\n let yearAndMonth = dateString.split('-', 3);\r\n return (\r\n yearAndMonth[0] +\r\n '-' +\r\n yearAndMonth[1] +\r\n '-' +\r\n yearAndMonth[2].split(' ', 1)\r\n );\r\n }\r\n\r\n onChangeRoom($event, roomNumber: number) {\r\n if (this.booking.noOfRooms != undefined) {\r\n if (this.booking.noOfRooms > roomNumber) {\r\n this.booking.noOfRooms = roomNumber;\r\n // this.noOfRooms.reset();\r\n this.noOfRooms.setValue(roomNumber);\r\n }\r\n }\r\n }\r\n\r\n onChangePerson($event, personNumber: number) {\r\n if (this.booking.noOfPersons != undefined) {\r\n if (this.booking.noOfPersons > personNumber) {\r\n this.booking.noOfPersons = personNumber;\r\n this.noOfPersons.setValue(personNumber);\r\n }\r\n }\r\n }\r\n\r\n\r\n onCheckOut() {\r\n // this.dateModel.booking = this.booking;\r\n\r\n // let navigationExtras: NavigationExtras = {\r\n // queryParams: {\r\n // dateob: JSON.stringify(this.dateModel),\r\n // },\r\n // };\r\n this.booking.customerId = this.customerDto.id;\r\n this.token.saveBookingData(this.booking);\r\n this.router.navigate(['/booking/payment']);\r\n }\r\n\r\n getCheckInDateFormat(dateString: string) {\r\n let yearAndMonth = dateString.split('-', 3);\r\n this.daySelected = String(yearAndMonth[2].split(' ', 1));\r\n this.yearSelected = yearAndMonth[0];\r\n this.monthSelected = parseInt(yearAndMonth[1]) - 1;\r\n }\r\n\r\n getcheckOutDateFormat(dateString: string) {\r\n let yearAndMonth = dateString.split('-', 3);\r\n this.daySelected2 = String(yearAndMonth[2].split(' ', 1));\r\n this.yearSelected2 = yearAndMonth[0];\r\n this.monthSelected2 = parseInt(yearAndMonth[1]) - 1;\r\n }\r\n onReload() {\r\n window.location.reload();\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Booking

    \r\n
    \r\n

    Find Your Desire Room

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n

    Your Booking\r\n Details

    \r\n
    \r\n
    \r\n
    Check-in
    \r\n

    {{booking.fromDate | date:'EEE, MMM d, y'}}

    \r\n
    \r\n
    \r\n
    Check-out
    \r\n

    {{booking.toDate | date:'EEE, MMM d, y'}}

    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Total length of stay:
    \r\n

    {{DiffDate}} Night(s)

    \r\n
    You selected:
    \r\n

    {{booking.roomType}}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Guests:
    \r\n
    {{booking.noOfPersons}} Adult(s)
    0\" >{{booking.noOfChildren}} Child(s) \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    Price\r\n {{ booking.totalAmount | currency: currency :'symbol':'1.2-2' }}\r\n
    \r\n

    Total Payable Amount

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    Total length of stay:
    \r\n

    {{ DiffDate }} Night(s)

    \r\n
    You selected:
    \r\n

    {{ booking.roomName }}

    \r\n
    Room price:
    \r\n

    {{booking.roomPrice | currency: currency:'symbol':'1.2-2' }} x {{DiffDate}}

    \r\n
    Discount ({{booking.discountPercentage}}%):\r\n {{booking.discountAmount | currency: currency:'symbol':'1.2-2'}}\r\n
    \r\n
    Tax Amount ({{this.booking.taxPercentage}}%):
    \r\n

    {{ property.taxDetails[0].name }} & charges\r\n {{ (this.booking.netAmount * this.booking.taxPercentage) / 100 | currency: currency:'symbol':'1.2-2' }}\r\n

    \r\n\r\n
    0\">\r\n
    Extra Person charges
    \r\n

    \r\n {{ booking.extraPersonCharge | currency: currency:'symbol':'1.2-2' }}\r\n

    \r\n
    \r\n\r\n
    0\">\r\n\r\n
    Extra Child charges
    \r\n

    \r\n {{ booking.extraChildCharge | currency: currency:'symbol':'1.2-2' }}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n

    Booking Checkout

    \r\n\r\n
    \r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tFirst Name is required\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tLast Name is required\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tEmail is required\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tEnter a valid email\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t Invalid Phone number \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\r\n\r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tEmail is required\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tEnter a valid email\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t Invalid Phone number \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n \r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t

    Verification Success!

    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t

    Verification Error!

    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t

    Booking Overview

    \r\n\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t

    Type your requests in English here – we'll share them with the\r\n\t\t\t\t\t\t\t\t\tproperty.\r\n\t\t\t\t\t\t\t\t\tSpecial requests cannot be guaranteed, but the property will do its best to meet\r\n\t\t\t\t\t\t\t\t\tyour needs.\r\n\t\t\t\t\t\t\t\t\tYou can always make a special request after your booking is complete!

    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tPromo Code: {{promoMessage}}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    • Room Type: {{booking.roomName}}
    • \r\n\t\t\t\t\t\t\t\t\t
    • No Of Person(s): {{booking.noOfPersons}}
    • \r\n\t\t\t\t\t\t\t\t\t
    • No Of Extra Person(s): {{booking.noOfExtraPerson}}
    • \r\n\t\t\t\t\t\t\t\t\t
    • Extra Person charges: {{ booking.extraPersonCharge | currency: currency:'symbol':'1.2-2' }}
    • \r\n\r\n\t\t\t\t\t\t\t\t\t
    • Net Amount: \r\n\t\t\t\t\t\t\t\t\t\t\t{{booking.netAmount | currency: currency:'symbol':'1.2-2' }}\r\n\t\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    • Discount: {{discountPercentage}}%
    • \r\n\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\t
      Total Amount: \r\n\t\t\t\t\t\t\t\t\t\t\t\t{{booking.totalAmount | currency: currency:'symbol':'1.2-2' }} \r\n\t\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t
    • No Of Room(s): {{booking.noOfRooms}}
    • \r\n\t\t\t\t\t\t\t\t\t
    • No Of Child: {{booking.noOfChildren}}
    • \r\n\t\t\t\t\t\t\t\t\t
    • No Of Extra Child(s): {{booking.noOfExtraChild}}
    • \r\n\t\t\t\t\t\t\t\t\t
    • Extra Child charges: {{ booking.extraChildCharge | currency: currency:'symbol':'1.2-2' }}
    • \r\n\r\n\t\t\t\t\t\t\t\t\t
    • Room Price: \r\n\t\t\t\t\t\t\t\t\t\t\t{{booking.roomPrice | currency: currency:'symbol':'1.2-2' }} \r\n\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    • Tax Amount ({{this.booking.taxPercentage}}%): \r\n\t\t\t\t\t\t\t\t\t\t {{ booking.gstAmount | currency: currency:'symbol':'1.2-2' }}\r\n\t\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
    • Discount Amount:\r\n\t\t\t\t\t\t\t\t\t\t{{booking.discountAmount | currency: currency:'symbol':'1.2-2'}}\r\n\t\t\t\t\t\t\t\t\t
    • \r\n\r\n\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n
    \r\n \r\n\r\n
    \r\n\t\t\t\t\t\t
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n","import { Host, Injectable } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\nimport { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';\r\nimport { Booking } from './model/booking';\r\nimport { BookingDetails } from './model/bookingdetails';\r\nimport { Msg } from './model/msg';\r\nimport { Payment } from './model/payment';\r\nimport { Property } from './model/property';\r\nimport { Customer } from './model/customer';\r\nimport { MessageDto } from './model/MessageDto';\r\nimport { APP_ID } from './app.component';\r\nimport { Room } from './model/room';\r\nimport { GuestReview } from './shared/models/guestReview';\r\nimport { GoogleReview } from './model/googleReview';\r\nimport { BusinessUser } from './model/user';\r\nimport { DeliveryOption } from './model/deliveryOption';\r\nimport { ProductGroup } from './model/productGroup';\r\nimport { OrderDto } from './model/orderDto';\r\n\r\n\r\nexport const API_URL = environment.apiUrl + '/api/website';\r\n\r\nexport const API_URL_PROMOTION = environment.apiUrlPromotion;\r\nexport const API_URL2 = environment.apiUrl;\r\nexport const SMS_NUMBER = '+1 956 903 2629';\r\n//const API_URL2 = 'https://localhost:8080';\r\n//const API_URL = 'http://localhost:8080/api/website';\r\n\r\nexport const PROPERTY_ID = environment.propertyId\r\n;\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n processPayPalPayment(payment: Payment) {\r\n return this.http.post(API_URL2 + '/api/payment/create', payment, { observe: 'response' });\r\n }\r\n getAllBookingsByHost(host: Host) {\r\n return this.http.post(API_URL2 + '/api/booking/findAll', host, { observe: 'response' });\r\n }\r\n\r\n getBookingDetailsByIdAndEmail(booking: Booking) {\r\n return this.http.get(API_URL + '/findBookingByIdAndEmail?BookingReferenceNumber=' + booking.propertyReservationNumber + '&BookingEmail=' + booking.email, { observe: 'response' });\r\n }\r\n getBookingDetails(bookingNumber: any, bookingEmail: string) {\r\n\r\n return this.http.get (API_URL + '/findBookingByIdAndEmail?BookingReferenceNumber=' + bookingNumber + '&BookingEmail=' + bookingEmail, { observe: 'response' });\r\n }\r\n authorisationToken(message: MessageDto) {\r\n let headers = new HttpHeaders({\r\n 'APP_ID': APP_ID\r\n });\r\n return this.http.post(API_URL2 + '/api/message/authorisationToken', message, { headers: headers });\r\n }\r\n send(message: MessageDto) {\r\n let headers = new HttpHeaders({\r\n 'APP_ID': APP_ID\r\n });\r\n return this.http.post(API_URL2 + '/api/message/send', message, { headers: headers });\r\n }\r\n verifyAuthorisationToken(message: MessageDto) {\r\n let headers = new HttpHeaders({\r\n 'APP_ID': APP_ID\r\n });\r\n return this.http.post(API_URL2 + '/api/message/verifyAuthorisationToken', message, { headers: headers });\r\n }\r\n getCustomerDetailsByEmail(email: string) {\r\n return this.http.get(API_URL + '/email/' + email + '/', { observe: 'response' });\r\n }\r\n getCustomerDetailsByMobile(mobile: string) {\r\n return this.http.get(API_URL + '/mobile/' + mobile, { observe: 'response' });\r\n }\r\n\r\n paymentIntent(paymentDetails: Payment) {\r\n return this.http.post(API_URL + '/paymentIntent', paymentDetails, { observe: 'response' });\r\n}\r\nfindByPropertyId(id: number) {\r\n return this.http.get(API_URL + '/findByPropertyId/' + id, { observe: 'response' });\r\n}\r\n getPropertyDetailsByPropertyId(propertyId: number) {\r\n return this.http.get(API_URL + '/findByPropertyId/' + propertyId, { observe: 'response' });\r\n }\r\n getRoomDetailsByPropertyId(propertyId: number) {\r\n return this.http.get(API_URL + '/findAllRoomsByPropertyId/' + propertyId, { observe: 'response' });\r\n }\r\n\r\n getRoomDetailsByPropertyIdAndDate(propertyId: number, fromDate: string, toDate: string) {\r\n return this.http.get(API_URL + '/getAllRoomsByDate?PropertyId=' + propertyId + '&FromDate=' + fromDate + '&ToDate=' + toDate, { observe: 'response' });\r\n }\r\n\r\n checkAvailability(booking: Booking) {\r\n return this.http.post(API_URL + '/checkAvailability', booking, { observe: 'response' });\r\n }\r\n checkAvailabilityByID(booking: Booking) {\r\n return this.http.get(API_URL + '/checkAvailability/' + PROPERTY_ID + '?fromDate=' + booking.fromDate + '&toDate=' + booking.toDate + '&noOfRooms=' + booking.noOfRooms + '&noOfPersons=' + booking.noOfPersons + '&noOfChildren=' + booking.noOfChildren + '', { observe: 'response' });\r\n }\r\n processPayment(paymentDetails: Payment) {\r\n return this.http.post(API_URL + '/processPayment', paymentDetails, { observe: 'response' });\r\n }\r\n createBooking(booking: Booking) {\r\n return this.http.post(API_URL + '/booking', booking, { observe: 'response' });\r\n }\r\n sendTextMessage(message: Msg) {\r\n return this.http.post(API_URL + '/message/send', message, { observe: 'response' });\r\n }\r\n savePayment(paymentDetails: Payment) {\r\n return this.http.post(API_URL + '/savePayment', paymentDetails, { observe: 'response' });\r\n }\r\n getGoogleReviews() {\r\n return this.http.get(API_URL + '/getGoogleReviews?PropertyId=' + PROPERTY_ID, { observe: 'response' });\r\n }\r\n getOfferDetailsBySeoFriendlyName( seoName: string) {\r\n return this.http.get(API_URL_PROMOTION + '/api/offer/findBySeofriendlyName/'+seoName+'/',{ observe: 'response' });\r\n }\r\n getAllReview(propertyId: number) {\r\n return this.http.get(API_URL + '/getGoogleReviews?PropertyId=' + propertyId, { observe: 'response' });\r\n }\r\n getBusinessBranch(id) {\r\n return this.http.get(API_URL + '/' + id + '/branches', { observe: 'response' });\r\n }\r\n getDeliveryOption(businessServiceId : number){\r\n return this.http.get(API_URL + '/'+businessServiceId+'/deliveryOptions' , { observe: 'response' });\r\n }\r\n findPropertyBySEOName(seoFriendlyName: string) {\r\n return this.http.get(API_URL + '/findByPropertyBySEOFriendlyName/' + seoFriendlyName, { observe: 'response' });\r\n }\r\n findProductsByBusinessServiceId(businessServiceId: number) {\r\n return this.http.get(API_URL + '/getProductList/' + businessServiceId, { observe: 'response' });\r\n }\r\n order(order: OrderDto){\r\n return this.http.post(API_URL2 + '/api/order', order, { observe: 'response' });\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{title}}

    \r\n
    \r\n

    {{desc}}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    {{testimonial.message}}
    \r\n
    \r\n
    \r\n \"\"\r\n

    {{testimonial.name}} {{testimonial.position}}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Hotel A One Luxury

    \r\n
    \r\n

    hotel service

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \"\"\r\n
    \r\n

    {{item.title}}

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-notch',\r\n templateUrl: './notch.component.html',\r\n styleUrls: ['./notch.component.css'],\r\n})\r\nexport class NotchComponent implements OnInit {\r\n\r\n reveals: any;\r\n windowHeight: any;\r\n elementTop: any;\r\n elementVisible: any;\r\n galleryItems = [\r\n {\r\n imageUrl: 'assets/images/serviceimg1.png',\r\n title: 'Rooms',\r\n },\r\n {\r\n imageUrl: 'assets/images/serviceimg2.png',\r\n title: 'Rooms',\r\n },\r\n {\r\n imageUrl: 'assets/images/serviceimg3.png',\r\n title: 'Rooms',\r\n },\r\n {\r\n imageUrl: 'assets/images/serviceimg4.png',\r\n title: 'Rooms',\r\n },\r\n {\r\n imageUrl: 'assets/images/serviceimg5.png',\r\n title: 'Rooms',\r\n },\r\n {\r\n imageUrl: 'assets/images/serviceimg6.png',\r\n title: 'Rooms',\r\n },\r\n {\r\n imageUrl: 'assets/images/serviceimg7.png',\r\n title: 'Rooms',\r\n },\r\n {\r\n imageUrl: 'assets/images/serviceimg7.png',\r\n title: 'Rooms',\r\n },\r\n ];\r\n\r\n slideConfig =\r\n {\r\n centerMode: true,\r\n centerPadding: '34%',\r\n slidesToShow: 1,\r\n dots: true,\r\n arrows: false,\r\n responsive: [\r\n {\r\n breakpoint: 1025,\r\n settings: {\r\n centerPadding: '10px',\r\n slidesToShow: 2,\r\n }\r\n },\r\n {\r\n breakpoint: 767,\r\n settings: {\r\n centerPadding: '10px',\r\n slidesToShow: 1\r\n }\r\n }\r\n ]\r\n };\r\n\r\n title: string = 'Reviews';\r\n desc: string = 'Hers’s what our guests have to say ';\r\n data: any = [\r\n {\r\n message:\r\n 'Amazing place!!! A home away from home ....excellent staff...scrumptious food and very aesthetically designed surroundings. You do not feel like a guest at all...ur part of their family. Visit Hotel A One Luxury to experience the positive vibes of the place ❤️',\r\n name: 'Feeling recharged.....',\r\n position: 'Gauri Durve',\r\n image: 'assets/images/test_img1.jpg',\r\n },\r\n {\r\n message:\r\n \"#positivereview #longpost #homeawayfromhome. Life is all about home and people you love or who love you and trust me this place makes you feel loved,welcomed and appreciated every moment. From the entry to this place there is wide smiles, hospitality and love. Each and every member from owners to staff are truly dedicated to you. Their ultimate motive is to give you utmost care and make you feel special. The food is an icing on the cake. Each item that we ordered was awesome and we'll prepared with all the pampering around. A place which has a small temple, lounge, swimm pool and utmost cozy rooms will make you feel at peace. If you really need relaxation do visit this place. It will make you forget your worries and you can relax to the utmost level. Will visit for another stay soon. Keep up the great work team Hotel A One Luxury. ...\",\r\n name: 'Home away from home destination',\r\n position: 'Shibani Thomas Desai',\r\n image: 'assets/images/test_img1.jpg',\r\n },\r\n {\r\n message:\r\n 'Awesome and a clean place!! Excellent service with utmost care . Food is amazing, staff takes good care in the best way possible and are always ready to take care of all your requests. Great place with family, friends and very apt for celebrations. Comfortable rooms , bathrooms and a lovely pool . Would highly recommend Hotel A One Luxury to everyone!! Very well located away from the crowds.',\r\n name: 'Home away from home.',\r\n position: 'Malti Wadhwa',\r\n image: 'assets/images/test_img1.jpg',\r\n },\r\n {\r\n message:\r\n \"It was a pleasant stay. Liked the ambiance and the staff are excellent. They have cooperated a lot with us. The food and room service was very well satisfactory. The best part is it's location in the Shirdi, Maharashtra with easy road access without traffic and noise\",\r\n name: 'Nice place stay with family',\r\n position: 'Rahul',\r\n image: 'assets/images/test_img1.jpg',\r\n },\r\n ];\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.revealone()\r\n }\r\n\r\n revealone() {\r\n this.reveals = document.querySelectorAll('.revealLeft');\r\n\r\n for (var i = 0; i < this.reveals.length; i++) {\r\n this.windowHeight = window.innerHeight;\r\n this.elementTop = this.reveals[i].getBoundingClientRect().top;\r\n this.elementVisible = 150;\r\n\r\n if (this.elementTop < this.windowHeight - this.elementVisible) {\r\n this.reveals[i].classList.add('active');\r\n } else {\r\n this.reveals[i].classList.remove('active');\r\n }\r\n }\r\n window.addEventListener('scroll', this.revealone);\r\n }\r\n}\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";","import { Address } from \"./address\";\r\n\r\nexport class BusinessOfferDto {\r\n address: Address;\r\n available: number;\r\n balance: number;\r\n businessType: string;\r\n couponCode: string;\r\n description: string;\r\n startDate: string;\r\n endDate: string;\r\n facebookPostUrl: string;\r\n highlights: string;\r\n id: number;\r\n imageList: [\r\n {\r\n description: string;\r\n id: string;\r\n mainImage: boolean;\r\n name: string;\r\n url: string;\r\n }\r\n ];\r\n discountPercentage: number;\r\n name: string;\r\n propertyId: number;\r\n restrictions: string;\r\n seoFriendlyName: string;\r\n shortName: string;\r\n specialNotes: string;\r\n total: number;\r\n videoUrl: string;\r\n constructor() {}\r\n}\r\n"],"sourceRoot":"webpack:///"}