{"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/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/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/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/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/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/shared/layout/footer/footer.component.ts","./src/app/shared/layout/footer/footer.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\nexport class Booking {\r\n id: number;\r\n referenceNumber: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n mobile: string;\r\n checkInDateStr: string;\r\n checkOutDateStr: string;\r\n roomTariffBeforeDiscount:number;\r\n fromDate: string;\r\n fromDateCal: Date;\r\n toDate: string;\r\n roomType: string;\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 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 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 noOfRooms: number;\r\n noOfPersons: number;\r\n noOfChildren: number;\r\n noOfExtraPerson: number;\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 customerDtoList: any[];\r\n taxAmount: 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","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\nimport { ApiService, PROPERTY_ID } from 'src/app/api.service';\r\nimport { Property } from 'src/app/model/property';\r\nimport { TokenStorage } from 'src/app/token.storage';\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: Property;\r\n sticky:boolean = false;\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 Property();\r\n if (this.token.getProperty() !== null) {\r\n this.property = this.token.getProperty();\r\n } else {\r\n // this.getProperty();\r\n }\r\n }\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\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 { HttpErrorResponse } from '@angular/common/http';\r\nimport { 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 { DateModel } from 'src/app/model/dateModel';\r\nimport { Room } from 'src/app/model/room';\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\r\n rooms: Room[];\r\n dateModel: DateModel;\r\n\r\n daySelected: string;\r\n yearSelected: string;\r\n monthSelected: number;\r\n\r\n\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 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 router: Router) {\r\n this.dateModel = new DateModel();\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\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
\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: 122,\r\n // country: 'nz',\r\n\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: 1149,\r\n country: 'in',\r\n googleKey: 'AIzaSyAYT8pe61MUbk27eiYi9LnnPhwo031Ye7w'\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 Our Rooms
\r\n Enhancing Your Stay\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \"\"\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
    \r\n
  • \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 {{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 About Us
\r\n Your 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 \"First\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n

Hotel Kalinga

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

Hotel Kalinga is a well-known establishment located in Bhubaneswar. It offers comfortable\r\n accommodations, excellent dining options, and a range of amenities for both business and leisure\r\n travelers. With its convenient location and hospitable staff, Hotel Kalinga ensures a pleasant\r\n stay for guests looking to explore the area or conduct business in the city.\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\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 slideImage = [\r\n {\r\n imageUrl: 'assets/images/Kalinga 1a.JPG',\r\n title: '',\r\n },\r\n {\r\n imageUrl: 'assets/images/Kalinga 3a.JPG',\r\n title:'',\r\n },\r\n {\r\n imageUrl: 'assets/images/Kalinga 4a.JPG',\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 }\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\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 }\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

\"Unwind in Elegance: Your Home Away from Home\"

\r\n
\r\n

Our 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\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 { 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.css'],\r\n})\r\nexport class ChooseRoomComponent implements OnInit {\r\n fromDate: NgbDate | null;\r\n toDate: NgbDate | null;\r\n\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: Property;\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\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 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 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
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \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 {{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

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 Book Now\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 Service
\r\n Enhancing Your Stay at Hotel Kalinga\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\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

Air Conditioner

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

Geyser

\r\n \r\n\r\n
\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

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 { 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 { 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 galleryImage = [\r\n {\r\n imageURL: 'assets/images/Kalinga 1a.JPG',\r\n title: 'Hotel',\r\n class: 'hotel'\r\n },\r\n {\r\n imageURL: 'assets/images/Kalinga 2a.jpg',\r\n title: 'Hotel',\r\n class: 'hotel'\r\n },\r\n {\r\n imageURL: 'assets/images/Kalinga 3a.JPG',\r\n title: 'Hotel',\r\n class: 'hotel'\r\n },\r\n {\r\n imageURL: 'assets/images/Kalinga 4a.JPG',\r\n title: 'Hotel',\r\n class: 'hotel'\r\n },\r\n {\r\n imageURL: 'assets/images/Kalinga 5a.JPG',\r\n title: 'Hotel',\r\n class: 'hotel'\r\n },\r\n {\r\n imageURL: 'assets/images/Kalinga6a.JPG',\r\n title: 'Hotel',\r\n class: 'hotel'\r\n },\r\n {\r\n imageURL: 'assets/images/Kalinga 7a.jpg',\r\n title: 'Hotel',\r\n class: 'hotel'\r\n },\r\n {\r\n imageURL: 'assets/images/Kalinga 8a.JPG',\r\n title: 'Hotel',\r\n class: 'hotel'\r\n },\r\n {\r\n imageURL: 'assets/images/Kalinga9a.JPG',\r\n title: 'Rooms',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/images/Kalinga10a.JPG',\r\n title: 'Rooms',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/images/Kalinga11a.JPG',\r\n title: 'Rooms',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/images/Kalinga12a.JPG',\r\n title: 'Rooms',\r\n class: 'rooms'\r\n },\r\n {\r\n imageURL: 'assets/images/Kalinga13a.JPG',\r\n title: 'Rooms'\r\n },\r\n {\r\n imageURL: 'assets/images/Kalinga14a.JPG',\r\n title: 'Rooms'\r\n },\r\n {\r\n imageURL: 'assets/images/Kalinga15a.JPG',\r\n title: 'Rooms'\r\n },\r\n {\r\n imageURL: 'assets/images/Kalinga16a.JPG',\r\n title: 'Rooms'\r\n },\r\n \r\n // {\r\n // imageURL: 'assets/images/gallery_img16.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img17.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img18.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img19.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img20.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img21.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img22.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img23.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img24.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img25.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img26.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img27.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img28.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img29.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img30.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img31.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img32.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img33.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img34.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img35.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img36.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img37.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img38.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img39.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img40.jpg',\r\n // title: 'Resort'\r\n // },\r\n // {\r\n // imageURL: 'assets/images/gallery_img41.jpg',\r\n // title: 'Resort'\r\n // },\r\n ]\r\n property: Property;\r\n constructor(\r\n private router: Router,\r\n private token: TokenStorage,\r\n private apiService: ApiService\r\n ) {\r\n this.property = new Property();\r\n if (this.token.getProperty() !== null) {\r\n this.property = this.token.getProperty();\r\n } else {\r\n this.getProperty();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\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// getGallery(){}\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n Gallery
\r\n Exploring Hotel Kalinga\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\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 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 { 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: Property;\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\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 Property();\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(true);\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.property = 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 { 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 { 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: Property;\r\n\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 }\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 \r\n
\r\n
\r\n
\r\n
\r\n

Welcome to Hotel Kalinga

\r\n
\r\n

Relax In Our Hotel

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

At Hotel Kalinga, we believe that true relaxation is an art, and we have perfected it to\r\n provide you with an unforgettable experience. Our dedicated staff is committed to delivering impeccable service, attending to your\r\n every need with a warm smile and genuine care. Whether you need assistance with travel\r\n arrangements, local recommendations, or any other request, we're here to make your stay\r\n truly seamless.\r\n Hotel Kalinga is the ideal retreat that promises an experience of tranquility and\r\n relaxation like no other. Book your stay with us and let us pamper you with exceptional\r\n service and warm hospitality throughout your journey.

\r\n\r\n\r\n\r\n\r\n\r\n about us\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\n","\r\n\r\n\r\n\r\n\r\n","export 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 deliveryChargeAmount: number;\r\n currency: string;\r\n state: string;\r\n date: string;\r\n token: string;\r\n expYear: 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 paymentMode: string;\r\n externalReference: string;\r\n propertyId: number;\r\n clientSecret: string;\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 constructor() {\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\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 @Input() property: Property;\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 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 Property();\r\n if (this.token.getProperty() !== null) {\r\n this.property = this.token.getProperty();\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.email = {\r\n fromEmail: '',\r\n toEmail: '',\r\n subject: '',\r\n message: '',\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.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.getProperty().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 Contact Us
\r\n Get in Touch 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

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
\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
{{token.getProperty().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\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 { 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 { HttpClientJsonpModule, JsonpClientBackend } from '@angular/common/http';\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 ContactComponent,\r\n HomeAboutComponent,\r\n BookingComponent,\r\n PaymentComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PagesRoutingModule,\r\n NgbModule,\r\n FormsModule,\r\n HttpClientJsonpModule,\r\n ReactiveFormsModule,\r\n SlickCarouselModule\r\n ],\r\n providers:[\r\n {provide: JsonpClientBackend}, \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\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: Property;\r\n\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\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 currentDay: string;\r\n\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 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 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 Property();\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.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\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 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 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.roomTariffBeforeDiscount = this.booking.roomPrice;\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 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
\r\n \r\n
\r\n \r\n

\r\n

Payment succeeded!

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

Card payment not available!

\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 { 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: Property;\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 {\r\n imageUrl: 'assets/images/Kalinga 4a.JPG',\r\n title: '',\r\n },\r\n {\r\n imageUrl: 'assets/images/Kalinga 5a.JPG',\r\n title: '',\r\n },\r\n // {\r\n // imageUrl: 'assets/images/Kalinga 1a.JPG',\r\n // title: '',\r\n // },\r\n {\r\n imageUrl: 'assets/images/Kalinga6a.JPG',\r\n title: '',\r\n },\r\n {\r\n imageUrl: 'assets/images/front-view-kalinga.jpg',\r\n title: '',\r\n },\r\n // {\r\n // imageUrl: 'assets/images/Kalinga 8a.JPG',\r\n // title: '',\r\n // },\r\n // {\r\n // imageUrl: 'assets/images/Kalinga 7a.jpg',\r\n // title: '',\r\n // },\r\n // {\r\n // imageUrl: 'assets/images/Kalinga 2a.jpg',\r\n // title: '',\r\n // },\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 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.property);\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 Kalinga: Where Hospitality Meets Tranquility\"

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

Hotel Kalinga

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\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 { 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 { 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: Property;\r\n mobileActive: boolean = false;\r\n sticky:boolean = false;\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 Property();\r\n if (this.token.getProperty() !== null) {\r\n this.property = this.token.getProperty();\r\n } else {\r\n this.getProperty();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.token.getProperty() !== null) {\r\n this.property = this.token.getProperty();\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 { 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 { 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: 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 Property();\r\n if (this.token.getProperty() !== null) {\r\n this.property = this.token.getProperty();\r\n } else {\r\n this.getProperty();\r\n }\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.token.getProperty() !== null) {\r\n this.property = this.token.getProperty();\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 resort 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

      +919778822999

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

      {{token.getProperty().address.streetName}} {{token.getProperty().address.streetNumber}}\r\n {{token.getProperty().address.suburb}} {{token.getProperty().address.city}}\r\n {{token.getProperty().address.state}} {{token.getProperty().address.country}}\r\n {{token.getProperty().address.postcode}}

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

      hotelkalinga@kttorissa.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
    \r\n
    \r\n

    Made with ❤ by \"CredenceSoft-outline\"
    \r\n COPYRIGHT @ 2022 ALL RIGHT RESERVED. Hotel Kalinga
    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","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\nimport { 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\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/details/:id/:email', component: BookingDetailsComponent },\r\n { path: '', redirectTo: 'booking/choose', pathMatch: 'full' },\r\n];\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n NgbModule,\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\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\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: 'booking', component: BookingModule },\r\n { path: \"payment\", component: PaymentComponent }\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 { BusinessUser } from 'src/app/model/user';\r\nimport { Injectable } from '@angular/core';\r\nimport { Booking } from './model/booking';\r\nimport { DeliveryOption } from './model/deliveryOption';\r\nimport { Property } from './model/property';\r\nimport { TaxDetails } from './model/TaxDetails';\r\n\r\nconst PROPERTY = 'Property';\r\nconst PROPERTY_NAME = 'PropertyName';\r\nconst BOOKINGDATA = 'booking';\r\nconst BUSINESSUSER = 'business';\r\nconst PRODUCT_CART = 'productCart';\r\nconst DELIVERY_OPTION = 'delivery_option';\r\nconst SELECTED_COUNTRY = 'selectedCountry';\r\n\r\n@Injectable()\r\nexport class TokenStorage {\r\n constructor() {}\r\n\r\n signOut() {\r\n window.sessionStorage.removeItem(PROPERTY_NAME);\r\n window.sessionStorage.clear();\r\n }\r\n\r\n public saveProperty(property: Property) {\r\n window.sessionStorage.removeItem(PROPERTY);\r\n window.sessionStorage.setItem(PROPERTY, JSON.stringify(property));\r\n }\r\n\r\n public getProperty(): Property {\r\n return JSON.parse(sessionStorage.getItem(PROPERTY));\r\n }\r\n\r\n public savePropertyName(name: string) {\r\n window.sessionStorage.removeItem(PROPERTY_NAME);\r\n window.sessionStorage.setItem(PROPERTY_NAME, name);\r\n }\r\n // Booking\r\n public saveBookingData(booking: Booking) {\r\n window.sessionStorage.removeItem(BOOKINGDATA);\r\n if (booking !== null || booking !== undefined) {\r\n window.sessionStorage.setItem(BOOKINGDATA, JSON.stringify(booking));\r\n } else {\r\n window.sessionStorage.setItem(BOOKINGDATA, null);\r\n }\r\n }\r\n public getBookingData(): Booking {\r\n return JSON.parse(sessionStorage.getItem(BOOKINGDATA));\r\n }\r\n public getPropertyName(): string {\r\n return sessionStorage.getItem(PROPERTY_NAME);\r\n }\r\n\r\n clearHotelBooking() {\r\n window.sessionStorage.removeItem(BOOKINGDATA);\r\n }\r\n\r\n\r\n// ProductCart\r\nclearProductCart() {\r\n window.sessionStorage.removeItem(PRODUCT_CART);\r\n}\r\n\r\npublic saveProductCart(product: any[]) {\r\n window.sessionStorage.removeItem(PRODUCT_CART);\r\n if (product !== null || product !== undefined) {\r\n window.sessionStorage.setItem(PRODUCT_CART, JSON.stringify(product));\r\n } else {\r\n window.sessionStorage.setItem(PRODUCT_CART, null);\r\n }\r\n}\r\n\r\npublic getProductCart() {\r\n return JSON.parse(sessionStorage.getItem(PRODUCT_CART));\r\n}\r\n// delivery option\r\n\r\npublic saveDeliveryOption(deliveryOption: DeliveryOption){\r\n\r\n window.sessionStorage.removeItem(DELIVERY_OPTION);\r\n if (deliveryOption !== null || deliveryOption !== undefined) {\r\n window.sessionStorage.setItem(DELIVERY_OPTION, JSON.stringify(deliveryOption));\r\n } else {\r\n window.sessionStorage.setItem(DELIVERY_OPTION, null);\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(sessionStorage.getItem(DELIVERY_OPTION));\r\n}\r\n\r\ngetTaxDetails(businessService : any , property : BusinessUser)\r\n{\r\n\r\n if(businessService.taxDetails != null && businessService.taxDetails != undefined && businessService.taxDetails.length > 0)\r\n {\r\n let taxDetails = businessService.taxDetails[0].taxSlabsList;\r\n if(taxDetails != null && taxDetails != undefined && businessService.taxDetails.length > 0)\r\n {\r\n return businessService.taxDetails;\r\n }\r\n }\r\n else\r\n {\r\n let taxDetails= property.taxDetails[0].taxSlabsList;\r\n if(taxDetails != null && taxDetails != undefined && property.taxDetails.length > 0)\r\n {\r\n return property.taxDetails;\r\n }\r\n }\r\n\r\n}\r\ngetTaxPercentageByTaxDetail(amount : number ,taxdetails : TaxDetails)\r\n {\r\n if(taxdetails != null && taxdetails != undefined)\r\n {\r\n let taxSlabList = taxdetails.taxSlabsList;\r\n if(taxSlabList != null && taxSlabList != undefined && taxSlabList.length > 0)\r\n {\r\n let sizeOfTaxArray = taxSlabList.length;\r\n for (let i = 0; i < sizeOfTaxArray; i++)\r\n {\r\n let minAmount = taxSlabList[i].minAmount;\r\n let maxAmount= taxSlabList[i].maxAmount;\r\n let taxSlab= taxSlabList[i];\r\n if(amount >= minAmount && amount <= maxAmount)\r\n {\r\n return taxSlab.percentage ;\r\n break;\r\n }\r\n\r\n }\r\n }\r\n else\r\n {\r\n return taxdetails.percentage;\r\n }\r\n }\r\n\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\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\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: Property;\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(true);\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.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
    \r\n
    \r\n
    \r\n

    Aditya Aditya

    \r\n

    Actually the location good\r\n food best\r\n staff behavior best\r\n Overall hotel price and the service was so good

    \r\n

    ★ ★ ★ ★\r\n ★

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

    Ayashkant Bishi

    \r\n

    The room was spacious, clean, and well-appointed, with a comfortable\r\n bed that made for a restful night's sleep.

    \r\n

    ★ ★ ★ ★\r\n ★

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

    Pranaya Behera

    \r\n

    Overall good place. Service and staff behaviour also good. But price is fixed 1400/- ...so don't believe in oyo showing less price.

    \r\n

    ★ ★ ★ ★\r\n ★

    \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\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Hotel Kalinga

    \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

    {{item.title}}

    \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-notch',\r\n templateUrl: './notch.component.html',\r\n styleUrls: ['./notch.component.css'],\r\n})\r\nexport class NotchComponent implements OnInit {\r\n galleryItems = [\r\n {\r\n imageUrl: 'assets/images/Kalinga9a.JPG',\r\n title: 'Rooms',\r\n },\r\n {\r\n imageUrl: 'assets/images/Kalinga10a.JPG',\r\n title: 'Rooms',\r\n },\r\n {\r\n imageUrl: 'assets/images/Kalinga11a.JPG',\r\n title: 'Rooms',\r\n },\r\n {\r\n imageUrl: 'assets/images/Kalinga12a.JPG',\r\n title: 'Rooms',\r\n },\r\n {\r\n imageUrl: 'assets/images/Kalinga17a.JPG',\r\n title: 'Rooms',\r\n },\r\n {\r\n imageUrl: 'assets/images/Kalinga14a.JPG',\r\n title: 'Rooms',\r\n },\r\n {\r\n imageUrl: 'assets/images/Kalinga15a.JPG',\r\n title: 'Rooms',\r\n },\r\n {\r\n imageUrl: 'assets/images/Kalinga16a.JPG',\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 Kalinga 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 Kalinga. ...\",\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 Kalinga 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 Lonavala 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}\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:///"}