{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/Api_Module/api.module.ts","webpack:///./src/app/Api_Module/api/agencies.service.ts","webpack:///./src/app/Api_Module/api/api.ts","webpack:///./src/app/Api_Module/api/booking.service.ts","webpack:///./src/app/Api_Module/api/customers.service.ts","webpack:///./src/app/Api_Module/api/debug.service.ts","webpack:///./src/app/Api_Module/api/invoice.service.ts","webpack:///./src/app/Api_Module/api/report.service.ts","webpack:///./src/app/Api_Module/api/settings.service.ts","webpack:///./src/app/Api_Module/api/users.service.ts","webpack:///./src/app/Api_Module/api/vehicles.service.ts","webpack:///./src/app/Api_Module/configuration.ts","webpack:///./src/app/Api_Module/encoder.ts","webpack:///./src/app/Api_Module/index.ts","webpack:///./src/app/Api_Module/interceptors/error.interceptor.ts","webpack:///./src/app/Api_Module/interceptors/jwt.interceptor.ts","webpack:///./src/app/Api_Module/interceptors/loading.interceptor.ts","webpack:///./src/app/Api_Module/variables.ts","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.scss","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/directives/PasswordEqual.directive.ts","webpack:///./src/app/directives/no-whitespace.directive.ts","webpack:///./src/app/directives/no-whitespace.validator.ts","webpack:///./src/app/globals.ts","webpack:///./src/app/guards/auth.guard.ts","webpack:///./src/app/models/booking.model.ts","webpack:///./src/app/models/constants.model.ts","webpack:///./src/app/models/roles.enum.ts","webpack:///./src/app/services/authentication.service.ts","webpack:///./src/app/services/mediator.service.ts","webpack:///./src/app/utils/utils.ts","webpack:///./src/app/views/agencies/agencies.component.html","webpack:///./src/app/views/agencies/agencies.component.ts","webpack:///./src/app/views/checkOutBookingModal/checkout-booking-modal.component.html","webpack:///./src/app/views/checkOutBookingModal/checkout-booking-modal.component.ts","webpack:///./src/app/views/choose-list-modal/choose-list-modal.component.html","webpack:///./src/app/views/choose-list-modal/choose-list-modal.component.ts","webpack:///./src/app/views/comfirm-modal/comfirm-modal.component.html","webpack:///./src/app/views/comfirm-modal/comfirm-modal.component.ts","webpack:///./src/app/views/contact-us/contact-us.component.html","webpack:///./src/app/views/contact-us/contact-us.component.scss","webpack:///./src/app/views/contact-us/contact-us.component.ts","webpack:///./src/app/views/create-user-modal/create-user-modal.component.html","webpack:///./src/app/views/create-user-modal/create-user-modal.component.ts","webpack:///./src/app/views/createAgencyModal/create-agency-modal.component.html","webpack:///./src/app/views/createAgencyModal/create-agency-modal.component.ts","webpack:///./src/app/views/createAgentModal/create-agent-modal.component.html","webpack:///./src/app/views/createAgentModal/create-agent-modal.component.ts","webpack:///./src/app/views/createBookingModal/create-booking-modal.component.html","webpack:///./src/app/views/createBookingModal/create-booking-modal.component.ts","webpack:///./src/app/views/createCustomerModal/create-customer-modal.component.html","webpack:///./src/app/views/createCustomerModal/create-customer-modal.component.ts","webpack:///./src/app/views/createVehicleModal/create-vehicle-modal.component.html","webpack:///./src/app/views/createVehicleModal/create-vehicle-modal.component.ts","webpack:///./src/app/views/customer-details/customer-details.component.html","webpack:///./src/app/views/customer-details/customer-details.component.ts","webpack:///./src/app/views/customers/customers.component.html","webpack:///./src/app/views/customers/customers.component.ts","webpack:///./src/app/views/directions/directions.component.html","webpack:///./src/app/views/directions/directions.component.scss","webpack:///./src/app/views/directions/directions.component.ts","webpack:///./src/app/views/home/admin-dash/admin-dash.component.html","webpack:///./src/app/views/home/admin-dash/admin-dash.component.ts","webpack:///./src/app/views/home/agent-dash/agent-dash.component.html","webpack:///./src/app/views/home/agent-dash/agent-dash.component.ts","webpack:///./src/app/views/home/customer-dash/customer-dash.component.html","webpack:///./src/app/views/home/customer-dash/customer-dash.component.ts","webpack:///./src/app/views/home/home.component.html","webpack:///./src/app/views/home/home.component.ts","webpack:///./src/app/views/invoice/invoice.component.html","webpack:///./src/app/views/invoice/invoice.component.ts","webpack:///./src/app/views/landing-page/landing-page.component.html","webpack:///./src/app/views/landing-page/landing-page.component.scss","webpack:///./src/app/views/landing-page/landing-page.component.ts","webpack:///./src/app/views/navbar/navbar.component.html","webpack:///./src/app/views/navbar/navbar.component.scss","webpack:///./src/app/views/navbar/navbar.component.ts","webpack:///./src/app/views/pagenotfound/pagenotfound.component.html","webpack:///./src/app/views/pagenotfound/pagenotfound.component.scss","webpack:///./src/app/views/pagenotfound/pagenotfound.component.ts","webpack:///./src/app/views/reports/reports.component.html","webpack:///./src/app/views/reports/reports.component.scss","webpack:///./src/app/views/reports/reports.component.ts","webpack:///./src/app/views/reset/reset.component.html","webpack:///./src/app/views/reset/reset.component.scss","webpack:///./src/app/views/reset/reset.component.ts","webpack:///./src/app/views/searchbookings/searchbookings.component.html","webpack:///./src/app/views/searchbookings/searchbookings.component.ts","webpack:///./src/app/views/settings-modal/settings-modal.component.html","webpack:///./src/app/views/settings-modal/settings-modal.component.scss","webpack:///./src/app/views/settings-modal/settings-modal.component.ts","webpack:///./src/app/views/settings/settings.component.html","webpack:///./src/app/views/settings/settings.component.ts","webpack:///./src/app/views/terms/terms.component.html","webpack:///./src/app/views/terms/terms.component.scss","webpack:///./src/app/views/terms/terms.component.ts","webpack:///./src/app/views/update-agency-credits-modal/update-agency-credits-modal.component.html","webpack:///./src/app/views/update-agency-credits-modal/update-agency-credits-modal.component.ts","webpack:///./src/app/views/user-login/user-login.component.html","webpack:///./src/app/views/user-login/user-login.component.ts","webpack:///./src/app/views/user-password/user-password.component.html","webpack:///./src/app/views/user-password/user-password.component.scss","webpack:///./src/app/views/user-password/user-password.component.ts","webpack:///./src/app/views/user-register/register.component.html","webpack:///./src/app/views/user-register/register.component.ts","webpack:///./src/app/views/userPasswordModal/user-password-modal.component.html","webpack:///./src/app/views/userPasswordModal/user-password-modal.component.ts","webpack:///./src/app/views/users/users.component.html","webpack:///./src/app/views/users/users.component.scss","webpack:///./src/app/views/users/users.component.ts","webpack:///./src/app/views/vehicle-details/vehicle-details.component.html","webpack:///./src/app/views/vehicle-details/vehicle-details.component.ts","webpack:///./src/app/views/viewbookings/viewbookings.component.html","webpack:///./src/app/views/viewbookings/viewbookings.component.ts","webpack:///./src/app/views/viewreservations/viewreservations.component.html","webpack:///./src/app/views/viewreservations/viewreservations.component.scss","webpack:///./src/app/views/viewreservations/viewreservations.component.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["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 = \"./src/$$_lazy_route_resource lazy recursive\";","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\r\nimport { Configuration } from './configuration';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { AgenciesService } from './api/agencies.service';\r\nimport { BookingService } from './api/booking.service';\r\nimport { CustomersService } from './api/customers.service';\r\nimport { DebugService } from './api/debug.service';\r\nimport { ReportService } from './api/report.service';\r\nimport { SettingsService } from './api/settings.service';\r\nimport { UsersService } from './api/users.service';\r\nimport { VehiclesService } from './api/vehicles.service';\r\nimport { InvoiceService } from './api/invoice.service';\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [],\r\n exports: [],\r\n providers: [\r\n AgenciesService,\r\n BookingService,\r\n CustomersService,\r\n DebugService,\r\n ReportService,\r\n SettingsService,\r\n UsersService,\r\n VehiclesService,\r\n InvoiceService ]\r\n})\r\nexport class ApiModule {\r\n public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders {\r\n return {\r\n ngModule: ApiModule,\r\n providers: [ { provide: Configuration, useFactory: configurationFactory } ]\r\n };\r\n }\r\n\r\n constructor( @Optional() @SkipSelf() parentModule: ApiModule,\r\n @Optional() http: HttpClient) {\r\n if (parentModule) {\r\n throw new Error('ApiModule is already loaded. Import in your base AppModule only.');\r\n }\r\n if (!http) {\r\n throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\r\n 'See also https://github.com/angular/angular/issues/20575');\r\n }\r\n }\r\n}\r\n","/**\r\n * Carncierge Valet Booking API \r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n * \r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent } from '@angular/common/http';\r\nimport { CustomHttpUrlEncodingCodec } from '../encoder';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { AddAgentModel } from '../model/addAgentModel';\r\nimport { GetAllAgenciesResult } from '../model/getAllAgenciesResult';\r\nimport { NewAgencyModel } from '../model/newAgencyModel';\r\nimport { UpdateAgencyModel } from '../model/updateAgencyModel';\r\nimport { UpdateAgentModel } from '../model/updateAgentModel';\r\nimport { UpdateAgencyCredits } from '../model/updateCredits';\r\n\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n@Injectable()\r\nexport class AgenciesService {\r\n\r\n protected basePath = '';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n //if (basePath) {\r\n // this.basePath = basePath;\r\n //}\r\n //if (configuration) {\r\n // this.configuration = configuration;\r\n // this.basePath = basePath || configuration.basePath || this.basePath;\r\n //}\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (const consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n\r\n /**\r\n * \r\n * \r\n * @param id \r\n * @param agent \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public addAgent(id: string, agent?: AddAgentModel, observe?: 'body', reportProgress?: boolean): Observable;\r\n public addAgent(id: string, agent?: AddAgentModel, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public addAgent(id: string, agent?: AddAgentModel, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public addAgent(id: string, agent?: AddAgentModel, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n if (id === null || id === undefined) {\r\n throw new Error('Required parameter id was null or undefined when calling addAgent.');\r\n }\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Agencies/${encodeURIComponent(String(id))}/agent`,\r\n agent,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * \r\n * \r\n * @param id \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public deleteAgency(id: number, observe?: 'body', reportProgress?: boolean): Observable;\r\n public deleteAgency(id: number, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public deleteAgency(id: number, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public deleteAgency(id: number, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n if (id === null || id === undefined) {\r\n throw new Error('Required parameter id was null or undefined when calling deleteAgency.');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.delete(`${this.basePath}/api/Agencies/${encodeURIComponent(String(id))}`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n public deleteAgent(id: number, observe: any = 'body', reportProgress: boolean = false): Observable {\r\n\r\n if (id === null || id === undefined) {\r\n throw new Error('Required parameter id was null or undefined when calling deleteAgency.');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.delete(`${this.basePath}/api/Agencies/agent/${encodeURIComponent(String(id))}`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * \r\n * \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public getAgencies(observe?: 'body', reportProgress?: boolean): Observable>;\r\n public getAgencies(observe?: 'response', reportProgress?: boolean): Observable>>;\r\n public getAgencies(observe?: 'events', reportProgress?: boolean): Observable>>;\r\n public getAgencies(observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json',\r\n 'text/json'\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get>(`${this.basePath}/api/Agencies`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * \r\n * \r\n * @param id \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public getAgency(id: number, observe?: 'body', reportProgress?: boolean): Observable;\r\n public getAgency(id: number, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public getAgency(id: number, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public getAgency(id: number, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n if (id === null || id === undefined) {\r\n throw new Error('Required parameter id was null or undefined when calling getAgency.');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Agencies/${encodeURIComponent(String(id))}`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * \r\n * \r\n * @param agency \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public postAgency(agency?: NewAgencyModel, observe?: 'body', reportProgress?: boolean): Observable;\r\n public postAgency(agency?: NewAgencyModel, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public postAgency(agency?: NewAgencyModel, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public postAgency(agency?: NewAgencyModel, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Agencies`,\r\n agency,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * \r\n * \r\n * @param id \r\n * @param agency \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public putAgency(id: number, agency?: UpdateAgencyModel, observe?: 'body', reportProgress?: boolean): Observable;\r\n public putAgency(id: number, agency?: UpdateAgencyModel, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public putAgency(id: number, agency?: UpdateAgencyModel, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public putAgency(id: number, agency?: UpdateAgencyModel, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n if (id === null || id === undefined) {\r\n throw new Error('Required parameter id was null or undefined when calling putAgency.');\r\n }\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.put(`${this.basePath}/api/Agencies/${encodeURIComponent(String(id))}`,\r\n agency,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * \r\n * \r\n * @param id \r\n * @param agent \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public updateAgent(id: string, agent?: UpdateAgentModel, observe?: 'body', reportProgress?: boolean): Observable;\r\n public updateAgent(id: string, agent?: UpdateAgentModel, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public updateAgent(id: string, agent?: UpdateAgentModel, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public updateAgent(id: string, agent?: UpdateAgentModel, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n if (id === null || id === undefined) {\r\n throw new Error('Required parameter id was null or undefined when calling updateAgent.');\r\n }\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.put(`${this.basePath}/api/Agencies/${encodeURIComponent(String(id))}/agent`,\r\n agent,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n /**\r\n * \r\n * \r\n * @param request\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public updateCredits(request?: UpdateAgencyCredits, observe?: 'body', reportProgress?: boolean): Observable;\r\n public updateCredits(request?: UpdateAgencyCredits, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public updateCredits(request?: UpdateAgencyCredits, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public updateCredits(request?: UpdateAgencyCredits, observe: any = 'body', reportProgress: boolean = false): Observable {\r\n\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Agencies/credits`,\r\n request,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n}\r\n","export * from './agencies.service';\r\nimport { AgenciesService } from './agencies.service';\r\nexport * from './booking.service';\r\nimport { BookingService } from './booking.service';\r\nexport * from './customers.service';\r\nimport { CustomersService } from './customers.service';\r\nexport * from './debug.service';\r\nimport { DebugService } from './debug.service';\r\nexport * from './report.service';\r\nimport { ReportService } from './report.service';\r\nexport * from './settings.service';\r\nimport { SettingsService } from './settings.service';\r\nexport * from './users.service';\r\nimport { UsersService } from './users.service';\r\nexport * from './vehicles.service';\r\nimport { VehiclesService } from './vehicles.service';\r\nimport { InvoiceService } from './invoice.service';\r\nexport * from './invoice.service';\r\nexport const APIS = [InvoiceService,AgenciesService, BookingService, CustomersService, DebugService, ReportService, SettingsService, UsersService, VehiclesService];\r\n","/**\r\n * Carncierge Valet Booking API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent } from '@angular/common/http';\r\nimport { CustomHttpUrlEncodingCodec } from '../encoder';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { BookingModel } from '../model/bookingModel';\r\nimport { CheckoutModel } from '../model/checkoutModel';\r\nimport { ProblemDetails } from '../model/problemDetails';\r\nimport { QuoteModel } from '../model/quoteModel';\r\nimport { ReservationModel } from '../model/reservationModel';\r\n\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n@Injectable()\r\nexport class BookingService {\r\n\r\n protected basePath = '';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n //if (basePath) {\r\n // this.basePath = basePath;\r\n //}\r\n //if (configuration) {\r\n // this.configuration = configuration;\r\n // this.basePath = basePath || configuration.basePath || this.basePath;\r\n //}\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (const consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n\r\n /**\r\n *\r\n *\r\n * @param id\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public checkIn(id: number, observe?: 'body', reportProgress?: boolean): Observable;\r\n public checkIn(id: number, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public checkIn(id: number, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public checkIn(id: number, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n if (id === null || id === undefined) {\r\n throw new Error('Required parameter id was null or undefined when calling checkIn.');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Booking/${encodeURIComponent(String(id))}/checkin`,\r\n null,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param model\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public checkout(id?: number, observe?: 'body', reportProgress?: boolean): Observable;\r\n public checkout(id?: number, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public checkout(id?: number, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public checkout(id?: number, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Booking/${id}/checkout`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n /**\r\n *\r\n *\r\n * @param model\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public complete(model?: CheckoutModel, observe?: 'body', reportProgress?: boolean): Observable;\r\n public complete(model?: CheckoutModel, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public complete(model?: CheckoutModel, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public complete(model?: CheckoutModel, observe: any = 'body', reportProgress: boolean = false): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Booking/complete`,\r\n model,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Creates a booking\r\n *\r\n * @param model\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public createBooking(model?: BookingModel, observe?: 'body', reportProgress?: boolean): Observable;\r\n public createBooking(model?: BookingModel, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public createBooking(model?: BookingModel, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public createBooking(model?: BookingModel, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json',\r\n 'text/json'\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Booking`,\r\n model,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param model\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public createReservation(model?: ReservationModel, observe?: 'body', reportProgress?: boolean): Observable;\r\n public createReservation(model?: ReservationModel, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public createReservation(model?: ReservationModel, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public createReservation(model?: ReservationModel, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Booking/reservation`,\r\n model,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param search\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public getAction(search: string, observe?: 'body', reportProgress?: boolean): Observable;\r\n public getAction(search: string, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public getAction(search: string, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public getAction(search: string, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n if (search === null || search === undefined) {\r\n throw new Error('Required parameter search was null or undefined when calling getAction.');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json',\r\n 'text/json'\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Booking/${encodeURIComponent(String(search))}`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n public checkCode(code: string, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n if (code === null || code === undefined) {\r\n throw new Error('Required parameter search was null or undefined when calling getAction.');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json',\r\n 'text/json'\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Booking/promo/${encodeURIComponent(String(code))}`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Get bookings by checkout date\r\n *\r\n * @param date\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public getBookings(date?: string, observe?: 'body', reportProgress?: boolean): Observable>;\r\n public getBookings(date?: string, observe?: 'response', reportProgress?: boolean): Observable>>;\r\n public getBookings(date?: string, observe?: 'events', reportProgress?: boolean): Observable>>;\r\n public getBookings(date?: string, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\r\n if (date !== undefined && date !== null) {\r\n queryParameters = queryParameters.set('date', date);\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json',\r\n 'text/json'\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get>(`${this.basePath}/api/Booking`,\r\n {\r\n params: queryParameters,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Get bookings by checkin date\r\n *\r\n * @param date\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public getBookingsIn(date: Date, observe?: 'body', reportProgress?: boolean): Observable>;\r\n public getBookingsIn(date: Date, observe?: 'response', reportProgress?: boolean): Observable>>;\r\n public getBookingsIn(date: Date, observe?: 'events', reportProgress?: boolean): Observable>>;\r\n public getBookingsIn(date: Date, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n if (date === null || date === undefined) {\r\n throw new Error('Required parameter date was null or undefined when calling getBookingsIn.');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json',\r\n 'text/json'\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get>(`${this.basePath}/api/Booking/${encodeURIComponent(String(date.toISOString()))}/in`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param reference\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public getInvoice(reference: string, observe?: 'body', reportProgress?: boolean): Observable;\r\n public getInvoice(reference: string, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public getInvoice(reference: string, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public getInvoice(reference: string, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n if (reference === null || reference === undefined) {\r\n throw new Error('Required parameter reference was null or undefined when calling getInvoice.');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Booking/${encodeURIComponent(String(reference))}/fetchinvoice`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param id\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public invoice(id: number, observe?: 'body', reportProgress?: boolean): Observable;\r\n public invoice(id: number, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public invoice(id: number, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public invoice(id: number, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n if (id === null || id === undefined) {\r\n throw new Error('Required parameter id was null or undefined when calling invoice.');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Booking/${encodeURIComponent(String(id))}/invoice`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Generates a qoute based on the duration and service required\r\n *\r\n * @param quoteModel\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public quote(quoteModel?: QuoteModel, observe?: 'body', reportProgress?: boolean): Observable;\r\n public quote(quoteModel?: QuoteModel, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public quote(quoteModel?: QuoteModel, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public quote(quoteModel?: QuoteModel, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Booking/quote`,\r\n quoteModel,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param model\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public updateBooking(model?: BookingModel, observe?: 'body', reportProgress?: boolean): Observable;\r\n public updateBooking(model?: BookingModel, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public updateBooking(model?: BookingModel, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public updateBooking(model?: BookingModel, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.put(`${this.basePath}/api/Booking`,\r\n model,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param model\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public cancelBooking(id?: number, observe?: 'body', reportProgress?: boolean): Observable;\r\n public cancelBooking(id?: number, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public cancelBooking(id?: number, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public cancelBooking(id?: number, observe: any = 'body', reportProgress: boolean = false): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Booking/${id}/cancel`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * Carncierge Valet Booking API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent } from '@angular/common/http';\r\nimport { CustomHttpUrlEncodingCodec } from '../encoder';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { CreateCustomer } from '../model/createCustomer';\r\nimport { CustomerRegisterCommand } from '../model/customerRegisterCommand';\r\nimport { FindCustomerResult } from '../model/findCustomerResult';\r\nimport { ProblemDetails } from '../model/problemDetails';\r\nimport { RecentBookings } from '../model/recentBookings';\r\nimport { UpdateCustomer } from '../model/updateCustomer';\r\n\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\nimport { recentBookingResult, GetVehicleResult } from '..';\r\n\r\n\r\n@Injectable()\r\nexport class CustomersService {\r\n\r\n protected basePath = '';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n //if (basePath) {\r\n // this.basePath = basePath;\r\n //}\r\n //if (configuration) {\r\n // this.configuration = configuration;\r\n // this.basePath = basePath || configuration.basePath || this.basePath;\r\n //}\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (const consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n /**\r\n * Fetches bookings vehicle by Id\r\n *\r\n * @param id\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public bookings(id: number, observe?: 'body', reportProgress?: boolean): Observable;\r\n public bookings(id: number, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public bookings(id: number, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public bookings(id: number, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n if (id === null || id === undefined) {\r\n throw new Error('Required parameter id was null or undefined when calling get.');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json',\r\n 'text/json'\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Customers/${encodeURIComponent(String(id))}/full_bookings`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n\r\n\r\n /**\r\n * Searches a customer by car registration number or name or surname or customer number\r\n *\r\n * @param search\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public find(search: string, observe?: 'body', reportProgress?: boolean): Observable;\r\n public find(search: string, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public find(search: string, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public find(search: string, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n if (search === null || search === undefined) {\r\n throw new Error('Required parameter search was null or undefined when calling find.');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json',\r\n 'text/json'\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Customers/${encodeURIComponent(String(search))}`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Get customer by Id\r\n *\r\n * @param id\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public get(id?: number, observe?: 'body', reportProgress?: boolean): Observable;\r\n public get(id?: number, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public get(id?: number, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public get(id?: number, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\r\n if (id !== undefined && id !== null) {\r\n queryParameters = queryParameters.set('id', id);\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json',\r\n 'text/json'\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Customers`,\r\n {\r\n params: queryParameters,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Get customer by Id\r\n *\r\n * @param id\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public getBookings(id: number, observe?: 'body', reportProgress?: boolean): Observable;\r\n public getBookings(id: number, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public getBookings(id: number, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public getBookings(id: number, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n if (id === null || id === undefined) {\r\n throw new Error('Required parameter id was null or undefined when calling getBookings.');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json',\r\n 'text/json'\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Customers/${encodeURIComponent(String(id))}/bookings`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Create a customer\r\n *\r\n * @param model\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public post(model?: CreateCustomer, observe?: 'body', reportProgress?: boolean): Observable;\r\n public post(model?: CreateCustomer, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public post(model?: CreateCustomer, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public post(model?: CreateCustomer, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Customers`,\r\n model,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Update a customer\r\n *\r\n * @param model\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public put(model?: UpdateCustomer, observe?: 'body', reportProgress?: boolean): Observable;\r\n public put(model?: UpdateCustomer, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public put(model?: UpdateCustomer, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public put(model?: UpdateCustomer, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.put(`${this.basePath}/api/Customers`,\r\n model,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * registers a customer\r\n *\r\n * @param model\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public register(model?: CustomerRegisterCommand, observe?: 'body', reportProgress?: boolean): Observable;\r\n public register(model?: CustomerRegisterCommand, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public register(model?: CustomerRegisterCommand, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public register(model?: CustomerRegisterCommand, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Customers/register`,\r\n model,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n /**\r\n * Get customer by Id\r\n *\r\n * @param id\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public getVehicles(id: number, observe?: 'body', reportProgress?: boolean): Observable;\r\n public getVehicles(id: number, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public getVehicles(id: number, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public getVehicles(id: number, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n if (id === null || id === undefined) {\r\n throw new Error('Required parameter id was null or undefined when calling getBookings.');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json',\r\n 'text/json'\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/customers/${encodeURIComponent(String(id))}/vehicles`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n /**\r\n * registers a customer\r\n *\r\n * @param model\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public feedback(model?: any, observe?: 'body', reportProgress?: boolean): Observable;\r\n public feedback(model?: any, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public feedback(model?: any, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public feedback(model?: any, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Customers/contact`,\r\n model,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * Carncierge Valet Booking API \r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n * \r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent } from '@angular/common/http';\r\nimport { CustomHttpUrlEncodingCodec } from '../encoder';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n@Injectable()\r\nexport class DebugService {\r\n\r\n protected basePath = '';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n //if (basePath) {\r\n // this.basePath = basePath;\r\n //}\r\n //if (configuration) {\r\n // this.configuration = configuration;\r\n // this.basePath = basePath || configuration.basePath || this.basePath;\r\n //}\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (const consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n\r\n /**\r\n * \r\n * \r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public get(observe?: 'body', reportProgress?: boolean): Observable;\r\n public get(observe?: 'response', reportProgress?: boolean): Observable>;\r\n public get(observe?: 'events', reportProgress?: boolean): Observable>;\r\n public get(observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Debug`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * Carncierge Valet Booking API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent } from '@angular/common/http';\r\nimport { CustomHttpUrlEncodingCodec } from '../encoder';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { MantainCommand } from '../model/mantainCommand';\r\n\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n@Injectable()\r\nexport class InvoiceService {\r\n\r\n protected basePath = '';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n //if (basePath) {\r\n // this.basePath = basePath;\r\n //}\r\n //if (configuration) {\r\n // this.configuration = configuration;\r\n // this.basePath = basePath || configuration.basePath || this.basePath;\r\n //}\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (const consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n\r\n /**\r\n * Returns all settings\r\n *\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public getInvoice(reference:string,observe?: 'body', reportProgress?: boolean): Observable;\r\n public getInvoice(reference:string,observe?: 'response', reportProgress?: boolean): Observable>;\r\n public getInvoice(reference:string,observe?: 'events', reportProgress?: boolean): Observable>;\r\n public getInvoice(reference:string,observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/invoices/ref/${encodeURIComponent(String(reference))}`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Creates or updates a setting\r\n *\r\n * @param model\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public save(model?: MantainCommand, observe?: 'body', reportProgress?: boolean): Observable;\r\n public save(model?: MantainCommand, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public save(model?: MantainCommand, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public save(model?: MantainCommand, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Settings`,\r\n model,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * Carncierge Valet Booking API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent } from '@angular/common/http';\r\nimport { CustomHttpUrlEncodingCodec } from '../encoder';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n@Injectable()\r\nexport class ReportService {\r\n\r\n protected basePath = '';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n //if (basePath) {\r\n // this.basePath = basePath;\r\n //}\r\n //if (configuration) {\r\n // this.configuration = configuration;\r\n // this.basePath = basePath || configuration.basePath || this.basePath;\r\n //}\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (const consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n\r\n /**\r\n *\r\n *\r\n * @param checkDate\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public carsCheckInReport(checkDate?: Date, observe?: 'body', reportProgress?: boolean): Observable;\r\n public carsCheckInReport(checkDate?: Date, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public carsCheckInReport(checkDate?: Date, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public carsCheckInReport(checkDate?: Date, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\r\n if (checkDate !== undefined && checkDate !== null) {\r\n queryParameters = queryParameters.set('checkDate', checkDate.toISOString());\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Report/carsin`,\r\n {\r\n params: queryParameters,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param checkDate\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public carsCheckOutReport(checkDate?: Date, observe?: 'body', reportProgress?: boolean): Observable;\r\n public carsCheckOutReport(checkDate?: Date, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public carsCheckOutReport(checkDate?: Date, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public carsCheckOutReport(checkDate?: Date, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\r\n if (checkDate !== undefined && checkDate !== null) {\r\n queryParameters = queryParameters.set('checkDate', checkDate.toISOString());\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Report/carsout`,\r\n {\r\n params: queryParameters,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public carsInIndex(observe?: 'body', reportProgress?: boolean): Observable;\r\n public carsInIndex(observe?: 'response', reportProgress?: boolean): Observable>;\r\n public carsInIndex(observe?: 'events', reportProgress?: boolean): Observable>;\r\n public carsInIndex(observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Report/carsinIndex`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public carsOutnIndex(observe?: 'body', reportProgress?: boolean): Observable;\r\n public carsOutnIndex(observe?: 'response', reportProgress?: boolean): Observable>;\r\n public carsOutnIndex(observe?: 'events', reportProgress?: boolean): Observable>;\r\n public carsOutnIndex(observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Report/carsoutIndex`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param reference\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public confirmationReport(reference: string, observe?: 'body', reportProgress?: boolean): Observable;\r\n public confirmationReport(reference: string, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public confirmationReport(reference: string, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public confirmationReport(reference: string, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n if (reference === null || reference === undefined) {\r\n throw new Error('Required parameter reference was null or undefined when calling confirmationReport.');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Report/${encodeURIComponent(String(reference))}/confirmationReport`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * Carncierge Valet Booking API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent } from '@angular/common/http';\r\nimport { CustomHttpUrlEncodingCodec } from '../encoder';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { MantainCommand } from '../model/mantainCommand';\r\n\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n@Injectable()\r\nexport class SettingsService {\r\n\r\n protected basePath = '';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n //if (basePath) {\r\n // this.basePath = basePath;\r\n //}\r\n //if (configuration) {\r\n // this.configuration = configuration;\r\n // this.basePath = basePath || configuration.basePath || this.basePath;\r\n //}\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (const consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n\r\n /**\r\n * Returns all settings\r\n *\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public get(observe?: 'body', reportProgress?: boolean): Observable;\r\n public get(observe?: 'response', reportProgress?: boolean): Observable>;\r\n public get(observe?: 'events', reportProgress?: boolean): Observable>;\r\n public get(observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Settings`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Creates or updates a setting\r\n *\r\n * @param model\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public save(model?: MantainCommand, observe?: 'body', reportProgress?: boolean): Observable;\r\n public save(model?: MantainCommand, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public save(model?: MantainCommand, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public save(model?: MantainCommand, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Settings`,\r\n model,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * Carncierge Valet Booking API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent } from '@angular/common/http';\r\nimport { CustomHttpUrlEncodingCodec } from '../encoder';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { LoginModel } from '../model/loginModel';\r\nimport { PasswordReset } from '../model/passwordReset';\r\nimport { UserModel } from '../model/userModel';\r\n\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n@Injectable()\r\nexport class UsersService {\r\n\r\n protected basePath = '';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n //if (basePath) {\r\n // this.basePath = basePath;\r\n //}\r\n //if (configuration) {\r\n // this.configuration = configuration;\r\n // this.basePath = basePath || configuration.basePath || this.basePath;\r\n //}\r\n }\r\n \r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (const consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n\r\n /**\r\n *\r\n *\r\n * @param id\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public _delete(id?: number, observe?: 'body', reportProgress?: boolean): Observable;\r\n public _delete(id?: number, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public _delete(id?: number, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public _delete(id?: number, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\r\n if (id !== undefined && id !== null) {\r\n queryParameters = queryParameters.set('id', id);\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.delete(`${this.basePath}/api/Users`,\r\n {\r\n params: queryParameters,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public all(observe?: 'body', reportProgress?: boolean): Observable;\r\n public all(observe?: 'response', reportProgress?: boolean): Observable>;\r\n public all(observe?: 'events', reportProgress?: boolean): Observable>;\r\n public all(observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Users`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param userParam\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public authenticate(userParam?: LoginModel, observe?: 'body', reportProgress?: boolean): Observable;\r\n public authenticate(userParam?: LoginModel, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public authenticate(userParam?: LoginModel, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public authenticate(userParam?: LoginModel, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Users/authenticate`,\r\n userParam,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public cashout(observe?: 'body', reportProgress?: boolean): Observable;\r\n public cashout(observe?: 'response', reportProgress?: boolean): Observable>;\r\n public cashout(observe?: 'events', reportProgress?: boolean): Observable>;\r\n public cashout(observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Users/cashout`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n\r\n\r\n /**\r\n *\r\n *\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public me(observe?: 'body', reportProgress?: boolean): Observable;\r\n public me(observe?: 'response', reportProgress?: boolean): Observable>;\r\n public me(observe?: 'events', reportProgress?: boolean): Observable>;\r\n public me(observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n if (this.configuration.apiKeys[\"Authorization\"]) {\r\n headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Users/me`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param model\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public post(model?: UserModel, observe?: 'body', reportProgress?: boolean): Observable;\r\n public post(model?: UserModel, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public post(model?: UserModel, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public post(model?: UserModel, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Users`,\r\n model,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param model\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public put(model?: UserModel, observe?: 'body', reportProgress?: boolean): Observable;\r\n public put(model?: UserModel, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public put(model?: UserModel, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public put(model?: UserModel, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.put(`${this.basePath}/api/Users`,\r\n model,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param model\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public reset(model?: PasswordReset, observe?: 'body', reportProgress?: boolean): Observable;\r\n public reset(model?: PasswordReset, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public reset(model?: PasswordReset, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public reset(model?: PasswordReset, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Users/reset`,\r\n model,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n /**\r\n *\r\n *\r\n * @param model\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public resetUser(username?: string, observe?: 'body', reportProgress?: boolean): Observable;\r\n public resetUser(username?: string, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public resetUser(username?: string, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public resetUser(username?: string, observe: any = 'body', reportProgress: boolean = false): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Users/reset?username=${username}`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n \r\n\r\n}\r\n","/**\r\n * Carncierge Valet Booking API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent } from '@angular/common/http';\r\nimport { CustomHttpUrlEncodingCodec } from '../encoder';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { CreateVehicle } from '../model/createVehicle';\r\nimport { GetVehicleResult } from '../model/getVehicleResult';\r\nimport { UpdateVehicle } from '../model/updateVehicle';\r\n\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\nimport { customerVehicle } from '../model/customerVehicle';\r\n\r\n\r\n@Injectable()\r\nexport class VehiclesService {\r\n\r\n protected basePath = '';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n\r\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n //if (basePath) {\r\n // this.basePath = basePath;\r\n //}\r\n //if (configuration) {\r\n // this.configuration = configuration;\r\n // this.basePath = basePath || configuration.basePath || this.basePath;\r\n //}\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (const consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n /**\r\n * Fetches a vehicle by Id\r\n *\r\n * @param id\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public getcars(id: number, observe?: 'body', reportProgress?: boolean): Observable;\r\n public getcars(id: number, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public getcars(id: number, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public getcars(id: number, observe: any = 'body', reportProgress: boolean = false): Observable {\r\n\r\n if (id === null || id === undefined) {\r\n throw new Error('Required parameter id was null or undefined when calling get.');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json',\r\n 'text/json'\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Vehicles/${encodeURIComponent(String(id))}/customer_vehicles`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n\r\n /**\r\n * Fetches a vehicle by Id\r\n *\r\n * @param id\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public get(id: number, observe?: 'body', reportProgress?: boolean): Observable;\r\n public get(id: number, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public get(id: number, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public get(id: number, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n if (id === null || id === undefined) {\r\n throw new Error('Required parameter id was null or undefined when calling get.');\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n 'text/plain',\r\n 'application/json',\r\n 'text/json'\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/Vehicles/${encodeURIComponent(String(id))}`,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n \r\n\r\n /**\r\n * Create a customer's vehicle\r\n *\r\n * @param model\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public post(model?: CreateVehicle, observe?: 'body', reportProgress?: boolean): Observable;\r\n public post(model?: CreateVehicle, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public post(model?: CreateVehicle, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public post(model?: CreateVehicle, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/Vehicles`,\r\n model,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Updates a vehicle\r\n *\r\n * @param model\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public put(model?: UpdateVehicle, observe?: 'body', reportProgress?: boolean): Observable;\r\n public put(model?: UpdateVehicle, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public put(model?: UpdateVehicle, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public put(model?: UpdateVehicle, observe: any = 'body', reportProgress: boolean = false ): Observable {\r\n\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // authentication (Bearer) required\r\n // if (this.configuration.apiKeys[\"Authorization\"]) {\r\n // headers = headers.set('Authorization', this.configuration.apiKeys[\"Authorization\"]);\r\n // }\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json-patch+json',\r\n 'application/json',\r\n 'text/json',\r\n 'application/_*+json'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.put(`${this.basePath}/api/Vehicles`,\r\n model,\r\n {\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","export interface ConfigurationParameters {\r\n apiKeys?: {[ key: string ]: string};\r\n username?: string;\r\n password?: string;\r\n accessToken?: string | (() => string);\r\n basePath?: string;\r\n withCredentials?: boolean;\r\n}\r\n\r\nexport class Configuration {\r\n apiKeys?: {[ key: string ]: string};\r\n username?: string;\r\n password?: string;\r\n accessToken?: string | (() => string);\r\n basePath?: string;\r\n withCredentials?: boolean;\r\n\r\n constructor(configurationParameters: ConfigurationParameters = {}) {\r\n this.apiKeys = configurationParameters.apiKeys;\r\n this.username = configurationParameters.username;\r\n this.password = configurationParameters.password;\r\n this.accessToken = configurationParameters.accessToken;\r\n this.basePath = configurationParameters.basePath;\r\n this.withCredentials = configurationParameters.withCredentials;\r\n }\r\n\r\n /**\r\n * Select the correct content-type to use for a request.\r\n * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\r\n * If no content type is found return the first found type if the contentTypes is not empty\r\n * @param contentTypes - the array of content types that are available for selection\r\n * @returns the selected content-type or undefined if no selection could be made.\r\n */\r\n public selectHeaderContentType (contentTypes: string[]): string | undefined {\r\n if (contentTypes.length == 0) {\r\n return undefined;\r\n }\r\n\r\n let type = contentTypes.find(x => this.isJsonMime(x));\r\n if (type === undefined) {\r\n return contentTypes[0];\r\n }\r\n return type;\r\n }\r\n\r\n /**\r\n * Select the correct accept content-type to use for a request.\r\n * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\r\n * If no content type is found return the first found type if the contentTypes is not empty\r\n * @param accepts - the array of content types that are available for selection.\r\n * @returns the selected content-type or undefined if no selection could be made.\r\n */\r\n public selectHeaderAccept(accepts: string[]): string | undefined {\r\n if (accepts.length == 0) {\r\n return undefined;\r\n }\r\n\r\n let type = accepts.find(x => this.isJsonMime(x));\r\n if (type === undefined) {\r\n return accepts[0];\r\n }\r\n return type;\r\n }\r\n\r\n /**\r\n * Check if the given MIME is a JSON MIME.\r\n * JSON MIME examples:\r\n * application/json\r\n * application/json; charset=UTF8\r\n * APPLICATION/JSON\r\n * application/vnd.company+json\r\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\r\n * @return True if the given MIME is JSON, false otherwise.\r\n */\r\n public isJsonMime(mime: string): boolean {\r\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\r\n return mime != null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\r\n }\r\n}\r\n"," import { HttpUrlEncodingCodec } from '@angular/common/http';\r\n\r\n/**\r\n* CustomHttpUrlEncodingCodec\r\n* Fix plus sign (+) not encoding, so sent as blank space\r\n* See: https://github.com/angular/angular/issues/11058#issuecomment-247367318\r\n*/\r\nexport class CustomHttpUrlEncodingCodec extends HttpUrlEncodingCodec {\r\n encodeKey(k: string): string {\r\n k = super.encodeKey(k);\r\n return k.replace(/\\+/gi, '%2B');\r\n }\r\n encodeValue(v: string): string {\r\n v = super.encodeValue(v);\r\n return v.replace(/\\+/gi, '%2B');\r\n }\r\n}\r\n\r\n","export * from './api/api';\r\nexport * from './model/models';\r\nexport * from './variables';\r\nexport * from './configuration';\r\nexport * from './api.module';\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(private router: Router) {}\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(catchError(err => {\r\n if (err.status === 401) {\r\n // auto logout if 401 response returned from api\r\n localStorage.removeItem('currentUser');\r\n this.router.navigate(['login']);\r\n }\r\n // const error = err && err.error ? err.error.message : err.statusText;\r\n return throwError(err);\r\n }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { UserModel } from '../model/models';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // add authorization header with jwt token if available\r\n const currentUser: UserModel = JSON.parse(localStorage.getItem('currentUser'));\r\n if (!!currentUser && !!currentUser.token) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${currentUser.token}`\r\n }\r\n });\r\n }\r\n return next.handle(request);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpInterceptor,\r\n HttpResponse\r\n} from '@angular/common/http';\r\nimport { tap, catchError } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\nimport { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\r\n\r\n@Injectable()\r\nexport class LoadingInterceptor implements HttpInterceptor {\r\n private totalRequests = 0;\r\n\r\n constructor( private ng4LoadingSpinnerService: Ng4LoadingSpinnerService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler) {\r\n this.totalRequests++;\r\n this.ng4LoadingSpinnerService.show();\r\n return next.handle(request).pipe(\r\n tap(res => {\r\n if (res instanceof HttpResponse) {\r\n this.decreaseRequests();\r\n }\r\n }),\r\n catchError(err => {\r\n this.decreaseRequests();\r\n throw err;\r\n })\r\n );\r\n }\r\n\r\n private decreaseRequests() {\r\n this.totalRequests--;\r\n if (this.totalRequests === 0) {\r\n this.ng4LoadingSpinnerService.hide();\r\n }\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const BASE_PATH = new InjectionToken('basePath');\r\nexport const COLLECTION_FORMATS = {\r\n 'csv': ',',\r\n 'tsv': ' ',\r\n 'ssv': ' ',\r\n 'pipes': '|'\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { ViewbookingsComponent } from './views/viewbookings/viewbookings.component';\r\nimport { CustomersComponent } from './views/customers/customers.component';\r\nimport { UserLoginComponent } from './views/user-login/user-login.component';\r\nimport { AuthGuard } from './guards/auth.guard';\r\nimport { HomeComponent } from './views/home/home.component';\r\nimport { SearchbookingsComponent } from './views/searchbookings/searchbookings.component';\r\nimport { UsersComponent } from './views/users/users.component';\r\nimport { AngenciesComponent } from './views/agencies/agencies.component';\r\nimport { LandingPageComponent } from './views/landing-page/landing-page.component';\r\nimport { ReportsComponent } from './views/reports/reports.component';\r\nimport { SettingsComponent } from './views/settings/settings.component';\r\nimport { RegisterComponent } from './views/user-register/register.component';\r\n\r\nimport { Roles } from './models/roles.enum';\r\nimport { InvoiceComponent } from './views/invoice/invoice.component';\r\nimport { TermsComponent } from './views/terms/terms.component';\r\nimport { DirectionsComponent } from './views/directions/directions.component';\r\nimport { ResetComponent } from './views/reset/reset.component';\r\nimport { UserPasswordComponent } from './views/user-password/user-password.component';\r\nimport { ContactUsComponent } from './views/contact-us/contact-us.component';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: 'home', component: HomeComponent, canActivate: [AuthGuard],\r\n data: { allowedRoles: [], name: 'Home', icon: 'home' }\r\n },\r\n {\r\n path: 'search/bookings', component: SearchbookingsComponent, canActivate: [AuthGuard],\r\n data: {\r\n allowedRoles: [Roles.Administrator, Roles.Client_Liason_Officer, Roles.Agent, Roles.AgencyAdministrator], name: 'Search Bookings', icon: 'search'\r\n }\r\n },\r\n {\r\n path: 'view/bookings', component: ViewbookingsComponent, canActivate: [AuthGuard],\r\n data: { allowedRoles: [Roles.Administrator, Roles.Client_Liason_Officer], name: 'View Bookings', icon: 'book' }\r\n },\r\n {\r\n path: 'view/customers', component: CustomersComponent, canActivate: [AuthGuard],\r\n data: { allowedRoles: [Roles.Administrator, Roles.Client_Liason_Officer, Roles.Agent, Roles.AgencyAdministrator], name: 'Customers', icon: 'users' }\r\n },\r\n {\r\n path: 'view/agencies', component: AngenciesComponent, canActivate: [AuthGuard],\r\n data: { allowedRoles: [Roles.Administrator], name: 'Agencies', icon: 'handshake-o' }\r\n },\r\n { path: 'login', component: UserLoginComponent },\r\n { path: 'register', component: RegisterComponent },\r\n {\r\n path: 'users', component: UsersComponent, canActivate: [AuthGuard],\r\n data: { allowedRoles: [Roles.Administrator], name: 'Users', icon: 'user-circle' }\r\n },\r\n {\r\n path: 'reports', component: ReportsComponent, canActivate: [AuthGuard],\r\n data: { allowedRoles: [Roles.Administrator, Roles.Client_Liason_Officer], name: 'Reports', icon: 'book' }\r\n },\r\n {\r\n path: 'settings', component: SettingsComponent, canActivate: [AuthGuard],\r\n data: { allowedRoles: [Roles.Administrator], name: 'Settings', icon: 'wrench' }\r\n },\r\n { path: 'terms', component: TermsComponent },\r\n { path: 'directions', component: DirectionsComponent },\r\n { path: '', component: LandingPageComponent },\r\n { path: 'reset', component: ResetComponent },\r\n { path: 'forgot', component: UserPasswordComponent },\r\n { path: 'contact', component: ContactUsComponent }\r\n \r\n // { path: 'pagenotfound', component: UserLoginComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'crg-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent {\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { Ng4LoadingSpinnerModule } from 'ng4-loading-spinner';\r\nimport { NgbModule, NgbDateAdapter, NgbDateNativeAdapter, NgbDatepickerModule, NgbTimepickerModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\r\nimport { ApiModule, Configuration } from './Api_Module';\r\nimport { ChooseListModalComponent } from './views/choose-list-modal/choose-list-modal.component';\r\nimport { NavbarComponent } from './views/navbar/navbar.component';\r\nimport { ViewbookingsComponent } from './views/viewbookings/viewbookings.component';\r\nimport { PagenotfoundComponent } from './views/pagenotfound/pagenotfound.component';\r\nimport { ViewreservationsComponent } from './views/viewreservations/viewreservations.component';\r\nimport { CustomersComponent } from './views/customers/customers.component';\r\nimport { VehicleDetailsComponent } from './views/vehicle-details/vehicle-details.component';\r\nimport { NewCustomerDetailsComponent } from './views/customer-details/customer-details.component';\r\nimport { CreateCustomerModalComponent } from './views/createCustomerModal/create-customer-modal.component';\r\nimport { CreateBookingModalComponent } from './views/createBookingModal/create-booking-modal.component';\r\nimport { CheckOutBookingModalComponent } from './views/checkOutBookingModal/checkout-booking-modal.component';\r\nimport { UserLoginComponent } from './views/user-login/user-login.component';\r\nimport { HomeComponent } from './views/home/home.component';\r\nimport { AuthGuard } from './guards/auth.guard';\r\nimport { JwtInterceptor } from './Api_Module/interceptors/jwt.interceptor';\r\nimport { ErrorInterceptor } from './Api_Module/interceptors/error.interceptor';\r\nimport { environment } from '../environments/environment';\r\nimport { SearchbookingsComponent } from './views/searchbookings/searchbookings.component';\r\nimport { UsersComponent } from './views/users/users.component';\r\nimport { AuthenticationService } from './services/authentication.service';\r\nimport { CreateVehicleModalComponent } from './views/createVehicleModal/create-vehicle-modal.component';\r\nimport { UserPasswordResetModalComponent } from './views/userPasswordModal/user-password-modal.component';\r\nimport { ComfirmModalComponent } from './views/comfirm-modal/comfirm-modal.component';\r\nimport { AngenciesComponent } from './views/agencies/agencies.component';\r\nimport { CreateAgencyModalComponent } from './views/createAgencyModal/create-agency-modal.component';\r\nimport { CreateAgentModalComponent } from './views/createAgentModal/create-agent-modal.component';\r\nimport { CreateUserModalComponent } from './views/create-user-modal/create-user-modal.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { LandingPageComponent } from './views/landing-page/landing-page.component';\r\nimport { ReportsComponent } from './views/reports/reports.component';\r\nimport { LoadingInterceptor } from './Api_Module/interceptors/loading.interceptor';\r\nimport { SettingsComponent } from './views/settings/settings.component';\r\nimport { SettingsModalComponent } from './views/settings-modal/settings-modal.component';\r\nimport { RegisterComponent } from './views/user-register/register.component';\r\nimport { AdminDashComponent } from './views/home/admin-dash/admin-dash.component';\r\nimport { CustomerDashComponent } from './views/home/customer-dash/customer-dash.component';\r\nimport { AgentDashComponent } from './views/home/agent-dash/agent-dash.component';\r\nimport { NoWhitespaceDirective } from './directives/no-whitespace.directive';\r\nimport { EqualValidator } from './directives/PasswordEqual.directive';\r\nimport { UpdateAgencyCreditsModalComponent } from './views/update-agency-credits-modal/update-agency-credits-modal.component';\r\nimport { InvoiceComponent } from './views/invoice/invoice.component';\r\nimport { TermsComponent } from './views/terms/terms.component';\r\nimport { DirectionsComponent } from './views/directions/directions.component';\r\nimport { ResetComponent } from './views/reset/reset.component';\r\nimport { UserPasswordComponent } from './views/user-password/user-password.component';\r\nimport { Globals } from './globals';\r\nimport { ContactUsComponent } from './views/contact-us/contact-us.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n NavbarComponent,\r\n CreateBookingModalComponent,\r\n ViewbookingsComponent,\r\n PagenotfoundComponent,\r\n UserLoginComponent,\r\n ViewreservationsComponent,\r\n CreateCustomerModalComponent,\r\n CustomersComponent,\r\n VehicleDetailsComponent,\r\n NewCustomerDetailsComponent,\r\n CheckOutBookingModalComponent,\r\n UserLoginComponent,\r\n HomeComponent,\r\n SearchbookingsComponent,\r\n UsersComponent,\r\n CreateVehicleModalComponent,\r\n UserPasswordResetModalComponent,\r\n ComfirmModalComponent,\r\n AngenciesComponent,\r\n CreateAgencyModalComponent,\r\n CreateAgentModalComponent,\r\n CreateUserModalComponent,\r\n LandingPageComponent,\r\n ReportsComponent,\r\n SettingsComponent,\r\n SettingsModalComponent,\r\n RegisterComponent,\r\n AdminDashComponent,\r\n CustomerDashComponent,\r\n ChooseListModalComponent,\r\n AgentDashComponent,\r\n NoWhitespaceDirective,\r\n EqualValidator,\r\n UpdateAgencyCreditsModalComponent,\r\n InvoiceComponent,\r\n TermsComponent,\r\n DirectionsComponent,\r\n ResetComponent,\r\n UserPasswordComponent,\r\n ContactUsComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n FormsModule,\r\n CommonModule,\r\n ToastrModule.forRoot({\r\n timeOut: 5000,\r\n positionClass: 'toast-top-right',\r\n preventDuplicates: true,\r\n }),\r\n Ng4LoadingSpinnerModule.forRoot(),\r\n HttpClientModule,\r\n AppRoutingModule,\r\n ApiModule.forRoot(getApiConfig),\r\n NgbModule,\r\n NgbDatepickerModule,\r\n NgbTimepickerModule,\r\n NgxDatatableModule\r\n ],\r\n providers: [\r\n {provide: NgbDateAdapter, useClass: NgbDateNativeAdapter},\r\n AuthGuard,\r\n Globals,\r\n AuthenticationService,\r\n { provide: HTTP_INTERCEPTORS, useClass: LoadingInterceptor, multi: true},\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\nexport const apiConfig = new Configuration({\r\n basePath: environment.apiBase,\r\n withCredentials: false\r\n});\r\nexport function getApiConfig() {\r\n return apiConfig;\r\n}\r\n","import { Directive, forwardRef, Attribute } from '@angular/core';\r\nimport { Validator, AbstractControl, NG_VALIDATORS } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: forwardRef(() => EqualValidator), multi: true }]\r\n})\r\nexport class EqualValidator implements Validator {\r\n constructor( @Attribute('validateEqual') public validateEqual: string,\r\n @Attribute('reverse') public reverse: string) {\r\n\r\n }\r\n\r\n private get isReverse() {\r\n if (!this.reverse) {return false; }\r\n return this.reverse === 'true' ? true : false;\r\n }\r\n\r\n validate(c: AbstractControl): { [key: string]: any } {\r\n // self value\r\n const v = c.value;\r\n\r\n // control vlaue\r\n const e = c.root.get(this.validateEqual);\r\n\r\n // value not equal\r\n if (e && v !== e.value && !this.isReverse) {\r\n return {\r\n validateEqual: false\r\n };\r\n }\r\n\r\n // value equal and reverse\r\n if (e && v === e.value && this.isReverse) {\r\n delete e.errors['validateEqual'];\r\n if (!Object.keys(e.errors).length) {e.setErrors(null); }\r\n }\r\n\r\n // value not equal and reverse\r\n if (e && v !== e.value && this.isReverse) {\r\n e.setErrors({\r\n validateEqual: false\r\n });\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { NoWhitespaceValidator } from './no-whitespace.validator';\r\nimport { Validator, AbstractControl, Validators, NG_VALIDATORS } from '@angular/forms';\r\n\r\n/**\r\n * This validator works like \"required\" but it does not allow whitespace either\r\n *\r\n * @export\r\n * @class NoWhitespaceDirective\r\n * @implements {Validator}\r\n */\r\n@Directive({\r\n\tselector: '[NoSpaces]',\r\n\tproviders: [{ provide: NG_VALIDATORS, useExisting: NoWhitespaceDirective, multi: true }]\r\n})\r\nexport class NoWhitespaceDirective implements Validator {\r\n\r\n\tprivate valFn = NoWhitespaceValidator();\r\n\tvalidate(control: AbstractControl): { [key: string]: any } {\r\n\t\treturn this.valFn(control);\r\n\t}\r\n}","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport function NoWhitespaceValidator(): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } => {\r\n const isWhitespace = (control.value || '').trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { 'whitespace': 'value is only whitespace' }\r\n };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { recentBookingResult } from './Api_Module';\r\n\r\n@Injectable()\r\nexport class Globals {\r\n recentBookings: recentBookingResult[] = [];\r\n constructor() {\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { UserModel } from '../Api_Module';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n constructor(private router: Router) {}\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean {\r\n const roles = next.data['allowedRoles'] as Array;\r\n if (!!localStorage.getItem('currentUser')) {\r\n // logged in so return true\r\n const user: UserModel = JSON.parse(localStorage.getItem('currentUser'));\r\n const isAllowedAccess = roles.length < 1 || !!roles.find((role) => !!role && !!user.role && role.toLowerCase() === user.role.toLocaleLowerCase());\r\n if (isAllowedAccess) {\r\n return true;\r\n }\r\n this.router.navigate(['/pagenotfound']);\r\n return false;\r\n }\r\n\r\n // not logged in so redirect to login page with the return url\r\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url }});\r\n return false;\r\n }\r\n}\r\n","import { BookingModel } from '../Api_Module';\r\n\r\nexport class Booking implements BookingModel {\r\n status?: string;\r\n paymentType: string;\r\n bookingId: number;\r\n checkIn: Date;\r\n checkout: Date;\r\n vehicleId: number;\r\n ownerId: number;\r\n service: string;\r\n duration: string;\r\n bayNumber: string;\r\n isComplete: boolean;\r\n constructor() {\r\n this.isComplete = false;\r\n this.checkIn = new Date();\r\n this.checkout = new Date();\r\n this.checkout.setDate(this.checkout.getDate() + 1);\r\n }\r\n}\r\n\r\nexport class BookingQuote {\r\n booking: BookingModel;\r\n date: Date;\r\n expDate: Date;\r\n price: any;\r\n id: string ;\r\n}\r\n","export const titles: Array = ['Master', 'Miss', 'Mr', 'Mrs', 'Ms', 'Mx', 'Prof', 'Rev', 'Sir', 'Dr'];\r\n\r\nexport const bookingServices: Array = [\r\n { id: 'Wash And Vacuum:Sedan', name: 'Wash And Vacuum:Sedan' },\r\n { id: 'Wash And Vacuum:SUV', name: 'Wash And Vacuum:SUV' },\r\n { id: 'Full Valet', name: 'Full Valet' },\r\n { id: 'Staff Wash Airport Only', name: 'Staff Wash Airport Only' }];\r\n\r\n\r\n","import { isFunction } from 'util';\r\n\r\nexport enum Roles {\r\n Client_Liason_Officer = 'Client Liason Officer',\r\n Agent = 'Agent',\r\n AgencyAdministrator = 'AgencyAdministrator',\r\n Administrator = 'Administrator',\r\n Client = 'Client'\r\n}\r\n\r\nexport namespace Roles {\r\n export function toList() {\r\n return Object.values(Roles).filter(\r\n (type) => isNaN(type) && !isFunction(type)\r\n );\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { BookingModel, CreateVehicle, UserModel } from '../Api_Module';\r\nimport { Roles } from '../models/roles.enum';\r\n\r\n@Injectable()\r\nexport class AuthenticationService {\r\n\r\n constructor() {\r\n }\r\n\r\n isLoggegIn(): boolean {\r\n const user: UserModel = JSON.parse(localStorage.getItem('currentUser'));\r\n return !!user && !!user.token && user.token.length && !!user.role ;\r\n }\r\n\r\n userRole(): string {\r\n const user: UserModel = JSON.parse(localStorage.getItem('currentUser'));\r\n return !!user && !!user.token && user.token.length ? user.role : null ;\r\n }\r\n\r\n userFullNames(): string {\r\n const user: UserModel = JSON.parse(localStorage.getItem('currentUser'));\r\n return !!user && !!user.token && user.token.length ? `${user.firstName} ${user.lastName}` : null ;\r\n }\r\n\r\n userObj(): UserModel {\r\n const user: UserModel = JSON.parse(localStorage.getItem('currentUser'));\r\n return !!user && !!user.token && user.token.length ? user : null ;\r\n }\r\n\r\n isUserInRoles(roles: any[]) {\r\n return roles.length < 1 || !!roles.find((role) => !!role && !!this.userRole() && role.toLowerCase() === this.userRole().toLowerCase());\r\n }\r\n\r\n getCustomerId(): number {\r\n const user: UserModel = JSON.parse(localStorage.getItem('currentUser'));\r\n return !!user && !!user.customerId ? user.customerId : null;\r\n }\r\n\r\n getAgencyId(): number {\r\n const user: UserModel = JSON.parse(localStorage.getItem('currentUser'));\r\n return !!user && !!user.agencyId ? user.agencyId : null;\r\n }\r\n\r\n getUserId(): number {\r\n const user: UserModel = JSON.parse(localStorage.getItem('currentUser'));\r\n return !!user && !!user.id ? user.id : null;\r\n }\r\n\r\n isAdmin(): boolean {\r\n return this.userRole() === Roles.Administrator;\r\n }\r\n\r\n isStaff() {\r\n return this.userRole() === Roles.Client_Liason_Officer || this.isAdmin();\r\n }\r\n\r\n isClient() {\r\n return this.userRole() === Roles.Client;\r\n }\r\n\r\n isAgent() {\r\n return this.userRole() === Roles.Agent || this.isAgencyAdmin();\r\n }\r\n\r\n isAgencyAdmin() {\r\n return this.userRole() === Roles.AgencyAdministrator;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { BookingModel, CreateVehicle } from '../Api_Module';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n })\r\n export class MediatorService {\r\n private selectedBooking$: BehaviorSubject = new BehaviorSubject(null);\r\n private selectedVehicle$: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getBooking(): Observable {\r\n return this.selectedBooking$.asObservable();\r\n }\r\n\r\n selectedBooking(booking: BookingModel): void {\r\n this.selectedBooking$.next(booking);\r\n }\r\n }\r\n","export const datesettings = {\r\n bigBanner: false,\r\n timePicker: false,\r\n format: 'dd-MM-yyyy',\r\n defaultOpen: false,\r\n closeOnSelect: true\r\n};\r\n\r\nexport const datetimesettings = {\r\n bigBanner: true,\r\n timePicker: true,\r\n format: 'dd-MM-yyyy hh:mm a',\r\n defaultOpen: false,\r\n closeOnSelect: true\r\n};\r\n\r\nexport function isDateRangeValid(date1: Date, time1: number, date2: Date, time2: number): boolean {\r\n const fromDate = new Date(date1);\r\n fromDate.setHours(0, (time1 * 60), 0, 0);\r\n const toDate = new Date(date2);\r\n toDate.setHours(0, (time2 * 60), 0, 0);\r\n console.log(`From: ${fromDate} to ${toDate}`);\r\n return toDate.getTime() > fromDate.getTime();\r\n}\r\n\r\nexport const deepCopy = (obj) => {\r\n let copy;\r\n\r\n // Handle the 3 simple types, and null or undefined\r\n if (null == obj || 'object' !== typeof obj) {\r\n return obj;\r\n }\r\n\r\n // Handle Date\r\n if (obj instanceof Date) {\r\n copy = new Date();\r\n copy.setTime(obj.getTime());\r\n return copy;\r\n }\r\n\r\n // Handle Array\r\n if (obj instanceof Array) {\r\n copy = [];\r\n for (let i = 0, len = obj.length; i < len; i ++) {\r\n copy[i] = deepCopy(obj[i]);\r\n }\r\n return copy;\r\n }\r\n\r\n // Handle Object\r\n if (obj instanceof Object) {\r\n copy = {};\r\n for (const attr in obj) {\r\n if (obj.hasOwnProperty(attr)) {\r\n copy[attr] = deepCopy(obj[attr]);\r\n }\r\n }\r\n return copy;\r\n }\r\n\r\n throw new Error('Unable to copy obj! Its type isn\\'t supported.');\r\n};\r\n","module.exports = \"
\\r\\n
\\r\\n

View Agencies

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n 1\\\">\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Are you sure you want to Delete?\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Agents for {{selectedAgency.name}}\\r\\n \\r\\n

\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Are you sure you want to Delete?\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { AgenciesService, GetAllAgenciesResult, UpdateAgentModel } from 'src/app/Api_Module';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'crg-agencies',\r\n templateUrl: './agencies.component.html'\r\n})\r\nexport class AngenciesComponent implements OnInit {\r\n\r\n @ViewChild('angecyTable') table: DatatableComponent;\r\n \r\n searchStr: string;\r\n\r\n loadingAgents: boolean;\r\n loadingSearch: boolean;\r\n\r\n selectedAgecies: GetAllAgenciesResult[] = [];\r\n selectedVeh: UpdateAgentModel[] = [];\r\n selectedAgency: GetAllAgenciesResult;\r\n\r\n agencies: GetAllAgenciesResult[] = [];\r\n cache: GetAllAgenciesResult[] = [];\r\n\r\n agents: any[] = [];\r\n\r\n filtervalue: string;\r\n\r\n alert;\r\n\r\n messagesAgencies = { emptyMessage: 'No Angencies found. Try different parameters', totalMessage: 'Total Agencies' };\r\n\r\n messagesAgents = { emptyMessage: 'No Agent found. Try different parameters', totalMessage: 'Total Agents' };\r\n\r\n constructor(private agenciesService: AgenciesService, private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n this.searchAgencies();\r\n }\r\n\r\n searchAgencies() {\r\n this.agents = [];\r\n\r\n this.loadingSearch = true;\r\n this.agenciesService.getAgencies().subscribe((resp: GetAllAgenciesResult[]) => {\r\n this.loadingSearch = false;\r\n this.agencies = [...resp];\r\n this.cache = [...resp];\r\n },\r\n error => {\r\n this.loadingSearch = false;\r\n\r\n if (error['status'] === 404) {\r\n this.toastr.warning('Agency Not Found!');\r\n } else {\r\n this.toastr.error('Something went wrong please try again later!');\r\n }\r\n\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n onSelect(agencyObj: any) {\r\n this.loadingAgents = true;\r\n console.log(JSON.stringify(agencyObj));\r\n const agentId = agencyObj.selected[0].id;\r\n this.selectedAgency = agencyObj.selected[0];\r\n this.agents = [];\r\n this.agenciesService.getAgency(agentId).subscribe((resp: GetAllAgenciesResult) => {\r\n this.loadingAgents = false;\r\n this.agents = [...resp.agents];\r\n },\r\n error => {\r\n this.loadingAgents = false;\r\n if (error['status'] === 404) {\r\n this.toastr.warning('Agent(s) Not Found!');\r\n } else {\r\n this.toastr.error('Something went wrong please try again later!');\r\n }\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n deleteAgency(agencyId) {\r\n this.loadingSearch = true;\r\n this.agenciesService.deleteAgency(agencyId).subscribe((resp: GetAllAgenciesResult) => {\r\n this.loadingAgents = false;\r\n this.toastr.success('Agency Deleted.');\r\n this.searchAgencies();\r\n },\r\n error => {\r\n this.loadingAgents = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n this.loadingSearch = false;\r\n }\r\n\r\n deleteAgent(agentId) {\r\n this.loadingAgents = true;\r\n this.agenciesService.deleteAgent(agentId).subscribe((resp) => {\r\n this.loadingAgents = false;\r\n this.toastr.success('Agent Deleted.');\r\n this.searchAgencies();\r\n },\r\n error => {\r\n this.loadingAgents = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n // this.toastr.warning('Not Impletement Yet');\r\n this.loadingAgents = false;\r\n }\r\n\r\n updateFilter(event) {\r\n const val = this.filtervalue;\r\n\r\n if (val) {\r\n // filter our data\r\n this.agents = [];\r\n this.selectedAgecies = [];\r\n this.selectedAgency = null;\r\n const temp = this.agencies.filter(function(d) {\r\n return (d.name && d.name.toLowerCase().indexOf(val) !== -1) || !val;\r\n });\r\n\r\n // update the rows\r\n this.agencies = temp;\r\n } else {\r\n this.agencies = [... this.cache];\r\n }\r\n // Whenever the filter changes, always go back to the first page\r\n this.table.offset = 0;\r\n }\r\n\r\n clearFilter() {\r\n this.filtervalue = '';\r\n this.agencies = [... this.cache];\r\n }\r\n\r\n\r\n close(alert: any) {\r\n this.alert = null;\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

Check Out for {{booking?.title}} {{booking?.surname}} - {{booking?.registration}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Price\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Notes\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Invoice Items

\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\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, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { BookingModel, BookingService, invoice} from 'src/app/Api_Module';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'crg-checkout-booking-modal',\r\n templateUrl: './checkout-booking-modal.component.html',\r\n})\r\nexport class CheckOutBookingModalComponent implements OnInit {\r\n @Input() buttonText?: string;\r\n @Input() buttonClass?: string;\r\n @Input() buttonIcon?: string;\r\n @Input() booking: BookingModel;\r\n @Output() success: EventEmitter = new EventEmitter();\r\n invoice: invoice = {} as invoice;\r\n loading: boolean;\r\n messages = {emptyMessage: 'No invoice items', totalMessage: 'Total Items'};\r\n\r\n constructor(private modalService: NgbModal, private bookingService: BookingService,\r\n private route: ActivatedRoute, private toastr: ToastrService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n openLg(content) {\r\n if (this.booking.isMonthlyParker !== true) {\r\n this.modalService.open(content, { size: 'lg' });\r\n }\r\n this.loading = true;\r\n this.bookingService.checkout(this.booking.bookingId).subscribe((resp: invoice) => {\r\n this.loading = false;\r\n this.invoice = resp;\r\n if (this.booking.isMonthlyParker) {\r\n this.booking.paymentType = \"Monthly\";\r\n this.checkout();\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n close(alert: any) {\r\n // this.alert = null;\r\n }\r\n\r\n checkout() {\r\n console.log('checkout data' + JSON.stringify(this.booking));\r\n this.loading = true;\r\n this.bookingService.complete({ id: this.booking.bookingId, paymentMethod: this.booking.paymentType}).subscribe(resp => {\r\n this.loading = false;\r\n this.toastr.success('Checkout Complete');\r\n this.success.emit('Checkout Complete');\r\n this.modalService.dismissAll();\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n}\r\n","module.exports = \"\\r\\n {{buttonText}}\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Please select
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\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, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'crg-choose-list-modal',\r\n templateUrl: './choose-list-modal.component.html'\r\n})\r\nexport class ChooseListModalComponent implements OnInit {\r\n\r\n @ViewChild('selectButton') selectElem: ElementRef;\r\n @Input() buttonText?: string;\r\n @Input() buttonClass?: string;\r\n @Input() buttonIcon?: string;\r\n @Input() listItems: any[];\r\n @Input() listLabel: string;\r\n @Output() acceptClicked = new EventEmitter();\r\n\r\n selectedItem: any = null;\r\n\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n // this.acceptClicked.subscribe((value) => console.log('Emitted: ' + JSON.stringify(value)));\r\n }\r\n\r\n // openLg(content) {\r\n // this.selectedItem = null;\r\n // this.modal = this.modalService.open(content, { size: 'lg' });\r\n // this.modal.result.then((result) => {\r\n // this.closeResult = `Closed with: ${result}`;\r\n // this.acceptClicked.emit('this.selectedItem');\r\n // }, (reason) => {\r\n // this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n // });\r\n // }\r\n\r\n close(alert: any) {\r\n // this.alert = null;\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 okClicked() {\r\n console.log('OK Clicked: ' + this.selectElem.nativeElement.value);\r\n this.acceptClicked.emit(this.selectElem.nativeElement.value);\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

Confirm Action

\\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, Input, Output, EventEmitter } from '@angular/core';\r\nimport { BookingModel } from 'src/app/Api_Module';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'crg-comfirm-modal',\r\n templateUrl: './comfirm-modal.component.html'\r\n})\r\nexport class ComfirmModalComponent implements OnInit {\r\n\r\n @Input() buttonText?: string;\r\n @Input() buttonClass?: string;\r\n @Input() buttonIcon?: string;\r\n @Output() accept: EventEmitter = new EventEmitter();\r\n\r\n\r\n constructor(private modalService: NgbModal) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n openLg(content) {\r\n this.modalService.open(content, { size: 'lg' });\r\n }\r\n\r\n close(alert: any) {\r\n // this.alert = null;\r\n }\r\n\r\n ok() {\r\n this.accept.emit('User clicked ok');\r\n this.modalService.dismissAll('ok');\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n

Fill form

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Full Name *\\r\\n
\\r\\n \\r\\n
\\r\\n
Name is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Email *\\r\\n
\\r\\n \\r\\n
\\r\\n
Email is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Mobile *\\r\\n
\\r\\n \\r\\n
\\r\\n
Mobile is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2NvbnRhY3QtdXMvY29udGFjdC11cy5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit ,Inject} from '@angular/core';\r\nimport {NgForm} from '@angular/forms';\r\nimport { CustomersService } from 'src/app/Api_Module';\r\nimport { ToastrService } from 'ngx-toastr';\r\n@Component({\r\n selector: 'crg-contact-us',\r\n templateUrl: './contact-us.component.html',\r\n styleUrls: ['./contact-us.component.scss']\r\n})\r\nexport class ContactUsComponent implements OnInit {\r\n protected basePath = 'https://localhost';\r\n constructor(private customerService: CustomersService, private toast : ToastrService) { \r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n onSubmit(form: NgForm) {\r\n this.customerService.feedback(form.value).subscribe(res => {\r\n this.toast.info('Your query was submitted');\r\n form.resetForm();\r\n });\r\n\r\n}\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

{{updateMode ? 'Update User Details' : 'New User'}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n User Details\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Name *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Surname \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Email \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Username *\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Password *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Role *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\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, Input, Output, EventEmitter } from '@angular/core';\r\nimport { UsersService, UserModel } from 'src/app/Api_Module';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Roles } from 'src/app/models/roles.enum';\r\n\r\n@Component({\r\n selector: 'crg-create-user-modal',\r\n templateUrl: './create-user-modal.component.html',\r\n})\r\nexport class CreateUserModalComponent implements OnInit {\r\n @Input() buttonText?: string;\r\n @Input() buttonClass?: string;\r\n @Input() buttonIcon?: string;\r\n @Input() user: UserModel;\r\n loading: boolean;\r\n alert: any;\r\n updateMode: boolean;\r\n Roles = Roles;\r\n @Output() success: EventEmitter = new EventEmitter();\r\n constructor(private modalService: NgbModal, private usersService: UsersService, private toastr: ToastrService) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n openLg(content) {\r\n if (!!this.user && !!this.user['id'] && this.user['id'] > 0) {\r\n this.updateMode = true;\r\n } else {\r\n this.user = { firstName: '', lastName: '' };\r\n this.updateMode = false;\r\n }\r\n this.modalService.open(content, { size: 'lg' });\r\n }\r\n\r\n create() {\r\n this.usersService.post(this.user).subscribe((resp) => {\r\n this.loading = false;\r\n this.success.emit(resp);\r\n this.toastr.success('User created');\r\n // this.alert = { type: 'success', message: 'Created! \\n* customer number: ' + this.agencyId };\r\n this.modalService.dismissAll('success');\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n this.alert = { type: 'danger', message: 'Something went wrong please try again later. `-' + JSON.stringify(error.error) + '`' };\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n update() {\r\n this.usersService.put(this.user).subscribe((resp) => {\r\n this.loading = false;\r\n this.toastr.success('User updated');\r\n this.success.emit({ user: this.user });\r\n // this.alert = { type: 'success', message: 'Created! \\n* customer number: ' + this.agencyId };\r\n this.modalService.dismissAll('success');\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n this.alert = { type: 'danger', message: 'Something went wrong please try again later. `-' + JSON.stringify(error.error) + '`' };\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n close(alert: any) {\r\n this.alert = null;\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

{{updateMode ? 'Update Agency Details' : 'New Agency with Admin'}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Agency Details\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Name *\\r\\n
\\r\\n \\r\\n
\\r\\n
Agency Name is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Phone Number\\r\\n
\\r\\n \\r\\n
\\r\\n
Agency Phone is required
\\r\\n
Agency Phone must be 10 digits
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Address Line 1\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Address Line 2\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Address Line 3\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Address Line 4\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Rate\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Account Number\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Invoice Email\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Credits *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Recharge Credits Level\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Administrator Details\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Name *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Surname *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Email\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Cellphone\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Password\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Confirm Password\\r\\n
\\r\\n \\r\\n
Password not match
\\r\\n
\\r\\n
\\r\\n
\\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, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { GetAllAgenciesResult, AgenciesService, NewAgencyModel, UpdateAgencyModel } from 'src/app/Api_Module';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'crg-create-agency-modal',\r\n templateUrl: './create-agency-modal.component.html'\r\n})\r\nexport class CreateAgencyModalComponent implements OnInit {\r\n @Input() buttonText?: string;\r\n @Input() buttonClass?: string;\r\n @Input() buttonIcon?: string;\r\n @Input() agency: NewAgencyModel | UpdateAgencyModel;\r\n agencyId: number;\r\n @Output() success: EventEmitter = new EventEmitter();\r\n titles: string[];\r\n loading: boolean;\r\n alert: any;\r\n updateMode: boolean;\r\n passwordMatch: boolean;\r\n\r\n constructor(private modalService: NgbModal, private agenciesService: AgenciesService, private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n checkPasswords() {\r\n const _agency = this.agency as NewAgencyModel;\r\n this.passwordMatch = _agency.administratorPassword === _agency.administratorConfirmPassword;\r\n return this.passwordMatch;\r\n }\r\n\r\n openLg(content) {\r\n if (!!this.agency && !!this.agency['id'] && this.agency['id'] > 0) {\r\n this.updateMode = true;\r\n this.agenciesService.getAgency(this.agency['id']).subscribe((result : UpdateAgencyModel) => {\r\n this.agency = result;\r\n });\r\n } else {\r\n this.agency = {name: '', administratorName: ''};\r\n this.updateMode = false;\r\n }\r\n this.modalService.open(content, { size: 'lg' });\r\n }\r\n\r\n create() {\r\n this.agenciesService.postAgency(this.agency as NewAgencyModel).subscribe((resp) => {\r\n this.loading = false;\r\n this.agencyId = resp;\r\n this.success.emit({customerId: this.agencyId, owner: this.agency});\r\n this.toastr.success('Agency created');\r\n // this.alert = { type: 'success', message: 'Created! \\n* customer number: ' + this.agencyId };\r\n this.modalService.dismissAll('success');\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n this.alert = { type: 'danger', message: 'Something went wrong please try again later. `-' + JSON.stringify(error.error) + '`' };\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n update() {\r\n const agencyReq: UpdateAgencyModel = this.agency;\r\n this.agenciesService.putAgency(agencyReq.id, agencyReq).subscribe((resp) => {\r\n this.loading = false;\r\n this.agencyId = resp;\r\n this.toastr.success('Agency updated');\r\n this.success.emit({customerId: this.agencyId, owner: this.agency});\r\n // this.alert = { type: 'success', message: 'Created! \\n* customer number: ' + this.agencyId };\r\n this.modalService.dismissAll('success');\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n this.alert = { type: 'danger', message: 'Something went wrong please try again later. `-' + JSON.stringify(error.error) + '`' };\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n close(alert: any) {\r\n this.alert = null;\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

{{updateMode ? 'Update Agent Details' : 'New Agent '}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Name *\\r\\n
\\r\\n \\r\\n
\\r\\n
Name is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Surname *\\r\\n
\\r\\n \\r\\n
\\r\\n
Surname is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Email *\\r\\n
\\r\\n \\r\\n
\\r\\n
Email is required
\\r\\n
Email format not valid
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Password *\\r\\n \\r\\n
\\r\\n
Password is required
\\r\\n
\\r\\n
\\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, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport {AgenciesService, UpdateAgentModel, AddAgentModel, UpdateAgencyModel } from 'src/app/Api_Module';\r\nimport { debugOutputAstAsTypeScript } from '@angular/compiler';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'crg-create-agent-modal',\r\n templateUrl: './create-agent-modal.component.html',\r\n})\r\nexport class CreateAgentModalComponent implements OnInit {\r\n @Input() buttonText?: string;\r\n @Input() buttonClass?: string;\r\n @Input() buttonIcon?: string;\r\n @Input() agency: UpdateAgencyModel;\r\n @Input() agent: UpdateAgentModel | AddAgentModel;\r\n agentId: number;\r\n @Output() success: EventEmitter = new EventEmitter();\r\n titles: string[];\r\n loading: boolean;\r\n alert: any;\r\n updateMode: boolean;\r\n\r\n constructor(private modalService: NgbModal, private agenciesService: AgenciesService, private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n openLg(content) {\r\n if (!!this.agent && !!this.agent['id'] && this.agent['id'] > 0) {\r\n this.updateMode = true;\r\n } else {\r\n this.agent = {name: '', email: '', surname: '', agencyId: this.agency.id};\r\n this.updateMode = false;\r\n }\r\n this.modalService.open(content, { size: 'lg' });\r\n }\r\n\r\n create() {\r\n this.agenciesService.addAgent('' + this.agency.id, this.agent as AddAgentModel).subscribe((resp) => {\r\n this.loading = false;\r\n this.agentId = resp;\r\n this.success.emit({selected: [this.agency]});\r\n this.toastr.success('Agent created');\r\n // this.alert = { type: 'success', message: 'Created! \\n* customer number: ' + this.agentId };\r\n this.modalService.dismissAll('success');\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n this.alert = { type: 'danger', message: 'Something went wrong please try again later. `-' + JSON.stringify(error.error) + '`' };\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n update() {\r\n const agentReq: UpdateAgentModel = this.agent;\r\n agentReq.agencyId = this.agency.id;\r\n this.agenciesService.updateAgent('' + agentReq.id, agentReq).subscribe((resp) => {\r\n this.loading = false;\r\n this.agentId = resp;\r\n this.toastr.success('Agent updated');\r\n this.success.emit({selected: [this.agency]});\r\n // this.alert = { type: 'success', message: 'Created! \\n* customer number: ' + this.agentId };\r\n this.modalService.dismissAll('success');\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n this.alert = { type: 'danger', message: 'Something went wrong please try again later. `-' + JSON.stringify(error.error) + '`' };\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n close(alert: any) {\r\n this.alert = null;\r\n }\r\n}\r\n","module.exports = \" \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

Update Booking

\\r\\n

New Booking for {{customer?.title}} {{customer?.name}}\\r\\n {{customer?.surname}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Choose the dates for the 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
\\r\\n \\r\\n
\\r\\n
Time is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Time is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Service Type is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Vehicle *\\r\\n\\r\\n \\r\\n
\\r\\n
Vehicle is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n Agency *\\r\\n\\r\\n \\r\\n
\\r\\n
Agency is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n Agency Credits: \\r\\n
\\r\\n \\r\\n
\\r\\n
Your Agency doesnt have enough credits to make a booking
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Voucher Number\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Notes\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Reference\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Status\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Promo Code\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n  \\r\\n
\\r\\n \\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 date cannot be less than today's date\\r\\n
\\r\\n
\\r\\n Check in date is required\\r\\n
\\r\\n
\\r\\n Check out date cannot be less than given dropoff date\\r\\n
\\r\\n
\\r\\n Check out date is required\\r\\n
\\r\\n
\\r\\n Drop off time is required\\r\\n
\\r\\n
\\r\\n Collection time is required\\r\\n
\\r\\n\\r\\n
\\r\\n Service Type is required\\r\\n
\\r\\n\\r\\n
\\r\\n Agency is required\\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, Input } from '@angular/core';\r\nimport { Subscription, Observable } from 'rxjs';\r\nimport { datetimesettings, deepCopy, isDateRangeValid } from '../../utils/utils';\r\nimport { ActivatedRoute, Router, NavigationExtras } from '@angular/router';\r\nimport {\r\n BookingModel, BookingService, GetVehicleResult,\r\n FindCustomerResult, AgenciesService, GetAllAgenciesResult, VehiclesService, customerVehicle, recentBookingResult,CustomersService\r\n} from 'src/app/Api_Module';\r\nimport { NgbModal, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\nimport { map } from 'rxjs/operators';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { bookingServices } from 'src/app/models/constants.model';\r\nimport { Globals } from '../../globals';\r\n\r\n@Component({\r\n selector: 'crg-create-booking-modal',\r\n templateUrl: './create-booking-modal.component.html'\r\n})\r\nexport class CreateBookingModalComponent implements OnInit {\r\n @Input() buttonText?: string;\r\n @Input() buttonClass?: string;\r\n @Input() buttonIcon?: string;\r\n @Input() vehicle?: GetVehicleResult;\r\n @Input() customer?: FindCustomerResult;\r\n @Input() bookingExisting?: BookingModel;\r\n booking: BookingModel;\r\n\r\n times: string[] = [];\r\n alert: any;\r\n loading: boolean;\r\n isAgent: boolean;\r\n isValidPromoCode: boolean;\r\n makebooking$: Observable;\r\n checkout$: Observable;\r\n\r\n dropDate: Date;\r\n collectionDate: Date;\r\n dropTime: number;\r\n collectionTime: number;\r\n\r\n agencies: GetAllAgenciesResult[] = [];\r\n cars: customerVehicle[] = [];\r\n updateMode: boolean;\r\n foragency: boolean;\r\n services: any[];\r\n selectedAgency: any;\r\n mindate: NgbDateStruct = { year: new Date().getFullYear(), month: new Date().getMonth() + 1, day: new Date().getDate() };\r\n\r\n constructor(public authService: AuthenticationService, private modalService: NgbModal, private bookingService: BookingService,\r\n private agenciesService: AgenciesService, private router: Router, private toastr: ToastrService, private vehicleService: VehiclesService, private globals: Globals\r\n ,private customerService: CustomersService) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n for (let t = 0; t < 24; t++) {\r\n this.times.push(t.toString());\r\n }\r\n this.services = bookingServices;\r\n\r\n }\r\n\r\n openLg(content) {\r\n this.modalService.open(content, { size: 'lg' });\r\n if (!!this.bookingExisting && this.bookingExisting.bookingId > 0) {\r\n this.booking = this.bookingExisting;\r\n this.collectionDate = new Date(this.booking.checkout);\r\n this.dropDate = new Date(this.booking.checkIn);\r\n this.collectionTime = this.collectionDate.getHours();\r\n this.dropTime = this.dropDate.getHours();\r\n this.updateMode = true;\r\n this.vehicleService.getcars(this.bookingExisting.vehicleId).subscribe(resp => {\r\n this.cars = resp;\r\n });\r\n } else {\r\n this.Init();\r\n this.updateMode = false;\r\n }\r\n\r\n if (this.authService.isAgent()) {\r\n this.booking.paymentType = 'agency';\r\n this.booking.agencyId = this.authService.getAgencyId();\r\n }\r\n\r\n this.agenciesService.getAgencies().subscribe((resp) => {\r\n this.agencies = [...resp];\r\n });\r\n }\r\n\r\n private Init() {\r\n this.booking = { agencyId: null , reference: null};\r\n this.collectionDate = new Date();\r\n this.dropDate = new Date();\r\n this.collectionTime = this.collectionDate.getHours();\r\n this.dropTime = this.dropDate.getHours();\r\n this.collectionDate.setDate(this.collectionDate.getDate() + 1);\r\n this.booking.paymentType = null;\r\n this.booking.service = '';\r\n if (this.authService.isClient()) {\r\n this.customerService.getVehicles(this.authService.getCustomerId()).subscribe(resp => {\r\n this.cars = resp;\r\n this.booking.vehicleId = resp[0].id;\r\n });\r\n } else {\r\n this.customerService.getVehicles(this.customer.id).subscribe(resp => {\r\n this.cars = resp;\r\n this.booking.vehicleId = resp[0].id;\r\n });\r\n }\r\n if (this.vehicle) {\r\n this.booking.vehicleId = this.vehicle.id;\r\n }\r\n }\r\n\r\n close(alert: any) {\r\n this.alert = null;\r\n }\r\n\r\n private dateToString(date: Date, hours?: number): string {\r\n const day = date.getDate();\r\n const monthIndex = date.getMonth() + 1;\r\n const year = date.getFullYear();\r\n if (!hours) {\r\n hours = date.getHours();\r\n }\r\n const munites = date.getMinutes();\r\n const datestr = `${year}-${monthIndex < 10 ? '0' + monthIndex : monthIndex}-${day < 10 ? '0' + day : day}`\r\n + `T${hours < 10 ? '0' + hours : hours}:${munites < 10 ? '0' + munites : munites}`;\r\n console.log(datestr);\r\n return datestr;\r\n }\r\n\r\n createBooking() {\r\n if (!isDateRangeValid(this.dropDate, this.dropTime, this.collectionDate, this.collectionTime)) {\r\n this.toastr.warning('Invalid date range, Drop-Time should be before Pick-Up Time');\r\n return;\r\n }\r\n\r\n this.alert = null;\r\n this.loading = true;\r\n this.booking.checkIn = this.dropDate;\r\n this.booking.checkout = this.collectionDate;\r\n this.booking.checkIn.setHours(0, (this.dropTime * 60), 0, 0);\r\n this.booking.checkIn = this.convertUTCDateToLocalDate(this.booking.checkIn);\r\n this.booking.checkout.setHours(0, (this.collectionTime * 60), 0, 0);\r\n this.booking.checkout = this.convertUTCDateToLocalDate(this.booking.checkout);\r\n // this.booking.vehicleId = 4700// this.vehicle.id; //TODO?? where this is supposed to come from?\r\n this.booking.agencyId = this.booking.paymentType === 'agency' ? this.booking.agencyId : null;\r\n console.log('book data' + JSON.stringify(this.booking));\r\n\r\n this.bookingService.createBooking(this.booking).subscribe(resp => {\r\n this.loading = false;\r\n console.log(this.booking);\r\n // const booking: Booking = resp.body;\r\n this.toastr.success('Booking Captured, reference number : ' + resp.reference);\r\n if (this.authService.isStaff()) {\r\n let navigationExtras: NavigationExtras = {\r\n queryParams: { 'query': resp.reference },\r\n fragment: 'anchor'\r\n };\r\n this.router.navigate(['search/bookings'],navigationExtras);\r\n } else {\r\n //Change detection force immutable data types...\r\n this.getCustomerBookings();\r\n }\r\n //this.toastr.success('Booking Captured, reference number : ' + resp.reference);\r\n this.modalService.dismissAll();\r\n\r\n },\r\n error => {\r\n if (error['status'] === 404) {\r\n this.toastr.warning(error['message']);\r\n }\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later. ' + JSON.stringify(error.error) + '`');\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n getCustomerBookings() {\r\n if (!this.authService.isClient()) return;\r\n this.loading = true;\r\n this.customerService.getBookings(this.authService.getCustomerId()).subscribe(resp => {\r\n this.loading = false;\r\n this.globals.recentBookings = resp;\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n convertUTCDateToLocalDate(date) {\r\n return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()));\r\n }\r\n\r\n updateBooking() {\r\n\r\n if (!isDateRangeValid(this.dropDate, this.dropTime, this.collectionDate, this.collectionTime)) {\r\n this.toastr.warning('Invalid date range, Drop-Time should be before Pick-Up Time');\r\n return;\r\n }\r\n this.alert = null;\r\n this.loading = true;\r\n this.booking.checkIn = this.dropDate;\r\n this.booking.checkout = this.collectionDate;\r\n this.booking.checkIn.setHours(0, (this.dropTime * 60), 0, 0);\r\n this.booking.checkIn = this.convertUTCDateToLocalDate(this.booking.checkIn);\r\n this.booking.checkout.setHours(0, (this.collectionTime * 60), 0, 0);\r\n this.booking.checkout = this.convertUTCDateToLocalDate(this.booking.checkout);\r\n console.log('book data' + JSON.stringify(this.booking));\r\n\r\n this.bookingService.updateBooking(this.booking).subscribe(resp => {\r\n this.loading = false;\r\n this.bookingService.getAction(this.booking.reference).subscribe(resp => {\r\n this.booking = resp[0];\r\n });\r\n this.toastr.success('Booking Updated!');\r\n this.modalService.dismissAll();\r\n this.getCustomerBookings();\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later. ' + JSON.stringify(error.error) + '`');\r\n this.alert = { type: 'danger', message: 'Something went wrong please try again later. `-' + JSON.stringify(error.error) + '`' };\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n getMinDateForCollection(): NgbDateStruct {\r\n const dropOffDate = !!this.dropDate ? new Date(this.dropDate.getTime()) : new Date();\r\n this.dropDate.setMinutes(0, 0, 0);\r\n this.collectionDate.setMinutes(0, 0, 0);\r\n if (this.collectionDate.getTime() < dropOffDate.getTime()) {\r\n this.collectionDate = dropOffDate;\r\n }\r\n return { year: dropOffDate.getFullYear(), month: dropOffDate.getMonth() + 1, day: dropOffDate.getDate() };\r\n }\r\n\r\n getTimesForCollection(): string[] {\r\n const times = [... this.times];\r\n // const dropOffDate = !!this.dropDate ? new Date(this.dropDate.getTime()) : new Date();\r\n // if (this.dropDate.getTime() === this.collectionDate.getTime()) {\r\n // times.splice(0, this.dropDate.getHours() + 1);\r\n // }\r\n return times;\r\n }\r\n\r\n applyPromoCode() {\r\n this.isValidPromoCode = false;\r\n\r\n this.bookingService.checkCode(this.booking.promoCode).subscribe(resp => {\r\n this.loading = false;\r\n this.toastr.success('Promotion Code Valid');\r\n this.isValidPromoCode = true;\r\n },\r\n error => {\r\n if (error['status'] === 404) {\r\n this.toastr.warning(error['message']);\r\n }\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later. ');\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n\r\n }\r\n\r\n getAgency(id: number) {\r\n if (!!id) {\r\n return this.agencies.find((agency) => {\r\n return (+agency.id === +id);\r\n });\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n

{{updateMode ? 'Update Customer Details' : 'New Customer with Vehicle'}}

\\r\\n \\r\\n
\\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, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FindCustomerResult, CreateVehicle, CreateCustomer, CustomersService, VehiclesService, UpdateCustomer } from 'src/app/Api_Module';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { titles } from 'src/app/models/constants.model';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\n\r\n@Component({\r\n selector: 'crg-create-customer-modal',\r\n templateUrl: './create-customer-modal.component.html',\r\n})\r\nexport class CreateCustomerModalComponent implements OnInit {\r\n @Input() buttonText?: string;\r\n @Input() buttonClass?: string;\r\n @Input() buttonIcon?: string;\r\n @Input() customer: CreateCustomer | UpdateCustomer;\r\n customerId: number;\r\n @Output() success: EventEmitter = new EventEmitter();\r\n titles: string[];\r\n loading: boolean;\r\n alert: any;\r\n updateMode: boolean;\r\n\r\n constructor(private modalService: NgbModal, private cutomersService: CustomersService,\r\n private vehiclesService: VehiclesService, private toastr: ToastrService,public authSrvc: AuthenticationService) { }\r\n\r\n ngOnInit() {\r\n this.titles = titles;\r\n }\r\n\r\n openLg(content) {\r\n\r\n if (!!this.customer && !!this.customer['id'] && this.customer['id'] > 0) {\r\n this.updateMode = true;\r\n } else {\r\n this.customer = { title: '', name: '', surname: '', email: '', cellphone: '', registration: '' };\r\n this.updateMode = false;\r\n }\r\n this.modalService.open(content, { size: 'lg' });\r\n }\r\n\r\n create() {\r\n const custReq = this.customer as CreateCustomer;\r\n custReq.registration = custReq.registration ? custReq.registration.toUpperCase() : custReq.registration;\r\n this.cutomersService.post(this.customer as CreateCustomer).subscribe((resp) => {\r\n this.loading = false;\r\n this.customerId = resp;\r\n this.success.emit({customerId: this.customerId, owner: this.customer});\r\n this.toastr.success('Customer created');\r\n // this.alert = { type: 'success', message: 'Created! \\n* customer number: ' + this.customerId };\r\n this.modalService.dismissAll('success');\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong !!!. `-' + JSON.stringify(error.error) + '`');\r\n this.alert = { type: 'danger', message: 'Something went wrong please try again later. `-' + JSON.stringify(error.error) + '`' };\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n update() {\r\n console.log(this.customer);\r\n this.cutomersService.put(this.customer as UpdateCustomer).subscribe((resp) => {\r\n this.loading = false;\r\n this.customerId = resp;\r\n this.toastr.success('Customer updated');\r\n this.success.emit({customerId: this.customerId, owner: this.customer});\r\n // this.alert = { type: 'success', message: 'Created! \\n* customer number: ' + this.customerId };\r\n this.modalService.dismissAll('success');\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n this.alert = { type: 'danger', message: 'Something went wrong please try again later. `-' + JSON.stringify(error.error) + '`' };\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n close(alert: any) {\r\n this.alert = null;\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n

New Vehicle for {{customer?.title}} {{customer?.name}}\\r\\n {{customer?.surname}}

\\r\\n \\r\\n
\\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, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FindCustomerResult, CreateVehicle, CreateCustomer, CustomersService, VehiclesService, UpdateVehicle } from 'src/app/Api_Module';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'crg-create-vehicle-modal',\r\n templateUrl: './create-vehicle-modal.component.html',\r\n})\r\nexport class CreateVehicleModalComponent implements OnInit {\r\n @Input() buttonText?: string;\r\n @Input() buttonClass?: string;\r\n @Input() buttonIcon?: string;\r\n @Input() customer?: FindCustomerResult;\r\n @Input() vehicle?: UpdateVehicle;\r\n\r\n updateMode: boolean ;\r\n\r\n titles: string[];\r\n loading: boolean;\r\n alert: any;\r\n\r\n @Output() success: EventEmitter = new EventEmitter();\r\n\r\n constructor(private modalService: NgbModal, private vehiclesService: VehiclesService, private toastrService: ToastrService) { }\r\n\r\n ngOnInit() {\r\n // empty\r\n }\r\n\r\n openLg(content) {\r\n this.modalService.open(content, { size: 'lg' });\r\n if (!!this.vehicle && this.vehicle.id > 0) {\r\n this.updateMode = true;\r\n } else {\r\n this.vehicle = {registration: '', model: '', color: '', customerId: this.customer.id, make: '', id: null };\r\n this.updateMode = false;\r\n }\r\n }\r\n\r\n create() {\r\n this.vehicle.registration = this.vehicle.registration ? this.vehicle.registration.toUpperCase() : this.vehicle.registration;\r\n this.vehiclesService.post(this.vehicle).subscribe((resp) => {\r\n this.loading = false;\r\n this.success.emit({selected: [this.customer]});\r\n this.toastrService.success('Vehicle Created!');\r\n // this.alert = { type: 'success', message: 'Created! \\n* customer number: ' + this.customerId };\r\n this.modalService.dismissAll('success');\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastrService.error('Something went wrong. `-' + JSON.stringify(error.error) + '`');\r\n this.alert = { type: 'danger', message: 'Something went wrong please try again later. `-' + JSON.stringify(error.error) + '`' };\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n update() {\r\n this.vehicle.registration = this.vehicle.registration ? this.vehicle.registration.toUpperCase() : this.vehicle.registration;\r\n this.vehiclesService.put(this.vehicle).subscribe((resp) => {\r\n this.loading = false;\r\n this.success.emit({selected: [this.customer]});\r\n this.toastrService.success('Vehicle Updated!');\r\n // this.alert = { type: 'success', message: 'Created! \\n* customer number: ' + this.customerId };\r\n this.modalService.dismissAll('success');\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastrService.error('Something went wrong please try again later. `-' + JSON.stringify(error.error) + '`');\r\n this.alert = { type: 'danger', message: 'Something went wrong please try again later. `-' + JSON.stringify(error.error) + '`' };\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n close(alert: any) {\r\n this.alert = null;\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n Customer Details\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Title *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Name *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Surname *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Cellphone *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Email \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Vehicle Details\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Registration *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Make\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Model\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Colour\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { GetVehicleResult, CreateCustomer, UpdateCustomer } from 'src/app/Api_Module';\r\nimport { titles } from 'src/app/models/constants.model';\r\nimport { ControlContainer, NgForm } from '@angular/forms';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\n\r\n@Component({\r\n selector: 'crg-customer-details',\r\n templateUrl: './customer-details.component.html',\r\n viewProviders: [ { provide: ControlContainer, useExisting: NgForm } ]\r\n})\r\nexport class NewCustomerDetailsComponent implements OnInit {\r\n @Input() customer: CreateCustomer | UpdateCustomer;\r\n @Input() updateMode: boolean;\r\n\r\n titles: string[];\r\n\r\n constructor(public authSrvc: AuthenticationService ) { }\r\n\r\n ngOnInit() {\r\n this.titles = titles;\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n

View Customers

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Search is required
\\r\\n
Please Enter atleast 3 chars
\\r\\n
{{searcher?.errors?.whitespace}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Customer(s) Found

\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Are you sure you want to Delete?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Vehicle(s) for {{selectedCustomer.title}} {{selectedCustomer.name}} {{selectedCustomer.surname}}\\r\\n \\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Are you sure you want to Delete?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

Bookings(s) for {{selectedCustomer.title}} {{selectedCustomer.name}} {{selectedCustomer.surname}}\\r\\n \\r\\n

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value | date:'yyyy/MM/dd HH:mm'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value | date:'yyyy/MM/dd HH:mm'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { CustomersService, FindCustomerResult, VehiclesService, BookingModel } from 'src/app/Api_Module';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'crg-customers',\r\n templateUrl: './customers.component.html'\r\n})\r\nexport class CustomersComponent implements OnInit {\r\n\r\n @ViewChild('customersTable')\r\n private table: DatatableComponent;\r\n\r\n searchType = 'car';\r\n\r\n searchStr: string;\r\n\r\n loadingVehicles: boolean;\r\n loadingSearch: boolean;\r\n loadingBookings: boolean;\r\n\r\n selectedCustomers: FindCustomerResult[] = [];\r\n selectedVeh: FindCustomerResult[] = [];\r\n selectedCustomer: FindCustomerResult;\r\n selectedVehicle= false;\r\n\r\n customers: FindCustomerResult[] = [];\r\n\r\n vehicles: any[] = [];\r\n bookings:BookingModel[]=[];\r\n\r\n messagesC = {emptyMessage: 'No Customers found. Try different parameters', totalMessage: 'Total Customer'};\r\n\r\n messagesV = {emptyMessage: 'No Vehicles found. Try different parameters', totalMessage: 'Total Vehicles'};\r\n messagesB = {emptyMessage: 'No Bookings found.', totalMessage: 'Total Bookings'};\r\n\r\n constructor(private customersService: CustomersService, private vehiclesService: VehiclesService,\r\n private toastr: ToastrService, public authSrvc: AuthenticationService, private router:Router ) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n searchCustomers(searchStr?: string) {\r\n this.vehicles = [];\r\n this.selectedCustomer = {};\r\n if (!!searchStr) {\r\n this.searchStr = searchStr;\r\n }\r\n this.loadingSearch = true;\r\n // tslint:disable-next-line:max-line-length\r\n this.customersService.find(!!this.searchStr && this.searchStr.trim ? this.searchStr.trim() : this.searchStr).subscribe((resp: FindCustomerResult[]) => {\r\n this.loadingSearch = false;\r\n this.customers = resp;\r\n },\r\n error => {\r\n this.loadingSearch = false;\r\n if (error['status'] === 404) {\r\n this.toastr.warning('Customer Not Found!');\r\n } else {\r\n this.toastr.error('Something went wrong please try again later!');\r\n }\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n toggleExpandRow(row) {\r\n console.log('Toggled Expand Row!', row);\r\n this.table.rowDetail.toggleExpandRow(row);\r\n }\r\n\r\n onSelect(custObj: any) {\r\n this.bookings =[];\r\n this.loadingVehicles = true;\r\n const customerId = custObj.selected[0].id;\r\n this.selectedCustomer = custObj.selected[0];\r\n this.getBookings(custObj);\r\n this.customersService.get(customerId).subscribe((resp: FindCustomerResult) => {\r\n this.loadingVehicles = false;\r\n this.vehicles = [... resp.cars];\r\n },\r\n error => {\r\n this.loadingVehicles = false;\r\n if (error['status'] === 404) {\r\n this.toastr.warning('Vehicle(s) Not Found!');\r\n } else {\r\n this.toastr.error('Something went wrong please try again later!');\r\n }\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n getBookings(customer){\r\n this.selectedVehicle = true;\r\n this.loadingBookings = true;\r\n this.customersService.bookings(customer.selected[0].id).subscribe((resp:BookingModel[])=>{\r\n this.loadingBookings=false;\r\n this.bookings =[... resp];\r\n });\r\n }\r\n\r\n deleteCustomer(customerId) {\r\n this.loadingSearch = true;\r\n this.toastr.warning('Not Impletement Yet');\r\n this.loadingSearch = false;\r\n }\r\n\r\n deleteVehicle(vehId) {\r\n this.loadingVehicles = true;\r\n this.toastr.warning('Not Impletement Yet');\r\n this.loadingVehicles = false;\r\n }\r\n\r\n onSelectBooking(vehObj: any) {\r\n const ref = vehObj.selected[0].reference;\r\n this.router.navigate([ 'search/bookings' ], {queryParams: {query: ref}});\r\n }\r\n\r\n close(alert: any) {\r\n // this.alert = null;\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n

How to find us

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

Dropping off the Vehicle:

\\r\\n
    \\r\\n
  • Drive into O.R. Tambo International Airport and follow the overhead signage for Departures / Valet Parking
  • \\r\\n
  • \\r\\n The Valet Parking overhead road sign is highlighted in Orange\\r\\n
  • \\r\\n
  • Drive past Terminal A and proceed past Terminal B
  • \\r\\n
  • You will see an overhead road sign that says Valet Parking Drop-Off (150m)
  • \\r\\n
  • \\r\\n The valet parking drop-off kiosk is at the end of Terminal B and has our signage with the slogan\\r\\n “Elevate your Parking Experience” visible from 100m away\\r\\n
  • \\r\\n
  • \\r\\n Our staff are uniformed with black Carncierge golf shirts\\r\\n
  • \\r\\n
\\r\\n

Collecting the Vehicle:

\\r\\n
    \\r\\n
  • From the aircraft proceed to Level 2 which has the food court (Nandos, Wimpy, Jacksons)
  • \\r\\n
  • Walk across the bridge that connects the food court to the parking lot and parking pay stations
  • \\r\\n
  • At the end of the bridge to your left of the pay stations you will find the lifts
  • \\r\\n
  • Take the lifts to Level 4. Valet Parking
  • \\r\\n
  • The Carncierge vehicle collection point is to your right as you exit the lift
  • \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL2RpcmVjdGlvbnMvZGlyZWN0aW9ucy5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'crg-directions',\r\n templateUrl: './directions.component.html',\r\n styleUrls: ['./directions.component.scss']\r\n})\r\nexport class DirectionsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \" \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Staff Home

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

SEARCH BOOKINGS

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

VIEW DAY BOOKINGS

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

CUSTOMERS

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

REPORTS

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

550+

\\r\\n

CARS OUT TODAY

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

250+

\\r\\n

CARS IN TODAY

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

50+/-

\\r\\n

OVER DUE BOOKINGS

\\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: 'crg-admin-dash',\r\n templateUrl: './admin-dash.component.html',\r\n})\r\nexport class AdminDashComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n close(alert: any) {\r\n // this.alert = null;\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Welcome, {{authServc.userFullNames()}} {{agency ? '(' + agency.name + ')' : ''}}

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

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Agents\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Are you sure you want to Delete?\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Account Settings\\r\\n \\r\\n
\\r\\n
\\r\\n Agency Details\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Name *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Phone \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Adress Line 1\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Adress Line 2\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Adress Line 3\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Adress Line 4\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Credits *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n User Details\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Name *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Surname *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Email\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Password\\r\\n \\r\\n
\\r\\n
\\r\\n My Password\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Password\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Confirm Password\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\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, ViewChild } from '@angular/core';\r\n\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { BookingModel, BookingService, CustomersService, PasswordReset, RecentBookings, UpdateCustomer, UpdateVehicle, UsersService, VehiclesService, UpdateAgentModel, UpdateAgencyModel, AgenciesService, GetAllAgenciesResult, UserModel } from 'src/app/Api_Module';\r\nimport { FindCustomerResult } from '../../../Api_Module';\r\nimport { titles } from '../../../models/constants.model';\r\nimport { AuthenticationService } from '../../../services/authentication.service';\r\n\r\n@Component({\r\n selector: 'crg-agent-dash',\r\n templateUrl: './agent-dash.component.html'\r\n})\r\nexport class AgentDashComponent implements OnInit {\r\n\r\n @ViewChild('bookingsTable') table: DatatableComponent;\r\n\r\n bookings: BookingModel[] = [];\r\n cache: BookingModel[] = [];\r\n recentBookings: RecentBookings[] = [];\r\n searchStr: string;\r\n filtervalue: string;\r\n alert: any;\r\n loading: boolean;\r\n agency: GetAllAgenciesResult;\r\n agent: UpdateAgentModel;\r\n user: UserModel;\r\n password: string;\r\n confirmPassword: string;\r\n\r\n messagesAgents = { emptyMessage: 'No Agent found. Try different parameters', totalMessage: 'Total Agents' };\r\n\r\n messages = {emptyMessage: 'No Bookings found. Try different parameters', totalMessage: 'Total Bookings'};\r\n\r\n titles: string[];\r\n\r\n constructor(public authServc: AuthenticationService, private agenciesSrvc: AgenciesService, private bookingService: BookingService,\r\n private toastr: ToastrService, private vehicleSrvc: VehiclesService, private usersSrvc: UsersService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.getAgencyFromId();\r\n this.loading = true;\r\n this.titles = titles;\r\n this.user = this.authServc.userObj();\r\n }\r\n\r\n getAgencyFromId() {\r\n this.agenciesSrvc.getAgency(this.authServc.getAgencyId()).subscribe((resp: GetAllAgenciesResult) => {\r\n this.loading = false;\r\n if (!!resp) {\r\n this.agency = resp;\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n if (error[ 'status' ] === 404) {\r\n this.toastr.warning('Agency Details Not Found!');\r\n } else {\r\n this.toastr.error('Something went wrong please try again later!');\r\n }\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n deleteAgent(agentId) {\r\n this.loading = true;\r\n this.agenciesSrvc.deleteAgent(agentId).subscribe((resp) => {\r\n this.loading = false;\r\n this.toastr.success('Agent Deleted.');\r\n this.getAgencyFromId();\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n // this.toastr.warning('Not Impletement Yet');\r\n this.loading = false;\r\n }\r\n\r\n saveAgency() {\r\n const updateAgency: UpdateAgencyModel = this.agency;\r\n this.agenciesSrvc.putAgency(this.agency.id, updateAgency).subscribe((resp: any) => {\r\n this.loading = false;\r\n this.toastr.success('Details updated!');\r\n },\r\n error => {\r\n this.loading = false;\r\n if (error[ 'status' ] === 404) {\r\n this.toastr.warning('Agency Not Found!');\r\n } else {\r\n this.toastr.error('Something went wrong please try again later!');\r\n }\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n saveUser() {\r\n this.usersSrvc.put(this.user).subscribe((resp: any) => {\r\n this.loading = false;\r\n this.toastr.success('Details updated!');\r\n localStorage.setItem('currentUser', JSON.stringify(this.user));\r\n },\r\n error => {\r\n this.loading = false;\r\n if (error[ 'status' ] === 404) {\r\n this.toastr.warning('Agency Not Found!');\r\n } else {\r\n this.toastr.error('Something went wrong please try again later!');\r\n }\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n checkPasswords() {\r\n return this.password === this.confirmPassword;\r\n }\r\n\r\n changePassword() {\r\n const passwordreset: PasswordReset = {userId: this.authServc.getUserId(), password: this.password};\r\n this.usersSrvc.reset(passwordreset).subscribe((resp: FindCustomerResult) => {\r\n this.loading = false;\r\n this.toastr.success('Password updated!');\r\n this.password = '';\r\n this.confirmPassword = '';\r\n },\r\n error => {\r\n this.loading = false;\r\n if (error[ 'status' ] === 404) {\r\n this.toastr.warning('Customer Not Found!');\r\n } else {\r\n this.toastr.error('Something went wrong please try again later!');\r\n }\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n close(alert: any) {\r\n // this.alert = null;\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Welcome, {{customer?.title}} {{authServc.userFullNames()}}

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

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Cars\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Are you sure you want to Delete?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Bookings\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value | date:'yyyy/MM/dd HH:mm'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value | date:'yyyy/MM/dd HH:mm'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{row.registration}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{!!value ? value : 'None'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Quotes\\r\\n \\r\\n
\\r\\n
\\r\\n No Quotes\\r\\n
\\r\\n
\\r\\n
\\r\\n

Recent Quote

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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-Off Date{{recentQuote.booking.checkIn | date:'yyyy/MM/dd'}}
Drop-Off Time{{recentQuote.booking.checkIn | date:'HH:mm'}}
Pick-Up Date{{recentQuote.booking.checkout | date:'yyyy/MM/dd'}}
Pick-Up Time{{recentQuote.booking.checkout | date:'HH:mm'}}
Days{{recentQuote.price.days}}
PriceR {{recentQuote.price.price}}
Date Quoted{{recentQuote.date | date:'yyyy/MM/dd HH:mm'}}
Expiry Date {{recentQuote.expDate | date:'yyyy/MM/dd HH:mm'}}
Quote State{{isQuoteVaild(recentQuote.expDate) ? 'Valid' : ' Expired'}}
\\r\\n \\r\\n \\r\\n Remove\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Account Settings\\r\\n \\r\\n
\\r\\n
\\r\\n My Details\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Title *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Name *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Surname *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Cellphone *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Email * \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n ID Number\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Company\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n My Password\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Password\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Confirm Password\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\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, ViewChild } from '@angular/core';\r\n\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { BookingModel, BookingService, CustomersService, PasswordReset, RecentBookings, UpdateCustomer, UpdateVehicle, UsersService, VehiclesService } from 'src/app/Api_Module';\r\nimport { FindCustomerResult } from '../../../Api_Module';\r\nimport { recentBookingResult } from '../../../Api_Module/model/recentBookingResult';\r\nimport { titles } from '../../../models/constants.model';\r\nimport { AuthenticationService } from '../../../services/authentication.service';\r\nimport { Quote } from '@angular/compiler';\r\nimport { BookingQuote } from 'src/app/models/booking.model';\r\nimport { Globals } from '../../../globals';\r\n\r\n\r\n@Component({\r\n selector: 'crg-customer-dash',\r\n templateUrl: './customer-dash.component.html'\r\n})\r\nexport class CustomerDashComponent implements OnInit {\r\n\r\n @ViewChild('bookingsTable') table: DatatableComponent;\r\n\r\n bookings: BookingModel[] = [];\r\n cache: BookingModel[] = [];\r\n //recentBookings: recentBookingResult[] = [];\r\n searchStr: string;\r\n filtervalue: string;\r\n alert: any;\r\n loading: boolean;\r\n loadingVehicles: boolean;\r\n vehicles: UpdateVehicle[] = [];\r\n recentQuotes: BookingQuote[];\r\n customer: UpdateCustomer;\r\n password: string;\r\n confirmPassword: string;\r\n\r\n messagesV = {emptyMessage: 'No Vehicles found. Try different parameters', totalMessage: 'Total Vehicles'};\r\n messages = {emptyMessage: 'No Bookings found. Try different parameters', totalMessage: 'Total Bookings'};\r\n\r\n titles: string[];\r\n\r\n constructor(public authServc: AuthenticationService, private customersService: CustomersService, private bookingService: BookingService,\r\n private toastr: ToastrService, private vehicleSrvc: VehiclesService, private usersSrvc: UsersService, private globals: Globals) {\r\n }\r\n\r\n ngOnInit() {\r\n this.autoDeleteOldQuotes();\r\n this.getCustomerFromId();\r\n this.getCustomerBookings();\r\n this.loading = true;\r\n this.titles = titles;\r\n\r\n }\r\n\r\n getRecentQuotes(): any[] {\r\n this.autoDeleteOldQuotes();\r\n if (!!localStorage.getItem('recentQuotes')) {\r\n this.recentQuotes = JSON.parse(localStorage.getItem('recentQuotes'));\r\n }\r\n return this.recentQuotes.sort((a, b) => {\r\n const aDate = new Date(a.date);\r\n const bDate = new Date(b.date);\r\n return bDate.getTime() > aDate.getTime() ? 1 : (bDate.getTime() < aDate.getTime() ? -1 : 0 );\r\n });\r\n }\r\n\r\n autoDeleteOldQuotes() {\r\n let recentQuotes: BookingQuote[] = JSON.parse(localStorage.getItem('recentQuotes'));\r\n if (recentQuotes) {\r\n recentQuotes = recentQuotes.filter( (quote: BookingQuote) => {\r\n if (!quote.id) {\r\n return false;\r\n }\r\n const autoDeleteDate = new Date(quote.expDate);\r\n autoDeleteDate.setHours( autoDeleteDate.getHours() + 24); // 48 Hours auto Delete\r\n return autoDeleteDate.getTime() >= new Date().getTime();\r\n });\r\n } else {\r\n recentQuotes = [];\r\n }\r\n localStorage.setItem('recentQuotes', JSON.stringify(recentQuotes));\r\n }\r\n\r\n getVihicleList(): {name: any, value: any}[] {\r\n const list: any[] = [];\r\n for (const vehicle of this.vehicles) {\r\n list.push({name: `${vehicle.registration} ${vehicle.make} ${vehicle.model} ${vehicle.color}`, value: vehicle.id});\r\n }\r\n return list;\r\n }\r\n\r\n getCustomerBookings() {\r\n this.customersService.getBookings(this.authServc.getCustomerId()).subscribe(resp => {\r\n this.loading = false;\r\n this.globals.recentBookings = resp;\r\n this.cache = resp;\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n getCustomerFromId() {\r\n this.customersService.get(this.authServc.getCustomerId()).subscribe((resp: FindCustomerResult) => {\r\n this.loading = false;\r\n if (!!resp) {\r\n this.customer = resp;\r\n this.vehicles = [ ...resp.cars ];\r\n // this.getCustomerVehicles();\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n if (error[ 'status' ] === 404) {\r\n this.toastr.warning('Customer Details Not Found!');\r\n } else {\r\n this.toastr.error('Something went wrong please try again later!');\r\n }\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n bookFromQoute(event: string, quoteNumber) {\r\n console.log('bookFromQoute' + quoteNumber);\r\n // alert(JSON.stringify(event));\r\n // alert(JSON.stringify(this.recentQuotes[quoteNumber]));\r\n var quote = this.recentQuotes.find(fruit => fruit.id === quoteNumber);\r\n quote.booking.vehicleId = +event;\r\n this.createBooking(quote.booking, quoteNumber);\r\n }\r\n\r\n cancelBooking(id) {\r\n this.loading = true;\r\n this.bookingService.cancelBooking(id).subscribe(res => {\r\n this.loading = false;\r\n this.toastr.success('Booking cancelled!');\r\n this.getCustomerBookings();\r\n }, error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n });\r\n }\r\n\r\n printInvoice(bookingId) {\r\n let popupWin;\r\n popupWin = window.open(`${this.bookingService.configuration.basePath}/api/Booking/${bookingId}/invoice`,\r\n '_blank', 'top=0,left=0,height=100%,width=auto');\r\n }\r\n\r\n printConfirmation(reference) {\r\n let popupWin;\r\n popupWin = window.open(`${this.bookingService.configuration.basePath}/api/Report/${reference}/confirmationReport`,\r\n '_blank', 'top=0,left=0,height=100%,width=auto');\r\n }\r\n\r\n saveCustomer() {\r\n this.customersService.put(this.customer).subscribe((resp: FindCustomerResult) => {\r\n this.loading = false;\r\n this.toastr.success('Details updated!');\r\n },\r\n error => {\r\n this.loading = false;\r\n if (error[ 'status' ] === 404) {\r\n this.toastr.warning('Customer Not Found!');\r\n } else {\r\n this.toastr.error('Something went wrong please try again later!');\r\n }\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n checkPasswords() {\r\n return this.password === this.confirmPassword;\r\n }\r\n\r\n\r\n changePassword() {\r\n const passwordreset: PasswordReset = {userId: this.authServc.getUserId(), password: this.password};\r\n this.usersSrvc.reset(passwordreset).subscribe((resp: FindCustomerResult) => {\r\n this.loading = false;\r\n this.toastr.success('Password updated!');\r\n this.password = '';\r\n this.confirmPassword = '';\r\n },\r\n error => {\r\n this.loading = false;\r\n if (error[ 'status' ] === 404) {\r\n this.toastr.warning('Customer Not Found!');\r\n } else {\r\n this.toastr.error('Something went wrong please try again later!');\r\n }\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n createBooking(booking, id: string) {\r\n this.alert = null;\r\n this.loading = true;\r\n\r\n booking.checkIn = new Date(booking.checkIn);\r\n booking.checkout = new Date(booking.checkout);\r\n booking.checkIn = this.convertUTCDateToLocalDate(booking.checkIn);\r\n booking.checkout = this.convertUTCDateToLocalDate(booking.checkout);\r\n console.log('book data' + JSON.stringify(booking));\r\n this.bookingService.createBooking(booking).subscribe(resp => {\r\n this.loading = false;\r\n // const booking: Booking = resp.body;\r\n this.toastr.success('Booking Captured, reference number : ' + resp.reference);\r\n this.removeQuote(id);\r\n this.getCustomerBookings();\r\n },\r\n error => {\r\n if (error[ 'status' ] === 404) {\r\n this.toastr.warning(error[ 'message' ]);\r\n } else {\r\n this.toastr.error('Something went wrong please try again later!');\r\n }\r\n this.loading = false;\r\n this.toastr.error('Something went wrong. `-' + JSON.stringify(error.error) + '`');\r\n this.alert = {type: 'danger', message: 'Something went wrong please try again later. `-' + JSON.stringify(error.error) + '`'};\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n convertUTCDateToLocalDate(date) {\r\n return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()));\r\n }\r\n\r\n isQuoteVaild(expdate: any) {\r\n if (!!expdate) {\r\n const quoteDate = new Date(expdate);\r\n return quoteDate.getTime() >= new Date().getTime();\r\n }\r\n return false;\r\n }\r\n\r\n removeQuote(id: string) {\r\n const recentQuotes = [];\r\n for (const quote of this.recentQuotes) {\r\n if (quote.id && quote.id !== id) {\r\n recentQuotes.push(quote);\r\n }\r\n }\r\n this.recentQuotes = recentQuotes;\r\n localStorage.setItem('recentQuotes', JSON.stringify(this.recentQuotes));\r\n }\r\n\r\n close(alert: any) {\r\n // this.alert = null;\r\n }\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\n\r\n@Component({\r\n selector: 'crg-newreservation',\r\n templateUrl: './home.component.html',\r\n})\r\nexport class HomeComponent implements OnInit {\r\n constructor(public authServc: AuthenticationService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n close(alert: any) {\r\n // this.alert = null;\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n

Invoice

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
Valid input is required
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Invoice Number\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Status \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Total\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Invoice Date \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\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, ViewChild } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { InvoiceService, InvoiceItem } from 'src/app/Api_Module';\r\nimport { FindInvoiceByBookingCodeResult } from 'src/app/Api_Module';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'crg-invoice',\r\n templateUrl: './invoice.component.html'\r\n})\r\nexport class InvoiceComponent implements OnInit {\r\n searchStr: string;\r\n invoice: FindInvoiceByBookingCodeResult = {} as FindInvoiceByBookingCodeResult;\r\n shownew = false;\r\n loading = false;\r\n messages = { emptyMessage: 'No Items found. Add new', totalMessage: 'Total Items' };\r\n items:string[]=[];\r\n item:InvoiceItem ={} as InvoiceItem;\r\n constructor(private invoiceService: InvoiceService, private modalService: NgbModal) { }\r\n ngOnInit() {\r\n this.items.push('License Disk Renewal');\r\n this.items.push('Petrol fill-up');\r\n this.items.push('Dry Cleaning');\r\n this.items.push('Shoe Repairs');\r\n this.items.push('Groceries');\r\n this.items.push('Flowers');\r\n this.items.push('Service');\r\n this.items.push('Scratch Mobile');\r\n this.item.id =0;\r\n }\r\n findInvoice() {\r\n this.invoiceService.getInvoice(this.searchStr).subscribe((resp: FindInvoiceByBookingCodeResult) => {\r\n if (resp) {\r\n this.invoice = resp;\r\n if (this.invoice.id == 0) {\r\n this.shownew = true;\r\n }\r\n }\r\n });\r\n }\r\n add()\r\n {\r\n this.invoice.items.push(this.item);\r\n this.invoice.items =[...this.invoice.items];\r\n this.invoice.total = parseFloat(this.invoice.total.toString()) + parseFloat(this.item.price.toString());\r\n this.item={} as InvoiceItem;\r\n this.item.id = this.invoice.items.length + 1;\r\n \r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Drop-off date

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

Drop-off time

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

Pick-up date

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

Pick-up time

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

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

R {{pricing.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

Who we are

\\r\\n

\\r\\n Carncierge is O.R Tambo International Airport’s valet service provider. Based at the airport premises, we have a dedicated staff of valet\\r\\n drivers ready to assist you. We want our customers to spend less time worrying about parking and the safety of their car and more time\\r\\n on holiday.\\r\\n

\\r\\n

\\r\\n Our mission is to provide you with convenience and peace of mind.\\r\\n

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

Our services

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

VALET PARKING

\\r\\n

FROM R 160 PER DAY

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

DAY 1 - 4 = R220 /DAY

\\r\\n

DAY 5 - 9 = R180 /DAY

\\r\\n

DAY 10+ = R160 /DAY

\\r\\n

ACSA Approved

\\r\\n

Car Stays In The Airport

\\r\\n

Car Waits For You

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

CAR WASH

\\r\\n

R 100

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

Full Body Wash

\\r\\n

Vacuum

\\r\\n

Tyres

\\r\\n

Dash & Trim

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

FULL VALET

\\r\\n

R 450

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

Engine Wash

\\r\\n

Full Body Polish

\\r\\n

Seat & Floor Deep Clean

\\r\\n

Interior de-odourisation

\\r\\n

Full Body Wash

\\r\\n

Vacuum

\\r\\n

Tyres

\\r\\n

Dash & Trim

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

AUTO REPAIRS

\\r\\n

POA

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

Scratches & Dents

\\r\\n

Windscreen repair & Replacement

\\r\\n

New Tyres

\\r\\n

Mag wheel repairs

\\r\\n

Wheel Alignment

\\r\\n

Tyre Rotation

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

SERVICE

\\r\\n

R250 each way

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

Drop-Off at Dealership

\\r\\n

Collection from Dealership

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

CONCIERGE

\\r\\n

Free of charge

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

License Disk Renewal

\\r\\n

Petrol fill-up

\\r\\n

Dry Cleaning

\\r\\n

Shoe Repairs

\\r\\n

Groceries (Woolworths, O.R Tambo)

\\r\\n

Flowers

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

Our Partners

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

GET IN TOUCH

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

CONTACT

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

E

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

fly@carncierge.co.za

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

W

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

www.carncierge.co.za

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

P

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

(+27) 11 390 1572

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

M

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

(+27) 78 213 8072

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

ADDRESS

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

Click here for directions

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

Level 4, Multi-Storey

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

Parkade 2 South

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

O.R. Tambo International Airport,

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

Johannesburg

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".box > .icon {\\n text-align: center;\\n position: relative; }\\n\\n.box > .icon > .image {\\n position: relative;\\n z-index: 2;\\n margin: auto;\\n width: 88px;\\n height: 88px;\\n border: 8px solid white;\\n line-height: 88px;\\n border-radius: 50%;\\n background: #63B76C;\\n vertical-align: middle; }\\n\\n.box > .icon:hover > .image {\\n background: #333; }\\n\\n.box > .icon > .image > i {\\n font-size: 36px !important;\\n color: #fff !important; }\\n\\n.box > .icon:hover > .image > i {\\n color: white !important; }\\n\\n.box > .icon > .info {\\n margin-top: -24px;\\n background: rgba(0, 0, 0, 0.04);\\n border: 1px solid #e0e0e0;\\n padding: 15px 0 10px 0; }\\n\\n.box > .icon:hover > .info {\\n background: rgba(0, 0, 0, 0.04);\\n border-color: #e0e0e0;\\n color: white; }\\n\\n.box > .icon > .info > h3.title {\\n font-family: \\\"Roboto\\\",sans-serif !important;\\n font-size: 16px;\\n color: #222;\\n font-weight: 500; }\\n\\n.box > .icon > .info > p {\\n font-family: \\\"Roboto\\\",sans-serif !important;\\n font-size: 13px;\\n color: #666;\\n line-height: 1.5em;\\n margin: 20px; }\\n\\n.box > .icon:hover > .info > h3.title, .box > .icon:hover > .info > p, .box > .icon:hover > .info > .more > a {\\n color: #222; }\\n\\n.box > .icon > .info > .more a {\\n font-family: \\\"Roboto\\\",sans-serif !important;\\n font-size: 12px;\\n color: #222;\\n line-height: 12px;\\n text-transform: uppercase;\\n text-decoration: none; }\\n\\n.box > .icon:hover > .info > .more > a {\\n color: #fff;\\n padding: 6px 8px;\\n background-color: #63B76C; }\\n\\n.box .space {\\n height: 30px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdmlld3MvbGFuZGluZy1wYWdlL0M6XFxVc2Vyc1xcc2lmaXNvXFxTb3VyY2VcXFJlcG9zXFxzcGhpZWNvaFxcY2FybmNpZXJnZVxcc3JjXFxDYXJuY2llcmdlLldlYlxcQ2xpZW50QXBwL3NyY1xcYXBwXFx2aWV3c1xcbGFuZGluZy1wYWdlXFxsYW5kaW5nLXBhZ2UuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFBZSxtQkFBa0I7RUFBRSxtQkFBa0IsRUFBSTs7QUFDekQ7RUFBd0IsbUJBQWtCO0VBQUUsV0FBVTtFQUFFLGFBQVk7RUFBRSxZQUFXO0VBQUUsYUFBWTtFQUFFLHdCQUF1QjtFQUFFLGtCQUFpQjtFQUFFLG1CQUFrQjtFQUFFLG9CQUFtQjtFQUFFLHVCQUFzQixFQUFJOztBQUNoTjtFQUE4QixpQkFBZ0IsRUFBSTs7QUFDbEQ7RUFBNEIsMkJBQTBCO0VBQUUsdUJBQXNCLEVBQUk7O0FBQ2xGO0VBQWtDLHdCQUF1QixFQUFJOztBQUM3RDtFQUF1QixrQkFBaUI7RUFBRSxnQ0FBK0I7RUFBRSwwQkFBeUI7RUFBRSx1QkFBc0IsRUFBSTs7QUFDaEk7RUFBNkIsZ0NBQStCO0VBQUUsc0JBQXFCO0VBQUUsYUFBWSxFQUFJOztBQUNyRztFQUFrQyw0Q0FBMkM7RUFBRSxnQkFBZTtFQUFFLFlBQVc7RUFBRSxpQkFBZ0IsRUFBSTs7QUFDakk7RUFBMkIsNENBQTJDO0VBQUUsZ0JBQWU7RUFBRSxZQUFXO0VBQUUsbUJBQWtCO0VBQUUsYUFBWSxFQUFHOztBQUN6STtFQUFnSCxZQUFXLEVBQUk7O0FBQy9IO0VBQWlDLDRDQUEyQztFQUFFLGdCQUFlO0VBQUUsWUFBVztFQUFFLGtCQUFpQjtFQUFFLDBCQUF5QjtFQUFFLHNCQUFxQixFQUFJOztBQUNuTDtFQUF5QyxZQUFXO0VBQUUsaUJBQWdCO0VBQUUsMEJBQXlCLEVBQUk7O0FBQ3JHO0VBQWMsYUFBWSxFQUFJIiwiZmlsZSI6InNyYy9hcHAvdmlld3MvbGFuZGluZy1wYWdlL2xhbmRpbmctcGFnZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5ib3ggPiAuaWNvbiB7IHRleHQtYWxpZ246IGNlbnRlcjsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbi5ib3ggPiAuaWNvbiA+IC5pbWFnZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjsgbWFyZ2luOiBhdXRvOyB3aWR0aDogODhweDsgaGVpZ2h0OiA4OHB4OyBib3JkZXI6IDhweCBzb2xpZCB3aGl0ZTsgbGluZS1oZWlnaHQ6IDg4cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogIzYzQjc2QzsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxyXG4uYm94ID4gLmljb246aG92ZXIgPiAuaW1hZ2UgeyBiYWNrZ3JvdW5kOiAjMzMzOyB9XHJcbi5ib3ggPiAuaWNvbiA+IC5pbWFnZSA+IGkgeyBmb250LXNpemU6IDM2cHggIWltcG9ydGFudDsgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxyXG4uYm94ID4gLmljb246aG92ZXIgPiAuaW1hZ2UgPiBpIHsgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7IH1cclxuLmJveCA+IC5pY29uID4gLmluZm8geyBtYXJnaW4tdG9wOiAtMjRweDsgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA0KTsgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDsgcGFkZGluZzogMTVweCAwIDEwcHggMDsgfVxyXG4uYm94ID4gLmljb246aG92ZXIgPiAuaW5mbyB7IGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNCk7IGJvcmRlci1jb2xvcjogI2UwZTBlMDsgY29sb3I6IHdoaXRlOyB9XHJcbi5ib3ggPiAuaWNvbiA+IC5pbmZvID4gaDMudGl0bGUgeyBmb250LWZhbWlseTogXCJSb2JvdG9cIixzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTZweDsgY29sb3I6ICMyMjI7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cclxuLmJveCA+IC5pY29uID4gLmluZm8gPiBwIHsgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsc2Fucy1zZXJpZiAhaW1wb3J0YW50OyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiAjNjY2OyBsaW5lLWhlaWdodDogMS41ZW07IG1hcmdpbjogMjBweDt9XHJcbi5ib3ggPiAuaWNvbjpob3ZlciA+IC5pbmZvID4gaDMudGl0bGUsIC5ib3ggPiAuaWNvbjpob3ZlciA+IC5pbmZvID4gcCwgLmJveCA+IC5pY29uOmhvdmVyID4gLmluZm8gPiAubW9yZSA+IGEgeyBjb2xvcjogIzIyMjsgfVxyXG4uYm94ID4gLmljb24gPiAuaW5mbyA+IC5tb3JlIGEgeyBmb250LWZhbWlseTogXCJSb2JvdG9cIixzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6ICMyMjI7IGxpbmUtaGVpZ2h0OiAxMnB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cclxuLmJveCA+IC5pY29uOmhvdmVyID4gLmluZm8gPiAubW9yZSA+IGEgeyBjb2xvcjogI2ZmZjsgcGFkZGluZzogNnB4IDhweDsgYmFja2dyb3VuZC1jb2xvcjogIzYzQjc2QzsgfVxyXG4uYm94IC5zcGFjZSB7IGhlaWdodDogMzBweDsgfSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { BookingModel, CustomersService, FindCustomerResult, UpdateVehicle, BookingService } from 'src/app/Api_Module';\r\nimport { QuoteModel, PriceModel } from 'src/app/Api_Module/model/models';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { bookingServices, titles } from 'src/app/models/constants.model';\r\nimport { Booking, BookingQuote } from 'src/app/models/booking.model';\r\nimport { Router } from '@angular/router';\r\nimport { NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\nimport * as uuid from 'uuid';\r\nimport { isDateRangeValid } from 'src/app/utils/utils';\r\n\r\ndeclare var $: any;\r\n\r\n\r\n@Component({\r\n selector: 'crg-landing-page',\r\n templateUrl: './landing-page.component.html',\r\n styleUrls: ['./landing-page.component.scss']\r\n})\r\nexport class LandingPageComponent implements OnInit {\r\n\r\n times: string[] = [];\r\n booking: BookingModel;\r\n searchLoading: boolean;\r\n showCustDet: boolean;\r\n bookingServices: any[];\r\n titles: any[];\r\n dropTime: number;\r\n pickupTime: number;\r\n pricing: PriceModel;\r\n mindate: NgbDateStruct = {year: new Date().getFullYear(), month: new Date().getMonth() + 1, day: new Date().getDate()};\r\n\r\n constructor(private customersService: CustomersService, private bookingService: BookingService, private toastr: ToastrService,\r\n private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.bookingServices = bookingServices;\r\n this.booking = new Booking();\r\n this.booking.checkIn = new Date();\r\n this.booking.checkout = new Date();\r\n this.booking.checkout.setDate(this.booking.checkout.getDate() + 1);\r\n this.dropTime = this.booking.checkout.getHours();\r\n this.pickupTime = this.booking.checkout.getHours();\r\n this.booking.service = null;\r\n this.booking.title = null;\r\n this.titles = titles;\r\n for (let t = 0; t < 24; t++) {\r\n this.times.push(t.toString());\r\n }\r\n\r\n $(document).ready(function () {\r\n $('.partner-logos').slick({\r\n slidesToShow: 4,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n autoplaySpeed: 2000,\r\n });\r\n });\r\n }\r\n\r\n getMinDateForCollection(): NgbDateStruct {\r\n const dropOffDate = !!this.booking.checkIn ? this.booking.checkIn : new Date();\r\n this.booking.checkout.setMinutes(0, 0, 0);\r\n this.booking.checkIn.setMinutes(0, 0, 0);\r\n if (this.booking.checkout.getTime() < dropOffDate.getTime()) {\r\n this.booking.checkout = dropOffDate;\r\n }\r\n return {year: dropOffDate.getFullYear(), month: dropOffDate.getMonth() + 1, day: dropOffDate.getDate()};\r\n }\r\n convertUTCDateToLocalDate(date) {\r\n return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()));\r\n }\r\n getTimesForCollection(): string[] {\r\n const times = [... this.times];\r\n // const dropOffDate = !!this.booking.checkIn ? this.booking.checkIn : new Date();\r\n // if (this.booking.checkIn.getTime() === this.booking.checkout.getTime()) {\r\n // times.splice(0, this.booking.checkIn.getHours() + 1);\r\n // }\r\n return times;\r\n }\r\n\r\n getQuote(): void {\r\n if (!isDateRangeValid(this.booking.checkIn, this.dropTime, this.booking.checkout, this.pickupTime)) {\r\n this.toastr.warning('Invalid Range, Drop-Time should be before Pick-Up Time');\r\n return;\r\n }\r\n console.log(this.dropTime);\r\n console.log(this.pickupTime);\r\n this.searchLoading = true;\r\n this.booking.checkIn.setHours(0, (this.dropTime * 60), 0, 0);\r\n this.booking.checkIn = this.convertUTCDateToLocalDate(this.booking.checkIn);\r\n this.booking.checkout.setHours(0, (this.pickupTime * 60), 0, 0);\r\n this.booking.checkout = this.convertUTCDateToLocalDate(this.booking.checkout);\r\n const quote: QuoteModel = {\r\n checkIn: this.booking.checkIn,\r\n checkout: this.booking.checkout,\r\n };\r\n\r\n this.bookingService.quote(quote).subscribe((resp: PriceModel) => {\r\n this.pricing = resp;\r\n this.showCustDet = true;\r\n this.searchLoading = false;\r\n const sdate = new Date();\r\n const expDate = new Date(sdate.getTime());\r\n expDate.setHours(sdate.getHours() + 24);\r\n this.storeQuote({ booking: this.booking, price: this.pricing, date: sdate, expDate: expDate, id: uuid.v4()});\r\n }, error => {\r\n if (error['status'] === 404) {\r\n this.showCustDet = true;\r\n } else {\r\n this.toastr.error('Something went wrong, please try again later.');\r\n }\r\n this.searchLoading = false;\r\n });\r\n }\r\n book(): void {\r\n this.router.navigate(['/home']);\r\n }\r\n\r\n storeQuote(quote: BookingQuote) {\r\n let recentQuotes = [];\r\n if (!!localStorage.getItem('recentQuotes')) {\r\n recentQuotes = JSON.parse(localStorage.getItem('recentQuotes'));\r\n }\r\n recentQuotes.push(quote);\r\n localStorage.setItem('recentQuotes', JSON.stringify(recentQuotes));\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL25hdmJhci9uYXZiYXIuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router, Route, NavigationStart } from '@angular/router';\r\nimport { UserModel, UsersService } from 'src/app/Api_Module';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { routes } from 'src/app/app-routing.module';\r\nimport { Observable, of, timer, Subject, BehaviorSubject } from 'rxjs';\r\nimport { debounce } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'crg-navbar',\r\n templateUrl: './navbar.component.html',\r\n styleUrls: ['./navbar.component.scss']\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n\r\n constructor(private router: Router, private userService: UsersService, public authServc: AuthenticationService) { }\r\n\r\n menus: Observable;\r\n private menuList: BehaviorSubject = new BehaviorSubject([]);\r\n\r\n ngOnInit() {\r\n this.menus = this.menuList.asObservable().pipe(debounce(() => timer(100)));\r\n this.router.events.subscribe(\r\n (event) => {\r\n if (event instanceof NavigationStart) {\r\n this.menuList.next(this.getMenus());\r\n }\r\n }\r\n );\r\n }\r\n\r\n getMenus(): any[] {\r\n const myMenu: {name: string, icon: string, path: string}[] = new Array();\r\n\r\n const eligibleRoutes = routes.filter((route) => !!route.canActivate && !!route.data && !!route.data['allowedRoles']);\r\n eligibleRoutes.forEach((menuRoute: Route, index) => {\r\n const menuItem = {};\r\n menuItem['name'] = menuRoute.data['name'] ? menuRoute.data['name'] : 'Menu' + index;\r\n menuItem['icon'] = menuRoute.data['icon'] ? ' fa fa-' + menuRoute.data['icon'] : '';\r\n menuItem['path'] = menuRoute.path;\r\n const roles = menuRoute.data['allowedRoles'];\r\n if (this.authServc.isLoggegIn() && this.authServc.isUserInRoles(roles)) {\r\n myMenu.push(menuItem as {name: string, icon: string, path: string});\r\n }\r\n });\r\n return myMenu;\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem('currentUser');\r\n this.router.navigate(['login']);\r\n }\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL3BhZ2Vub3Rmb3VuZC9wYWdlbm90Zm91bmQuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'crg-pagenotfound',\r\n templateUrl: './pagenotfound.component.html',\r\n styleUrls: ['./pagenotfound.component.scss']\r\n})\r\nexport class PagenotfoundComponent implements OnInit {\r\n title = 'Shezi Carports';\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n

Reports

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Cars In Report\\r\\n\\r\\n
\\r\\n
\\r\\n Cars Out Report\\r\\n
\\r\\n
\\r\\n Invoices Report\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL3JlcG9ydHMvcmVwb3J0cy5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { environment } from '../../../environments/environment';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\n\r\n@Component({\r\n selector: 'crg-reports',\r\n templateUrl: './reports.component.html',\r\n styleUrls: ['./reports.component.scss']\r\n})\r\nexport class ReportsComponent implements OnInit {\r\n basePath = '';\r\n constructor(public authServc: AuthenticationService) {\r\n this.basePath = environment.apiBase;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Reset

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

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

Already have an account? Login

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL3Jlc2V0L3Jlc2V0LmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { UsersService } from '../../Api_Module';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'crg-reset',\r\n templateUrl: './reset.component.html',\r\n styleUrls: ['./reset.component.scss']\r\n})\r\nexport class ResetComponent implements OnInit {\r\n\r\n constructor(private usersService: UsersService, private toastr: ToastrService) { }\r\n username: string;\r\n loading: boolean;\r\n success: boolean;\r\n ngOnInit() {\r\n }\r\n\r\n reset() {\r\n this.loading = true;\r\n this.usersService.resetUser(this.username).subscribe(resp => {\r\n this.loading = false;\r\n this.toastr.info('An email has been sent with reset instructions,please check your inbox !!!');\r\n },\r\n \r\n error => {\r\n this.toastr.info('An email has been sent with reset instructions,please check your inbox !!!');\r\n //this.toastr.error('Login Failed!');\r\n this.loading = false;\r\n });\r\n \r\n\r\n}\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n

Search Bookings

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Valid input is required
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
1\\\">\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value | date:'yyyy/MM/dd HH:mm'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value | date:'yyyy/MM/dd HH:mm'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{row.title}} {{row.name}} {{row.surname}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{row.registration}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Do you want to Check In this booking?
\\r\\n {{row.title}} {{row.name}} {{row.surname}} - {{row.registration}}\\r\\n
\\r\\n \\r\\n \\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, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { DatePipe } from '@angular/common';\r\nimport { BookingModel, BookingService } from 'src/app/Api_Module';\r\nimport { MediatorService } from 'src/app/services/mediator.service';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\n\r\n@Component({\r\n selector: 'crg-searchbookings',\r\n templateUrl: './searchbookings.component.html'\r\n})\r\nexport class SearchbookingsComponent implements OnInit {\r\n @ViewChild(DatatableComponent) table: DatatableComponent;\r\n filtervalue;\r\n\r\n bookings: BookingModel[] = [];\r\n cache: BookingModel[] = [];\r\n searchStr: string;\r\n alert: any;\r\n loading: boolean;\r\n\r\n messages = {emptyMessage: 'No Bookings found. Try different parameters', totalMessage: 'Total Bookings'};\r\n\r\n constructor (private bookingService: BookingService, private mediator: MediatorService,\r\n private router: Router, private route: ActivatedRoute , private toastr: ToastrService, public authSrvc: AuthenticationService) { }\r\n\r\n ngOnInit() {\r\n this.route.queryParams\r\n .subscribe(params => {\r\n console.log(params);\r\n this.searchStr = params['query'];\r\n });\r\n if (this.searchStr && this.searchStr.length > 0) {\r\n this.viewBookings();\r\n }\r\n // this.searchStr = new Date();\r\n // this.viewBookings();\r\n }\r\n\r\n viewBookings(): void {\r\n this.loading = true;\r\n console.log('Searching: ' + this.searchStr);\r\n this.bookingService.getAction(this.searchStr).subscribe( resp => {\r\n this.loading = false;\r\n this.cache = [ ... resp];\r\n this.bookings = [ ... resp]\r\n .sort((a: BookingModel, b: BookingModel) => {\r\n if (new Date(b.checkout) > new Date(a.checkout)) {\r\n return 1;\r\n }\r\n if (new Date(b.checkout) < new Date(b.checkout)) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n this.alert = {type: 'success', message: 'Found ' + this.bookings.length + ' bookings.'};\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n // this.alert = {type: 'danger', message: 'Something went wrong, please try again later.'};\r\n console.log('erro:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n viewABooking(booking: BookingModel) {\r\n this.mediator.selectedBooking(booking);\r\n this.router.navigate([ 'view/booking' ], {queryParams: {action: 'checkout'}});\r\n }\r\n\r\n checkin(booking) {\r\n this.loading = true;\r\n this.bookingService.checkIn(booking.bookingId).subscribe(resp => {\r\n this.loading = false;\r\n this.toastr.success('Check In Complete');\r\n this.viewBookings();\r\n },\r\n error => {\r\n this.loading = false;\r\n if (error['status'] === 404) {\r\n this.toastr.warning('booking Not Found!');\r\n } else {\r\n this.toastr.error('Something went wrong please try again later!');\r\n }\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n printInvoice(bookingId) {\r\n let popupWin;\r\n popupWin = window.open(`/api/Booking/${bookingId}/invoice`,\r\n '_blank', 'top=0,left=0,height=100%,width=auto');\r\n}\r\n\r\nprintConfirmation(reference) {\r\n let popupWin;\r\n popupWin = window.open(`/api/Report/${reference}/confirmationReport`,\r\n '_blank', 'top=0,left=0,height=100%,width=auto');\r\n}\r\n\r\n\r\n private dateToString(date: Date): string {\r\n const day = date.getDate();\r\n const monthIndex = date.getMonth() + 1;\r\n const year = date.getFullYear();\r\n const hours = date.getHours();\r\n const munites = date.getMinutes();\r\n const datestr = `${year}-${monthIndex < 10 ? '0' + monthIndex : monthIndex}-${day < 10 ? '0' + day : day}`;\r\n console.log(datestr);\r\n return datestr;\r\n }\r\n\r\n updateFilter(event) {\r\n const val = this.filtervalue;\r\n\r\n if (val) {\r\n // filter our data\r\n const temp = this.bookings.filter(function(d) {\r\n return (d.reference && d.reference.toLowerCase().indexOf(val.toLowerCase()) !== -1) ||\r\n (d.registration && d.registration.toLowerCase().indexOf(val.toLowerCase()) !== -1) ||\r\n (d.name && d.name.toLowerCase().indexOf(val.toLowerCase()) !== -1) ||\r\n (d.surname && d.surname.toLowerCase().indexOf(val.toLowerCase()) !== -1) || !val;\r\n });\r\n\r\n // update the rows\r\n this.bookings = temp;\r\n } else {\r\n this.bookings = [... this.cache];\r\n }\r\n // Whenever the filter changes, always go back to the first page\r\n this.table.offset = 0;\r\n }\r\n\r\n clearFilter() {\r\n this.filtervalue = '';\r\n this.bookings = [... this.cache];\r\n }\r\n\r\n close(alert: any) {\r\n this.alert = null;\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

Update Setting

\\r\\n

New Setting\\r\\n

\\r\\n \\r\\n
\\r\\n
\\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
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Value * \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL3NldHRpbmdzLW1vZGFsL3NldHRpbmdzLW1vZGFsLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit , Input } from '@angular/core';\r\nimport { SettingsService } from 'src/app/Api_Module/api/settings.service';\r\nimport { MantainCommand } from 'src/app/Api_Module/model/mantainSetting';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'crg-settings-modal',\r\n templateUrl: './settings-modal.component.html',\r\n styleUrls: ['./settings-modal.component.scss']\r\n})\r\nexport class SettingsModalComponent implements OnInit {\r\n loading: boolean;\r\n alert: any;\r\n updateMode: boolean;\r\n @Input() setting: MantainCommand;\r\n @Input() buttonText?: string;\r\n @Input() buttonClass?: string;\r\n @Input() buttonIcon?: string;\r\n constructor(private modalService: NgbModal, private settingService: SettingsService, private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n }\r\n openLg(content) {\r\n if (!!this.setting && !!this.setting['id'] && this.setting['id'] > 0) {\r\n this.updateMode = true;\r\n } else {\r\n this.setting = { name: '', value: '' };\r\n this.updateMode = false;\r\n }\r\n this.setting.endDate = new Date(this.setting.endDate);\r\n this.setting.startDate = new Date(this.setting.startDate);\r\n console.log(this.setting);\r\n this.modalService.open(content, { size: 'lg' });\r\n }\r\n\r\n save() {\r\n this.settingService.save(this.setting as MantainCommand).subscribe((resp : boolean) => {\r\n this.loading = false;\r\n this.toastr.success('Setting created');\r\n\r\n this.modalService.dismissAll('success');\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n this.alert = { type: 'danger', message: 'Something went wrong please try again later. `-' + JSON.stringify(error.error) + '`' };\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n

Settings

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value | date:'yyyy/MM/dd'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value | date:'yyyy/MM/dd'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value }}\\r\\n \\r\\n \\r\\n \\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 { SettingsService } from 'src/app/Api_Module/api/settings.service';\r\nimport { MantainCommand } from 'src/app/Api_Module/model/mantainSetting';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'crg-settings',\r\n templateUrl: './settings.component.html'\r\n})\r\nexport class SettingsComponent implements OnInit {\r\n settings: MantainCommand[] = [];\r\n loadingSearch: boolean;\r\n selectedSetting: MantainCommand;\r\n messages = { emptyMessage: 'No settings found.', totalMessage: 'Total Settings' };\r\n constructor(private settingsService: SettingsService, private toastr: ToastrService) {\r\n this.loadingSearch = true;\r\n this.settingsService.get().subscribe((resp: MantainCommand[]) => {\r\n\r\n this.settings = resp;\r\n console.log(this.settings);\r\n this.loadingSearch = false;\r\n },\r\n error => {\r\n this.loadingSearch = false;\r\n this.toastr.error('Settings Not Found!');\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n

Terms and conditions

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

The client hereby acknowledges and records that First Class Parking accepts no liability for:

\\r\\n
    \\r\\n
  • Theft of client's motor vehicle, or any items in the motor vehicle, while under the care of First Class Parking.
  • \\r\\n
  • Any damage, of whatsoever nature, including but not limited to, scratching, denting or total destruction of the motor vehicle whilst in the car of First Class Parking, such claim will not be acknowledged in any way, should an inspection not have been conducted.
  • \\r\\n
  • The client is responsible for ensuring that a full inspection of the motor vehicle is conducted prior to leaving the motor vehicle in the care of First Class Parking.
  • \\r\\n
  • In the event that the client alleges that their motor vehicle is not in the same condition a when they left it in the care of First Class Parking, such claim will not be acknowledged in any way, should an inspection not have been conducted.
  • \\r\\n
\\r\\n

The client must ensure that:

\\r\\n
    \\r\\n
  • Valuables are not left in the motor vehicle. First Class Parking accepts no liability for such valuables and the risk thereof remains with the client.
  • \\r\\n
  • Should the motor vehicle be in a state where it is impossible to do a thorough inspection, this will be noted in this Confirmation Report and First Class Parking will not accept any liability for any scratches or damage to the motor vehicle that was not visible as a result thereof.
  • \\r\\n
  • In the event that the client either leaves valuables in the car or deposits personal belongings and valuables with First Class Parking for storage, the client acknowledges that they do so entirely at their own risk and First Class Parking accepts no liability whatsoever for the valuables.
  • \\r\\n
  • First Class Parking will not acknowledge or entertain any claims for any damage or theft reported after the motor vehicle leaving the First Class Parking premises.
  • \\r\\n
\\r\\n

The client acknowledges that they will have no claim against First Class Parking or its successors in title or assigns its directors, servants, employees, agents or any of its sub-contractors arising out of bodily injury or death sustained by the client or any loss, damage or destruction of any client goods or property of any description whether due to the wilful act, omission, negligence or default of First Class Parking directors, servants, employees, agents or sub-contractors.

\\r\\n

The terms and conditions set out in this agreement apply to any services performed by First Class Parking at the client’s request including but not limited to other value-added services such as car wash, vacuum, valet and other non-parking services.

\\r\\n

The client hereby acknowledges that his/her signature below constitutes acceptance of the First Class Parking terms and conditions as set out above. If contracting on behalf of any third party, the signatory by way of signature confirms that he/she has the relevant authority to enter into the contract on behalf of the third party and the third party is bound thereby.

\\r\\n

The client acknowledges that his/her failure to sign this form, for any reason whatsoever and howsoever it happens, shall not derogate from the contents of this form and the client shall remain bound by the said contents.

\\r\\n

Refund Policy

\\r\\n
    \\r\\n
  • The client may request a refund for services not provided by First Class Parking.
  • \\r\\n
  • The client has a duty to inform First Class Parking should they wish to cancel the service.
  • \\r\\n
  • First Class Parking will issue a credit note to the client for services not provided.
  • \\r\\n
\\r\\n

Charges

\\r\\n
    \\r\\n
  • \\r\\n A parking period not exceeding three hours from the time of drop off is charged at a half day rate of R100.\\r\\n
  • \\r\\n
  • A parking day is defined as a period of 24 hours
  • \\r\\n
  • Any parking period not exceeding 28 hours from the time of drop off is charged as one parking day. We have a four hour grace period to account for flights being slightly delayed.
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL3Rlcm1zL3Rlcm1zLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'crg-terms',\r\n templateUrl: './terms.component.html',\r\n styleUrls: ['./terms.component.scss']\r\n})\r\nexport class TermsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

Update Agency Credits

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Agency Credits\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Credits *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\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, Input } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UpdateAgencyModel, AgenciesService, UpdateAgencyCredits } from 'src/app/Api_Module';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'crg-update-agency-credits-modal',\r\n templateUrl: './update-agency-credits-modal.component.html'\r\n})\r\nexport class UpdateAgencyCreditsModalComponent implements OnInit {\r\n @Input() buttonText?: string;\r\n @Input() buttonClass?: string;\r\n @Input() buttonIcon?: string;\r\n @Input() agency: UpdateAgencyModel;\r\n loading: boolean;\r\n\r\n constructor(private modalService: NgbModal, private agenciesService: AgenciesService, private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n }\r\n openLg(content) {\r\n this.modalService.open(content, { size: 'lg' });\r\n }\r\n update() {\r\n \r\n this.agenciesService.updateCredits({ Id: this.agency.id , Credits: this.agency.credits }).subscribe((resp) => {\r\n this.loading = false;\r\n this.toastr.success('Credits loaded successfully');\r\n this.modalService.dismissAll('success');\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Login

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

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

Don't have an account ? Sign Up

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

Forgot password ? Reset

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { UsersService, LoginModel, UserModel } from 'src/app/Api_Module';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n templateUrl: './user-login.component.html',\r\n})\r\nexport class UserLoginComponent implements OnInit {\r\n constructor(private usersService: UsersService, private route: ActivatedRoute, private router: Router,\r\n private authSrvc: AuthenticationService, private toastr: ToastrService) { }\r\n\r\n loginReq: LoginModel;\r\n loading: boolean;\r\n returnUrl: string;\r\n\r\n ngOnInit() {\r\n this.loginReq = {};\r\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/home';\r\n if (this.authSrvc.isLoggegIn()) {\r\n this.router.navigate([this.returnUrl]);\r\n }\r\n }\r\n\r\n login() {\r\n this.loading = true;\r\n this.usersService.authenticate(this.loginReq).subscribe((resp) => {\r\n this.loading = false;\r\n const user: UserModel = resp;\r\n localStorage.setItem('currentUser', JSON.stringify(user));\r\n this.router.navigate([this.returnUrl]);\r\n },\r\n error => {\r\n this.toastr.error('Login Failed!');\r\n this.loading = false;\r\n });\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Login

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

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

Don't have an account ? Sign Up

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

Forgot password ? Reset

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL3VzZXItcGFzc3dvcmQvdXNlci1wYXNzd29yZC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { UsersService, PasswordReset } from '../../Api_Module';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'crg-user-password',\r\n templateUrl: './user-password.component.html',\r\n styleUrls: ['./user-password.component.scss']\r\n})\r\nexport class UserPasswordComponent implements OnInit {\r\n token: string;\r\n password: string;\r\n confirmPassword: string;\r\n model: PasswordReset;\r\n loading: boolean;\r\n\r\n constructor(private activatedRoute: ActivatedRoute, private usersService: UsersService, private router: Router, private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n this.model = {};\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n\r\n this.token = params['token'];\r\n });\r\n }\r\n\r\n handleReset() {\r\n if (this.model.password != this.model.confirmPassword) {\r\n this.toastr.error('Passwords do not match!');\r\n return;\r\n }\r\n this.loading = true;\r\n this.model.token = this.token;\r\n this.usersService.reset(this.model).subscribe(resp => {\r\n this.toastr.info('Password reset successfully');\r\n this.router.navigate(['/login'])\r\n }, err => {\r\n this.loading = false;\r\n });\r\n\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Registration

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

Please fill in the information below and submit

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

Sign Up

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Title is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
First Name is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Last Name is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Email is required
\\r\\n
Email must be a valid email address
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Cellphone is required
\\r\\n
Cellphone must be at least 10 Digits
\\r\\n
Cellphone cannot be at more 10 Digits
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Registration is required
\\r\\n
registration must be at least 3 Chars
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Password is required
\\r\\n
Password must be at least 6 characters
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Passwords do not match
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

Have an account? Log In

\\r\\n
\\r\\n
\\r\\n About\\r\\n |\\r\\n Contact\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { UsersService, UserModel, CustomersService, CustomerRegisterCommand } from 'src/app/Api_Module';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { titles } from 'src/app/models/constants.model';\r\n\r\n@Component({\r\n templateUrl: './register.component.html'\r\n})\r\nexport class RegisterComponent implements OnInit {\r\n\r\n user: CustomerRegisterCommand = {};\r\n loading: boolean;\r\n titles: string[];\r\n confirmPassword: string;\r\n\r\n constructor(private custServ: CustomersService, private router: Router, private toastr: ToastrService ) { }\r\n\r\n ngOnInit() {\r\n this.titles = titles.sort();\r\n this.user.title = null;\r\n }\r\n\r\n signUp(valid: boolean) {\r\n if (valid === true) {\r\n this.custServ.register(this.user).subscribe((resp) => {\r\n this.loading = false;\r\n const user: UserModel = resp;\r\n localStorage.setItem('currentUser', JSON.stringify(user));\r\n this.toastr.success('Sign Up Success! Please Log in');\r\n this.router.navigate(['/login']);\r\n },\r\n error => {\r\n this.toastr.error('Sign Up Failed!');\r\n this.loading = false;\r\n });\r\n } else {\r\n this.toastr.warning('Invalid Inputs, please rectify');\r\n }\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

Password Reset

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Password\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Confirm Password\\r\\n
\\r\\n \\r\\n
Password not match
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\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, Input, Output, EventEmitter } from '@angular/core';\r\nimport { UserModel, UsersService, PasswordReset } from 'src/app/Api_Module';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'crg-user-password-modal',\r\n templateUrl: './user-password-modal.component.html',\r\n})\r\nexport class UserPasswordResetModalComponent implements OnInit {\r\n @Input() buttonText?: string;\r\n @Input() buttonClass?: string;\r\n @Input() buttonIcon?: string;\r\n @Input() user: UserModel;\r\n @Output() success: EventEmitter = new EventEmitter();\r\n\r\n loading: boolean;\r\n confirmPassword: string;\r\n passwordMatch: boolean;\r\n\r\n constructor(private modalService: NgbModal, private usersService: UsersService, private toastr: ToastrService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n openLg(content) {\r\n this.modalService.open(content, { size: 'lg' });\r\n }\r\n\r\n close(alert: any) {\r\n // this.alert = null;\r\n }\r\n checkPasswords() {\r\n this.passwordMatch = this.user.password === this.confirmPassword;\r\n return this.passwordMatch;\r\n }\r\n\r\n resetPassword() {\r\n const passwordResetReq: PasswordReset = {userId: this.user.id, password: this.user.password};\r\n this.usersService.reset(passwordResetReq).subscribe(() => {\r\n this.loading = false;\r\n this.toastr.success('Password Updated!');\r\n this.modalService.dismissAll();\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n

Users

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n 1\\\">\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Are you sure you want to Delete?\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit , ViewChild } from '@angular/core';\r\nimport { UsersService, UserModel } from 'src/app/Api_Module';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'crg-users',\r\n templateUrl: './users.component.html',\r\n styleUrls: ['./users.component.scss']\r\n})\r\nexport class UsersComponent implements OnInit {\r\n @ViewChild(DatatableComponent) table: DatatableComponent;\r\n users: UserModel[] = [];\r\n loadingSearch: boolean;\r\n selectedUser: UserModel;\r\n cache: UserModel[] = [];\r\n filtervalue;\r\n\r\n messages = { emptyMessage: 'No Users found.', totalMessage: 'Total Users' };\r\n constructor(private userService: UsersService, private toastr: ToastrService) {\r\n\r\n }\r\n\r\n loadUsers() {\r\n this.loadingSearch = true;\r\n this.userService.all().subscribe((resp: UserModel[]) => {\r\n\r\n this.users = resp;\r\n this.cache = resp;\r\n console.log(this.users);\r\n this.loadingSearch = false;\r\n },\r\n error => {\r\n this.loadingSearch = false;\r\n this.toastr.error('Users Not Found!');\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n updateFilter(event) {\r\n const val = this.filtervalue;\r\n\r\n if (val) {\r\n // filter our data\r\n const temp = this.users.filter(function (d) {\r\n return (d.firstName && d.firstName.toLowerCase().indexOf(val.toLowerCase()) !== -1) ||\r\n (d.lastName && d.lastName.toLowerCase().indexOf(val.toLowerCase()) !== -1) ||\r\n (d.username && d.username.toLowerCase().indexOf(val.toLowerCase()) !== -1) ||\r\n !val;\r\n });\r\n\r\n // update the rows\r\n this.users = temp;\r\n } else {\r\n this.users = [... this.cache];\r\n }\r\n // Whenever the filter changes, always go back to the first page\r\n this.table.offset = 0;\r\n }\r\n\r\n deleteUser(id: number) {\r\n this.userService._delete(id).subscribe(resp => {\r\n this.toastr.success('Users Deleted!');\r\n this.loadUsers();\r\n },\r\n error => {\r\n this.loadingSearch = false;\r\n this.toastr.error('User Not Found!');\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n clearFilter() {\r\n this.filtervalue = '';\r\n this.users = [... this.cache];\r\n }\r\n\r\n ngOnInit() {\r\n this.loadUsers();\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n Registration *\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Make\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Model\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Colour\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { CreateVehicle, VehiclesService, GetVehicleResult } from 'src/app/Api_Module';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ControlContainer, NgForm } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'crg-vehicle-details',\r\n templateUrl: './vehicle-details.component.html',\r\n viewProviders: [ { provide: ControlContainer, useExisting: NgForm } ]\r\n})\r\nexport class VehicleDetailsComponent implements OnInit {\r\n @Input() vehicle?: CreateVehicle;\r\n @Input() editMode: boolean;\r\n loading: boolean;\r\n alert: any;\r\n\r\n constructor(private vehiclesService: VehiclesService, private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n if (!this.vehicle) {\r\n this.vehicle = {customerId: 0, registration: ''};\r\n }\r\n }\r\n create() {\r\n this.vehiclesService.post(this.vehicle).subscribe((resp) => {\r\n this.loading = false;\r\n const vehicle: GetVehicleResult = resp;\r\n this.toastr.success('Vehicle Created!');\r\n this.alert = { type: 'success', message: 'Created! \\n* Vehicle number: ' + vehicle.id +\r\n '\\n* Registration: ' + vehicle.registration };\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n this.alert = { type: 'danger', message: 'Something went wrong please try again later. `-' + JSON.stringify(error.error) + '`' };\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n

View Bookings

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
1\\\">\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value | date:'yyyy/MM/dd HH:mm'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value | date:'yyyy/MM/dd HH:mm'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{row.title}} {{row.name}} {{row.surname}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{row.registration}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{row.bayNumber}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Do you want to Check In this booking?
\\r\\n {{row.title}} {{row.name}} {{row.surname}} - {{row.registration}}\\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, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { DatePipe } from '@angular/common';\r\nimport { BookingModel, BookingService } from 'src/app/Api_Module';\r\nimport { MediatorService } from 'src/app/services/mediator.service';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'crg-viewbookings',\r\n templateUrl: './viewbookings.component.html'\r\n})\r\nexport class ViewbookingsComponent implements OnInit {\r\n @ViewChild(DatatableComponent) table: DatatableComponent;\r\n filtervalue;\r\n\r\n bookings: BookingModel[] = [];\r\n cache: BookingModel[] = [];\r\n searchDate: Date;\r\n alert: any;\r\n loading: boolean;\r\n\r\n messages = {emptyMessage: 'No Bookings found. Try different parameters', totalMessage: 'Total Bookings'};\r\n\r\n constructor(private bookingService: BookingService, private mediator: MediatorService,\r\n private router: Router, private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n this.searchDate = new Date();\r\n this.viewBookings();\r\n }\r\n\r\n viewBookings(): void {\r\n this.loading = true;\r\n console.log('Searching: ' + this.searchDate);\r\n this.bookingService.getBookings(this.dateToString(this.searchDate)).subscribe( resp => {\r\n this.loading = false;\r\n this.cache = [ ... resp];\r\n this.bookings = [ ... resp]\r\n .sort((a: BookingModel, b: BookingModel) => {\r\n if (new Date(b.checkout) > new Date(a.checkout)) {\r\n return 1;\r\n }\r\n if (new Date(b.checkout) < new Date(b.checkout)) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n this.alert = {type: 'success', message: 'Found ' + this.bookings.length + ' bookings.'};\r\n },\r\n error => {\r\n this.loading = false;\r\n this.alert = {type: 'danger', message: 'Something went wrong, please try again later.'};\r\n console.log('erro:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n viewABooking(booking: BookingModel) {\r\n this.mediator.selectedBooking(booking);\r\n this.router.navigate([ 'view/booking' ], {queryParams: {action: 'checkout'}});\r\n }\r\n\r\n checkin(booking) {\r\n this.loading = true;\r\n this.bookingService.checkIn(booking.bookingId).subscribe(resp => {\r\n this.loading = false;\r\n this.toastr.success('Check In Complete');\r\n this.viewBookings();\r\n },\r\n error => {\r\n this.loading = false;\r\n this.toastr.error('Something went wrong please try again later!');\r\n console.log('error:' + JSON.stringify(error));\r\n });\r\n }\r\n\r\n printInvoice(bookingId) {\r\n let popupWin;\r\n popupWin = window.open(`${this.bookingService.configuration.basePath}/api/Booking/${bookingId}/invoice`,\r\n '_blank', 'top=0,left=0,height=100%,width=auto');\r\n }\r\n printConfirmation(reference) {\r\n let popupWin;\r\n popupWin = window.open(`${this.bookingService.configuration.basePath}/api/Report/${reference}/confirmationReport`,\r\n '_blank', 'top=0,left=0,height=100%,width=auto');\r\n }\r\n\r\n private dateToString(date: Date): string {\r\n const day = date.getDate();\r\n const monthIndex = date.getMonth() + 1;\r\n const year = date.getFullYear();\r\n const hours = date.getHours();\r\n const munites = date.getMinutes();\r\n const datestr = `${year}-${monthIndex < 10 ? '0' + monthIndex : monthIndex}-${day < 10 ? '0' + day : day}`;\r\n console.log(datestr);\r\n return datestr;\r\n }\r\n\r\n updateFilter(event) {\r\n const val = this.filtervalue;\r\n\r\n if (val) {\r\n // filter our data\r\n const aVal = val.toLowerCase();\r\n const temp = this.bookings.filter(function(d) {\r\n return (d.reference && d.reference.toLowerCase().indexOf(aVal) !== -1) ||\r\n (d.registration && d.registration.toLowerCase().indexOf(aVal) !== -1) ||\r\n (d.name && d.name.toLowerCase().indexOf(aVal) !== -1) ||\r\n (d.surname && d.surname.toLowerCase().indexOf(aVal) !== -1) || !aVal;\r\n });\r\n\r\n // update the rows\r\n this.bookings = temp;\r\n } else {\r\n this.bookings = [... this.cache];\r\n }\r\n // Whenever the filter changes, always go back to the first page\r\n this.table.offset = 0;\r\n }\r\n\r\n clearFilter() {\r\n this.filtervalue = '';\r\n this.bookings = [... this.cache];\r\n }\r\n\r\n close(alert: any) {\r\n this.alert = null;\r\n }\r\n}\r\n","module.exports = \"

\\r\\n viewreservations works!\\r\\n

\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3ZpZXdzL3ZpZXdyZXNlcnZhdGlvbnMvdmlld3Jlc2VydmF0aW9ucy5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'crg-viewreservations',\r\n templateUrl: './viewreservations.component.html',\r\n styleUrls: ['./viewreservations.component.scss']\r\n})\r\nexport class ViewreservationsComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() {\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 apiBase: 'https://carncierge-uat.azurewebsites.net'\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 { 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// require('bootstrap');\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":""}