diff --git a/projects/angular-sdk/CHANGELOG.md b/projects/angular-sdk/CHANGELOG.md index 63b9ee8..476beca 100644 --- a/projects/angular-sdk/CHANGELOG.md +++ b/projects/angular-sdk/CHANGELOG.md @@ -1,3 +1,10 @@ + + +# 6.3.0 (2024-04-23) + +- Removed the exercise flow. +- Code cleanup. + # 6.2.1 (2024-04-18) diff --git a/projects/angular-sdk/assets/refundable-ticket.svg b/projects/angular-sdk/assets/refundable-ticket.svg deleted file mode 100644 index 8dccc89..0000000 --- a/projects/angular-sdk/assets/refundable-ticket.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/projects/angular-sdk/package.json b/projects/angular-sdk/package.json index a9a15ab..6290d3a 100644 --- a/projects/angular-sdk/package.json +++ b/projects/angular-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@hopper-cloud-airlines/angular-sdk", - "version": "6.2.1", + "version": "6.3.0", "license": "Apache-2.0", "author": { "name": "HTS - Airlines Team", diff --git a/projects/angular-sdk/src/angular-sdk.module.ts b/projects/angular-sdk/src/angular-sdk.module.ts index e85e940..585f528 100644 --- a/projects/angular-sdk/src/angular-sdk.module.ts +++ b/projects/angular-sdk/src/angular-sdk.module.ts @@ -13,7 +13,6 @@ import { TranslateModule } from '@ngx-translate/core'; import { CfarOfferBannerComponent } from './components/cfar-offer-banner/cfar-offer-banner.component'; import { CfarOfferDialogComponent } from './components/cfar-offer-dialog/cfar-offer-dialog.component'; -import { CfarExerciseFlowComponent } from './components/cfar-exercise-flow/cfar-exercise-flow.component'; import { MomentDateAdapter, @@ -57,7 +56,6 @@ import { GlobalComponent } from './components/global.component'; import { HopperCfarService } from './services/hopper-cfar.service'; import { HopperEventsService } from './services/hopper-events.service'; import { GlobalEventComponent } from './components/global-event.component'; -import { HopperErrorHandlerService } from './services/hopper-error-handler.service'; import { LoggerService } from './services/logger.service'; // Supported Languages for Datepicker @@ -72,8 +70,7 @@ registerLocaleData(localeZh, 'zh', localeZhExtra); GlobalEventComponent, CfarOfferBannerComponent, CfarOfferBannerLargeComponent, - CfarOfferDialogComponent, - CfarExerciseFlowComponent, + CfarOfferDialogComponent ], imports: [ // Angular Module @@ -107,7 +104,6 @@ registerLocaleData(localeZh, 'zh', localeZhExtra); CfarOfferBannerComponent, CfarOfferBannerLargeComponent, CfarOfferDialogComponent, - CfarExerciseFlowComponent, ], providers: [ { @@ -116,7 +112,6 @@ registerLocaleData(localeZh, 'zh', localeZhExtra); deps: [MAT_DATE_LOCALE], }, { provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS }, - { provide: ErrorHandler, useClass: HopperErrorHandlerService }, HopperCfarService, HopperEventsService, LoggerService, diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/api.module.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/api.module.ts index df7b51b..0696cee 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/api.module.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/api.module.ts @@ -2,14 +2,17 @@ import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; -import { CustomerService } from './api/customer.service'; + +import { AnalyticsService } from './api/analytics.service'; +import { CancelForAnyReasonCFARService } from './api/cancelForAnyReasonCFAR.service'; @NgModule({ imports: [], declarations: [], exports: [], providers: [ - CustomerService ] + AnalyticsService, + CancelForAnyReasonCFARService ] }) export class ApiModule { public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders { diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/api/analytics.service.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/api/analytics.service.ts new file mode 100644 index 0000000..0d96804 --- /dev/null +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/api/analytics.service.ts @@ -0,0 +1,112 @@ +/** + * Airline API + * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + * + * OpenAPI spec version: v1.1 + * + * + * NOTE: This class is auto generated by the swagger code generator program. + * https://github.com/swagger-api/swagger-codegen.git + * Do not edit the class manually. + *//* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent } from '@angular/common/http'; +import { CustomHttpUrlEncodingCodec } from '../encoder'; + +import { Observable } from 'rxjs'; + +import { BadRequest } from '../model/badRequest'; +import { CfarEvent } from '../model/cfarEvent'; +import { UnprocessableEntity } from '../model/unprocessableEntity'; + +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; + + +@Injectable() +export class AnalyticsService { + + protected basePath = '/airline/v1.1'; + public defaultHeaders = new HttpHeaders(); + public configuration = new Configuration(); + + constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { + if (basePath) { + this.basePath = basePath; + } + if (configuration) { + this.configuration = configuration; + this.basePath = basePath || configuration.basePath || this.basePath; + } + } + + /** + * @param consumes string[] mime-types + * @return true: consumes contains 'multipart/form-data', false: otherwise + */ + private canConsumeForm(consumes: string[]): boolean { + const form = 'multipart/form-data'; + for (const consume of consumes) { + if (form === consume) { + return true; + } + } + return false; + } + + + /** + * Send a Frontend Event + * Events can also be sent directly from a frontend running on end customer's device using the session ID + * @param body + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public postCustomerEvents(body: CfarEvent, observe?: 'body', reportProgress?: boolean): Observable; + public postCustomerEvents(body: CfarEvent, observe?: 'response', reportProgress?: boolean): Observable>; + public postCustomerEvents(body: CfarEvent, observe?: 'events', reportProgress?: boolean): Observable>; + public postCustomerEvents(body: CfarEvent, observe: any = 'body', reportProgress: boolean = false ): Observable { + + if (body === null || body === undefined) { + throw new Error('Required parameter body was null or undefined when calling postCustomerEvents.'); + } + + let headers = this.defaultHeaders; + + // authentication (SessionAuth) required + if (this.configuration.apiKeys && this.configuration.apiKeys["HC-Session-ID"]) { + headers = headers.set('HC-Session-ID', this.configuration.apiKeys["HC-Session-ID"]); + } + + // to determine the Accept header + let httpHeaderAccepts: string[] = [ + 'application/json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected != undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected != undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.request('post',`${this.basePath}/customer/events`, + { + body: body, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + +} diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/api/api.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/api/api.ts index 1011441..b1f15ab 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/api/api.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/api/api.ts @@ -1,3 +1,5 @@ -export * from './customer.service'; -import { CustomerService } from './customer.service'; -export const APIS = [CustomerService]; +export * from './analytics.service'; +import { AnalyticsService } from './analytics.service'; +export * from './cancelForAnyReasonCFAR.service'; +import { CancelForAnyReasonCFARService } from './cancelForAnyReasonCFAR.service'; +export const APIS = [AnalyticsService, CancelForAnyReasonCFARService]; diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/api/cancelForAnyReasonCFAR.service.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/api/cancelForAnyReasonCFAR.service.ts new file mode 100644 index 0000000..caa483a --- /dev/null +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/api/cancelForAnyReasonCFAR.service.ts @@ -0,0 +1,182 @@ +/** + * Airline API + * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + * + * OpenAPI spec version: v1.1 + * + * + * NOTE: This class is auto generated by the swagger code generator program. + * https://github.com/swagger-api/swagger-codegen.git + * Do not edit the class manually. + *//* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent } from '@angular/common/http'; +import { CustomHttpUrlEncodingCodec } from '../encoder'; + +import { Observable } from 'rxjs'; + +import { BadRequest } from '../model/badRequest'; +import { CfarContractCustomer } from '../model/cfarContractCustomer'; +import { CfarOfferCustomer } from '../model/cfarOfferCustomer'; +import { CreateCfarContractCustomerRequest } from '../model/createCfarContractCustomerRequest'; +import { CreateCfarOfferCustomerRequest } from '../model/createCfarOfferCustomerRequest'; +import { UnprocessableEntity } from '../model/unprocessableEntity'; + +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; + + +@Injectable() +export class CancelForAnyReasonCFARService { + + protected basePath = '/airline/v1.1'; + public defaultHeaders = new HttpHeaders(); + public configuration = new Configuration(); + + constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { + if (basePath) { + this.basePath = basePath; + } + if (configuration) { + this.configuration = configuration; + this.basePath = basePath || configuration.basePath || this.basePath; + } + } + + /** + * @param consumes string[] mime-types + * @return true: consumes contains 'multipart/form-data', false: otherwise + */ + private canConsumeForm(consumes: string[]): boolean { + const form = 'multipart/form-data'; + for (const consume of consumes) { + if (form === consume) { + return true; + } + } + return false; + } + + + /** + * Create a CFAR Contract + * Create a CFAR contract from purchased CFAR offers + * @param body + * @param language + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public postCustomerCfarContracts(body: CreateCfarContractCustomerRequest, language?: string, observe?: 'body', reportProgress?: boolean): Observable; + public postCustomerCfarContracts(body: CreateCfarContractCustomerRequest, language?: string, observe?: 'response', reportProgress?: boolean): Observable>; + public postCustomerCfarContracts(body: CreateCfarContractCustomerRequest, language?: string, observe?: 'events', reportProgress?: boolean): Observable>; + public postCustomerCfarContracts(body: CreateCfarContractCustomerRequest, language?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { + + if (body === null || body === undefined) { + throw new Error('Required parameter body was null or undefined when calling postCustomerCfarContracts.'); + } + + + let headers = this.defaultHeaders; + if (language !== undefined && language !== null) { + headers = headers.set('language', String(language)); + } + + // authentication (SessionAuth) required + if (this.configuration.apiKeys && this.configuration.apiKeys["HC-Session-ID"]) { + headers = headers.set('HC-Session-ID', this.configuration.apiKeys["HC-Session-ID"]); + } + + // to determine the Accept header + let httpHeaderAccepts: string[] = [ + 'application/json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected != undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected != undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.request('post',`${this.basePath}/customer/cfar_contracts`, + { + body: body, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * Create CFAR Offers + * Create a CFAR offers for a customer's trip + * @param body + * @param language + * @param userAgent + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public postCustomerCfarOffers(body: CreateCfarOfferCustomerRequest, language?: string, userAgent?: string, observe?: 'body', reportProgress?: boolean): Observable>; + public postCustomerCfarOffers(body: CreateCfarOfferCustomerRequest, language?: string, userAgent?: string, observe?: 'response', reportProgress?: boolean): Observable>>; + public postCustomerCfarOffers(body: CreateCfarOfferCustomerRequest, language?: string, userAgent?: string, observe?: 'events', reportProgress?: boolean): Observable>>; + public postCustomerCfarOffers(body: CreateCfarOfferCustomerRequest, language?: string, userAgent?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { + + if (body === null || body === undefined) { + throw new Error('Required parameter body was null or undefined when calling postCustomerCfarOffers.'); + } + + + + let headers = this.defaultHeaders; + if (language !== undefined && language !== null) { + headers = headers.set('language', String(language)); + } + if (userAgent !== undefined && userAgent !== null) { + headers = headers.set('User-Agent', String(userAgent)); + } + + // authentication (SessionAuth) required + if (this.configuration.apiKeys && this.configuration.apiKeys["HC-Session-ID"]) { + headers = headers.set('HC-Session-ID', this.configuration.apiKeys["HC-Session-ID"]); + } + + // to determine the Accept header + let httpHeaderAccepts: string[] = [ + 'application/json' + ]; + const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); + if (httpHeaderAcceptSelected != undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected); + } + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected != undefined) { + headers = headers.set('Content-Type', httpContentTypeSelected); + } + + return this.httpClient.request>('post',`${this.basePath}/customer/cfar_offers`, + { + body: body, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress + } + ); + } + +} diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/api/customer.service.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/api/customer.service.ts deleted file mode 100644 index 6a6aaae..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/api/customer.service.ts +++ /dev/null @@ -1,667 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - *//* tslint:disable:no-unused-variable member-ordering */ - -import { Inject, Injectable, Optional } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent } from '@angular/common/http'; -import { CustomHttpUrlEncodingCodec } from '../encoder'; - -import { Observable } from 'rxjs'; - -import { BadRequest } from '../model/badRequest'; -import { CfarContractCustomer } from '../model/cfarContractCustomer'; -import { CfarEvent } from '../model/cfarEvent'; -import { CfarOfferCustomer } from '../model/cfarOfferCustomer'; -import { CheckCfarContractExerciceVerificationCodeResponse } from '../model/checkCfarContractExerciceVerificationCodeResponse'; -import { CheckCfarContractExerciseVerificationCodeRequest } from '../model/checkCfarContractExerciseVerificationCodeRequest'; -import { CreateCfarContractCustomerRequest } from '../model/createCfarContractCustomerRequest'; -import { CreateCfarOfferCustomerRequest } from '../model/createCfarOfferCustomerRequest'; -import { CreateRefundAuthorizationRequest } from '../model/createRefundAuthorizationRequest'; -import { CreateRefundRecipientRequest } from '../model/createRefundRecipientRequest'; -import { GetCfarExerciseCustomerResponse } from '../model/getCfarExerciseCustomerResponse'; -import { GetSessionCustomerResponse } from '../model/getSessionCustomerResponse'; -import { InitiateRefundRequest } from '../model/initiateRefundRequest'; -import { InitiateRefundResponse } from '../model/initiateRefundResponse'; -import { RefundAuthorization } from '../model/refundAuthorization'; -import { RefundRecipient } from '../model/refundRecipient'; -import { SendCfarContractExerciceVerificationCodeResponse } from '../model/sendCfarContractExerciceVerificationCodeResponse'; -import { SendCfarContractExerciseVerificationCodeRequest } from '../model/sendCfarContractExerciseVerificationCodeRequest'; -import { UnprocessableEntity } from '../model/unprocessableEntity'; - -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; - - -@Injectable() -export class CustomerService { - - protected basePath = '/airline/v1.1'; - public defaultHeaders = new HttpHeaders(); - public configuration = new Configuration(); - - constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { - if (basePath) { - this.basePath = basePath; - } - if (configuration) { - this.configuration = configuration; - this.basePath = basePath || configuration.basePath || this.basePath; - } - } - - /** - * @param consumes string[] mime-types - * @return true: consumes contains 'multipart/form-data', false: otherwise - */ - private canConsumeForm(consumes: string[]): boolean { - const form = 'multipart/form-data'; - for (const consume of consumes) { - if (form === consume) { - return true; - } - } - return false; - } - - - /** - * Create an event using a tracking pixel - * Create a new event for analytics using a tracking pixel - * @param hcSessionId A unique identifier for a session - * @param eventName The identifier of an event name - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getCustomerAnalyticsHcsessionidEventname(hcSessionId: string, eventName: string, observe?: 'body', reportProgress?: boolean): Observable; - public getCustomerAnalyticsHcsessionidEventname(hcSessionId: string, eventName: string, observe?: 'response', reportProgress?: boolean): Observable>; - public getCustomerAnalyticsHcsessionidEventname(hcSessionId: string, eventName: string, observe?: 'events', reportProgress?: boolean): Observable>; - public getCustomerAnalyticsHcsessionidEventname(hcSessionId: string, eventName: string, observe: any = 'body', reportProgress: boolean = false ): Observable { - - if (hcSessionId === null || hcSessionId === undefined) { - throw new Error('Required parameter hcSessionId was null or undefined when calling getCustomerAnalyticsHcsessionidEventname.'); - } - - if (eventName === null || eventName === undefined) { - throw new Error('Required parameter eventName was null or undefined when calling getCustomerAnalyticsHcsessionidEventname.'); - } - - let headers = this.defaultHeaders; - - // to determine the Accept header - let httpHeaderAccepts: string[] = [ - 'image/gif', - 'application/json' - ]; - const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); - if (httpHeaderAcceptSelected != undefined) { - headers = headers.set('Accept', httpHeaderAcceptSelected); - } - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - - return this.httpClient.request('get',`${this.basePath}/customer/analytics/${encodeURIComponent(String(hcSessionId))}/${encodeURIComponent(String(eventName))}`, - { - withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Get a CFAR Exercise - * Get a CFAR contract - * @param verificationCode - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getCustomerCfarExercises(verificationCode?: string, observe?: 'body', reportProgress?: boolean): Observable; - public getCustomerCfarExercises(verificationCode?: string, observe?: 'response', reportProgress?: boolean): Observable>; - public getCustomerCfarExercises(verificationCode?: string, observe?: 'events', reportProgress?: boolean): Observable>; - public getCustomerCfarExercises(verificationCode?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { - - - let headers = this.defaultHeaders; - if (verificationCode !== undefined && verificationCode !== null) { - headers = headers.set('verification-code', String(verificationCode)); - } - - // authentication (apiKeyAuth1) required - if (this.configuration.apiKeys && this.configuration.apiKeys["HC-Session-ID"]) { - headers = headers.set('HC-Session-ID', this.configuration.apiKeys["HC-Session-ID"]); - } - - // to determine the Accept header - let httpHeaderAccepts: string[] = [ - 'application/json', - 'text/plain' - ]; - const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); - if (httpHeaderAcceptSelected != undefined) { - headers = headers.set('Accept', httpHeaderAcceptSelected); - } - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - - return this.httpClient.request('get',`${this.basePath}/customer/cfar_exercises`, - { - withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Get data for a customer session - * Retrieve main data of a customer session - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getCustomerSessionsRetrieve(observe?: 'body', reportProgress?: boolean): Observable; - public getCustomerSessionsRetrieve(observe?: 'response', reportProgress?: boolean): Observable>; - public getCustomerSessionsRetrieve(observe?: 'events', reportProgress?: boolean): Observable>; - public getCustomerSessionsRetrieve(observe: any = 'body', reportProgress: boolean = false ): Observable { - - let headers = this.defaultHeaders; - - // authentication (apiKeyAuth1) required - if (this.configuration.apiKeys && this.configuration.apiKeys["HC-Session-ID"]) { - headers = headers.set('HC-Session-ID', this.configuration.apiKeys["HC-Session-ID"]); - } - - // to determine the Accept header - let httpHeaderAccepts: string[] = [ - 'application/json' - ]; - const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); - if (httpHeaderAcceptSelected != undefined) { - headers = headers.set('Accept', httpHeaderAcceptSelected); - } - - // to determine the Content-Type header - const consumes: string[] = [ - ]; - - return this.httpClient.request('get',`${this.basePath}/customer/sessions/retrieve`, - { - withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Create a CFAR Contract - * Create a CFAR contract from purchased CFAR offers - * @param body - * @param language - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public postCustomerCfarContracts(body: CreateCfarContractCustomerRequest, language?: string, observe?: 'body', reportProgress?: boolean): Observable; - public postCustomerCfarContracts(body: CreateCfarContractCustomerRequest, language?: string, observe?: 'response', reportProgress?: boolean): Observable>; - public postCustomerCfarContracts(body: CreateCfarContractCustomerRequest, language?: string, observe?: 'events', reportProgress?: boolean): Observable>; - public postCustomerCfarContracts(body: CreateCfarContractCustomerRequest, language?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { - - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling postCustomerCfarContracts.'); - } - - - let headers = this.defaultHeaders; - if (language !== undefined && language !== null) { - headers = headers.set('language', String(language)); - } - - // authentication (apiKeyAuth1) required - if (this.configuration.apiKeys && this.configuration.apiKeys["HC-Session-ID"]) { - headers = headers.set('HC-Session-ID', this.configuration.apiKeys["HC-Session-ID"]); - } - - // to determine the Accept header - let httpHeaderAccepts: string[] = [ - 'application/json' - ]; - const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); - if (httpHeaderAcceptSelected != undefined) { - headers = headers.set('Accept', httpHeaderAcceptSelected); - } - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected != undefined) { - headers = headers.set('Content-Type', httpContentTypeSelected); - } - - return this.httpClient.request('post',`${this.basePath}/customer/cfar_contracts`, - { - body: body, - withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Create CFAR Offers - * Create a CFAR offers for a customer's trip - * @param body - * @param language - * @param userAgent - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public postCustomerCfarOffers(body: CreateCfarOfferCustomerRequest, language?: string, userAgent?: string, observe?: 'body', reportProgress?: boolean): Observable>; - public postCustomerCfarOffers(body: CreateCfarOfferCustomerRequest, language?: string, userAgent?: string, observe?: 'response', reportProgress?: boolean): Observable>>; - public postCustomerCfarOffers(body: CreateCfarOfferCustomerRequest, language?: string, userAgent?: string, observe?: 'events', reportProgress?: boolean): Observable>>; - public postCustomerCfarOffers(body: CreateCfarOfferCustomerRequest, language?: string, userAgent?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { - - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling postCustomerCfarOffers.'); - } - - - - let headers = this.defaultHeaders; - if (language !== undefined && language !== null) { - headers = headers.set('language', String(language)); - } - if (userAgent !== undefined && userAgent !== null) { - headers = headers.set('User-Agent', String(userAgent)); - } - - // authentication (apiKeyAuth1) required - if (this.configuration.apiKeys && this.configuration.apiKeys["HC-Session-ID"]) { - headers = headers.set('HC-Session-ID', this.configuration.apiKeys["HC-Session-ID"]); - } - - // to determine the Accept header - let httpHeaderAccepts: string[] = [ - 'application/json' - ]; - const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); - if (httpHeaderAcceptSelected != undefined) { - headers = headers.set('Accept', httpHeaderAcceptSelected); - } - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected != undefined) { - headers = headers.set('Content-Type', httpContentTypeSelected); - } - - return this.httpClient.request>('post',`${this.basePath}/customer/cfar_offers`, - { - body: body, - withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Create an Event - * Create a new event for analytics - * @param body - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public postCustomerEvents(body: CfarEvent, observe?: 'body', reportProgress?: boolean): Observable; - public postCustomerEvents(body: CfarEvent, observe?: 'response', reportProgress?: boolean): Observable>; - public postCustomerEvents(body: CfarEvent, observe?: 'events', reportProgress?: boolean): Observable>; - public postCustomerEvents(body: CfarEvent, observe: any = 'body', reportProgress: boolean = false ): Observable { - - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling postCustomerEvents.'); - } - - let headers = this.defaultHeaders; - - // authentication (apiKeyAuth1) required - if (this.configuration.apiKeys && this.configuration.apiKeys["HC-Session-ID"]) { - headers = headers.set('HC-Session-ID', this.configuration.apiKeys["HC-Session-ID"]); - } - - // to determine the Accept header - let httpHeaderAccepts: string[] = [ - 'application/json' - ]; - const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); - if (httpHeaderAcceptSelected != undefined) { - headers = headers.set('Accept', httpHeaderAcceptSelected); - } - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected != undefined) { - headers = headers.set('Content-Type', httpContentTypeSelected); - } - - return this.httpClient.request('post',`${this.basePath}/customer/events`, - { - body: body, - withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Check a verification code associated with a CFAR exercise - * Check a verification code to a user required to process a CFAR exercise - * @param body - * @param id A unique identifier for a exercise - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public postCustomerIdCheckExerciseVerificationCode(body: CheckCfarContractExerciseVerificationCodeRequest, id: string, observe?: 'body', reportProgress?: boolean): Observable; - public postCustomerIdCheckExerciseVerificationCode(body: CheckCfarContractExerciseVerificationCodeRequest, id: string, observe?: 'response', reportProgress?: boolean): Observable>; - public postCustomerIdCheckExerciseVerificationCode(body: CheckCfarContractExerciseVerificationCodeRequest, id: string, observe?: 'events', reportProgress?: boolean): Observable>; - public postCustomerIdCheckExerciseVerificationCode(body: CheckCfarContractExerciseVerificationCodeRequest, id: string, observe: any = 'body', reportProgress: boolean = false ): Observable { - - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling postCustomerIdCheckExerciseVerificationCode.'); - } - - if (id === null || id === undefined) { - throw new Error('Required parameter id was null or undefined when calling postCustomerIdCheckExerciseVerificationCode.'); - } - - let headers = this.defaultHeaders; - - // authentication (apiKeyAuth1) required - if (this.configuration.apiKeys && this.configuration.apiKeys["HC-Session-ID"]) { - headers = headers.set('HC-Session-ID', this.configuration.apiKeys["HC-Session-ID"]); - } - - // to determine the Accept header - let httpHeaderAccepts: string[] = [ - 'application/json' - ]; - const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); - if (httpHeaderAcceptSelected != undefined) { - headers = headers.set('Accept', httpHeaderAcceptSelected); - } - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected != undefined) { - headers = headers.set('Content-Type', httpContentTypeSelected); - } - - return this.httpClient.request('post',`${this.basePath}/customer/${encodeURIComponent(String(id))}/check_exercise_verification_code`, - { - body: body, - withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Send a verification code associated with a CFAR exercise - * Send a verification code to a user required to process a CFAR exercise - * @param body - * @param id A unique identifier for a exercise - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public postCustomerIdSendExerciseVerificationCode(body: SendCfarContractExerciseVerificationCodeRequest, id: string, observe?: 'body', reportProgress?: boolean): Observable; - public postCustomerIdSendExerciseVerificationCode(body: SendCfarContractExerciseVerificationCodeRequest, id: string, observe?: 'response', reportProgress?: boolean): Observable>; - public postCustomerIdSendExerciseVerificationCode(body: SendCfarContractExerciseVerificationCodeRequest, id: string, observe?: 'events', reportProgress?: boolean): Observable>; - public postCustomerIdSendExerciseVerificationCode(body: SendCfarContractExerciseVerificationCodeRequest, id: string, observe: any = 'body', reportProgress: boolean = false ): Observable { - - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling postCustomerIdSendExerciseVerificationCode.'); - } - - if (id === null || id === undefined) { - throw new Error('Required parameter id was null or undefined when calling postCustomerIdSendExerciseVerificationCode.'); - } - - let headers = this.defaultHeaders; - - // authentication (apiKeyAuth1) required - if (this.configuration.apiKeys && this.configuration.apiKeys["HC-Session-ID"]) { - headers = headers.set('HC-Session-ID', this.configuration.apiKeys["HC-Session-ID"]); - } - - // to determine the Accept header - let httpHeaderAccepts: string[] = [ - 'application/json' - ]; - const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); - if (httpHeaderAcceptSelected != undefined) { - headers = headers.set('Accept', httpHeaderAcceptSelected); - } - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected != undefined) { - headers = headers.set('Content-Type', httpContentTypeSelected); - } - - return this.httpClient.request('post',`${this.basePath}/customer/${encodeURIComponent(String(id))}/send_exercise_verification_code`, - { - body: body, - withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Create a Refund - * Initiate the Refund - * @param body - * @param verificationCode - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public postCustomerInitiateRefund(body: InitiateRefundRequest, verificationCode?: string, observe?: 'body', reportProgress?: boolean): Observable; - public postCustomerInitiateRefund(body: InitiateRefundRequest, verificationCode?: string, observe?: 'response', reportProgress?: boolean): Observable>; - public postCustomerInitiateRefund(body: InitiateRefundRequest, verificationCode?: string, observe?: 'events', reportProgress?: boolean): Observable>; - public postCustomerInitiateRefund(body: InitiateRefundRequest, verificationCode?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { - - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling postCustomerInitiateRefund.'); - } - - - let headers = this.defaultHeaders; - if (verificationCode !== undefined && verificationCode !== null) { - headers = headers.set('verification-code', String(verificationCode)); - } - - // authentication (apiKeyAuth1) required - if (this.configuration.apiKeys && this.configuration.apiKeys["HC-Session-ID"]) { - headers = headers.set('HC-Session-ID', this.configuration.apiKeys["HC-Session-ID"]); - } - - // to determine the Accept header - let httpHeaderAccepts: string[] = [ - 'application/json' - ]; - const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); - if (httpHeaderAcceptSelected != undefined) { - headers = headers.set('Accept', httpHeaderAcceptSelected); - } - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected != undefined) { - headers = headers.set('Content-Type', httpContentTypeSelected); - } - - return this.httpClient.request('post',`${this.basePath}/customer/initiate_refund`, - { - body: body, - withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Create a Refund Authorization Token - * Create a Refund Authorization Token - * @param body - * @param verificationCode - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public postCustomerRefundAuthorizations(body: CreateRefundAuthorizationRequest, verificationCode?: string, observe?: 'body', reportProgress?: boolean): Observable; - public postCustomerRefundAuthorizations(body: CreateRefundAuthorizationRequest, verificationCode?: string, observe?: 'response', reportProgress?: boolean): Observable>; - public postCustomerRefundAuthorizations(body: CreateRefundAuthorizationRequest, verificationCode?: string, observe?: 'events', reportProgress?: boolean): Observable>; - public postCustomerRefundAuthorizations(body: CreateRefundAuthorizationRequest, verificationCode?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { - - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling postCustomerRefundAuthorizations.'); - } - - - let headers = this.defaultHeaders; - if (verificationCode !== undefined && verificationCode !== null) { - headers = headers.set('verification-code', String(verificationCode)); - } - - // authentication (apiKeyAuth1) required - if (this.configuration.apiKeys && this.configuration.apiKeys["HC-Session-ID"]) { - headers = headers.set('HC-Session-ID', this.configuration.apiKeys["HC-Session-ID"]); - } - - // to determine the Accept header - let httpHeaderAccepts: string[] = [ - 'application/json' - ]; - const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); - if (httpHeaderAcceptSelected != undefined) { - headers = headers.set('Accept', httpHeaderAcceptSelected); - } - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected != undefined) { - headers = headers.set('Content-Type', httpContentTypeSelected); - } - - return this.httpClient.request('post',`${this.basePath}/customer/refund_authorizations`, - { - body: body, - withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress - } - ); - } - - /** - * Create a Refund Recipient - * Create a Refund Recipient - * @param body - * @param verificationCode - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public postCustomerRefundRecipients(body: CreateRefundRecipientRequest, verificationCode?: string, observe?: 'body', reportProgress?: boolean): Observable; - public postCustomerRefundRecipients(body: CreateRefundRecipientRequest, verificationCode?: string, observe?: 'response', reportProgress?: boolean): Observable>; - public postCustomerRefundRecipients(body: CreateRefundRecipientRequest, verificationCode?: string, observe?: 'events', reportProgress?: boolean): Observable>; - public postCustomerRefundRecipients(body: CreateRefundRecipientRequest, verificationCode?: string, observe: any = 'body', reportProgress: boolean = false ): Observable { - - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling postCustomerRefundRecipients.'); - } - - - let headers = this.defaultHeaders; - if (verificationCode !== undefined && verificationCode !== null) { - headers = headers.set('verification-code', String(verificationCode)); - } - - // authentication (apiKeyAuth1) required - if (this.configuration.apiKeys && this.configuration.apiKeys["HC-Session-ID"]) { - headers = headers.set('HC-Session-ID', this.configuration.apiKeys["HC-Session-ID"]); - } - - // to determine the Accept header - let httpHeaderAccepts: string[] = [ - 'application/json' - ]; - const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); - if (httpHeaderAcceptSelected != undefined) { - headers = headers.set('Accept', httpHeaderAcceptSelected); - } - - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected != undefined) { - headers = headers.set('Content-Type', httpContentTypeSelected); - } - - return this.httpClient.request('post',`${this.basePath}/customer/refund_recipients`, - { - body: body, - withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress - } - ); - } - -} diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarPriceType.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/airlineRefundMethod.ts similarity index 67% rename from projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarPriceType.ts rename to projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/airlineRefundMethod.ts index 287eaee..b33a4ed 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarPriceType.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/airlineRefundMethod.ts @@ -10,9 +10,9 @@ * Do not edit the class manually. */ -export type CfarPriceType = 'ticket' | 'ancillary'; +export type AirlineRefundMethod = 'ftc' | 'cash'; -export const CfarPriceType = { - Ticket: 'ticket' as CfarPriceType, - Ancillary: 'ancillary' as CfarPriceType +export const AirlineRefundMethod = { + Ftc: 'ftc' as AirlineRefundMethod, + Cash: 'cash' as AirlineRefundMethod }; \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/ancillary.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/ancillary.ts index 6a4c709..46762aa 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/ancillary.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/ancillary.ts @@ -12,7 +12,17 @@ import { AncillaryType } from './ancillaryType'; export interface Ancillary { + /** + * Total price of ancillaries of this type + */ totalPrice: string; + /** + * Unique reference of the passenger associated to this ancillary + */ passengerReference?: string; type: AncillaryType; + /** + * Is this ancillary covered by the product. By default true if not specified + */ + covered?: boolean; } \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/ancillaryType.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/ancillaryType.ts index 6612511..0e592e1 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/ancillaryType.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/ancillaryType.ts @@ -10,10 +10,11 @@ * Do not edit the class manually. */ -export type AncillaryType = 'travel_insurance' | 'cabin_bag' | 'checked_bag' | 'seat' | 'lounge' | 'meal' | 'fast_track' | 'pet' | 'other'; +export type AncillaryType = 'travel_insurance' | 'bag_insurance' | 'cabin_bag' | 'checked_bag' | 'seat' | 'lounge' | 'meal' | 'fast_track' | 'pet' | 'change' | 'bundle' | 'payment_fee' | 'other'; export const AncillaryType = { TravelInsurance: 'travel_insurance' as AncillaryType, + BagInsurance: 'bag_insurance' as AncillaryType, CabinBag: 'cabin_bag' as AncillaryType, CheckedBag: 'checked_bag' as AncillaryType, Seat: 'seat' as AncillaryType, @@ -21,5 +22,8 @@ export const AncillaryType = { Meal: 'meal' as AncillaryType, FastTrack: 'fast_track' as AncillaryType, Pet: 'pet' as AncillaryType, + Change: 'change' as AncillaryType, + Bundle: 'bundle' as AncillaryType, + PaymentFee: 'payment_fee' as AncillaryType, Other: 'other' as AncillaryType }; \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/bookingConfirmed.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/bookingConfirmed1.ts similarity index 93% rename from projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/bookingConfirmed.ts rename to projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/bookingConfirmed1.ts index 0f81af0..62c3dcd 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/bookingConfirmed.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/bookingConfirmed1.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -export interface BookingConfirmed { +export interface BookingConfirmed1 { /** * A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14) datetime; the date and time at which an event occurred on a client device */ diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarContents.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarContents.ts index e3ca1bd..76465de 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarContents.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarContents.ts @@ -12,6 +12,9 @@ import { MapString } from './mapString'; export interface CfarContents { + /** + * An array containing the bullet points to be displayed + */ bulletPoints: Array; labels: MapString; } \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarEvent.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarEvent.ts index 74bd586..691c72f 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarEvent.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarEvent.ts @@ -9,19 +9,13 @@ * https://github.com/swagger-api/swagger-codegen.git * Do not edit the class manually. */ -import { BookingConfirmed } from './bookingConfirmed'; +import { BookingConfirmed1 } from './bookingConfirmed1'; import { CfarDenyPurchase } from './cfarDenyPurchase'; import { CfarEventWithContract } from './cfarEventWithContract'; -import { CfarExerciseCallbackLaunched } from './cfarExerciseCallbackLaunched'; -import { CfarExerciseCustomerDataComplete } from './cfarExerciseCustomerDataComplete'; -import { CfarExercisePortalComplete } from './cfarExercisePortalComplete'; -import { CfarExercisePortalDisplay } from './cfarExercisePortalDisplay'; -import { CfarExerciseVerificationComplete } from './cfarExerciseVerificationComplete'; -import { CfarExerciseVerificationSent } from './cfarExerciseVerificationSent'; import { CfarForcedChoiceWarning } from './cfarForcedChoiceWarning'; import { CfarOffersBannerDisplay } from './cfarOffersBannerDisplay'; import { CfarOffersTakeoverDisplay } from './cfarOffersTakeoverDisplay'; import { CfarViewInfo } from './cfarViewInfo'; -import { OffersDisplayed } from './offersDisplayed'; +import { OffersDisplayed1 } from './offersDisplayed1'; -export type CfarEvent = BookingConfirmed | CfarDenyPurchase | CfarEventWithContract | CfarExerciseCallbackLaunched | CfarExerciseCustomerDataComplete | CfarExercisePortalComplete | CfarExercisePortalDisplay | CfarExerciseVerificationComplete | CfarExerciseVerificationSent | CfarForcedChoiceWarning | CfarOffersBannerDisplay | CfarOffersTakeoverDisplay | CfarViewInfo | OffersDisplayed; \ No newline at end of file +export type CfarEvent = BookingConfirmed1 | CfarDenyPurchase | CfarEventWithContract | CfarForcedChoiceWarning | CfarOffersBannerDisplay | CfarOffersTakeoverDisplay | CfarViewInfo | OffersDisplayed1; \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarEventWithContract.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarEventWithContract.ts index 562f970..fd0aa11 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarEventWithContract.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarEventWithContract.ts @@ -16,9 +16,6 @@ export interface CfarEventWithContract { * A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14) datetime; the date and time at which an event occurred on a client device */ occurredDateTime: Date; - /** - * Unique identifier for a contract - */ cfarContractId: string; uiVariant: UiVariant; type: string; diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarExerciseCallbackLaunched.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarExerciseCallbackLaunched.ts deleted file mode 100644 index 3d2d80a..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarExerciseCallbackLaunched.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ -import { ExerciseStepResult } from './exerciseStepResult'; - -export interface CfarExerciseCallbackLaunched { - /** - * A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14) datetime; the date and time at which an event occurred on a client device - */ - occurredDateTime: Date; - /** - * Unique identifier for a CFAR exercise - */ - cfarExerciseId: string; - result: ExerciseStepResult; - type: string; -} \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarExerciseCustomerDataComplete.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarExerciseCustomerDataComplete.ts deleted file mode 100644 index 918f885..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarExerciseCustomerDataComplete.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ -import { ExerciseStepResult } from './exerciseStepResult'; - -export interface CfarExerciseCustomerDataComplete { - /** - * A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14) datetime; the date and time at which an event occurred on a client device - */ - occurredDateTime: Date; - /** - * Unique identifier for a CFAR exercise - */ - cfarExerciseId: string; - result: ExerciseStepResult; - type: string; -} \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarExercisePortalComplete.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarExercisePortalComplete.ts deleted file mode 100644 index f11bb87..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarExercisePortalComplete.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ -import { ExerciseStepResult } from './exerciseStepResult'; - -export interface CfarExercisePortalComplete { - /** - * A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14) datetime; the date and time at which an event occurred on a client device - */ - occurredDateTime: Date; - /** - * Unique identifier for a CFAR exercise - */ - cfarExerciseId: string; - result: ExerciseStepResult; - type: string; -} \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarExercisePortalDisplay.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarExercisePortalDisplay.ts deleted file mode 100644 index a4602ca..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarExercisePortalDisplay.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - -export interface CfarExercisePortalDisplay { - /** - * A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14) datetime; the date and time at which an event occurred on a client device - */ - occurredDateTime: Date; - /** - * Unique identifier for a CFAR exercise - */ - cfarExerciseId: string; - type: string; -} \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarExerciseVerificationComplete.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarExerciseVerificationComplete.ts deleted file mode 100644 index 7dd6d48..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarExerciseVerificationComplete.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ -import { ExerciseStepResult } from './exerciseStepResult'; - -export interface CfarExerciseVerificationComplete { - /** - * A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14) datetime; the date and time at which an event occurred on a client device - */ - occurredDateTime: Date; - /** - * Unique identifier for a CFAR exercise - */ - cfarExerciseId: string; - result: ExerciseStepResult; - type: string; -} \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarExerciseVerificationSent.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarExerciseVerificationSent.ts deleted file mode 100644 index 123a64d..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarExerciseVerificationSent.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - -export interface CfarExerciseVerificationSent { - /** - * A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14) datetime; the date and time at which an event occurred on a client device - */ - occurredDateTime: Date; - /** - * Unique identifier for a CFAR exercise - */ - cfarExerciseId: string; - type: string; -} \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarItinerary.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarItinerary.ts index 9a5ee0f..744c7e0 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarItinerary.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarItinerary.ts @@ -12,14 +12,12 @@ import { Ancillary } from './ancillary'; import { CfarItinerarySlice } from './cfarItinerarySlice'; import { CfarPassenger } from './cfarPassenger'; +import { FareRule } from './fareRule'; import { PassengerPricing } from './passengerPricing'; -/** - * An object detailing the fare used to create a CFAR offer - */ export interface CfarItinerary { /** - * List of pricing per passenger for a fare + * List of passengers type, count and pricing for the itinerary */ passengerPricing: Array; /** @@ -27,13 +25,23 @@ export interface CfarItinerary { */ currency: string; /** - * List of fare slices included in this fare; only 1 (one way) or 2 (round trip) slices are allowed + * List of slices of the itinerary; 1 (one way), 2 (round trip) or up to 10 (multi-destination) slices are allowed */ slices: Array; /** - * Ancillaries attached to a fare and their prices + * Ancillaries attached to the itinerary and their prices. Only ancillaries covered by CFAR must be filled */ ancillaries?: Array; - totalPrice: string; + /** + * Total price to be covered by CFAR (including ancillaries if applicable) + */ + totalPrice?: string; + /** + * Details of the passengers + */ passengers?: Array; + /** + * The fare rules associated to the itinerary. If different fare rules apply to different slices in the itinerary, indicate the most restrictive. + */ + fareRules?: Array; } \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarItinerarySlice.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarItinerarySlice.ts index 3ba6c79..cb30c81 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarItinerarySlice.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarItinerarySlice.ts @@ -10,17 +10,40 @@ * Do not edit the class manually. */ import { CfarItinerarySliceSegment } from './cfarItinerarySliceSegment'; +import { Fare } from './fare'; +import { FareRule } from './fareRule'; +import { PassengerPricing } from './passengerPricing'; /** * An object containing the list of flight segments for a fare slice */ export interface CfarItinerarySlice { /** - * A list of segments which make up the slice of the fare + * A list of segments which make up the slice */ segments: Array; /** - * Fare brand of the slice + * List of passengers type, count and pricing for the slice + */ + passengerPricing?: Array; + /** + * The price of the slice for all the passengers + */ + totalPrice?: string; + /** + * Name of the fare brand applied to the slice */ fareBrand?: string; + /** + * Code of the fare basis applied to the slice + */ + fareBasis?: string; + /** + * The fare rules associated to the slice + */ + fareRules?: Array; + /** + * Other available fares in the same cabin + */ + otherFares?: Array; } \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarItinerarySliceSegment.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarItinerarySliceSegment.ts index c0dc43a..d89a49a 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarItinerarySliceSegment.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarItinerarySliceSegment.ts @@ -41,7 +41,7 @@ export interface CfarItinerarySliceSegment { validatingCarrierCode: string; fareClass: FareClass; /** - * Fare brand of the segment + * Name of the fare brand applied to the segment (if applicable) */ fareBrand?: string; } \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarPassenger.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarPassenger.ts index 4e6b569..03a4f55 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarPassenger.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarPassenger.ts @@ -16,10 +16,22 @@ import { PassengerType } from './passengerType'; * An object detailing the Passenger Information */ export interface CfarPassenger { + /** + * Unique reference of the passenger + */ passengerReference: string; passengerType: PassengerType; + /** + * Ancillaries attached to the itinerary and their prices + */ firstName?: string; + /** + * Ancillaries attached to the itinerary and their prices + */ lastName?: string; + /** + * The birth date in ISO Local Date format + */ dateOfBirth?: string; gender?: Gender; } \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarPassengerTax.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarPassengerTax.ts index ec1179e..5c0ed46 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarPassengerTax.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarPassengerTax.ts @@ -11,7 +11,16 @@ */ export interface CfarPassengerTax { + /** + * Code of the tax + */ code: string; + /** + * The amount of the tax + */ amount: string; + /** + * The currency of the tax + */ currency: string; } \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarPrice.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarPrice.ts deleted file mode 100644 index 28df8d9..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarPrice.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ -import { AncillaryType } from './ancillaryType'; -import { CfarPriceType } from './cfarPriceType'; -import { PassengerType } from './passengerType'; - -export interface CfarPrice { - passengerType?: PassengerType; - nbPax?: number; - coverage: string; - premium: string; - ancillaryType?: AncillaryType; - passengerReference?: string; - cfarPriceType: CfarPriceType; -} \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarStatus.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarStatus.ts deleted file mode 100644 index 3fd3326..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarStatus.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - -export type CfarStatus = 'created' | 'confirmed' | 'failed' | 'charged_back' | 'voided' | 'canceled'; - -export const CfarStatus = { - Created: 'created' as CfarStatus, - Confirmed: 'confirmed' as CfarStatus, - Failed: 'failed' as CfarStatus, - ChargedBack: 'charged_back' as CfarStatus, - Voided: 'voided' as CfarStatus, - Canceled: 'canceled' as CfarStatus -}; \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarTax.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarTax.ts index 5aa27d9..c1da108 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarTax.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/cfarTax.ts @@ -11,9 +11,24 @@ */ export interface CfarTax { + /** + * Name of the tax + */ name: string; + /** + * The rate of the tax + */ rate: string; + /** + * The amount of the tax + */ amount: string; + /** + * True if the tax amount is estimated, the real amount will be known only at contract confirmation + */ estimated: boolean; + /** + * Registration number of the tax if applicable + */ registrationNumber?: string; } \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/checkCfarContractExerciceVerificationCodeResponse.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/checkCfarContractExerciceVerificationCodeResponse.ts deleted file mode 100644 index a18b332..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/checkCfarContractExerciceVerificationCodeResponse.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - -export interface CheckCfarContractExerciceVerificationCodeResponse { - compliant: boolean; - /** - * Unique identifier for a CFAR exercise - */ - exerciseId: string; -} \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/checkCfarContractExerciseVerificationCodeRequest.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/checkCfarContractExerciseVerificationCodeRequest.ts deleted file mode 100644 index e66c966..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/checkCfarContractExerciseVerificationCodeRequest.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - -/** - * A request associated with validation code checks before processing a CFAR contract exercise - */ -export interface CheckCfarContractExerciseVerificationCodeRequest { - verificationCode: string; -} \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/createRefundRecipientRequest.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/createRefundRecipientRequest.ts deleted file mode 100644 index 418cfce..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/createRefundRecipientRequest.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - -/** - * A create Refund Recipient request - */ -export interface CreateRefundRecipientRequest { - firstName: string; - lastName: string; - /** - * The refund recipient's date of birth in ISO Local Date format - */ - dateOfBirth: string; - addressFirstLine: string; - addressSecondLine?: string; - city: string; - stateProvince: string; - country: string; - postalCode: string; -} \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/exerciseStepResult.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/exerciseStepResult.ts deleted file mode 100644 index c05fe67..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/exerciseStepResult.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - -export type ExerciseStepResult = 'success' | 'failure' | 'technical_error'; - -export const ExerciseStepResult = { - Success: 'success' as ExerciseStepResult, - Failure: 'failure' as ExerciseStepResult, - TechnicalError: 'technical_error' as ExerciseStepResult -}; \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/fare.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/fare.ts new file mode 100644 index 0000000..8b02890 --- /dev/null +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/fare.ts @@ -0,0 +1,31 @@ +/** + * Airline API + * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + * + * OpenAPI spec version: v1.1 + * + * + * NOTE: This class is auto generated by the swagger code generator program. + * https://github.com/swagger-api/swagger-codegen.git + * Do not edit the class manually. + */ +import { FareRule } from './fareRule'; + +export interface Fare { + /** + * The price of the slice for all the passengers with this fare + */ + price?: string; + /** + * Name of the fare brand of this fare + */ + fareBrand?: string; + /** + * Code of the fare basis applied to this fare + */ + fareBasis?: string; + /** + * The fare rules associated to the fare + */ + fareRules?: Array; +} \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/fareRule.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/fareRule.ts new file mode 100644 index 0000000..f37ad0f --- /dev/null +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/fareRule.ts @@ -0,0 +1,32 @@ +/** + * Airline API + * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + * + * OpenAPI spec version: v1.1 + * + * + * NOTE: This class is auto generated by the swagger code generator program. + * https://github.com/swagger-api/swagger-codegen.git + * Do not edit the class manually. + */ +import { AirlineRefundMethod } from './airlineRefundMethod'; +import { ModificationTime } from './modificationTime'; +import { ModificationType } from './modificationType'; + +export interface FareRule { + modificationType: ModificationType; + modificationTime: ModificationTime; + /** + * Determines if that type of modifications at this time is allowed + */ + allowed: boolean; + /** + * Amount to be paid as penalty fee to perform the modification + */ + fee?: string; + /** + * Percentage of the fare to be paid as penalty to perform the modification + */ + percentage?: string; + refundMethod?: AirlineRefundMethod; +} \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/gender.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/gender.ts index 9455530..f7ff4b5 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/gender.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/gender.ts @@ -10,6 +10,9 @@ * Do not edit the class manually. */ +/** + * The gender of the passenger + */ export type Gender = 'male' | 'female' | 'undisclosed' | 'unspecified'; export const Gender = { diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/getCfarExerciseCustomerResponse.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/getCfarExerciseCustomerResponse.ts deleted file mode 100644 index b9bc7c7..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/getCfarExerciseCustomerResponse.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ -import { CfarItinerary } from './cfarItinerary'; -import { CfarPrice } from './cfarPrice'; -import { CfarStatus } from './cfarStatus'; - -/** - * A CFAR Exercise - */ -export interface GetCfarExerciseCustomerResponse { - /** - * Unique identifier for a CFAR exercise - */ - id: string; - /** - * Unique identifier for a contract - */ - contractId: string; - /** - * The partner's share of the amount refunded to the customer to complete the CFAR contract exercise - */ - cashRefundAllowance: string; - hopperRefundCurrency: string; - status: CfarStatus; - contractExpiryDateTime: Date; - itinerary: CfarItinerary; - cfarPrices: Array; -} \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/initiateRefundRequest.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/initiateRefundRequest.ts deleted file mode 100644 index 4bc8a20..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/initiateRefundRequest.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - -/** - * A create CFAR refund request - */ -export interface InitiateRefundRequest { - /** - * trm-286646a1-69f0-4926-a849-8fe8ad79756e - */ - transferMethodId: string; -} \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/initiateRefundResponse.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/initiateRefundResponse.ts deleted file mode 100644 index 3577dac..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/initiateRefundResponse.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - -export interface InitiateRefundResponse { - redirectionToken: string; -} \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/models.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/models.ts index 16c2270..6eb4258 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/models.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/models.ts @@ -1,18 +1,13 @@ +export * from './airlineRefundMethod'; export * from './ancillary'; export * from './ancillaryType'; export * from './badRequest'; -export * from './bookingConfirmed'; +export * from './bookingConfirmed1'; export * from './cfarContents'; export * from './cfarContractCustomer'; export * from './cfarDenyPurchase'; export * from './cfarEvent'; export * from './cfarEventWithContract'; -export * from './cfarExerciseCallbackLaunched'; -export * from './cfarExerciseCustomerDataComplete'; -export * from './cfarExercisePortalComplete'; -export * from './cfarExercisePortalDisplay'; -export * from './cfarExerciseVerificationComplete'; -export * from './cfarExerciseVerificationSent'; export * from './cfarForcedChoiceWarning'; export * from './cfarItinerary'; export * from './cfarItinerarySlice'; @@ -22,36 +17,24 @@ export * from './cfarOffersBannerDisplay'; export * from './cfarOffersTakeoverDisplay'; export * from './cfarPassenger'; export * from './cfarPassengerTax'; -export * from './cfarPrice'; -export * from './cfarPriceType'; -export * from './cfarStatus'; export * from './cfarTax'; export * from './cfarViewInfo'; -export * from './checkCfarContractExerciceVerificationCodeResponse'; -export * from './checkCfarContractExerciseVerificationCodeRequest'; export * from './createCfarContractCustomerRequest'; export * from './createCfarOfferCustomerRequest'; -export * from './createRefundAuthorizationRequest'; -export * from './createRefundRecipientRequest'; export * from './error'; -export * from './exerciseStepResult'; +export * from './fare'; export * from './fareClass'; +export * from './fareRule'; export * from './gender'; -export * from './getCfarExerciseCustomerResponse'; -export * from './getSessionCustomerResponse'; -export * from './initiateRefundRequest'; -export * from './initiateRefundResponse'; export * from './mapCfarContents'; export * from './mapString'; -export * from './offersDisplayed'; +export * from './modificationTime'; +export * from './modificationType'; +export * from './offersDisplayed1'; export * from './passengerCount'; export * from './passengerPricing'; export * from './passengerType'; -export * from './refundAuthorization'; -export * from './refundRecipient'; export * from './requestType'; -export * from './sendCfarContractExerciceVerificationCodeResponse'; -export * from './sendCfarContractExerciseVerificationCodeRequest'; export * from './uiSource'; export * from './uiVariant'; export * from './unprocessableEntity'; diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/createRefundAuthorizationRequest.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/modificationTime.ts similarity index 50% rename from projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/createRefundAuthorizationRequest.ts rename to projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/modificationTime.ts index ab3ce54..92a3143 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/createRefundAuthorizationRequest.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/modificationTime.ts @@ -11,11 +11,12 @@ */ /** - * A Refund Authorization Request + * The time at which the modification is requested */ -export interface CreateRefundAuthorizationRequest { - /** - * The user who will be refunded. This ID is the response from Create User - */ - userId: string; -} \ No newline at end of file +export type ModificationTime = 'after_departure' | 'anytime' | 'before_departure'; + +export const ModificationTime = { + AfterDeparture: 'after_departure' as ModificationTime, + Anytime: 'anytime' as ModificationTime, + BeforeDeparture: 'before_departure' as ModificationTime +}; \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/getSessionCustomerResponse.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/modificationType.ts similarity index 57% rename from projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/getSessionCustomerResponse.ts rename to projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/modificationType.ts index f11e422..fd4f7c0 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/getSessionCustomerResponse.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/modificationType.ts @@ -11,10 +11,11 @@ */ /** - * A customer session + * The type of modifications in question in this fare rule */ -export interface GetSessionCustomerResponse { - language: string; - pointOfSale: string; - contactFormUrl: string; -} \ No newline at end of file +export type ModificationType = 'cancellation' | 'change'; + +export const ModificationType = { + Cancellation: 'cancellation' as ModificationType, + Change: 'change' as ModificationType +}; \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/offersDisplayed.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/offersDisplayed1.ts similarity index 93% rename from projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/offersDisplayed.ts rename to projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/offersDisplayed1.ts index aefa4bd..42c88bf 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/offersDisplayed.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/offersDisplayed1.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ -export interface OffersDisplayed { +export interface OffersDisplayed1 { /** * A UTC [RFC3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14) datetime; the date and time at which an event occurred on a client device */ diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/passengerPricing.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/passengerPricing.ts index da4501a..7222c83 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/passengerPricing.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/passengerPricing.ts @@ -15,8 +15,11 @@ import { PassengerCount } from './passengerCount'; export interface PassengerPricing { passengerCount: PassengerCount; /** - * Price per passenger + * Price per passenger (excluding ancillaries) */ individualPrice: string; + /** + * Taxes applicable to this itinerary + */ taxes?: Array; } \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/passengerType.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/passengerType.ts index 61d7252..c308b4b 100644 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/passengerType.ts +++ b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/passengerType.ts @@ -10,9 +10,6 @@ * Do not edit the class manually. */ -/** - * The type of passenger:
* adult - 12+ years of age
* child - 2-11 years of age
* seated_infant - < 2 years of age, in their own seat
* lap_infant - < 2 years of age, not in their own seat - */ export type PassengerType = 'adult' | 'child' | 'seated_infant' | 'lap_infant'; export const PassengerType = { diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/refundAuthorization.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/refundAuthorization.ts deleted file mode 100644 index 7a9790d..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/refundAuthorization.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - -export interface RefundAuthorization { - /** - * The unique authorization token for the user - */ - token: string; -} \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/refundRecipient.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/refundRecipient.ts deleted file mode 100644 index 54697fa..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/refundRecipient.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - -export interface RefundRecipient { - /** - * The refund recipient's unique identifier - */ - id: string; -} \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/sendCfarContractExerciceVerificationCodeResponse.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/sendCfarContractExerciceVerificationCodeResponse.ts deleted file mode 100644 index 606b7de..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/sendCfarContractExerciceVerificationCodeResponse.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - -export interface SendCfarContractExerciceVerificationCodeResponse { - /** - * Unique identifier for a CFAR exercise - */ - exerciseId: string; - anonymizedEmailAddress: string; - succeeded: boolean; -} \ No newline at end of file diff --git a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/sendCfarContractExerciseVerificationCodeRequest.ts b/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/sendCfarContractExerciseVerificationCodeRequest.ts deleted file mode 100644 index c12faba..0000000 --- a/projects/angular-sdk/src/apis/hopper-cloud-airline/v1/model/sendCfarContractExerciseVerificationCodeRequest.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Airline API - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * OpenAPI spec version: v1.1 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - -/** - * A request to send a validation code to a user before processing a CFAR contract exercise - */ -export interface SendCfarContractExerciseVerificationCodeRequest { -} \ No newline at end of file diff --git a/projects/angular-sdk/src/components/cfar-exercise-flow/cfar-exercise-flow.component.html b/projects/angular-sdk/src/components/cfar-exercise-flow/cfar-exercise-flow.component.html deleted file mode 100644 index 735c035..0000000 --- a/projects/angular-sdk/src/components/cfar-exercise-flow/cfar-exercise-flow.component.html +++ /dev/null @@ -1,1126 +0,0 @@ -
- -
-

{{ 'CFAR_EXERCISE_FLOW.TITLE' | translate }}

-
- -
- - - -
- error - {{ errorMessage }} -
-
- - - -
-

- {{ 'CFAR_EXERCISE_FLOW.CHECK_VERIFICATION_TITLE' | translate }} -

- {{ - 'CFAR_EXERCISE_FLOW.CHECK_VERIFICATION_TEXT' | translate - }} - -
- -
-
- - - -
-

- {{ 'CFAR_EXERCISE_FLOW.SEND_VERIFICATION_TITLE' | translate }} -

- {{ - 'CFAR_EXERCISE_FLOW.SEND_VERIFICATION_TEXT' - | translate - : { - email: cfarContractUserEmail - } - }} - -
-
- - {{ - 'CFAR_EXERCISE_FLOW.FORM.VERIFICATION_CODE' | translate - }} - - {{ - 'CFAR_EXERCISE_FLOW.FORM.VERIFICATION_CODE_ERROR' - | translate - }} - -
-
- -
- - - -
-
- - - - - - -
- -
-
- - - - - - - {{ - 'CFAR_EXERCISE_FLOW.STEP.FIRST' | translate - }} - -
-
- - {{ - 'CFAR_EXERCISE_FLOW.SUBTITLE' | translate - }} -
- -
-

- {{ 'CFAR_EXERCISE_FLOW.DEADLINE_SENTENCE_1' | translate }} - - {{ - cfarExercise.contractExpiryDateTime - | date - : ('COMMON.DATE_FORMAT.HOUR_AND_DATE' | translate) - : '' - : currentLang - }} - -

-

- {{ - 'CFAR_EXERCISE_FLOW.DEADLINE_SENTENCE_2' - | translate - : { - amount: - cfarExercise.cashRefundAllowance - | currency - : cfarExercise.hopperRefundCurrency - : 'symbol' - : undefined - : currentLang - } - }} -

-
-
- - - -
-
- -
-
-
- {{ - segment?.departureDateTime - | date - : ('COMMON.DATE_FORMAT.HOUR' | translate) - : '' - : currentLang - }} -
-
- -
-
- {{ - segment?.arrivalDateTime - | date - : ('COMMON.DATE_FORMAT.HOUR' | translate) - : '' - : currentLang - }} -
-
- -
-
- {{ segment?.originAirport }} -
-
-
- flight -
-
-
- {{ segment?.destinationAirport }} -
-
- -
-
- {{ - segment?.departureDateTime - | date - : ('COMMON.DATE_FORMAT.DATE' | translate) - : '' - : currentLang - }} -
-
- {{ - segment?.validatingCarrierCode + - '' + - segment?.flightNumber - }} -
-
- {{ - segment?.arrivalDateTime - | date - : ('COMMON.DATE_FORMAT.DATE' | translate) - : '' - : currentLang - }} -
-
-
-
-
- -
-
- person - - {{ - 'CFAR_EXERCISE_FLOW.PASSENGER' - | translate - : { - nbPassenger: getNbPassengers( - cfarExercise.itinerary - ) - } - }} - - - {{ - 'CFAR_EXERCISE_FLOW.PASSENGERS' - | translate - : { - nbPassenger: getNbPassengers( - cfarExercise.itinerary - ) - } - }} - -
- -
-

- {{ - 'CFAR_EXERCISE_FLOW.PASSENGER_TYPE.' + - passenger?.key?.toUpperCase() | translate - }} - : {{ passenger?.value }} -

-
-
-
- - - -
-
- monetization_on - {{ - 'CFAR_EXERCISE_FLOW.REFUND_DETAILS_TITLE' | translate - }} -
- -
-

- {{ - 'CFAR_EXERCISE_FLOW.REFUND_DETAILS' - | translate - : { - amount: - cfarExercise.cashRefundAllowance - | currency - : cfarExercise.hopperRefundCurrency - : 'symbol' - : undefined - : currentLang - } - }} -

-
- -
-

- {{ - 'CFAR_EXERCISE_FLOW.REFUND_WARNING_MESSAGE' - | translate - : { - amount: - cfarExercise.cashRefundAllowance - | currency - : cfarExercise.hopperRefundCurrency - : 'symbol' - : undefined - : currentLang - } - }} -

-
-
- -
- -
-
- - - - - {{ - 'CFAR_EXERCISE_FLOW.STEP.SECOND' | translate - }} - -
-
- -
- - {{ - 'CFAR_EXERCISE_FLOW.FORM.PERSONAL_INFORMATION' - | translate - }} - - - - {{ - 'CFAR_EXERCISE_FLOW.FORM.FIRST_NAME' | translate - }} - - {{ - 'CFAR_EXERCISE_FLOW.FORM.FIRST_NAME_ERROR' - | translate - }} - - - - {{ - 'CFAR_EXERCISE_FLOW.FORM.MIDDLE_NAME' | translate - }} - - - - - {{ - 'CFAR_EXERCISE_FLOW.FORM.LAST_NAME' | translate - }} - - {{ - 'CFAR_EXERCISE_FLOW.FORM.LAST_NAME_ERROR' | translate - }} - - - - {{ - 'CFAR_EXERCISE_FLOW.FORM.DATE_OF_BIRTH' | translate - }} - - - - {{ - 'CFAR_EXERCISE_FLOW.FORM.DATE_OF_BIRTH_ERROR' - | translate - }} - -
- - - -
- - {{ 'CFAR_EXERCISE_FLOW.FORM.HOME_ADDRESS' | translate }} - - - - {{ - 'CFAR_EXERCISE_FLOW.FORM.ADDRESS_LINE_1' | translate - }} - - {{ - 'CFAR_EXERCISE_FLOW.FORM.ADDRESS_LINE_1_ERROR' - | translate - }} - - - - {{ - 'CFAR_EXERCISE_FLOW.FORM.ADDRESS_LINE_2' | translate - }} - - - -
- - {{ - 'CFAR_EXERCISE_FLOW.FORM.CITY' | translate - }} - - {{ - 'CFAR_EXERCISE_FLOW.FORM.CITY_ERROR' | translate - }} - - - - {{ - 'CFAR_EXERCISE_FLOW.FORM.COUNTRY' | translate - }} - - - {{ c.value }} - - - {{ - 'CFAR_EXERCISE_FLOW.FORM.COUNTRY_ERROR' - | translate - }} - -
- -
- - - {{ - 'CFAR_EXERCISE_FLOW.FORM.STATE' | translate - }} - - {{ - 'CFAR_EXERCISE_FLOW.FORM.STATE_ERROR' - | translate - }} - - - - - - {{ - 'CFAR_EXERCISE_FLOW.FORM.STATE' | translate - }} - - - {{ s.value }} - - - {{ - 'CFAR_EXERCISE_FLOW.FORM.STATE_ERROR' - | translate - }} - - - - - {{ - 'CFAR_EXERCISE_FLOW.FORM.ZIP' | translate - }} - - {{ - 'CFAR_EXERCISE_FLOW.FORM.ZIP_ERROR' | translate - }} - -
-
- -
-
- -
- -
-
- - - - - {{ - 'CFAR_EXERCISE_FLOW.STEP.THIRD' | translate - }} - -
-
- -

- {{ 'CFAR_EXERCISE_FLOW.LOADING_HYPERWALLET' | translate }} -

-
- -
- - -
- -
-

-
- -
-
-
-
-
- - - - - {{ - 'CFAR_EXERCISE_FLOW.STEP.FOURTH' | translate - }} - -
-
- checked -

- {{ - 'CFAR_EXERCISE_FLOW.CONFIRMATION_MESSAGE_1' | translate - }} -

-

- {{ - 'CFAR_EXERCISE_FLOW.CONFIRMATION_MESSAGE_2' - | translate - : { - userEmail: userEmail - } - }} -

-
-
- - - -
-
- -
-
-
- {{ - segment?.departureDateTime - | date - : ('COMMON.DATE_FORMAT.HOUR' | translate) - : '' - : currentLang - }} -
-
- -
-
- {{ - segment?.arrivalDateTime - | date - : ('COMMON.DATE_FORMAT.HOUR' | translate) - : '' - : currentLang - }} -
-
- -
-
- {{ segment?.originAirport }} -
-
-
- flight -
-
-
- {{ segment?.destinationAirport }} -
-
- -
-
- {{ - segment?.departureDateTime - | date - : ('COMMON.DATE_FORMAT.DATE' | translate) - : '' - : currentLang - }} -
-
- {{ segment?.flightNumber }} -
-
- {{ - segment?.arrivalDateTime - | date - : ('COMMON.DATE_FORMAT.DATE' | translate) - : '' - : currentLang - }} -
-
-
-
-
- -
-
- person - - {{ - 'CFAR_EXERCISE_FLOW.PASSENGER' - | translate - : { - nbPassenger: getNbPassengers( - cfarExercise.itinerary - ) - } - }} - - - {{ - 'CFAR_EXERCISE_FLOW.PASSENGERS' - | translate - : { - nbPassenger: getNbPassengers( - cfarExercise.itinerary - ) - } - }} - -
- -
-

- {{ - 'CFAR_EXERCISE_FLOW.PASSENGER_TYPE.' + - passenger?.key?.toUpperCase() | translate - }} - : {{ passenger?.value }} -

-
-
-
- - - -
- monetization_on - {{ - 'CFAR_EXERCISE_FLOW.REFUND_METHOD' | translate - }} -
- -
-

- {{ - 'CFAR_EXERCISE_FLOW.REFUND_DETAILS' - | translate - : { - amount: - cfarExercise.cashRefundAllowance - | currency - : cfarExercise.hopperRefundCurrency - : 'symbol' - : undefined - : currentLang - } - }} -

-
-
- -
-
-
- -
- - -
-
- -
-
-

{{ 'CFAR_EXERCISE_FLOW.LOADING' | translate }}

-
-
-
-
-
-
diff --git a/projects/angular-sdk/src/components/cfar-exercise-flow/cfar-exercise-flow.component.scss b/projects/angular-sdk/src/components/cfar-exercise-flow/cfar-exercise-flow.component.scss deleted file mode 100644 index f368153..0000000 --- a/projects/angular-sdk/src/components/cfar-exercise-flow/cfar-exercise-flow.component.scss +++ /dev/null @@ -1,240 +0,0 @@ -@import '../../styles/helper.scss'; - -// How to use : https://tomastrajan.medium.com/the-complete-guide-to-angular-material-themes-4d165a9d24d1 -@mixin cfar-exercise-flow-theme($theme) { - // Colors used for element backgrounds - $bg-palette: map-get($theme, background); - - // Colors used for texts and icons - $fg-palette: map-get($theme, foreground); - - // Main color most widely used across all screens and components - $primary-palette: map-get($theme, primary); - - // Also known as the secondary color. Used for floating action buttons and interactive elements. - $accent-palette: map-get($theme, accent); - - // Color to convey error state - $warn-palette: map-get($theme, warn); - - // If it's dark theme or not - $is-dark: map-get($theme, is-dark); - - // ---------------------------------------------- - - hopper-cfar-exercise-flow { - .mat-mdc-button, - .mat-mdc-unelevated-button, - .mat-mdc-icon-button, - .mat-mdc-raised-button, - .mat-mdc-outlined-button { - border-radius: 0px; - } - - .header { - height: 48px; - margin: 0px; - text-align: center; - border-bottom: 1px solid map-get($fg-palette, divider); - } - - .mat-mdc-card { - @include media-breakpoint('gt-sm') { - @include mat.elevation(4); - } - } - - .card-content { - max-width: 100%; - - mat-stepper { - width: 100%; - } - - .mat-vertical-stepper-content[aria-expanded='false'] { - display: none; - } - - @include media-breakpoint('lt-md') { - mat-step-header { - padding: 16px 0px; - } - - .mat-vertical-content-container { - margin-left: 12px; - - .mat-vertical-content { - padding: 16px; - } - } - } - - @include media-breakpoint('lt-sm') { - // Full-height - header height - max-height: calc(100% - 48px); - } - - @if ($is-dark) { - background-color: rgb(52, 52, 52); - } @else { - background-color: rgb(255, 255, 255); - } - - .title { - color: map-get($accent-palette, default); - font-size: 20px; - font-weight: bold; - } - - .text-justify { - text-align: justify; - } - - .subtitle { - font-size: 16px; - font-weight: bold; - } - - .flight-icon { - transform: rotate(90deg); - font-size: 32px !important; - width: 32px !important; - height: 32px !important; - min-width: 32px !important; - overflow: unset; - } - - .decorative-stroke { - height: 2px; - background-color: map-get($accent-palette, default); - width: 100%; - } - - .itinerary-container { - border-right: 1px solid map-get($fg-palette, divider); - width: 100%; - - @include media-breakpoint('lt-sm') { - border-right: none; - border-bottom: 1px solid map-get($fg-palette, divider); - padding-bottom: 16px; - } - } - - .custom-icon { - * { - fill: map-get($accent-palette, default); - } - } - - .resent-code-label { - font-size: 11px; - cursor: pointer; - } - - .error-message { - background: map-get($warn-palette, 50); - border: 1px solid map-get($warn-palette, default); - padding: 0px 16px; - color: black; - } - - .information-message { - width: 100%; - text-align: center; - } - - fieldset { - border: 2px solid map-get($accent-palette, default); - border-radius: 8px; - - legend { - border: 2px solid map-get($accent-palette, default); - border-radius: 8px; - } - } - - .confirmation-icon { - background: map-get($accent-palette, default); - border-radius: 50%; - padding: 8px; - color: white; - } - - .origin-destination { - font-weight: bold; - font-size: 1.6rem; - } - - // Hyperwallet - .hw-form-transfer-methods { - .hw-fields { - display: flex; - flex-flow: row wrap; - - .hw-label, - .hw-number, - .hw-input, - .hw-select { - width: 100%; - height: 2rem; - margin-bottom: 8px; - } - - .hw-error-message { - width: 100%; - height: 2rem; - margin-bottom: 8px; - color: map-get($warn-palette, default); - } - } - } - - fieldset { - padding: 0; - border: 0; - margin: 0; - } - - .hw-custom-transfermethodtype-items { - width: 100%; - } - - .hw-global-errors { - background: rgba(255, 0, 0, 0.25); - padding: 16px; - color: map-get($warn-palette, default); - border: 1px solid map-get($warn-palette, default); - margin: 16px; - - .hw-global-errors-list { - list-style: none; - padding-inline-start: 0px; - } - } - - .hw-tmc-back-button, - .hw-tmc-submit-button { - font-family: Roboto, 'Helvetica Neue', sans-serif; - font-size: 14px; - font-weight: 500; - box-shadow: - 0px 3px 1px -2px rgb(0 0 0 / 20%), - 0px 2px 2px 0px rgb(0 0 0 / 14%), - 0px 1px 5px 0px rgb(0 0 0 / 12%); - cursor: pointer; - border: none; - min-width: 64px; - line-height: 36px; - padding: 0px 16px; - width: 80%; - margin: 8px 10%; - } - - .hw-tmc-submit-button { - background-color: map-get($accent-palette, default); - color: map-get($accent-palette, 'default-contrast'); - } - } - } -} diff --git a/projects/angular-sdk/src/components/cfar-exercise-flow/cfar-exercise-flow.component.ts b/projects/angular-sdk/src/components/cfar-exercise-flow/cfar-exercise-flow.component.ts deleted file mode 100644 index 129892f..0000000 --- a/projects/angular-sdk/src/components/cfar-exercise-flow/cfar-exercise-flow.component.ts +++ /dev/null @@ -1,681 +0,0 @@ -import { - ChangeDetectorRef, - Component, - EventEmitter, - HostListener, - Input, - OnInit, - Output, - ViewChild, -} from '@angular/core'; -import { take } from 'rxjs/operators'; -import { - CfarStatus, - CfarItinerary, - CheckCfarContractExerciceVerificationCodeResponse, - CheckCfarContractExerciseVerificationCodeRequest, - CreateRefundAuthorizationRequest, - CreateRefundRecipientRequest, - InitiateRefundRequest, - RefundAuthorization, - RefundRecipient, - GetCfarExerciseCustomerResponse, - InitiateRefundResponse, - ExerciseStepResult, -} from '../../apis/hopper-cloud-airline/v1'; -import { GlobalEventComponent } from '../global-event.component'; -import { TranslateService } from '@ngx-translate/core'; -import { DateAdapter } from '@angular/material/core'; -import { ApiTranslatorUtils } from '../../utils/api-translator.utils'; -import { MatIconRegistry } from '@angular/material/icon'; -import { DomSanitizer } from '@angular/platform-browser'; -import { - UntypedFormBuilder, - UntypedFormControl, - UntypedFormGroup, - Validators, -} from '@angular/forms'; -import { MatStepper } from '@angular/material/stepper'; -import { DatePipe } from '@angular/common'; -import { SendCfarContractExerciceVerificationCodeResponse } from '../../apis/hopper-cloud-airline/v1'; -import { HopperCfarService } from '../../services/hopper-cfar.service'; -import { HopperEventsService } from '../../services/hopper-events.service'; -import { LoggerService } from '../../services/logger.service'; -import { ErrorCode, ExerciseActionStep } from '../../enums'; - -@Component({ - selector: 'hopper-cfar-exercise-flow', - templateUrl: './cfar-exercise-flow.component.html', - styleUrls: ['./cfar-exercise-flow.component.scss'], -}) -export class CfarExerciseFlowComponent - extends GlobalEventComponent - implements OnInit -{ - public selectedRefundMethod?: 'ftc' | 'cash'; - public cfarExercise!: GetCfarExerciseCustomerResponse; - public isLoading!: boolean; - public isLoadingHyperwallet!: boolean; - public isSidebar!: boolean; - public isErrorHyperwallet!: boolean; - public isVerificationCodeAlreadySent!: boolean; - public userEmail!: string; - public cfarContractUserEmail!: string; - - private _navigationStep!: ExerciseActionStep; - private _errorTimer: number = 1000; - private _verificationCode!: string; - - @Input() hCSessionId!: string; - @Input() exerciseId!: string; - @Input() hyperwalletUrl!: string; - @Input() contactFormUrl!: string; - - @Output() flowCompleted = new EventEmitter(); - @Output() stepCompleted = new EventEmitter(); - - // Fake values - private _fakeVerificationTokenId: string = - '1ed2d2bb-8885-67a4-968f-81c642e12735'; - private _minLengthVerificationCode: number = 6; - - // Forms - public checkVerificationCodeForm!: UntypedFormGroup; - public step2Form!: UntypedFormGroup; - - @ViewChild('stepper') public stepper!: MatStepper; - - constructor( - protected override _adapter: DateAdapter, - protected override _translateService: TranslateService, - protected override _hopperEventService: HopperEventsService, - protected override _cdRef: ChangeDetectorRef, - protected override _loggerService: LoggerService, - private _matIconRegistry: MatIconRegistry, - private _domSanitizer: DomSanitizer, - private _hopperCfarService: HopperCfarService, - private _formBuilder: UntypedFormBuilder, - private _datePipe: DatePipe, - ) { - super( - _adapter, - _translateService, - _hopperEventService, - _cdRef, - _loggerService, - ); - - // Create material icon for refundable ticket - this._matIconRegistry.addSvgIcon( - 'refundable_ticket', - this._domSanitizer.bypassSecurityTrustResourceUrl( - (this.imageBasePath || '') + 'assets/refundable-ticket.svg', - ), - ); - } - - // ----------------------------------------------- - // Life Cycle Hooks - // ----------------------------------------------- - - ngOnInit(): void { - super.ngOnInit(); - // Init Navigation Context - this._initNavigationContext(); - - this._initForms(); - - // Int events context and build corresponding events - this.initCfarExerciseEventParameters(this.hCSessionId, this.exerciseId); - this.createCfarExercisePortalDisplayEvent(); - } - - // ----------------------------------------------- - // Publics Methods - // ----------------------------------------------- - - public getNbPassengers(itinerary: CfarItinerary): number { - let nbPassengers = 0; - - if (itinerary && itinerary?.passengerPricing) { - itinerary.passengerPricing.forEach( - (pp) => (nbPassengers += pp.passengerCount.count), - ); - } - - return nbPassengers; - } - - public getMapPassengers(itinerary: CfarItinerary): Map { - const mapPassengers = new Map(); - - itinerary.passengerPricing.forEach((pp) => { - const passengerType = pp.passengerCount.type; - const passengerCount = pp.passengerCount.count; - - mapPassengers.set( - passengerType, - passengerCount + (mapPassengers.get(passengerType) || 0), - ); - }); - - return mapPassengers; - } - - public asIsOrder(a: any, b: any): number { - return 1; - } - - public onSubmitStep1(): void { - // Go to the next step - this._validCurrentStep(); - } - - public onSubmitStep2(): void { - this._purgeErrorContext(); - - this.isErrorHyperwallet = false; - this.isLoadingHyperwallet = true; - // this.isValidStep2 = false; - - if (this.isFakeBackend) { - // this.isValidHyperwalletSubmit = true; - - // Go to the next step - this._validCurrentStep(); - - setTimeout(() => { - this.isLoadingHyperwallet = false; - this.userEmail = 'sample@hopper.com'; - - // Go to the next step - this._validCurrentStep(); - - // The flow is completed - this.flowCompleted.emit(this._fakeVerificationTokenId); - }, 2000); - } else { - this._hopperCfarService - .postRefundRecipients( - this.basePath, - this.hCSessionId, - this._verificationCode, - ApiTranslatorUtils.modelToSnakeCase( - this._buildCreateRefundRecipientRequest(), - ), - ) - .pipe(take(1)) - .subscribe({ - next: (refundRecipient: RefundRecipient) => { - // Events management - this.createCfarExerciseCustomerDataCompleteEvent( - ExerciseStepResult.Success, - ); - - // this.isValidStep2 = true; - - setTimeout(() => { - // Go to the next step - this._validCurrentStep(); - }, 0); - - const userId = refundRecipient.id; - const url = - this.hyperwalletUrl + - userId + - '/' + - this.currentLang + - '.v2_4_5.min.js'; - // const url = this.hyperwalletUrl + userId + "/" + this.currentLang + ".min.js"; - const mainScript = document.createElement('script'); - - mainScript.type = 'text/javascript'; - mainScript.async = true; - mainScript.src = url; - mainScript.onerror = (error) => { - // Events management - this.createCfarExercisePortalCompleteEvent( - ExerciseStepResult.TechnicalError, - ); - - // Datadog event - this._loggerService.error( - `[Cfar Exercise Flow] - onSubmitStep2 / postRefundRecipients - error: ${error}`, - ); - - this.isLoadingHyperwallet = false; - this.isErrorHyperwallet = true; - }; - mainScript.onload = () => { - const request: CreateRefundAuthorizationRequest = { - userId: userId, - }; - - this._hopperCfarService - .postRefundAuthorizations( - this.basePath, - this.hCSessionId, - this._verificationCode, - ApiTranslatorUtils.modelToSnakeCase(request), - ) - .pipe(take(1)) - .subscribe({ - next: (authorization: RefundAuthorization) => { - const script = document.createElement('script'); - - script.type = 'text/javascript'; - script.async = false; - script.innerHTML = ` - window.HWWidgets.initialize((onSuccess, onFailure) => { - onSuccess("${authorization.token}"); - }); - - window.HWWidgets.transferMethods.configure({ - "template": 'plain', - el: document.getElementById("TransferMethodUI") - }).create({ - profileType: 'INDIVIDUAL', - currency: "${this.cfarExercise.itinerary.currency}", - }); - - window.HWWidgets.events.on("widget:transfermethods:completed", (trmObject, completionResult) => { - if (trmObject) { - window.dispatchEvent(new CustomEvent('hopper-hyperwallet', { - 'detail': { - trmObject: trmObject, - completionResult: completionResult - }} - )); - } - }); - `; - - document.body.appendChild(script); - this.isLoadingHyperwallet = false; - - // Events management - this.createCfarExercisePortalCompleteEvent( - ExerciseStepResult.Success, - ); - }, - error: (error: any) => { - this.handleApiError(error, 'exercise'); - - this.isLoadingHyperwallet = false; - this.isErrorHyperwallet = true; - - // Events management - this.createCfarExercisePortalCompleteEvent( - ExerciseStepResult.TechnicalError, - ); - - this._loggerService.error( - `[Cfar Exercise Flow] - onSubmitStep2 / postRefundAuthorizations - error: ${error}`, - ); - - // Scroll on the error message - this.stepCompleted.emit(this._errorTimer); - }, - }); - }; - - document.head.appendChild(mainScript); - }, - error: (error: any) => { - this.handleApiError(error, 'exercise'); - - this.isLoadingHyperwallet = false; - this.isErrorHyperwallet = true; - - // Events management - this.createCfarExerciseCustomerDataCompleteEvent( - ExerciseStepResult.Failure, - ); - - // Scroll on the error message - this.stepCompleted.emit(this._errorTimer); - }, - }); - } - } - - @HostListener('window:hopper-hyperwallet', ['$event']) - public checkHyperwalletCallback(event: CustomEvent): void { - this._purgeErrorContext(); - - // this.isValidHyperwalletSubmit = true; - - const request: InitiateRefundRequest = { - transferMethodId: event.detail.trmObject.token, - }; - - this._hopperCfarService - .postInitiateRefund( - this.basePath, - this.hCSessionId, - this._verificationCode, - ApiTranslatorUtils.modelToSnakeCase(request), - ) - .pipe(take(1)) - .subscribe({ - next: (initiateRefundResponse: InitiateRefundResponse) => { - const result = ApiTranslatorUtils.modelToCamelCase( - initiateRefundResponse, - ) as InitiateRefundResponse; - const redirectionToken = result.redirectionToken; - - this.isLoadingHyperwallet = false; - this.userEmail = event.detail.trmObject.email; - - // Go to the next step - this._validCurrentStep(); - - // Events management - if (redirectionToken !== null && redirectionToken.length > 0) { - this.createCfarExerciseCallbackLaunchedEvent( - ExerciseStepResult.Success, - ); - } else { - this.createCfarExerciseCallbackLaunchedEvent( - ExerciseStepResult.Failure, - ); - } - - // The flow is completed - this.flowCompleted.emit(redirectionToken); - }, - error: (error) => { - this.handleApiError(error, 'exercise'); - - this.isLoadingHyperwallet = false; - - // Events management - this.createCfarExercisePortalCompleteEvent( - ExerciseStepResult.TechnicalError, - ); - - this._loggerService.error( - `[Cfar Exercise Flow] - checkHyperwalletCallback - error: ${error}`, - ); - - // Scroll on the error message - this.stepCompleted.emit(this._errorTimer); - }, - }); - } - - public isSendVerificationCodeStep(): Boolean { - return this._navigationStep === ExerciseActionStep.SEND_VERIFICATION_STEP; - } - - public isCheckVerificationCodeStep(): Boolean { - return this._navigationStep === ExerciseActionStep.CHECK_VERIFICATION_STEP; - } - - public isProcessCfarExerciseStep(): Boolean { - return ( - this._navigationStep === ExerciseActionStep.PROCESS_CFAR_EXERCISE_STEP - ); - } - - public isCheckVerificationCodeFormValid(): boolean { - return this.checkVerificationCodeForm.valid; - } - - public isCfarContractExercised(): boolean { - return this.cfarExercise - ? this.cfarExercise.status === CfarStatus.Confirmed - : false; - } - - public onSendVerificationCode(): void { - this._purgeErrorContext(); - - if (this.isFakeBackend) { - this.cfarContractUserEmail = 'sample@hopper.com'; - this._setStep(ExerciseActionStep.CHECK_VERIFICATION_STEP); - } else { - this.isLoading = true; - - this._hopperCfarService - .postSendCfarExerciseVerificationCode( - this.basePath, - this.hCSessionId, - this.exerciseId, - ApiTranslatorUtils.modelToSnakeCase({}), - ) - .pipe(take(1)) - .subscribe({ - next: ( - sendVerificationCodeResult: SendCfarContractExerciceVerificationCodeResponse, - ) => { - const result = ApiTranslatorUtils.modelToCamelCase( - sendVerificationCodeResult, - ) as SendCfarContractExerciceVerificationCodeResponse; - - this.exerciseId = result.exerciseId; - this.cfarContractUserEmail = result.anonymizedEmailAddress; - this._setStep(ExerciseActionStep.CHECK_VERIFICATION_STEP); - - this.createCfarExerciseVerificationSentEvent(); - - this.isLoading = false; - }, - error: (error: any) => { - this.handleApiError(error, 'exercise'); - - // Code already sent - if (this.errorCode === ErrorCode.EX037) { - this.isVerificationCodeAlreadySent = true; - } - - this.isLoading = false; - - // Scroll on the error message - this.stepCompleted.emit(this._errorTimer); - }, - }); - } - } - - public onCheckVerificationCode(): void { - this._purgeErrorContext(); - - if (this.isFakeBackend) { - const request = this._buildCheckExerciseVerificationCodeRequest(); - - if ( - request.verificationCode && - request.verificationCode?.length >= this._minLengthVerificationCode - ) { - this._loadContractExercise(); - } else { - // Invalid verification code - this.errorCode = ErrorCode.EX019; - } - } else { - this.isLoading = true; - - const request = ApiTranslatorUtils.modelToSnakeCase( - this._buildCheckExerciseVerificationCodeRequest(), - ); - - this._hopperCfarService - .postCheckCfarExerciseVerificationCode( - this.basePath, - this.hCSessionId, - this.exerciseId, - request, - ) - .pipe(take(1)) - .subscribe({ - next: ( - checkVerificationCodeResult: CheckCfarContractExerciceVerificationCodeResponse, - ) => { - const result = ApiTranslatorUtils.modelToCamelCase( - checkVerificationCodeResult, - ) as CheckCfarContractExerciceVerificationCodeResponse; - - if (result.compliant) { - this.exerciseId = result.exerciseId; - - // Save the verificationCode - (this._verificationCode = - this.checkVerificationCodeForm.get('verificationCode')?.value), - // Events management - this.updateCfarExerciseIdForEvent(this.exerciseId); - this.createCfarExerciseVerificationCompleteEvent( - ExerciseStepResult.Success, - ); - - // Load the contract and the associated exercise - this._loadContractExercise(); - } else { - // Invalid verification code - this.errorCode = ErrorCode.EX019; - this.isLoading = false; - - // Events management - this.createCfarExerciseVerificationCompleteEvent( - ExerciseStepResult.Failure, - ); - } - }, - error: (error: any) => { - this.handleApiError(error, 'exercise'); - - this.isLoading = false; - - // Events management - this.createCfarExerciseVerificationCompleteEvent( - ExerciseStepResult.TechnicalError, - ); - - // Scroll on the error message - this.stepCompleted.emit(this._errorTimer); - }, - }); - } - } - - // ----------------------------------------------- - // Privates Methods - // ----------------------------------------------- - - private _loadContractExercise(): void { - this._purgeErrorContext(); - this._setStep(ExerciseActionStep.PROCESS_CFAR_EXERCISE_STEP); - - if (this.isFakeBackend) { - this.cfarExercise = this._buildFakeCfarExercisesResponse(); - } else { - this.isLoading = true; - - // Get the contract with the exercise - this._hopperCfarService - .getCfarExercises( - this.basePath, - this.hCSessionId, - this._verificationCode, - ) - .pipe(take(1)) - .subscribe({ - next: (cfarExercise: GetCfarExerciseCustomerResponse) => { - const result = ApiTranslatorUtils.modelToCamelCase( - cfarExercise, - ) as GetCfarExerciseCustomerResponse; - - this.cfarExercise = result; - - this.isLoading = false; - }, - error: (error: any) => { - this.handleApiError(error, 'exercise'); - - this.isLoading = false; - - // Scroll on the error message - this.stepCompleted.emit(this._errorTimer); - }, - }); - } - } - - private _initNavigationContext(): void { - this._navigationStep = ExerciseActionStep.SEND_VERIFICATION_STEP; - } - - private _setStep(currentStep: ExerciseActionStep): void { - this._navigationStep = currentStep; - } - - private _purgeErrorContext() { - this.errorCode = undefined; - this.errorMessage = undefined; - this.isVerificationCodeAlreadySent = false; - } - - private _initForms(): void { - this._purgeErrorContext(); - - this.checkVerificationCodeForm = this._formBuilder.group({ - verificationCode: [ - null, - [Validators.pattern('[0-9]{6}'), Validators.required], - ], - }); - - this.step2Form = this._formBuilder.group({ - firstName: new UntypedFormControl(null, [Validators.required]), - middleName: new UntypedFormControl(null), - lastName: new UntypedFormControl(null, [Validators.required]), - dateOfBirth: new UntypedFormControl(null, [Validators.required]), - addressLine1: new UntypedFormControl(null, [Validators.required]), - addressLine2: new UntypedFormControl(), - city: new UntypedFormControl(null, [Validators.required]), - country: new UntypedFormControl(null, [Validators.required]), - state: new UntypedFormControl(null, [Validators.required]), - zip: new UntypedFormControl(null, [Validators.required]), - }); - } - - private _buildCreateRefundRecipientRequest(): CreateRefundRecipientRequest { - return { - firstName: this.step2Form.get('firstName')?.value, - lastName: this.step2Form.get('lastName')?.value, - dateOfBirth: - this._datePipe.transform( - this.step2Form.get('dateOfBirth')?.value, - 'yyyy-MM-dd', - ) || '', - addressFirstLine: this.step2Form.get('addressLine1')?.value, - addressSecondLine: - this.step2Form.get('addressLine2')?.value?.length > 0 - ? this.step2Form.get('addressLine2')?.value - : undefined, - city: this.step2Form.get('city')?.value, - stateProvince: this.step2Form.get('state')?.value, - country: this.step2Form.get('country')?.value, - postalCode: this.step2Form.get('zip')?.value, - }; - } - - private _buildCheckExerciseVerificationCodeRequest(): CheckCfarContractExerciseVerificationCodeRequest { - return { - verificationCode: - this.checkVerificationCodeForm.get('verificationCode')?.value, - }; - } - - private _validCurrentStep(): void { - if (this.stepper) { - if (this.stepper.selected) { - // complete the current step - this.stepper.selected.completed = true; - } - - // move to next step - this.stepper.next(); - } - } -} diff --git a/projects/angular-sdk/src/components/cfar-offer-banner/cfar-offer-banner.component.ts b/projects/angular-sdk/src/components/cfar-offer-banner/cfar-offer-banner.component.ts index c678597..b044543 100644 --- a/projects/angular-sdk/src/components/cfar-offer-banner/cfar-offer-banner.component.ts +++ b/projects/angular-sdk/src/components/cfar-offer-banner/cfar-offer-banner.component.ts @@ -11,8 +11,6 @@ import { CfarContractCustomer, CfarItinerary, CfarOfferCustomer, - CreateCfarOfferCustomerRequest, - RequestType, } from '../../apis/hopper-cloud-airline/v1'; import { GlobalComponent } from '../global.component'; import { TranslateService } from '@ngx-translate/core'; diff --git a/projects/angular-sdk/src/components/global-event.component.ts b/projects/angular-sdk/src/components/global-event.component.ts index 148f060..d2d6197 100644 --- a/projects/angular-sdk/src/components/global-event.component.ts +++ b/projects/angular-sdk/src/components/global-event.component.ts @@ -2,7 +2,6 @@ import { ChangeDetectorRef, Directive } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { DateAdapter } from '@angular/material/core'; import { - ExerciseStepResult, UiSource, UiVariant, } from '../apis/hopper-cloud-airline/v1'; @@ -31,14 +30,6 @@ export class GlobalEventComponent extends GlobalComponent { super(_adapter, _translateService, _cdRef, _loggerService); } - // ----------------------------------------------- - // Life Cycle Hooks - // ----------------------------------------------- - - // ----------------------------------------------- - // Protected Methods - // ----------------------------------------------- - // ********** Cfar purchase events **********/ protected initCfarPurchaseEventParameters( @@ -152,165 +143,4 @@ export class GlobalEventComponent extends GlobalComponent { }, }); } - - // ********** Cfar purchase / payment events **********/ - - // ********** Cfar exercise events **********/ - - protected initCfarExerciseEventParameters( - hCSessionId: string, - cfarExerciseId: string, - ): void { - if (this.isFakeBackend) { - return; - } - this.eventHcSessionId = hCSessionId; - this.cfarExerciseId = cfarExerciseId; - } - - protected updateCfarExerciseIdForEvent(cfarExerciseId: string): void { - if (this.isFakeBackend) { - return; - } - this.cfarExerciseId = cfarExerciseId; - } - - private isExerciseEventPossible(): boolean { - if ( - !this.isFakeBackend && - this.eventHcSessionId !== undefined && - this.eventHcSessionId !== null && - this.cfarExerciseId !== undefined && - this.cfarExerciseId !== null - ) { - return true; - } - return false; - } - - protected createCfarExercisePortalDisplayEvent(): void { - if (!this.isExerciseEventPossible) { - return; - } - this._hopperEventService - .postCreateCfarExercisePortalDisplay( - this.basePath, - this.eventHcSessionId, - this.cfarExerciseId, - ) - .pipe(take(1)) - .subscribe({ - next: () => {}, - error: (error) => { - console.error(error); - }, - }); - } - - protected createCfarExerciseVerificationSentEvent(): void { - if (!this.isExerciseEventPossible) { - return; - } - this._hopperEventService - .postCreateCfarExerciseVerificationSent( - this.basePath, - this.eventHcSessionId, - this.cfarExerciseId, - ) - .pipe(take(1)) - .subscribe({ - next: () => {}, - error: (error) => { - console.error(error); - }, - }); - } - - protected createCfarExerciseVerificationCompleteEvent( - exerciseStepResult: ExerciseStepResult, - ): void { - if (!this.isExerciseEventPossible) { - return; - } - this._hopperEventService - .postCreateCfarExerciseVerificationComplete( - this.basePath, - this.eventHcSessionId, - this.cfarExerciseId, - exerciseStepResult, - ) - .pipe(take(1)) - .subscribe({ - next: () => {}, - error: (error) => { - console.error(error); - }, - }); - } - - protected createCfarExerciseCustomerDataCompleteEvent( - exerciseStepResult: ExerciseStepResult, - ): void { - if (!this.isExerciseEventPossible) { - return; - } - this._hopperEventService - .postCreateCfarExerciseCustomerDataComplete( - this.basePath, - this.eventHcSessionId, - this.cfarExerciseId, - exerciseStepResult, - ) - .pipe(take(1)) - .subscribe({ - next: () => {}, - error: (error) => { - console.error(error); - }, - }); - } - - protected createCfarExercisePortalCompleteEvent( - exerciseStepResult: ExerciseStepResult, - ): void { - if (!this.isExerciseEventPossible) { - return; - } - this._hopperEventService - .postCreateCfarExercisePortalComplete( - this.basePath, - this.eventHcSessionId, - this.cfarExerciseId, - exerciseStepResult, - ) - .pipe(take(1)) - .subscribe({ - next: () => {}, - error: (error) => { - console.error(error); - }, - }); - } - - protected createCfarExerciseCallbackLaunchedEvent( - exerciseStepResult: ExerciseStepResult, - ): void { - if (!this.isExerciseEventPossible) { - return; - } - this._hopperEventService - .postCreateCfarExerciseCallbackLaunched( - this.basePath, - this.eventHcSessionId, - this.cfarExerciseId, - exerciseStepResult, - ) - .pipe(take(1)) - .subscribe({ - next: () => {}, - error: (error) => { - console.error(error); - }, - }); - } } diff --git a/projects/angular-sdk/src/components/global.component.ts b/projects/angular-sdk/src/components/global.component.ts index c5f7135..4714a60 100644 --- a/projects/angular-sdk/src/components/global.component.ts +++ b/projects/angular-sdk/src/components/global.component.ts @@ -14,12 +14,8 @@ import { CfarContractCustomer, CfarItinerary, CfarOfferCustomer, - CfarPriceType, - CfarStatus, CreateCfarContractCustomerRequest, CreateCfarOfferCustomerRequest, - GetCfarExerciseCustomerResponse, - PassengerType, RequestType, UiSource, UiVariant, @@ -31,9 +27,7 @@ import { HcAirlinesError } from '../models/hc-airlines-error'; import { Error } from '../apis/hopper-cloud-airline/v1'; import { ErrorSdkModel } from '../models'; import { LoggerService } from '../services/logger.service'; -import { CountryCode } from '../enums/country-code.enum'; import { ErrorCode } from '../enums/error-code.enum'; -import { StateCode } from '../enums/state-code.enum'; @Directive({ selector: '[HopperGlobalComponent]', @@ -51,8 +45,6 @@ export class GlobalComponent implements OnChanges { public errorCode?: string; public errorMessage?: string; - public mapCountries: Map; - public mapStates!: Map; constructor( protected _adapter: DateAdapter, @@ -73,10 +65,6 @@ export class GlobalComponent implements OnChanges { // Set default language for datepickers this._adapter.setLocale(this._translateService.getBrowserLang()); - - // Init map - this.mapCountries = new Map(); - this.mapStates = new Map(); } // ----------------------------------------------- @@ -91,9 +79,6 @@ export class GlobalComponent implements OnChanges { if (changes.currentLang && changes.currentLang.currentValue) { // Update languages this._updateLanguage(changes.currentLang.currentValue); - - // Update Maps labels - this._setMapsLabels(); } } @@ -106,10 +91,6 @@ export class GlobalComponent implements OnChanges { // ----------------------------------------------- protected _getDefaultOffer(offers: CfarOfferCustomer[]): CfarOfferCustomer { - // return offers.reduce((previous: CfarOfferCustomer, current: CfarOfferCustomer) => { - // return +previous?.premium < +current?.premium ? previous : current; - // }); - return offers[0]; } @@ -121,37 +102,6 @@ export class GlobalComponent implements OnChanges { this._adapter.setLocale(newLanguage); } - protected _setMapsLabels(): void { - const countries = Object.keys(CountryCode); - const states = Object.keys(StateCode); - - countries.forEach((countryCode) => { - // Get Label and fill the map - this._translateService - .get('COMMON.COUNTRY.' + countryCode) - .pipe(take(1)) - .subscribe((label) => this.mapCountries.set(countryCode, label)); - }); - - states.forEach((stateCode) => { - // Get Label and fill the map - this._translateService - .get('COMMON.STATE.' + stateCode) - .pipe(take(1)) - .subscribe((label) => { - this.mapStates.set(stateCode, label); - }); - }); - - // Sort the maps by label (alphabetical order) - this.mapCountries = new Map( - [...this.mapCountries.entries()].sort((a, b) => a[1].localeCompare(b[1])), - ); - this.mapStates = new Map( - [...this.mapStates.entries()].sort((a, b) => a[1].localeCompare(b[1])), - ); - } - protected _getHcAirlinesErrorResponse( apiError: HttpErrorResponse, ): HcAirlinesError { @@ -192,8 +142,7 @@ export class GlobalComponent implements OnChanges { }; } - protected _fakeCfarContractId: string = - '1ecf85ab-211f-68b7-9bb3-4b1a314f1a42'; + protected _fakeCfarContractId: string = '1ecf85ab-211f-68b7-9bb3-4b1a314f1a42'; protected _buildFakePostCfarOffersResponse(): CfarOfferCustomer[] { return [ @@ -425,90 +374,7 @@ export class GlobalComponent implements OnChanges { premium: '10.00', }; } - - protected _fakeCfarContractExerciseId: string = - '1ecf85ab-211f-68b7-9bb3-f1d35b1c2045'; - - protected _buildFakeCfarExercisesResponse(): GetCfarExerciseCustomerResponse { - return { - id: this._fakeCfarContractExerciseId, - contractId: this._fakeCfarContractId, - itinerary: { - passengerPricing: [ - { - passengerCount: { - count: 3, - type: PassengerType.Adult, - }, - individualPrice: 'null', - }, - ], - currency: 'CAD', - slices: [ - { - segments: [ - { - originAirport: 'YYZ', - destinationAirport: 'YUL', - departureDateTime: '2022-07-09T18:00', - arrivalDateTime: '2022-07-09T19:14', - flightNumber: '894', - validatingCarrierCode: 'AC', - fareClass: 'economy', - }, - { - originAirport: 'YUL', - destinationAirport: 'NCE', - departureDateTime: '2022-07-09T20:50', - arrivalDateTime: '2022-07-10T10:25', - flightNumber: '878', - validatingCarrierCode: 'AC', - fareClass: 'economy', - }, - ], - }, - { - segments: [ - { - originAirport: 'NCE', - destinationAirport: 'YUL', - departureDateTime: '2022-07-15T13:15', - arrivalDateTime: '2022-07-15T15:55', - flightNumber: '879', - validatingCarrierCode: 'AC', - fareClass: 'economy', - }, - { - originAirport: 'YUL', - destinationAirport: 'YYZ', - departureDateTime: '2022-07-15T17:30', - arrivalDateTime: '2022-07-15T18:50', - flightNumber: '895', - validatingCarrierCode: 'AC', - fareClass: 'economy', - }, - ], - }, - ], - ancillaries: [], - totalPrice: '71.96', - }, - cfarPrices: [ - { - coverage: '19.26', - nbPax: 3, - passengerType: PassengerType.Adult, - premium: '8', - cfarPriceType: CfarPriceType.Ancillary, - }, - ], - cashRefundAllowance: '57.78', - hopperRefundCurrency: 'CAD', - contractExpiryDateTime: new Date('2022-07-08T18:00Z'), - status: CfarStatus.Created, - }; - } - + // ----------------------------------------------- // Public Methods // ----------------------------------------------- diff --git a/projects/angular-sdk/src/i18n/i18n-schema.ts b/projects/angular-sdk/src/i18n/i18n-schema.ts index 64e405b..2adad93 100644 --- a/projects/angular-sdk/src/i18n/i18n-schema.ts +++ b/projects/angular-sdk/src/i18n/i18n-schema.ts @@ -19,1244 +19,6 @@ export const I18N_SCHEMA = { }, required: ['HOUR', 'DATE', 'HOUR_AND_DATE'], }, - COUNTRY: { - type: 'object', - properties: { - AF: { - type: 'string', - }, - AX: { - type: 'string', - }, - AL: { - type: 'string', - }, - DZ: { - type: 'string', - }, - AS: { - type: 'string', - }, - AD: { - type: 'string', - }, - AO: { - type: 'string', - }, - AI: { - type: 'string', - }, - AQ: { - type: 'string', - }, - AG: { - type: 'string', - }, - AR: { - type: 'string', - }, - AM: { - type: 'string', - }, - AW: { - type: 'string', - }, - AU: { - type: 'string', - }, - AT: { - type: 'string', - }, - AZ: { - type: 'string', - }, - BS: { - type: 'string', - }, - BH: { - type: 'string', - }, - BD: { - type: 'string', - }, - BB: { - type: 'string', - }, - BY: { - type: 'string', - }, - BE: { - type: 'string', - }, - BZ: { - type: 'string', - }, - BJ: { - type: 'string', - }, - BM: { - type: 'string', - }, - BT: { - type: 'string', - }, - BO: { - type: 'string', - }, - BA: { - type: 'string', - }, - BW: { - type: 'string', - }, - BV: { - type: 'string', - }, - BR: { - type: 'string', - }, - VG: { - type: 'string', - }, - IO: { - type: 'string', - }, - BN: { - type: 'string', - }, - BG: { - type: 'string', - }, - BF: { - type: 'string', - }, - BI: { - type: 'string', - }, - KH: { - type: 'string', - }, - CM: { - type: 'string', - }, - CA: { - type: 'string', - }, - CV: { - type: 'string', - }, - KY: { - type: 'string', - }, - CF: { - type: 'string', - }, - TD: { - type: 'string', - }, - CL: { - type: 'string', - }, - CN: { - type: 'string', - }, - HK: { - type: 'string', - }, - MO: { - type: 'string', - }, - CX: { - type: 'string', - }, - CC: { - type: 'string', - }, - CO: { - type: 'string', - }, - KM: { - type: 'string', - }, - CG: { - type: 'string', - }, - CD: { - type: 'string', - }, - CK: { - type: 'string', - }, - CR: { - type: 'string', - }, - CI: { - type: 'string', - }, - HR: { - type: 'string', - }, - CU: { - type: 'string', - }, - CY: { - type: 'string', - }, - CZ: { - type: 'string', - }, - DK: { - type: 'string', - }, - DJ: { - type: 'string', - }, - DM: { - type: 'string', - }, - DO: { - type: 'string', - }, - EC: { - type: 'string', - }, - EG: { - type: 'string', - }, - SV: { - type: 'string', - }, - GQ: { - type: 'string', - }, - ER: { - type: 'string', - }, - EE: { - type: 'string', - }, - ET: { - type: 'string', - }, - FK: { - type: 'string', - }, - FO: { - type: 'string', - }, - FJ: { - type: 'string', - }, - FI: { - type: 'string', - }, - FR: { - type: 'string', - }, - GF: { - type: 'string', - }, - PF: { - type: 'string', - }, - TF: { - type: 'string', - }, - GA: { - type: 'string', - }, - GM: { - type: 'string', - }, - GE: { - type: 'string', - }, - DE: { - type: 'string', - }, - GH: { - type: 'string', - }, - GI: { - type: 'string', - }, - GR: { - type: 'string', - }, - GL: { - type: 'string', - }, - GD: { - type: 'string', - }, - GP: { - type: 'string', - }, - GU: { - type: 'string', - }, - GT: { - type: 'string', - }, - GG: { - type: 'string', - }, - GN: { - type: 'string', - }, - GW: { - type: 'string', - }, - GY: { - type: 'string', - }, - HT: { - type: 'string', - }, - HM: { - type: 'string', - }, - VA: { - type: 'string', - }, - HN: { - type: 'string', - }, - HU: { - type: 'string', - }, - IS: { - type: 'string', - }, - IN: { - type: 'string', - }, - ID: { - type: 'string', - }, - IR: { - type: 'string', - }, - IQ: { - type: 'string', - }, - IE: { - type: 'string', - }, - IM: { - type: 'string', - }, - IL: { - type: 'string', - }, - IT: { - type: 'string', - }, - JM: { - type: 'string', - }, - JP: { - type: 'string', - }, - JE: { - type: 'string', - }, - JO: { - type: 'string', - }, - KZ: { - type: 'string', - }, - KE: { - type: 'string', - }, - KI: { - type: 'string', - }, - KP: { - type: 'string', - }, - KR: { - type: 'string', - }, - KW: { - type: 'string', - }, - KG: { - type: 'string', - }, - LA: { - type: 'string', - }, - LV: { - type: 'string', - }, - LB: { - type: 'string', - }, - LS: { - type: 'string', - }, - LR: { - type: 'string', - }, - LY: { - type: 'string', - }, - LI: { - type: 'string', - }, - LT: { - type: 'string', - }, - LU: { - type: 'string', - }, - MK: { - type: 'string', - }, - MG: { - type: 'string', - }, - MW: { - type: 'string', - }, - MY: { - type: 'string', - }, - MV: { - type: 'string', - }, - ML: { - type: 'string', - }, - MT: { - type: 'string', - }, - MH: { - type: 'string', - }, - MQ: { - type: 'string', - }, - MR: { - type: 'string', - }, - MU: { - type: 'string', - }, - YT: { - type: 'string', - }, - MX: { - type: 'string', - }, - FM: { - type: 'string', - }, - MD: { - type: 'string', - }, - MC: { - type: 'string', - }, - MN: { - type: 'string', - }, - ME: { - type: 'string', - }, - MS: { - type: 'string', - }, - MA: { - type: 'string', - }, - MZ: { - type: 'string', - }, - MM: { - type: 'string', - }, - NA: { - type: 'string', - }, - NR: { - type: 'string', - }, - NP: { - type: 'string', - }, - NL: { - type: 'string', - }, - NC: { - type: 'string', - }, - NZ: { - type: 'string', - }, - NI: { - type: 'string', - }, - NE: { - type: 'string', - }, - NG: { - type: 'string', - }, - NU: { - type: 'string', - }, - NF: { - type: 'string', - }, - MP: { - type: 'string', - }, - NO: { - type: 'string', - }, - OM: { - type: 'string', - }, - PK: { - type: 'string', - }, - PW: { - type: 'string', - }, - PS: { - type: 'string', - }, - PA: { - type: 'string', - }, - PG: { - type: 'string', - }, - PY: { - type: 'string', - }, - PE: { - type: 'string', - }, - PH: { - type: 'string', - }, - PN: { - type: 'string', - }, - PL: { - type: 'string', - }, - PT: { - type: 'string', - }, - PR: { - type: 'string', - }, - QA: { - type: 'string', - }, - RE: { - type: 'string', - }, - RO: { - type: 'string', - }, - RU: { - type: 'string', - }, - RW: { - type: 'string', - }, - BL: { - type: 'string', - }, - SH: { - type: 'string', - }, - KN: { - type: 'string', - }, - LC: { - type: 'string', - }, - MF: { - type: 'string', - }, - SX: { - type: 'string', - }, - PM: { - type: 'string', - }, - VC: { - type: 'string', - }, - WS: { - type: 'string', - }, - SM: { - type: 'string', - }, - ST: { - type: 'string', - }, - SA: { - type: 'string', - }, - SN: { - type: 'string', - }, - RS: { - type: 'string', - }, - SC: { - type: 'string', - }, - SL: { - type: 'string', - }, - SG: { - type: 'string', - }, - SK: { - type: 'string', - }, - SI: { - type: 'string', - }, - SB: { - type: 'string', - }, - SO: { - type: 'string', - }, - ZA: { - type: 'string', - }, - GS: { - type: 'string', - }, - SS: { - type: 'string', - }, - ES: { - type: 'string', - }, - LK: { - type: 'string', - }, - SD: { - type: 'string', - }, - SR: { - type: 'string', - }, - SJ: { - type: 'string', - }, - SZ: { - type: 'string', - }, - SE: { - type: 'string', - }, - CH: { - type: 'string', - }, - SY: { - type: 'string', - }, - TW: { - type: 'string', - }, - TJ: { - type: 'string', - }, - TZ: { - type: 'string', - }, - TH: { - type: 'string', - }, - TL: { - type: 'string', - }, - TG: { - type: 'string', - }, - TK: { - type: 'string', - }, - TO: { - type: 'string', - }, - TT: { - type: 'string', - }, - TN: { - type: 'string', - }, - TR: { - type: 'string', - }, - TM: { - type: 'string', - }, - TC: { - type: 'string', - }, - TV: { - type: 'string', - }, - UG: { - type: 'string', - }, - UA: { - type: 'string', - }, - AE: { - type: 'string', - }, - GB: { - type: 'string', - }, - US: { - type: 'string', - }, - UM: { - type: 'string', - }, - UY: { - type: 'string', - }, - UZ: { - type: 'string', - }, - VU: { - type: 'string', - }, - VE: { - type: 'string', - }, - VN: { - type: 'string', - }, - VI: { - type: 'string', - }, - WF: { - type: 'string', - }, - EH: { - type: 'string', - }, - YE: { - type: 'string', - }, - ZM: { - type: 'string', - }, - ZW: { - type: 'string', - }, - }, - required: [ - 'AF', - 'AX', - 'AL', - 'DZ', - 'AS', - 'AD', - 'AO', - 'AI', - 'AQ', - 'AG', - 'AR', - 'AM', - 'AW', - 'AU', - 'AT', - 'AZ', - 'BS', - 'BH', - 'BD', - 'BB', - 'BY', - 'BE', - 'BZ', - 'BJ', - 'BM', - 'BT', - 'BO', - 'BA', - 'BW', - 'BV', - 'BR', - 'VG', - 'IO', - 'BN', - 'BG', - 'BF', - 'BI', - 'KH', - 'CM', - 'CA', - 'CV', - 'KY', - 'CF', - 'TD', - 'CL', - 'CN', - 'HK', - 'MO', - 'CX', - 'CC', - 'CO', - 'KM', - 'CG', - 'CD', - 'CK', - 'CR', - 'CI', - 'HR', - 'CU', - 'CY', - 'CZ', - 'DK', - 'DJ', - 'DM', - 'DO', - 'EC', - 'EG', - 'SV', - 'GQ', - 'ER', - 'EE', - 'ET', - 'FK', - 'FO', - 'FJ', - 'FI', - 'FR', - 'GF', - 'PF', - 'TF', - 'GA', - 'GM', - 'GE', - 'DE', - 'GH', - 'GI', - 'GR', - 'GL', - 'GD', - 'GP', - 'GU', - 'GT', - 'GG', - 'GN', - 'GW', - 'GY', - 'HT', - 'HM', - 'VA', - 'HN', - 'HU', - 'IS', - 'IN', - 'ID', - 'IR', - 'IQ', - 'IE', - 'IM', - 'IL', - 'IT', - 'JM', - 'JP', - 'JE', - 'JO', - 'KZ', - 'KE', - 'KI', - 'KP', - 'KR', - 'KW', - 'KG', - 'LA', - 'LV', - 'LB', - 'LS', - 'LR', - 'LY', - 'LI', - 'LT', - 'LU', - 'MK', - 'MG', - 'MW', - 'MY', - 'MV', - 'ML', - 'MT', - 'MH', - 'MQ', - 'MR', - 'MU', - 'YT', - 'MX', - 'FM', - 'MD', - 'MC', - 'MN', - 'ME', - 'MS', - 'MA', - 'MZ', - 'MM', - 'NA', - 'NR', - 'NP', - 'NL', - 'NC', - 'NZ', - 'NI', - 'NE', - 'NG', - 'NU', - 'NF', - 'MP', - 'NO', - 'OM', - 'PK', - 'PW', - 'PS', - 'PA', - 'PG', - 'PY', - 'PE', - 'PH', - 'PN', - 'PL', - 'PT', - 'PR', - 'QA', - 'RE', - 'RO', - 'RU', - 'RW', - 'BL', - 'SH', - 'KN', - 'LC', - 'MF', - 'SX', - 'PM', - 'VC', - 'WS', - 'SM', - 'ST', - 'SA', - 'SN', - 'RS', - 'SC', - 'SL', - 'SG', - 'SK', - 'SI', - 'SB', - 'SO', - 'ZA', - 'GS', - 'SS', - 'ES', - 'LK', - 'SD', - 'SR', - 'SJ', - 'SZ', - 'SE', - 'CH', - 'SY', - 'TW', - 'TJ', - 'TZ', - 'TH', - 'TL', - 'TG', - 'TK', - 'TO', - 'TT', - 'TN', - 'TR', - 'TM', - 'TC', - 'TV', - 'UG', - 'UA', - 'AE', - 'GB', - 'US', - 'UM', - 'UY', - 'UZ', - 'VU', - 'VE', - 'VN', - 'VI', - 'WF', - 'EH', - 'YE', - 'ZM', - 'ZW', - ], - }, - STATE: { - type: 'object', - properties: { - AL: { - type: 'string', - }, - AK: { - type: 'string', - }, - AS: { - type: 'string', - }, - AZ: { - type: 'string', - }, - AR: { - type: 'string', - }, - CA: { - type: 'string', - }, - CO: { - type: 'string', - }, - CT: { - type: 'string', - }, - DE: { - type: 'string', - }, - DC: { - type: 'string', - }, - FM: { - type: 'string', - }, - FL: { - type: 'string', - }, - GA: { - type: 'string', - }, - HI: { - type: 'string', - }, - ID: { - type: 'string', - }, - IL: { - type: 'string', - }, - IN: { - type: 'string', - }, - IA: { - type: 'string', - }, - KS: { - type: 'string', - }, - KY: { - type: 'string', - }, - LA: { - type: 'string', - }, - ME: { - type: 'string', - }, - MH: { - type: 'string', - }, - MD: { - type: 'string', - }, - MA: { - type: 'string', - }, - MI: { - type: 'string', - }, - MN: { - type: 'string', - }, - MS: { - type: 'string', - }, - MO: { - type: 'string', - }, - MT: { - type: 'string', - }, - NE: { - type: 'string', - }, - NV: { - type: 'string', - }, - NH: { - type: 'string', - }, - NJ: { - type: 'string', - }, - NM: { - type: 'string', - }, - NY: { - type: 'string', - }, - NC: { - type: 'string', - }, - ND: { - type: 'string', - }, - MP: { - type: 'string', - }, - OH: { - type: 'string', - }, - OK: { - type: 'string', - }, - OR: { - type: 'string', - }, - PA: { - type: 'string', - }, - RI: { - type: 'string', - }, - SC: { - type: 'string', - }, - SD: { - type: 'string', - }, - TN: { - type: 'string', - }, - TX: { - type: 'string', - }, - UT: { - type: 'string', - }, - VT: { - type: 'string', - }, - VI: { - type: 'string', - }, - VA: { - type: 'string', - }, - WA: { - type: 'string', - }, - WV: { - type: 'string', - }, - WI: { - type: 'string', - }, - WY: { - type: 'string', - }, - AA: { - type: 'string', - }, - AP: { - type: 'string', - }, - AE: { - type: 'string', - }, - }, - required: [ - 'AL', - 'AK', - 'AS', - 'AZ', - 'AR', - 'CA', - 'CO', - 'CT', - 'DE', - 'DC', - 'FM', - 'FL', - 'GA', - 'HI', - 'ID', - 'IL', - 'IN', - 'IA', - 'KS', - 'KY', - 'LA', - 'ME', - 'MH', - 'MD', - 'MA', - 'MI', - 'MN', - 'MS', - 'MO', - 'MT', - 'NE', - 'NV', - 'NH', - 'NJ', - 'NM', - 'NY', - 'NC', - 'ND', - 'MP', - 'OH', - 'OK', - 'OR', - 'PA', - 'RI', - 'SC', - 'SD', - 'TN', - 'TX', - 'UT', - 'VT', - 'VI', - 'VA', - 'WA', - 'WV', - 'WI', - 'WY', - 'AA', - 'AP', - 'AE', - ], - }, BUTTON: { type: 'object', properties: { @@ -1284,8 +46,6 @@ export const I18N_SCHEMA = { }, required: [ 'DATE_FORMAT', - 'COUNTRY', - 'STATE', 'BUTTON', 'TERMS_LINK_TEXT', 'COVERAGE_PERCENTAGE', @@ -1359,310 +119,12 @@ export const I18N_SCHEMA = { }, }, required: ['TITLE', 'VIEW_DETAILS', 'BUTTON', 'NO_OFFERS', 'LOADING'], - }, - CFAR_EXERCISE_FLOW: { - type: 'object', - properties: { - TITLE: { - type: 'string', - }, - SUBTITLE: { - type: 'string', - }, - DEADLINE_SENTENCE_1: { - type: 'string', - }, - DEADLINE_SENTENCE_2: { - type: 'string', - }, - TO: { - type: 'string', - }, - DEPARTURE: { - type: 'string', - }, - ARRIVAL: { - type: 'string', - }, - FLIGHT: { - type: 'string', - }, - PASSENGER: { - type: 'string', - }, - PASSENGERS: { - type: 'string', - }, - REFUND_DETAILS_TITLE: { - type: 'string', - }, - REFUND_WARNING_MESSAGE: { - type: 'string', - }, - HOPPER_REFUND: { - type: 'string', - }, - AIRLINE_REFUND: { - type: 'string', - }, - METHOD: { - type: 'string', - }, - AMOUNT: { - type: 'string', - }, - REFUND_METHOD: { - type: 'string', - }, - CHECK_VERIFICATION_TITLE: { - type: 'string', - }, - CHECK_VERIFICATION_TEXT: { - type: 'string', - }, - SEND_VERIFICATION_TITLE: { - type: 'string', - }, - SEND_VERIFICATION_TEXT: { - type: 'string', - }, - BUTTON: { - type: 'object', - properties: { - CANCEL: { - type: 'string', - }, - SUBMIT: { - type: 'string', - }, - BACK: { - type: 'string', - }, - CONTINUE: { - type: 'string', - }, - SEND_VERIFICATION_CODE: { - type: 'string', - }, - CHECK_VERIFICATION_CODE: { - type: 'string', - }, - RESEND_VERIFICATION_CODE: { - type: 'string', - }, - }, - required: [ - 'CANCEL', - 'SUBMIT', - 'BACK', - 'CONTINUE', - 'SEND_VERIFICATION_CODE', - 'CHECK_VERIFICATION_CODE', - 'RESEND_VERIFICATION_CODE', - ], - }, - NO_CONTRACT: { - type: 'string', - }, - LOADING: { - type: 'string', - }, - LOADING_HYPERWALLET: { - type: 'string', - }, - LOADING_HYPERWALLET_ERROR: { - type: 'string', - }, - STEP: { - type: 'object', - properties: { - FIRST: { - type: 'string', - }, - SECOND: { - type: 'string', - }, - THIRD: { - type: 'string', - }, - FOURTH: { - type: 'string', - }, - }, - required: ['FIRST', 'SECOND', 'THIRD', 'FOURTH'], - }, - FORM: { - type: 'object', - properties: { - VERIFICATION_CODE: { - type: 'string', - }, - VERIFICATION_CODE_ERROR: { - type: 'string', - }, - PERSONAL_INFORMATION: { - type: 'string', - }, - FIRST_NAME: { - type: 'string', - }, - FIRST_NAME_ERROR: { - type: 'string', - }, - MIDDLE_NAME: { - type: 'string', - }, - LAST_NAME: { - type: 'string', - }, - LAST_NAME_ERROR: { - type: 'string', - }, - DATE_OF_BIRTH: { - type: 'string', - }, - DATE_OF_BIRTH_ERROR: { - type: 'string', - }, - HOME_ADDRESS: { - type: 'string', - }, - ADDRESS_LINE_1: { - type: 'string', - }, - ADDRESS_LINE_1_ERROR: { - type: 'string', - }, - ADDRESS_LINE_2: { - type: 'string', - }, - CITY: { - type: 'string', - }, - CITY_ERROR: { - type: 'string', - }, - COUNTRY: { - type: 'string', - }, - COUNTRY_ERROR: { - type: 'string', - }, - STATE: { - type: 'string', - }, - STATE_ERROR: { - type: 'string', - }, - ZIP: { - type: 'string', - }, - ZIP_ERROR: { - type: 'string', - }, - }, - required: [ - 'VERIFICATION_CODE', - 'VERIFICATION_CODE_ERROR', - 'PERSONAL_INFORMATION', - 'FIRST_NAME', - 'FIRST_NAME_ERROR', - 'MIDDLE_NAME', - 'LAST_NAME', - 'LAST_NAME_ERROR', - 'DATE_OF_BIRTH', - 'DATE_OF_BIRTH_ERROR', - 'HOME_ADDRESS', - 'ADDRESS_LINE_1', - 'ADDRESS_LINE_1_ERROR', - 'ADDRESS_LINE_2', - 'CITY', - 'CITY_ERROR', - 'COUNTRY', - 'COUNTRY_ERROR', - 'STATE', - 'STATE_ERROR', - 'ZIP', - 'ZIP_ERROR', - ], - }, - CONFIRMATION_MESSAGE_1: { - type: 'string', - }, - CONFIRMATION_MESSAGE_2: { - type: 'string', - }, - REFUND_DETAILS: { - type: 'string', - }, - PASSENGER_TYPE: { - type: 'object', - properties: { - ADULT: { - type: 'string', - }, - CHILD: { - type: 'string', - }, - SEATED_INFANT: { - type: 'string', - }, - LAP_INFANT: { - type: 'string', - }, - }, - required: ['ADULT', 'CHILD', 'SEATED_INFANT', 'LAP_INFANT'], - }, - CONTRACT_ALREADY_REFUNDED: { - type: 'string', - }, - BANK_ACCOUNT_INFO: { - type: 'string', - }, - }, - required: [ - 'TITLE', - 'SUBTITLE', - 'DEADLINE_SENTENCE_1', - 'DEADLINE_SENTENCE_2', - 'TO', - 'DEPARTURE', - 'ARRIVAL', - 'FLIGHT', - 'PASSENGER', - 'PASSENGERS', - 'REFUND_DETAILS_TITLE', - 'REFUND_WARNING_MESSAGE', - 'HOPPER_REFUND', - 'AIRLINE_REFUND', - 'METHOD', - 'AMOUNT', - 'REFUND_METHOD', - 'CHECK_VERIFICATION_TITLE', - 'CHECK_VERIFICATION_TEXT', - 'SEND_VERIFICATION_TITLE', - 'SEND_VERIFICATION_TEXT', - 'BUTTON', - 'NO_CONTRACT', - 'LOADING', - 'LOADING_HYPERWALLET', - 'LOADING_HYPERWALLET_ERROR', - 'STEP', - 'FORM', - 'CONFIRMATION_MESSAGE_1', - 'CONFIRMATION_MESSAGE_2', - 'REFUND_DETAILS', - 'PASSENGER_TYPE', - 'CONTRACT_ALREADY_REFUNDED', - 'BANK_ACCOUNT_INFO', - ], - }, + } }, required: [ 'COMMON', 'CFAR_OFFER_BANNER', 'CFAR_OFFER_BANNER_LARGE', - 'CFAR_OFFER_DIALOG', - 'CFAR_EXERCISE_FLOW', + 'CFAR_OFFER_DIALOG' ], }; diff --git a/projects/angular-sdk/src/i18n/locales/en.json b/projects/angular-sdk/src/i18n/locales/en.json index 968455c..26e03ff 100644 --- a/projects/angular-sdk/src/i18n/locales/en.json +++ b/projects/angular-sdk/src/i18n/locales/en.json @@ -5,316 +5,6 @@ "DATE": "ddMMM", "HOUR_AND_DATE": "EEEE, MMMM d, y, h:mm a z" }, - "COUNTRY": { - "AF": "Afghanistan", - "AX": "Åland Islands", - "AL": "Albania", - "DZ": "Algeria", - "AS": "American Samoa", - "AD": "Andorra", - "AO": "Angola", - "AI": "Anguilla", - "AQ": "Antarctica", - "AG": "Antigua and Barbuda", - "AR": "Argentina", - "AM": "Armenia", - "AW": "Aruba", - "AU": "Australia", - "AT": "Austria", - "AZ": "Azerbaijan", - "BS": "Bahamas", - "BH": "Bahrain", - "BD": "Bangladesh", - "BB": "Barbados", - "BY": "Belarus", - "BE": "Belgium", - "BZ": "Belize", - "BJ": "Benin", - "BM": "Bermuda", - "BT": "Bhutan", - "BO": "Bolivia", - "BA": "Bosnia and Herzegovina", - "BW": "Botswana", - "BV": "Bouvet Island", - "BR": "Brazil", - "VG": "British Virgin Islands", - "IO": "British Indian Ocean Territory", - "BN": "Brunei Darussalam", - "BG": "Bulgaria", - "BF": "Burkina Faso", - "BI": "Burundi", - "KH": "Cambodia", - "CM": "Cameroon", - "CA": "Canada", - "CV": "Cape Verde", - "KY": "Cayman Islands", - "CF": "Central African Republic", - "TD": "Chad", - "CL": "Chile", - "CN": "China", - "HK": "Hong Kong", - "MO": "Macau", - "CX": "Christmas Island", - "CC": "Cocos Islands", - "CO": "Colombia", - "KM": "Comoros", - "CG": "Republic of the Congo", - "CD": "Democratic Republic of the Congo", - "CK": "Cook Islands", - "CR": "Costa Rica", - "CI": "Ivory Coast", - "HR": "Croatia", - "CU": "Cuba", - "CY": "Cyprus", - "CZ": "Czech Republic", - "DK": "Denmark", - "DJ": "Djibouti", - "DM": "Dominica", - "DO": "Dominican Republic", - "EC": "Equator", - "EG": "Egypt", - "SV": "Salvador", - "GQ": "Equatorial Guinea", - "ER": "Eritrea", - "EE": "Estonia", - "ET": "Ethiopia", - "FK": "Falkland Islands", - "FO": "Faroe Islands", - "FJ": "Fiji", - "FI": "Finland", - "FR": "France", - "GF": "French Guiana", - "PF": "French Polynesia", - "TF": "French Southern and Antarctic Lands", - "GA": "Gabon", - "GM": "Gambia", - "GE": "Georgia", - "DE": "Germany", - "GH": "Ghana", - "GI": "Gibraltar", - "GR": "Greece", - "GL": "Greenland", - "GD": "Grenada", - "GP": "Guadeloupe", - "GU": "Guam", - "GT": "Guatemala", - "GG": "Guernsey", - "GN": "Guinea", - "GW": "Guinea-Bissau", - "GY": "Guyana", - "HT": "Haiti", - "HM": "Heard and MacDonald Islands", - "VA": "Holy See (Vatican)", - "HN": "Honduras", - "HU": "Hungary", - "IS": "Iceland", - "IN": "India", - "ID": "Indonesia", - "IR": "Iran", - "IQ": "Iraq", - "IE": "Ireland", - "IM": "Isle of Man", - "IL": "Israel", - "IT": "Italy", - "JM": "Jamaica", - "JP": "Japan", - "JE": "Jersey", - "JO": "Jordan", - "KZ": "Kazakhstan", - "KE": "Kenya", - "KI": "Kiribati", - "KP": "North Korea", - "KR": "South Korea", - "KW": "Kuwait", - "KG": "Kyrgyzstan", - "LA": "Laos", - "LV": "Latvia", - "LB": "Lebanon", - "LS": "Lesotho", - "LR": "Liberia", - "LY": "Libya", - "LI": "Liechtenstein", - "LT": "Lithuania", - "LU": "Luxembourg", - "MK": "Macedonia", - "MG": "Madagascar", - "MW": "Malawi", - "MY": "Malaysia", - "MV": "Maldives", - "ML": "Mali", - "MT": "Malta", - "MH": "Marshall Islands", - "MQ": "Martinique", - "MR": "Mauritania", - "MU": "Mauritius", - "YT": "Mayotte", - "MX": "Mexico", - "FM": "Micronesia", - "MD": "Moldova", - "MC": "Monaco", - "MN": "Mongolia", - "ME": "Montenegro", - "MS": "Montserrat", - "MA": "Morocco", - "MZ": "Mozambique", - "MM": "Myanmar", - "NA": "Namibia", - "NR": "Nauru", - "NP": "Nepal", - "NL": "Netherlands", - "NC": "New Caledonia", - "NZ": "New Zealand", - "NI": "Nicaragua", - "NE": "Niger", - "NG": "Nigeria", - "NU": "Niue", - "NF": "Norfolk Island", - "MP": "Northern Mariana Islands", - "NO": "Norway", - "OM": "Oman", - "PK": "Pakistan", - "PW": "Palau", - "PS": "Palestine", - "PA": "Panama", - "PG": "Papua New Guinea", - "PY": "Paraguay", - "PE": "Peru", - "PH": "Philippines", - "PN": "Pitcairn", - "PL": "Poland", - "PT": "Portugal", - "PR": "Puerto Rico", - "QA": "Qatar", - "RE": "Reunion", - "RO": "Romania", - "RU": "Russia", - "RW": "Rwanda", - "BL": "Saint-Barthélemy", - "SH": "Saint Helena", - "KN": "Saint Kitts and Nevis", - "LC": "Saint Lucia", - "MF": "Saint-Martin (French part)", - "SX": "Saint-Martin (Dutch part)", - "PM": "Saint Pierre and Miquelon", - "VC": "Saint Vincent and the Grenadines", - "WS": "Samoa", - "SM": "San Marino", - "ST": "Sao Tome and Principe", - "SA": "Saudi Arabia", - "SN": "Senegal", - "RS": "Serbia", - "SC": "Seychelles", - "SL": "Sierra Leone", - "SG": "Singapore", - "SK": "Slovakia", - "SI": "Slovenia", - "SB": "Solomon Islands", - "SO": "Somalia", - "ZA": "South Africa", - "GS": "South Georgia and the South Sandwich Islands", - "SS": "South Sudan", - "ES": "Spain", - "LK": "Sri Lanka", - "SD": "Sudan", - "SR": "Suriname", - "SJ": "Svalbard and Jan Mayen", - "SZ": "Eswatini", - "SE": "Sweden", - "CH": "Switzerland", - "SY": "Syria", - "TW": "Taiwan", - "TJ": "Tajikistan", - "TZ": "Tanzania", - "TH": "Thailand", - "TL": "Timor-Leste", - "TG": "Togo", - "TK": "Tokelau", - "TO": "Tonga", - "TT": "Trinidad and Tobago", - "TN": "Tunisia", - "TR": "Turkey", - "TM": "Turkmenistan", - "TC": "Turks and Caicos Islands", - "TV": "Tuvalu", - "UG": "Uganda", - "UA": "Ukraine", - "AE": "United Arab Emirates", - "GB": "United Kingdom", - "US": "United States", - "UM": "Minor Outlying Islands of the United States", - "UY": "Uruguay", - "UZ": "Uzbekistan", - "VU": "Vanuatu", - "VE": "Venezuela", - "VN": "Vietnam", - "VI": "US Virgin Islands", - "WF": "Wallis and Futuna", - "EH": "Western Sahara", - "YE": "Yemen", - "ZM": "Zambia", - "ZW": "Zimbabwe" - }, - "STATE": { - "AL": "Alabama", - "AK": "Alaska", - "AS": "American Samoa", - "AZ": "Arizona", - "AR": "Arkansas", - "CA": "California", - "CO": "Colorado", - "CT": "Connecticut", - "DE": "Delaware", - "DC": "Washington, D.C.", - "FM": "Federated States of Micronesia", - "FL": "Florida", - "GA": "Georgia", - "HI": "Hawaii", - "ID": "Idaho", - "IL": "Illinois", - "IN": "Indiana", - "IA": "Iowa", - "KS": "Kansas", - "KY": "Kentucky", - "LA": "Louisiana", - "ME": "Maine", - "MH": "Marshall Islands", - "MD": "Maryland", - "MA": "Massachusetts", - "MI": "Michigan", - "MN": "Minnesota", - "MS": "Mississippi", - "MO": "Missouri", - "MT": "Montana", - "NE": "Nebraska", - "NV": "Nevada", - "NH": "New Hampshire", - "NJ": "New Jersey", - "NM": "New Mexico", - "NY": "New York", - "NC": "North Carolina", - "ND": "North Dakota", - "MP": "Northern Mariana Islands", - "OH": "Ohio", - "OK": "Oklahoma", - "OR": "Oregon", - "PA": "Pennsylvania", - "RI": "Rhode Island", - "SC": "South Carolina", - "SD": "South Dakota", - "TN": "Tennessee", - "TX": "Texas", - "UT": "Utah", - "VT": "Vermont", - "VI": "United States Virgin Islands", - "VA": "Virginia", - "WA": "Washington", - "WV": "West Virginia", - "WI": "Wisconsin", - "WY": "Wyoming", - "AA": "Armed Forces Americas", - "AP": "Armed Forces Pacific", - "AE": "Armed Forces Europe" - }, "BUTTON": { "CLOSE": "Close" }, @@ -345,82 +35,5 @@ }, "NO_OFFERS": "No offer available", "LOADING": "Loading offers in progress..." - }, - "CFAR_EXERCISE_FLOW": { - "TITLE": "Cancel your flight booking with HTS", - "SUBTITLE": "Cancel For Any Reason", - "DEADLINE_SENTENCE_1": "You have purchased a Cancel For Any Reason policy with your booking which enables you to cancel your booking free of charge until ", - "DEADLINE_SENTENCE_2": "Don't forget that the cancellation is only possible for the entire trip and all the passengers in the booking. Based on your coverage amount, you will be refunded of a total of {{ amount }}.", - "TO": " to ", - "DEPARTURE": "Departure:", - "ARRIVAL": "Arrival:", - "FLIGHT": "Flight:", - "PASSENGER": "{{ nbPassenger }} passenger", - "PASSENGERS": "{{ nbPassenger }} passengers", - "REFUND_DETAILS_TITLE": "Refund details", - "REFUND_WARNING_MESSAGE": "If you are sure you want to proceed to the cancellation and get your refund, please continue.", - "HOPPER_REFUND": "HTS refund", - "AIRLINE_REFUND": "Airline refund", - "METHOD": "Method:", - "AMOUNT": "Airline:", - "REFUND_METHOD": "Refund method", - "CHECK_VERIFICATION_TITLE": "Identity verification", - "CHECK_VERIFICATION_TEXT": "In order to verify your identity, we will send a code to your email address (the one used when booking your flight).", - "SEND_VERIFICATION_TITLE": "Identity verification", - "SEND_VERIFICATION_TEXT": "We just sent an email with a verification code to {{email}}. Please enter that code below", - "BUTTON": { - "CANCEL": "Cancel", - "SUBMIT": "Yes, cancel flight", - "BACK": "Back", - "CONTINUE": "Continue", - "SEND_VERIFICATION_CODE": "Send", - "CHECK_VERIFICATION_CODE": "Check", - "RESEND_VERIFICATION_CODE": "Resend a code" - }, - "NO_CONTRACT": "No contract available", - "LOADING": "Loading in progress...", - "LOADING_HYPERWALLET": "Loading in progress...", - "LOADING_HYPERWALLET_ERROR": "An error occurred, please contact our customer support via this form.", - "STEP": { - "FIRST": "Booking summary", - "SECOND": "General information", - "THIRD": "Payment information", - "FOURTH": "Confirmation" - }, - "FORM": { - "VERIFICATION_CODE": "Verification code", - "VERIFICATION_CODE_ERROR": "A verification code is required and must contain 6 numbers.", - "PERSONAL_INFORMATION": "Personal Information", - "FIRST_NAME": "First name", - "FIRST_NAME_ERROR": "First name is required", - "MIDDLE_NAME": "Middle name (optional)", - "LAST_NAME": "Last name", - "LAST_NAME_ERROR": "Last name is required", - "DATE_OF_BIRTH": "Date of birth", - "DATE_OF_BIRTH_ERROR": "Date of birth is required", - "HOME_ADDRESS": "Home Address", - "ADDRESS_LINE_1": "Address line 1", - "ADDRESS_LINE_1_ERROR": "Address line 1 is required", - "ADDRESS_LINE_2": "Address line 2 (optional)", - "CITY": "City", - "CITY_ERROR": "City is required", - "COUNTRY": "Country", - "COUNTRY_ERROR": "Country is required", - "STATE": "State/Province", - "STATE_ERROR": "State/Province is required", - "ZIP": "Zip/Postal Code", - "ZIP_ERROR": "Zip/Postal Code is required" - }, - "CONFIRMATION_MESSAGE_1": "Don't close this page, your refund request is being processed", - "CONFIRMATION_MESSAGE_2": "Once processed, you will receive a confirmation on your email address {{ userEmail }}", - "REFUND_DETAILS": "{{ amount }}", - "PASSENGER_TYPE": { - "ADULT": "Adult", - "CHILD": "Child", - "SEATED_INFANT": "Seated infant", - "LAP_INFANT": "Lap infant" - }, - "CONTRACT_ALREADY_REFUNDED": "Your cancellation request has already been taken into account and your refund is in progress. If you need help, you may contact our customer support team via this form.", - "BANK_ACCOUNT_INFO": "Please choose a transfer method for the refund." } } diff --git a/projects/angular-sdk/src/i18n/locales/fr.json b/projects/angular-sdk/src/i18n/locales/fr.json index a1878fd..ff9e091 100644 --- a/projects/angular-sdk/src/i18n/locales/fr.json +++ b/projects/angular-sdk/src/i18n/locales/fr.json @@ -5,316 +5,6 @@ "DATE": "ddMMM", "HOUR_AND_DATE": "EEEE d MMMM y à H:mm z" }, - "COUNTRY": { - "AF": "Afghanistan", - "AX": "Îles Åland", - "AL": "Albanie", - "DZ": "Algérie", - "AS": "Samoa américaines", - "AD": "Andorre", - "AO": "Angola", - "AI": "Anguilla", - "AQ": "Antarctique", - "AG": "Antigua-et-Barbuda", - "AR": "Argentine", - "AM": "Arménie", - "AW": "Aruba", - "AU": "Australie", - "AT": "Autriche", - "AZ": "Azerbaïdjan", - "BS": "Bahamas", - "BH": "Bahreïn", - "BD": "Bangladesh", - "BB": "Barbade", - "BY": "Biélorussie", - "BE": "Belgique", - "BZ": "Belize", - "BJ": "Bénin", - "BM": "Bermudes", - "BT": "Bhoutan", - "BO": "Bolivie", - "BA": "Bosnie-Herzégovine", - "BW": "Botswana", - "BV": "Île Bouvet", - "BR": "Brésil", - "VG": "British Virgin Islands", - "IO": "Territoire britannique de l’Océan Indien", - "BN": "Brunei Darussalam", - "BG": "Bulgarie", - "BF": "Burkina Faso", - "BI": "Burundi", - "KH": "Cambodge", - "CM": "Cameroun", - "CA": "Canada", - "CV": "Cap-Vert", - "KY": "Iles Cayman", - "CF": "République centrafricaine", - "TD": "Tchad", - "CL": "Chili", - "CN": "Chine", - "HK": "Hong Kong", - "MO": "Macao", - "CX": "Île Christmas", - "CC": "Îles Cocos", - "CO": "Colombie", - "KM": "Comores", - "CG": "République du Congo", - "CD": "République démocratique du Congo", - "CK": "Îles Cook", - "CR": "Costa Rica", - "CI": "Côte d’Ivoire", - "HR": "Croatie", - "CU": "Cuba", - "CY": "Chypre", - "CZ": "République tchèque", - "DK": "Danemark", - "DJ": "Djibouti", - "DM": "Dominique", - "DO": "République dominicaine", - "EC": "Équateur", - "EG": "Égypte", - "SV": "Salvador", - "GQ": "Guinée équatoriale", - "ER": "Érythrée", - "EE": "Estonie", - "ET": "Éthiopie", - "FK": "Îles Falkland", - "FO": "Îles Féroé", - "FJ": "Fidji", - "FI": "Finlande", - "FR": "France", - "GF": "Guyane française", - "PF": "Polynésie française", - "TF": "Terres australes et antarctiques françaises", - "GA": "Gabon", - "GM": "Gambie", - "GE": "Géorgie", - "DE": "Allemagne", - "GH": "Ghana", - "GI": "Gibraltar", - "GR": "Grèce", - "GL": "Groenland", - "GD": "Grenade", - "GP": "Guadeloupe", - "GU": "Guam", - "GT": "Guatemala", - "GG": "Guernesey", - "GN": "Guinée", - "GW": "Guinée-Bissau", - "GY": "Guyane", - "HT": "Haïti", - "HM": "Îles Heard-et-MacDonald", - "VA": "Saint-Siège (Vatican)", - "HN": "Honduras", - "HU": "Hongrie", - "IS": "Islande", - "IN": "Inde", - "ID": "Indonésie", - "IR": "Iran", - "IQ": "Irak", - "IE": "Irlande", - "IM": "Ile de Man", - "IL": "Israël", - "IT": "Italie", - "JM": "Jamaïque", - "JP": "Japon", - "JE": "Jersey", - "JO": "Jordanie", - "KZ": "Kazakhstan", - "KE": "Kenya", - "KI": "Kiribati", - "KP": "Corée du Nord", - "KR": "Corée du Sud", - "KW": "Koweït", - "KG": "Kirghizistan", - "LA": "Laos", - "LV": "Lettonie", - "LB": "Liban", - "LS": "Lesotho", - "LR": "Libéria", - "LY": "Libye", - "LI": "Liechtenstein", - "LT": "Lituanie", - "LU": "Luxembourg", - "MK": "Macédoine", - "MG": "Madagascar", - "MW": "Malawi", - "MY": "Malaisie", - "MV": "Maldives", - "ML": "Mali", - "MT": "Malte", - "MH": "Îles Marshall", - "MQ": "Martinique", - "MR": "Mauritanie", - "MU": "Maurice", - "YT": "Mayotte", - "MX": "Mexique", - "FM": "Micronésie", - "MD": "Moldavie", - "MC": "Monaco", - "MN": "Mongolie", - "ME": "Monténégro", - "MS": "Montserrat", - "MA": "Maroc", - "MZ": "Mozambique", - "MM": "Myanmar", - "NA": "Namibie", - "NR": "Nauru", - "NP": "Népal", - "NL": "Pays-Bas", - "NC": "Nouvelle-Calédonie", - "NZ": "Nouvelle-Zélande", - "NI": "Nicaragua", - "NE": "Niger", - "NG": "Nigeria", - "NU": "Niue", - "NF": "Île Norfolk", - "MP": "Îles Mariannes du Nord", - "NO": "Norvège", - "OM": "Oman", - "PK": "Pakistan", - "PW": "Palau", - "PS": "Palestine", - "PA": "Panama", - "PG": "Papouasie-Nouvelle-Guinée", - "PY": "Paraguay", - "PE": "Pérou", - "PH": "Philippines", - "PN": "Pitcairn", - "PL": "Pologne", - "PT": "Portugal", - "PR": "Puerto Rico", - "QA": "Qatar", - "RE": "Réunion", - "RO": "Roumanie", - "RU": "Russie", - "RW": "Rwanda", - "BL": "Saint-Barthélemy", - "SH": "Sainte-Hélène", - "KN": "Saint-Kitts-et-Nevis", - "LC": "Sainte-Lucie", - "MF": "Saint-Martin (partie française)", - "SX": "Saint-Martin (partie néerlandaise)", - "PM": "Saint-Pierre-et-Miquelon", - "VC": "Saint-Vincent-et-les Grenadines", - "WS": "Samoa", - "SM": "Saint-Marin", - "ST": "Sao Tomé-et-Principe", - "SA": "Arabie Saoudite", - "SN": "Sénégal", - "RS": "Serbie", - "SC": "Seychelles", - "SL": "Sierra Leone", - "SG": "Singapour", - "SK": "Slovaquie", - "SI": "Slovénie", - "SB": "Îles Salomon", - "SO": "Somalie", - "ZA": "Afrique du Sud", - "GS": "Géorgie du Sud et les îles Sandwich du Sud", - "SS": "Sud-Soudan", - "ES": "Espagne", - "LK": "Sri Lanka", - "SD": "Soudan", - "SR": "Suriname", - "SJ": "Svalbard et Jan Mayen", - "SZ": "Eswatini", - "SE": "Suède", - "CH": "Suisse", - "SY": "Syrie", - "TW": "Taiwan", - "TJ": "Tadjikistan", - "TZ": "Tanzanie", - "TH": "Thaïlande", - "TL": "Timor-Leste", - "TG": "Togo", - "TK": "Tokelau", - "TO": "Tonga", - "TT": "Trinité-et-Tobago", - "TN": "Tunisie", - "TR": "Turquie", - "TM": "Turkménistan", - "TC": "Îles Turques-et-Caïques", - "TV": "Tuvalu", - "UG": "Ouganda", - "UA": "Ukraine", - "AE": "Émirats Arabes Unis", - "GB": "Royaume-Uni", - "US": "États-Unis", - "UM": "Îles mineures éloignées des États-Unis", - "UY": "Uruguay", - "UZ": "Ouzbékistan", - "VU": "Vanuatu", - "VE": "Venezuela", - "VN": "Viêt Nam", - "VI": "Îles Vierges américaines", - "WF": "Wallis-et-Futuna", - "EH": "Sahara occidental", - "YE": "Yémen", - "ZM": "Zambie", - "ZW": "Zimbabwe" - }, - "STATE": { - "AL": "Alabama", - "AK": "Alaska", - "AS": "American Samoa", - "AZ": "Arizona", - "AR": "Arkansas", - "CA": "California", - "CO": "Colorado", - "CT": "Connecticut", - "DE": "Delaware", - "DC": "Washington, D.C.", - "FM": "Federated States of Micronesia", - "FL": "Florida", - "GA": "Georgia", - "HI": "Hawaii", - "ID": "Idaho", - "IL": "Illinois", - "IN": "Indiana", - "IA": "Iowa", - "KS": "Kansas", - "KY": "Kentucky", - "LA": "Louisiana", - "ME": "Maine", - "MH": "Marshall Islands", - "MD": "Maryland", - "MA": "Massachusetts", - "MI": "Michigan", - "MN": "Minnesota", - "MS": "Mississippi", - "MO": "Missouri", - "MT": "Montana", - "NE": "Nebraska", - "NV": "Nevada", - "NH": "New Hampshire", - "NJ": "New Jersey", - "NM": "New Mexico", - "NY": "New York", - "NC": "North Carolina", - "ND": "North Dakota", - "MP": "Northern Mariana Islands", - "OH": "Ohio", - "OK": "Oklahoma", - "OR": "Oregon", - "PA": "Pennsylvania", - "RI": "Rhode Island", - "SC": "South Carolina", - "SD": "South Dakota", - "TN": "Tennessee", - "TX": "Texas", - "UT": "Utah", - "VT": "Vermont", - "VI": "United States Virgin Islands", - "VA": "Virginia", - "WA": "Washington", - "WV": "West Virginia", - "WI": "Wisconsin", - "WY": "Wyoming", - "AA": "Armed Forces Americas", - "AP": "Armed Forces Pacific", - "AE": "Armed Forces Europe" - }, "BUTTON": { "CLOSE": "Fermer" }, @@ -345,82 +35,5 @@ }, "NO_OFFERS": "Aucune offre disponible", "LOADING": "Chargement des offres en cours..." - }, - "CFAR_EXERCISE_FLOW": { - "TITLE": "Annulez votre réservation de vol avec HTS", - "SUBTITLE": "Annulation sans motif", - "DEADLINE_SENTENCE_1": "Vous avez acheté la politique Annulation sans motif avec votre réservation qui vous permet de l'annuler sans frais jusqu'au ", - "DEADLINE_SENTENCE_2": "N'oubliez pas qu'il est seulement possible d'annuler l'ensemble du voyage et tous les passagers inclus dans la réservation. En fonction du montant de votre couverture, votre remboursement sera basé sur un total de {{ amount }}.", - "TO": " à ", - "DEPARTURE": "Départ :", - "ARRIVAL": "Arrivée :", - "FLIGHT": "Vol :", - "PASSENGER": "{{ nbPassenger }} passager", - "PASSENGERS": "{{ nbPassenger }} passagers", - "REFUND_DETAILS_TITLE": "Détails du remboursement", - "REFUND_WARNING_MESSAGE": "Si vous voulez vraiment procéder à l'annulation et vous faire rembourser, veuillez continuer.", - "HOPPER_REFUND": "Remboursement de la part de HTS", - "AIRLINE_REFUND": "Remboursement de la compagnie aérienne", - "METHOD": "Mode :", - "AMOUNT": "Compagnie aérienne :", - "REFUND_METHOD": "Mode de remboursement", - "CHECK_VERIFICATION_TITLE": "Vérification de l'identité", - "CHECK_VERIFICATION_TEXT": "Afin de vérifier votre identité, nous vous enverrons un code à votre adresse courriel (celle utilisée lors de la réservation de votre vol).", - "SEND_VERIFICATION_TITLE": "Vérification de l'identité", - "SEND_VERIFICATION_TEXT": "Nous venons d'envoyer un courriel contenant un code de vérification à l'adresse {{email}}. Veuillez entrer le code ci-dessous", - "BUTTON": { - "CANCEL": "Annuler", - "SUBMIT": "Oui, annuler le vol", - "BACK": "Retour", - "CONTINUE": "Continuer", - "SEND_VERIFICATION_CODE": "Envoyer", - "CHECK_VERIFICATION_CODE": "Vérifier", - "RESEND_VERIFICATION_CODE": "Renvoyer un code" - }, - "NO_CONTRACT": "Aucun contrat disponible", - "LOADING": "Chargement en cours...", - "LOADING_HYPERWALLET": "Chargement en cours...", - "LOADING_HYPERWALLET_ERROR": "Une erreur s'est produite, veuillez utiliser ce formulaire pour contacter notre service à la clientèle.", - "STEP": { - "FIRST": "Récapitulatif de la réservation", - "SECOND": "Informations générales", - "THIRD": "Informations de paiement", - "FOURTH": "Confirmation" - }, - "FORM": { - "VERIFICATION_CODE": "Code de vérification", - "VERIFICATION_CODE_ERROR": "Vous devez entrer un code de vérification et il doit être composé de six chiffres.", - "PERSONAL_INFORMATION": "Renseignements personnels", - "FIRST_NAME": "Prénom", - "FIRST_NAME_ERROR": "Vous devez entrer un prénom", - "MIDDLE_NAME": "Second prénom (facultatif)", - "LAST_NAME": "Nom de famille", - "LAST_NAME_ERROR": "Vous devez entrer un nom de famille", - "DATE_OF_BIRTH": "Date de naissance", - "DATE_OF_BIRTH_ERROR": "Vous devez entrer une date de naissance", - "HOME_ADDRESS": "Adresse du domicile", - "ADDRESS_LINE_1": "Adresse, ligne 1", - "ADDRESS_LINE_1_ERROR": "Vous devez entrer la ligne 1 de l'adresse", - "ADDRESS_LINE_2": "Adresse, ligne 2 (facultatif)", - "CITY": "Ville", - "CITY_ERROR": "Vous devez entrer la ville", - "COUNTRY": "Pays", - "COUNTRY_ERROR": "Vous devez entrer le pays", - "STATE": "État ou province", - "STATE_ERROR": "Vous devez entrer l'État ou la province", - "ZIP": "Code postal", - "ZIP_ERROR": "Vous devez entrer le code postal" - }, - "CONFIRMATION_MESSAGE_1": "Ne fermez pas cette page, votre demande de remboursement est en cours de traitement.", - "CONFIRMATION_MESSAGE_2": "Une fois traitée, vous recevrez une confirmation à votre adresse courriel {{ userEmail }}.", - "REFUND_DETAILS": "{{ amount }}", - "PASSENGER_TYPE": { - "ADULT": "Adulte", - "CHILD": "Enfant", - "SEATED_INFANT": "Bébé assis", - "LAP_INFANT": "Bébé sur les genoux" - }, - "CONTRACT_ALREADY_REFUNDED": "Votre demande d'annulation a déjà été reçue et votre remboursement est en cours de traitement. Si vous avez besoin d'aide, vous pouvez utiliser ce formulaire pour contacter notre équipe du service à la clientèle.", - "BANK_ACCOUNT_INFO": "Veuillez choisir un mode de versement pour le remboursement." } } diff --git a/projects/angular-sdk/src/i18n/locales/zh.json b/projects/angular-sdk/src/i18n/locales/zh.json index 84e9180..68a1a47 100644 --- a/projects/angular-sdk/src/i18n/locales/zh.json +++ b/projects/angular-sdk/src/i18n/locales/zh.json @@ -5,316 +5,6 @@ "DATE": "ddMMM", "HOUR_AND_DATE": "EEEE, MMMM d, y, h:mm a z" }, - "COUNTRY": { - "AF": "阿富汗", - "AX": "奥兰群岛", - "AL": "阿尔巴尼亚", - "DZ": "阿尔及利亚", - "AS": "美属萨摩亚", - "AD": "安道尔", - "AO": "安哥拉", - "AI": "安圭拉", - "AQ": "南极洲", - "AG": "安提瓜和巴布达", - "AR": "阿根廷", - "AM": "亚美尼亚", - "AW": "阿鲁巴", - "AU": "澳大利亚", - "AT": "奥地利", - "AZ": "阿塞拜疆", - "BS": "巴哈马", - "BH": "巴林", - "BD": "孟加拉国", - "BB": "巴巴多斯", - "BY": "白俄罗斯", - "BE": "比利时", - "BZ": "伯利兹", - "BJ": "贝宁", - "BM": "百慕大", - "BT": "不丹", - "BO": "玻利维亚", - "BA": "波斯尼亚和黑塞哥维那", - "BW": "博茨瓦纳", - "BV": "布维岛", - "BR": "巴西", - "VG": "英属维尔京群岛", - "IO": "英属印度洋领地", - "BN": "文莱达鲁萨兰国", - "BG": "保加利亚", - "BF": "布基纳法索", - "BI": "布隆迪", - "KH": "柬埔寨", - "CM": "喀麦隆", - "CA": "加拿大", - "CV": "佛得角", - "KY": "开曼群岛", - "CF": "中非共和国", - "TD": "乍得", - "CL": "智利", - "CN": "中国", - "HK": "香港", - "MO": "澳门", - "CX": "圣诞岛", - "CC": "科科斯群岛", - "CO": "哥伦比亚", - "KM": "科摩罗", - "CG": "刚果共和国", - "CD": "刚果民主共和国", - "CK": "库克群岛", - "CR": "哥斯达黎加", - "CI": "象牙海岸", - "HR": "克罗地亚", - "CU": "古巴", - "CY": "塞浦路斯", - "CZ": "捷克共和国", - "DK": "丹麦", - "DJ": "吉布提", - "DM": "多米尼克", - "DO": "多米尼加共和国", - "EC": "赤道", - "EG": "埃及", - "SV": "萨尔瓦多", - "GQ": "赤道几内亚", - "ER": "厄立特里亚", - "EE": "爱沙尼亚", - "ET": "埃塞俄比亚", - "FK": "福克兰群岛", - "FO": "法罗群岛", - "FJ": "斐济", - "FI": "芬兰", - "FR": "法国", - "GF": "法属圭亚那", - "PF": "法属波利尼西亚", - "TF": "法属南部和南极土地", - "GA": "加蓬", - "GM": "冈比亚", - "GE": "格鲁吉亚", - "DE": "德国", - "GH": "加纳", - "GI": "直布罗陀", - "GR": "希腊", - "GL": "格陵兰", - "GD": "格林纳达", - "GP": "瓜德罗普", - "GU": "关岛", - "GT": "危地马拉", - "GG": "根西岛", - "GN": "几内亚", - "GW": "几内亚比绍", - "GY": "圭亚那", - "HT": "海地", - "HM": "赫德和麦克唐纳群岛", - "VA": "教廷(梵蒂冈)", - "HN": "洪都拉斯", - "HU": "匈牙利", - "IS": "冰岛", - "IN": "印度", - "ID": "印度尼西亚", - "IR": "伊朗", - "IQ": "伊拉克", - "IE": "爱尔兰", - "IM": "马恩岛", - "IL": "以色列", - "IT": "意大利", - "JM": "牙买加", - "JP": "日本", - "JE": "泽西", - "JO": "乔丹", - "KZ": "哈萨克斯坦", - "KE": "肯尼亚", - "KI": "基里巴斯", - "KP": "朝鲜", - "KR": "韩国", - "KW": "科威特", - "KG": "吉尔吉斯斯坦", - "LA": "老挝", - "LV": "拉脱维亚", - "LB": "黎巴嫩", - "LS": "莱索托", - "LR": "利比里亚", - "LY": "利比亚", - "LI": "列支敦士登", - "LT": "立陶宛", - "LU": "卢森堡", - "MK": "马其顿", - "MG": "马达加斯加", - "MW": "马拉维", - "MY": "马来西亚", - "MV": "马尔代夫", - "ML": "马里", - "MT": "马耳他", - "MH": "马绍尔群岛", - "MQ": "马提尼克岛", - "MR": "毛里塔尼亚", - "MU": "毛里求斯", - "YT": "马约特", - "MX": "墨西哥", - "FM": "密克罗尼西亚", - "MD": "摩尔多瓦", - "MC": "摩纳哥", - "MN": "蒙古", - "ME": "黑山", - "MS": "蒙特塞拉特", - "MA": "摩洛哥", - "MZ": "莫桑比克", - "MM": "缅甸", - "NA": "纳米比亚", - "NR": "瑙鲁", - "NP": "尼泊尔", - "NL": "荷兰", - "NC": "新喀里多尼亚", - "NZ": "新西兰", - "NI": "尼加拉瓜", - "NE": "尼日尔", - "NG": "尼日利亚", - "NU": "新", - "NF": "诺福克岛", - "MP": "北马里安群岛", - "NO": "挪威", - "OM": "阿曼", - "PK": "巴基斯坦", - "PW": "帕劳", - "PS": "巴勒斯坦", - "PA": "巴拿马", - "PG": "巴布亚新几内亚", - "PY": "巴拉圭", - "PE": "秘鲁", - "PH": "菲律宾", - "PN": "皮特凯恩", - "PL": "波兰", - "PT": "葡萄牙", - "PR": "波多黎各", - "QA": "卡塔尔", - "RE": "会议", - "RO": "罗马尼亚", - "RU": "俄罗斯", - "RW": "卢旺达", - "BL": "圣巴泰勒米", - "SH": "圣赫勒拿", - "KN": "圣基茨和尼维斯", - "LC": "圣卢西亚", - "MF": "圣马丁(法语部分)", - "SX": "圣马丁(荷兰部分)", - "PM": "圣皮埃尔和密克隆", - "VC": "圣文森特和格林纳丁斯", - "WS": "萨摩亚", - "SM": "圣马力诺", - "ST": "圣多美和普林西比", - "SA": "沙特阿拉伯", - "SN": "塞内加尔", - "RS": "塞尔维亚", - "SC": "塞舌尔", - "SL": "塞拉利昂", - "SG": "新加坡", - "SK": "斯洛伐克", - "SI": "斯洛文尼亚", - "SB": "所罗门群岛", - "SO": "索马里", - "ZA": "南非", - "GS": "南乔治亚和南桑威奇群岛", - "SS": "南苏丹", - "ES": "西班牙", - "LK": "斯里兰卡", - "SD": "苏丹", - "SR": "苏里南", - "SJ": "斯瓦尔巴和扬马延", - "SZ": "斯威士兰", - "SE": "瑞典", - "CH": "瑞士", - "SY": "叙利亚", - "TW": "台湾", - "TJ": "塔吉克斯坦", - "TZ": "坦桑尼亚", - "TH": "泰国", - "TL": "东帝汶", - "TG": "多哥", - "TK": "托克劳", - "TO": "汤加", - "TT": "特立尼达和多巴哥", - "TN": "突尼斯", - "TR": "土耳其", - "TM": "土库曼斯坦", - "TC": "特克斯和凯科斯群岛", - "TV": "图瓦卢", - "UG": "乌干达", - "UA": "乌克兰", - "AE": "阿拉伯联合酋长国", - "GB": "英国", - "US": "美国", - "UM": "美国外围小岛", - "UY": "乌拉圭", - "UZ": "乌兹别克斯坦", - "VU": "瓦努阿图", - "VE": "委内瑞拉", - "VN": "越南", - "VI": "美属维尔京群岛", - "WF": "瓦利斯和富图纳", - "EH": "西撒哈拉", - "YE": "也门", - "ZM": "赞比亚", - "ZW": "津巴布韦" - }, - "STATE": { - "AL": "Alabama", - "AK": "Alaska", - "AS": "American Samoa", - "AZ": "Arizona", - "AR": "Arkansas", - "CA": "California", - "CO": "Colorado", - "CT": "Connecticut", - "DE": "Delaware", - "DC": "Washington, D.C.", - "FM": "Federated States of Micronesia", - "FL": "Florida", - "GA": "Georgia", - "HI": "Hawaii", - "ID": "Idaho", - "IL": "Illinois", - "IN": "Indiana", - "IA": "Iowa", - "KS": "Kansas", - "KY": "Kentucky", - "LA": "Louisiana", - "ME": "Maine", - "MH": "Marshall Islands", - "MD": "Maryland", - "MA": "Massachusetts", - "MI": "Michigan", - "MN": "Minnesota", - "MS": "Mississippi", - "MO": "Missouri", - "MT": "Montana", - "NE": "Nebraska", - "NV": "Nevada", - "NH": "New Hampshire", - "NJ": "New Jersey", - "NM": "New Mexico", - "NY": "New York", - "NC": "North Carolina", - "ND": "North Dakota", - "MP": "Northern Mariana Islands", - "OH": "Ohio", - "OK": "Oklahoma", - "OR": "Oregon", - "PA": "Pennsylvania", - "RI": "Rhode Island", - "SC": "South Carolina", - "SD": "South Dakota", - "TN": "Tennessee", - "TX": "Texas", - "UT": "Utah", - "VT": "Vermont", - "VI": "United States Virgin Islands", - "VA": "Virginia", - "WA": "Washington", - "WV": "West Virginia", - "WI": "Wisconsin", - "WY": "Wyoming", - "AA": "Armed Forces Americas", - "AP": "Armed Forces Pacific", - "AE": "Armed Forces Europe" - }, "BUTTON": { "CLOSE": "关" }, @@ -345,82 +35,5 @@ }, "NO_OFFERS": "没有可用的优惠", "LOADING": "正在加载优惠..." - }, - "CFAR_EXERCISE_FLOW": { - "TITLE": "取消您在HTS上的航班预订", - "SUBTITLE": "出于任何原因取消", - "DEADLINE_SENTENCE_1": "您已为您的预订购买了无理由取消服务,您可以免费取消预订,只要不晚于 ", - "DEADLINE_SENTENCE_2": "别忘了,取消仅适用于为整个行程和预订中所有旅客取消的情况。根据您所选的保障金额,您将获得总额为{{ amount }}的退款。", - "TO": " 至 ", - "DEPARTURE": "离开: ", - "ARRIVAL": "到达: ", - "FLIGHT": "航班: ", - "PASSENGER": "{{ nbPassenger }} 名乘客", - "PASSENGERS": "{{ nbPassenger }} 名乘客", - "REFUND_DETAILS_TITLE": "退款详情", - "REFUND_WARNING_MESSAGE": "如果您确定要继续取消预订并获得退款,请继续。", - "HOPPER_REFUND": "HTS退款", - "AIRLINE_REFUND": "航空公司退款", - "METHOD": "方式:", - "AMOUNT": "航空公司:", - "REFUND_METHOD": "退款方式", - "CHECK_VERIFICATION_TITLE": "身份验证", - "CHECK_VERIFICATION_TEXT": "为了验证您的身份,我们将向您的电子邮件地址(您预订航班时使用的电子邮件地址)发送一个代码。", - "SEND_VERIFICATION_TITLE": "身份验证", - "SEND_VERIFICATION_TEXT": "我们刚刚向{{ email }}发送了一封包含验证码的电子邮件。请在下面输入该代码", - "BUTTON": { - "CANCEL": "取消", - "SUBMIT": "是的,取消航班", - "BACK": "背部", - "CONTINUE": "继续", - "SEND_VERIFICATION_CODE": "发送验证码", - "CHECK_VERIFICATION_CODE": "验证验证代码", - "RESEND_VERIFICATION_CODE": "重新发送代码" - }, - "NO_CONTRACT": "没有可用的合同", - "LOADING": "正在加载...", - "LOADING_HYPERWALLET": "正在加载 Hyperwallet...", - "LOADING_HYPERWALLET_ERROR": "发生错误,请通过此表联系我们的客服。", - "STEP": { - "FIRST": "预订摘要", - "SECOND": "一般信息", - "THIRD": "付款信息", - "FOURTH": "确认" - }, - "FORM": { - "VERIFICATION_CODE": "验证代码", - "VERIFICATION_CODE_ERROR": "验证码为必填项, 必须包含6个数字", - "PERSONAL_INFORMATION": "个人信息", - "FIRST_NAME": "名", - "FIRST_NAME_ERROR": "名为必填项", - "MIDDLE_NAME": "中间名(可选)", - "LAST_NAME": "姓", - "LAST_NAME_ERROR": "姓为必填项", - "DATE_OF_BIRTH": "出生日期", - "DATE_OF_BIRTH_ERROR": "出生日期为必填项", - "HOME_ADDRESS": "家庭住址", - "ADDRESS_LINE_1": "地址行1", - "ADDRESS_LINE_1_ERROR": "地址行1为必填项", - "ADDRESS_LINE_2": "地址行2 (选填)", - "CITY": "城市", - "CITY_ERROR": "城市为必填项", - "COUNTRY": "国家", - "COUNTRY_ERROR": "国家/地区为必填项", - "STATE": "州/省", - "STATE_ERROR": "州/省为必填项", - "ZIP": "邮编/邮政编码", - "ZIP_ERROR": "邮政编码为必填项" - }, - "CONFIRMATION_MESSAGE_1": "请不要关闭此页面,您的退款申请正在处理中", - "CONFIRMATION_MESSAGE_2": "处理完毕后,您将通过电子邮件地址{{ userEmail }}收到确认信息", - "REFUND_DETAILS": "{{ amount }}", - "PASSENGER_TYPE": { - "ADULT": "成人", - "CHILD": "孩子", - "SEATED_INFANT": "坐着的婴儿", - "LAP_INFANT": "膝上婴儿" - }, - "CONTRACT_ALREADY_REFUNDED": "您的取消申请已被受理,退款正在处理中。如果您需要帮助,可以通过此表联系我们的客服。", - "BANK_ACCOUNT_INFO": "请选择退款转账方式。" } } diff --git a/projects/angular-sdk/src/public-api.ts b/projects/angular-sdk/src/public-api.ts index 812440f..b2331a5 100644 --- a/projects/angular-sdk/src/public-api.ts +++ b/projects/angular-sdk/src/public-api.ts @@ -7,7 +7,6 @@ export * from './components/cfar-offer-banner/cfar-offer-banner.component'; export * from './components/cfar-offer-banner-large/cfar-offer-banner-large.component'; export * from './components/cfar-offer-dialog/cfar-offer-dialog.component'; -export * from './components/cfar-exercise-flow/cfar-exercise-flow.component'; // UTILIY CLASSES export * from './utils/dialog.utils'; diff --git a/projects/angular-sdk/src/services/hopper-cfar.service.ts b/projects/angular-sdk/src/services/hopper-cfar.service.ts index 57e07ba..f63fd92 100644 --- a/projects/angular-sdk/src/services/hopper-cfar.service.ts +++ b/projects/angular-sdk/src/services/hopper-cfar.service.ts @@ -2,22 +2,12 @@ import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { + AnalyticsService, + CancelForAnyReasonCFARService, CfarContractCustomer, CfarOfferCustomer, - CheckCfarContractExerciceVerificationCodeResponse, - CheckCfarContractExerciseVerificationCodeRequest, CreateCfarContractCustomerRequest, CreateCfarOfferCustomerRequest, - CreateRefundAuthorizationRequest, - CreateRefundRecipientRequest, - CustomerService, - GetCfarExerciseCustomerResponse, - InitiateRefundRequest, - InitiateRefundResponse, - RefundAuthorization, - RefundRecipient, - SendCfarContractExerciceVerificationCodeResponse, - SendCfarContractExerciseVerificationCodeRequest, } from '../apis/hopper-cloud-airline/v1'; import { HopperProxyService } from './hopper-proxy.service'; @@ -25,9 +15,10 @@ import { HopperProxyService } from './hopper-proxy.service'; export class HopperCfarService extends HopperProxyService { constructor( protected _httpClient: HttpClient, - protected _customerService: CustomerService, + protected _cancelForAnyReasonCFARService: CancelForAnyReasonCFARService, + protected _analyticsService: AnalyticsService, ) { - super(_httpClient, _customerService); + super(_httpClient, _cancelForAnyReasonCFARService, _analyticsService); } postCfarOffers( @@ -39,7 +30,7 @@ export class HopperCfarService extends HopperProxyService { // Init services this._overrideConfiguration(basePath, hCSessionId); - return this._customerService.postCustomerCfarOffers(request, language); + return this._cancelForAnyReasonCFARService.postCustomerCfarOffers(request, language); } postCfarContracts( @@ -51,92 +42,6 @@ export class HopperCfarService extends HopperProxyService { // Init services this._overrideConfiguration(basePath, hCSessionId); - return this._customerService.postCustomerCfarContracts(request, language); - } - - getCfarExercises( - basePath: string, - hCSessionId: string, - verificationCode: string, - ): Observable { - // Init services - this._overrideConfiguration(basePath, hCSessionId); - - return this._customerService.getCustomerCfarExercises(verificationCode); - } - - postRefundAuthorizations( - basePath: string, - hCSessionId: string, - verificationCode: string, - request: CreateRefundAuthorizationRequest, - ): Observable { - // Init services - this._overrideConfiguration(basePath, hCSessionId); - - return this._customerService.postCustomerRefundAuthorizations( - request, - verificationCode, - ); - } - - postRefundRecipients( - basePath: string, - hCSessionId: string, - verificationCode: string, - request: CreateRefundRecipientRequest, - ): Observable { - // Init services - this._overrideConfiguration(basePath, hCSessionId); - - return this._customerService.postCustomerRefundRecipients( - request, - verificationCode, - ); - } - - postInitiateRefund( - basePath: string, - hCSessionId: string, - verificationCode: string, - request: InitiateRefundRequest, - ): Observable { - // Init services - this._overrideConfiguration(basePath, hCSessionId); - - return this._customerService.postCustomerInitiateRefund( - request, - verificationCode, - ); - } - - postSendCfarExerciseVerificationCode( - basePath: string, - hCSessionId: string, - exerciseId: string, - request: SendCfarContractExerciseVerificationCodeRequest, - ): Observable { - // Init services - this._overrideConfiguration(basePath, hCSessionId); - - return this._customerService.postCustomerIdSendExerciseVerificationCode( - request, - exerciseId, - ); - } - - postCheckCfarExerciseVerificationCode( - basePath: string, - hCSessionId: string, - exerciseId: string, - request: CheckCfarContractExerciseVerificationCodeRequest, - ): Observable { - // Init services - this._overrideConfiguration(basePath, hCSessionId); - - return this._customerService.postCustomerIdCheckExerciseVerificationCode( - request, - exerciseId, - ); + return this._cancelForAnyReasonCFARService.postCustomerCfarContracts(request, language); } } diff --git a/projects/angular-sdk/src/services/hopper-error-handler.service.ts b/projects/angular-sdk/src/services/hopper-error-handler.service.ts deleted file mode 100644 index f6943d9..0000000 --- a/projects/angular-sdk/src/services/hopper-error-handler.service.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { HttpClient } from '@angular/common/http'; -import { Injectable } from '@angular/core'; -import { CustomerService } from '../apis/hopper-cloud-airline/v1'; -import { HopperProxyService } from './hopper-proxy.service'; - -@Injectable() -export class HopperErrorHandlerService extends HopperProxyService { - constructor( - protected _httpClient: HttpClient, - protected _customerService: CustomerService, - ) { - super(_httpClient, _customerService); - } - - // ----------------------------------------------- - // Life Cycle Hooks - // ----------------------------------------------- - - handleError(error: any): void { - // FIXME : to implement later - // console.error(error); - // this._customerService.sendError - super.handleError(error); - } -} diff --git a/projects/angular-sdk/src/services/hopper-events.service.ts b/projects/angular-sdk/src/services/hopper-events.service.ts index 099dbc3..2d91b8a 100644 --- a/projects/angular-sdk/src/services/hopper-events.service.ts +++ b/projects/angular-sdk/src/services/hopper-events.service.ts @@ -2,7 +2,7 @@ import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { - CustomerService, + AnalyticsService, CfarOffersBannerDisplay, UiVariant, CfarOffersTakeoverDisplay, @@ -10,13 +10,7 @@ import { CfarViewInfo, UiSource, CfarDenyPurchase, - CfarExercisePortalDisplay, - CfarExerciseVerificationSent, - CfarExerciseVerificationComplete, - ExerciseStepResult, - CfarExerciseCustomerDataComplete, - CfarExercisePortalComplete, - CfarExerciseCallbackLaunched, + CancelForAnyReasonCFARService } from '../apis/hopper-cloud-airline/v1'; import { ApiTranslatorUtils } from '../utils/api-translator.utils'; import { HopperProxyService } from './hopper-proxy.service'; @@ -25,9 +19,10 @@ import { HopperProxyService } from './hopper-proxy.service'; export class HopperEventsService extends HopperProxyService { constructor( protected _httpClient: HttpClient, - protected _customerService: CustomerService, + protected _cancelForAnyReasonCFARService: CancelForAnyReasonCFARService, + protected _analyticsService: AnalyticsService, ) { - super(_httpClient, _customerService); + super(_httpClient, _cancelForAnyReasonCFARService, _analyticsService); } // ----------------------------------------------- @@ -42,18 +37,14 @@ export class HopperEventsService extends HopperProxyService { // Init services this._overrideConfiguration(basePath, hCSessionId); - return this._customerService.postCustomerEvents( + return this._analyticsService.postCustomerEvents( ApiTranslatorUtils.modelToSnakeCase(event), ); } // ----------------------------------------------- // Public Methods : CFAR UI events - // ---------------------------------------------------------- - - // ********************* - // Cfar offers events - // ********************* + // ----------------------------------------------- postCreateCfarOffersBannerDisplay( basePath: string, @@ -135,110 +126,4 @@ export class HopperEventsService extends HopperProxyService { return this._postCustomerEventRequest(basePath, hCSessionId, event); } - - // ********************* - // Cfar purchase events - // ********************* - - // ********************* - // Cfar exercise events - // ********************* - - postCreateCfarExercisePortalDisplay( - basePath: string, - hCSessionId: string, - cfarExerciseId: string, - ): Observable { - // Build the event - let event: CfarExercisePortalDisplay = { - occurredDateTime: new Date(), - cfarExerciseId: cfarExerciseId, - type: 'cfar_exercise_portal_display', - }; - - return this._postCustomerEventRequest(basePath, hCSessionId, event); - } - - postCreateCfarExerciseVerificationSent( - basePath: string, - hCSessionId: string, - cfarExerciseId: string, - ): Observable { - // Build the event - let event: CfarExerciseVerificationSent = { - occurredDateTime: new Date(), - cfarExerciseId: cfarExerciseId, - type: 'cfar_exercise_verification_sent', - }; - - return this._postCustomerEventRequest(basePath, hCSessionId, event); - } - - postCreateCfarExerciseVerificationComplete( - basePath: string, - hCSessionId: string, - cfarExerciseId: string, - exerciseStepResult: ExerciseStepResult, - ): Observable { - // Build the event - let event: CfarExerciseVerificationComplete = { - occurredDateTime: new Date(), - cfarExerciseId: cfarExerciseId, - result: exerciseStepResult, - type: 'cfar_exercise_verification_complete', - }; - - return this._postCustomerEventRequest(basePath, hCSessionId, event); - } - - postCreateCfarExerciseCustomerDataComplete( - basePath: string, - hCSessionId: string, - cfarExerciseId: string, - exerciseStepResult: ExerciseStepResult, - ): Observable { - // Build the event - let event: CfarExerciseCustomerDataComplete = { - occurredDateTime: new Date(), - cfarExerciseId: cfarExerciseId, - result: exerciseStepResult, - type: 'cfar_exercise_customer_data_complete', - }; - - return this._postCustomerEventRequest(basePath, hCSessionId, event); - } - - postCreateCfarExercisePortalComplete( - basePath: string, - hCSessionId: string, - cfarExerciseId: string, - exerciseStepResult: ExerciseStepResult, - ): Observable { - // Build the event - let event: CfarExercisePortalComplete = { - occurredDateTime: new Date(), - cfarExerciseId: cfarExerciseId, - result: exerciseStepResult, - type: 'cfar_exercise_portal_complete', - }; - - return this._postCustomerEventRequest(basePath, hCSessionId, event); - } - - postCreateCfarExerciseCallbackLaunched( - basePath: string, - hCSessionId: string, - cfarExerciseId: string, - exerciseStepResult: ExerciseStepResult, - ): Observable { - // Build the event - let event: CfarExerciseCallbackLaunched = { - occurredDateTime: new Date(), - cfarExerciseId: cfarExerciseId, - result: exerciseStepResult, - type: 'cfar_exercise_callback_launched', - }; - - return this._postCustomerEventRequest(basePath, hCSessionId, event); - } } diff --git a/projects/angular-sdk/src/services/hopper-proxy.service.ts b/projects/angular-sdk/src/services/hopper-proxy.service.ts index a30242c..293ddb4 100644 --- a/projects/angular-sdk/src/services/hopper-proxy.service.ts +++ b/projects/angular-sdk/src/services/hopper-proxy.service.ts @@ -1,11 +1,12 @@ import { HttpClient } from '@angular/common/http'; import { ErrorHandler } from '@angular/core'; -import { CustomerService } from '../apis/hopper-cloud-airline/v1'; +import { AnalyticsService, CancelForAnyReasonCFARService } from '../apis/hopper-cloud-airline/v1'; export class HopperProxyService extends ErrorHandler { constructor( protected _httpClient: HttpClient, - protected _customerService: CustomerService, + protected _cancelForAnyReasonCFARService: CancelForAnyReasonCFARService, + protected _analyticsService: AnalyticsService, ) { super(); } @@ -18,23 +19,22 @@ export class HopperProxyService extends ErrorHandler { basePath: string, hcSessionId?: string, ): void { - if (hcSessionId !== undefined) { - this._customerService = new CustomerService(this._httpClient, basePath, { - selectHeaderAccept: (accepts: ['application/json']) => - 'application/json', - selectHeaderContentType: (contentsTypes: ['application/json']) => - 'application/json', - isJsonMime: (mime: 'application/json') => true, - apiKeys: { 'HC-Session-ID': hcSessionId }, - }); - } else { - this._customerService = new CustomerService(this._httpClient, basePath, { - selectHeaderAccept: (accepts: ['application/json']) => - 'application/json', - selectHeaderContentType: (contentsTypes: ['application/json']) => - 'application/json', - isJsonMime: (mime: 'application/json') => true, - }); - } + this._cancelForAnyReasonCFARService = new CancelForAnyReasonCFARService(this._httpClient, basePath, { + selectHeaderAccept: (accepts: ['application/json']) => + 'application/json', + selectHeaderContentType: (contentsTypes: ['application/json']) => + 'application/json', + isJsonMime: (mime: 'application/json') => true, + apiKeys: hcSessionId ? { 'HC-Session-ID': hcSessionId } : undefined + }); + + this._analyticsService = new AnalyticsService(this._httpClient, basePath, { + selectHeaderAccept: (accepts: ['application/json']) => + 'application/json', + selectHeaderContentType: (contentsTypes: ['application/json']) => + 'application/json', + isJsonMime: (mime: 'application/json') => true, + apiKeys: hcSessionId ? { 'HC-Session-ID': hcSessionId } : undefined + }); } } diff --git a/projects/angular-sdk/src/styles/theme.scss b/projects/angular-sdk/src/styles/theme.scss index dc5095f..8990de0 100644 --- a/projects/angular-sdk/src/styles/theme.scss +++ b/projects/angular-sdk/src/styles/theme.scss @@ -4,14 +4,12 @@ @import '../components/cfar-offer-banner/cfar-offer-banner.component.scss'; @import '../components/cfar-offer-banner-large/cfar-offer-banner-large.component.scss'; @import '../components/cfar-offer-dialog/cfar-offer-dialog.component.scss'; -@import '../components/cfar-exercise-flow/cfar-exercise-flow.component.scss'; // Define a mixin for easier access @mixin hopper-cloud-airlines-angular-sdk-components-theme($theme) { @include cfar-offer-banner-theme($theme); @include cfar-offer-banner-large-theme($theme); @include cfar-offer-dialog-theme($theme); - @include cfar-exercise-flow-theme($theme); } // ------------------------------------------ @@ -37,19 +35,3 @@ $light-blue-theme ); } - -// ------------------------------------------ -// LIGHT YELLOW THEME -// ------------------------------------------ - -@import './themes/theme-light-yellow.scss'; - -.theme-light-yellow { - // Apply the theme to all Angular Material Components - @include mat.all-component-themes($light-yellow-theme); - - // Apply the theme to the library components - @include hopper-cloud-airlines-angular-sdk-components-theme( - $light-yellow-theme - ); -} diff --git a/projects/angular-sdk/src/styles/themes/theme-light-yellow.scss b/projects/angular-sdk/src/styles/themes/theme-light-yellow.scss deleted file mode 100644 index f5f0e78..0000000 --- a/projects/angular-sdk/src/styles/themes/theme-light-yellow.scss +++ /dev/null @@ -1,94 +0,0 @@ -@use '@angular/material' as mat; - -$dark-primary-text: rgba(black, 0.87); -$light-primary-text: white; - -$light-yellow-primary-palette: ( - 50: #fefdeb, - 100: #fefacc, - 200: #fdf7aa, - 300: #fcf488, - 400: #fbf16f, - 500: #faef55, - 600: #f9ed4e, - 700: #f9eb44, - 800: #f8e83b, - 900: #f6e42a, - A100: #ffffff, - A200: #ffffff, - A400: #fffacf, - A700: #fff8b5, - contrast: ( - 50: $dark-primary-text, - 100: $dark-primary-text, - 200: $dark-primary-text, - 300: $dark-primary-text, - 400: $dark-primary-text, - 500: $dark-primary-text, - 600: $dark-primary-text, - 700: $dark-primary-text, - 800: $dark-primary-text, - 900: $dark-primary-text, - A100: $dark-primary-text, - A200: $dark-primary-text, - A400: $dark-primary-text, - A700: $dark-primary-text, - ), -); - -$light-yellow-accent-palette: ( - 50: #e1eefc, - 100: #b4d5f8, - 200: #82b9f3, - 300: #4f9cee, - 400: #2a87ea, - 500: #0472e6, - 600: #036ae3, - 700: #035fdf, - 800: #0255db, - 900: #0142d5, - A100: #fcfdff, - A200: #c9d6ff, - A400: #96b0ff, - A700: #7d9cff, - contrast: ( - 50: $dark-primary-text, - 100: $dark-primary-text, - 200: $dark-primary-text, - 300: $dark-primary-text, - 400: $light-primary-text, - 500: $light-primary-text, - 600: $light-primary-text, - 700: $light-primary-text, - 800: $light-primary-text, - 900: $light-primary-text, - A100: $dark-primary-text, - A200: $dark-primary-text, - A400: $dark-primary-text, - A700: $dark-primary-text, - ), -); - -$light-yellow-primary: mat.define-palette( - $light-yellow-primary-palette, - 500, - 300, - 700 -); -$light-yellow-accent: mat.define-palette( - $light-yellow-accent-palette, - 500, - 300, - 700 -); -$light-yellow-warn: mat.define-palette(mat.$red-palette); - -$light-yellow-theme: mat.define-light-theme( - ( - color: ( - primary: $light-yellow-primary, - accent: $light-yellow-accent, - warn: $light-yellow-warn, - ), - ) -); diff --git a/projects/angular-sdk/src/utils/string.utils.ts b/projects/angular-sdk/src/utils/string.utils.ts deleted file mode 100644 index 74e759c..0000000 --- a/projects/angular-sdk/src/utils/string.utils.ts +++ /dev/null @@ -1,29 +0,0 @@ -export class StringUtils { - public static leftPad( - value: string, - character: string, - size: number, - ): string { - while (value.length < size) value = character + value; - return value; - } - - /** - * Check if a given string is not empty - * @param value string - */ - public static isNotEmpty(value: string | undefined): boolean { - if (value && value !== null && value.length > 0) { - return true; - } - return false; - } - - /** - * Check if a given string is empty - * @param value string - */ - public static isEmpty(value: string | undefined): boolean { - return !StringUtils.isNotEmpty(value); - } -} diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 9b21529..0bec194 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -5,12 +5,11 @@ import { LayoutComponent } from './shared/components/layout/layout.component'; const routes: Routes = [ { - path: 'guides/:partnerId', + path: 'guides', component: LayoutComponent, loadChildren: () => import('./pages/pages.module').then(m => m.PagesModule) }, - { path: 'guides', redirectTo: '/guides/0' }, - { path: '', pathMatch: 'full', redirectTo: '/guides/0' }, + { path: '', pathMatch: 'full', redirectTo: '/guides' }, { path: '**', component: NotFoundPageComponent } ]; diff --git a/src/app/pages/guides/cfar-exercise-flow/cfar-exercise-flow.component.html b/src/app/pages/guides/cfar-exercise-flow/cfar-exercise-flow.component.html deleted file mode 100644 index 5ca71a1..0000000 --- a/src/app/pages/guides/cfar-exercise-flow/cfar-exercise-flow.component.html +++ /dev/null @@ -1,67 +0,0 @@ -
- -

This page is displayed to the User following the successful retrieval of a CFAR contract for a booking eligible to the refund. - The User gets a display of the booking’s itinerary that can be cancelled and is prompted to choose the refund type.
- This page provides an authentication mode based on a one-time password. A numeric code will be sent to the registered email in the CFAR contract. The user will have to enter this code (i.e. code = 123456 for the demo) before processing an exercise.

- - - - -
- -
-
- - -
- - - -
- -
- -
-
- - -
- - - -
- -
- -
-
- -
- - - - - -
diff --git a/src/app/pages/guides/cfar-exercise-flow/cfar-exercise-flow.component.scss b/src/app/pages/guides/cfar-exercise-flow/cfar-exercise-flow.component.scss deleted file mode 100644 index 8363306..0000000 --- a/src/app/pages/guides/cfar-exercise-flow/cfar-exercise-flow.component.scss +++ /dev/null @@ -1,45 +0,0 @@ -// How to use : https://tomastrajan.medium.com/the-complete-guide-to-angular-material-themes-4d165a9d24d1 -@mixin cfar-exercise-flow-page-component-theme($theme) { - - // Colors used for element backgrounds - // Values : status-bar, app-bar, background, hover, card, dialog, disabled-button, raised-button, - // focused-button, selected-button, disabled-button-toggle, unselected-chip, disabled-list-option, tooltip - $bg-palette: map-get($theme, background); - - // Colors used for texts and icons - $fg-palette: map-get($theme, foreground); - - // Main color most widely used across all screens and components - $primary-palette: map-get($theme, primary); - - // Also known as the secondary color. Used for floating action buttons and interactive elements. - $accent-palette: map-get($theme, accent); - - // Color to convey error state - $warn-palette: map-get($theme, warn); - - // If it's dark theme or not - $is-dark: map-get($theme, is-dark); - - // ---------------------------------------------- - - app-cfar-exercise-flow { - - .cfar-exercise-flow-page-container { - - .tab-group { - @include mat.elevation(4); - - .mat-mdc-tab-body { - background-color: map-get($bg-palette, card); - - .hljs { - width: calc(90% - 32px); - padding: 0px; - margin: 16px; - } - } - } - } - } -} \ No newline at end of file diff --git a/src/app/pages/guides/cfar-exercise-flow/cfar-exercise-flow.component.ts b/src/app/pages/guides/cfar-exercise-flow/cfar-exercise-flow.component.ts deleted file mode 100644 index 2eb015c..0000000 --- a/src/app/pages/guides/cfar-exercise-flow/cfar-exercise-flow.component.ts +++ /dev/null @@ -1,170 +0,0 @@ -import { Component, ElementRef, ViewChild } from "@angular/core"; -import { MatSnackBar } from "@angular/material/snack-bar"; -import { Store } from "@ngrx/store"; -import { Locales } from "projects/angular-sdk/src/i18n"; -import { InputModel, OutputModel } from "src/app/shared/models"; -import { AppState } from "src/app/shared/ngrx"; -import { CommonGuidesComponent } from "../common-guides.component"; -import { Clipboard } from '@angular/cdk/clipboard'; -import { ErrorSdkModel } from "projects/angular-sdk/src/models"; - -@Component({ - selector: "app-cfar-exercise-flow", - templateUrl: "./cfar-exercise-flow.component.html", - styleUrls: ["./cfar-exercise-flow.component.scss"], -}) -export class CfarExerciseFlowPageComponent extends CommonGuidesComponent { - - public htmlCode: string = ` -
- -
- `; - - public tsCode: string = ` - import { ErrorSdkModel } from "@hopper-cloud-airlines/angular-sdk/models"; - - @ViewChild('scrollAnchor') public anchor!: ElementRef; - - // .... - - public onFlowCompleted(data: string): void { - console.log(data); - } - - public onErrorOccurred(error: ErrorSdkModel): void { - console.log(error); - } - - public onStepCompleted(timer?: number): void { - // Scroll to top of component (timer due to rendering delay) - setTimeout(() => this.anchor.nativeElement.scrollTo(0,0), timer || 0); - } - `; - - @ViewChild('scrollAnchor') public anchor!: ElementRef; - - constructor( - protected _store: Store, - protected _clipboard: Clipboard, - protected _snackBar: MatSnackBar, - ) { - super(_store, _clipboard, _snackBar); - } - - // ----------------------------------------------- - // Publics Methods - // ----------------------------------------------- - - public getInputs(): InputModel[] { - return [ - { - name: 'currentLang', - description: ` - The language to apply to the component.
- Supported Languages : ${Array.from(Locales.keys()).map(lang => ' ' + lang)}
- By default : en - `, - required: false - }, - { - name: 'basePath', - description: ` - The HTS API url base path - `, - required: true - }, - { - name: 'imageBasePath', - description: ` - The basePath for images (empty by default) - `, - required: false - }, - { - name: 'currentTheme', - description: ` - The active theme managed by HTS. - If you have an Angular material theme, this field can be ignored - `, - required: false - }, - { - name: 'hCSessionId', - description: ` - Example: 9fd3f2f9-e5aa-4128-ace9-3c4ee37b685f
- The ID of the current airline session. - `, - required: true - }, - { - name: 'exerciseId', - description: ` - A unique identifier for a CFAR exercise - `, - required: true - }, - { - name: 'hyperwalletUrl', - description: ` - Url for hyperwallet integration - `, - required: true - }, - { - name: 'contactFormUrl', - description: ` - Url for support - `, - required: true - } - ]; - } - - public getOutputs(): OutputModel[] { - return [ - { - name: 'flowCompleted', - description: ` - Event triggered when the flow is completed - ` - }, - { - name: 'errorOccurred', - description: ` - Event triggered when an error occurs into the SDK
- Returns a ErrorSdkModel : { endpoint: string, errorCode: string, errorDescription?: string } - ` - }, - { - name: 'stepCompleted', - description: ` - Event triggered when a step is completed - ` - }, - ]; - } - - public onFlowCompleted(data: string): void { - console.log(data); - } - - public onErrorOccurred(error: ErrorSdkModel): void { - console.log(error); - } - - public onStepCompleted(timer?: number): void { - // Scroll to top of component (timer due to rendering delay) - setTimeout(() => this.anchor.nativeElement.scrollTo(0,0), timer || 0); - } -} diff --git a/src/app/pages/guides/common-guides.component.ts b/src/app/pages/guides/common-guides.component.ts index 8fbcc7c..f6af85b 100644 --- a/src/app/pages/guides/common-guides.component.ts +++ b/src/app/pages/guides/common-guides.component.ts @@ -7,7 +7,7 @@ import { AppState } from "src/app/shared/ngrx"; import { getCurrentLang, getCurrentTheme } from "src/app/shared/ngrx/global/global.selectors"; import { Clipboard } from '@angular/cdk/clipboard'; import { MatSnackBar } from "@angular/material/snack-bar"; -import { CfarItinerary, PassengerPricing, UiVariant } from "projects/angular-sdk/src/apis/hopper-cloud-airline/v1"; +import { CfarItinerary, UiVariant } from "projects/angular-sdk/src/apis/hopper-cloud-airline/v1"; @Directive({ selector: '[CommonGuidesComponent]' @@ -23,30 +23,21 @@ export abstract class CommonGuidesComponent implements OnInit, OnDestroy { public isFakeBackend!: boolean; public env: string = 'development'; - protected _unsubcriber: Subject; - - public abstract tsCode: string; - public abstract htmlCode: string; - // Parameters public hCSessionId = "b7c98b1c-00c3-4082-a72b-cce39a29a640"; - public contractId = "1ed5f483-6287-6b77-acb5-9719296bfa70"; - public exerciseId = "1ee262de-901f-6f60-af7f-1b34c81fb4d6"; public currency = "EUR"; - public passengers: PassengerPricing[] = [ - { - passengerCount: { - count: 3, - type: "adult" - }, - individualPrice: "50.10" - } - ]; - public pnrReference = "123456"; public itineraries: CfarItinerary[] = [ { currency: this.currency, - passengerPricing: this.passengers, + passengerPricing: [ + { + passengerCount: { + count: 3, + type: "adult" + }, + individualPrice: "50.10" + } + ], slices: [ { fareBrand: "comfort", @@ -73,40 +64,14 @@ export abstract class CommonGuidesComponent implements OnInit, OnDestroy { ] } ]; - public itinerary: CfarItinerary = { - currency: this.currency, - passengerPricing: this.passengers, - slices: [ - { - fareBrand: "comfort", - segments: [ - { - originAirport: "LGA", - destinationAirport: "BOS", - departureDateTime: "2023-11-01T18:34:30", - arrivalDateTime: "2023-11-02T19:12:30", - flightNumber: "JB776", - validatingCarrierCode: "B6", - fareClass: "economy", - fareBrand: "comfort" - } - ] - } - ], - totalPrice: "150.30", - ancillaries: [ - { - totalPrice: "30.55", - type: "travel_insurance" - } - ] - }; - public hyperwalletUrl: string = "https://uat-api.paylution.com/rest/widgets/transfer-methods/"; - // public hyperwalletUrl: string = "https://api.paylution.com/rest/widgets/transfer-methods/"; - public contactFormUrl: string = "https://www.google.com"; public hasNoCoverageOption = false; public hasWarningCoverageMessage = true; public uiVariant = UiVariant.A; + + protected _unsubcriber: Subject; + + public abstract tsCode: string; + public abstract htmlCode: string; constructor( protected _store: Store, diff --git a/src/app/pages/guides/guides.component.html b/src/app/pages/guides/guides.component.html index 0f08f41..962af3a 100644 --- a/src/app/pages/guides/guides.component.html +++ b/src/app/pages/guides/guides.component.html @@ -1,7 +1,7 @@

- HTS - Angular SDK offers a wide variety of UI components based on + HTS - CFAR SDK offers a wide variety of UI components based on the Material Design specification

diff --git a/src/app/pages/guides/guides.component.ts b/src/app/pages/guides/guides.component.ts index 0461b52..000a29d 100644 --- a/src/app/pages/guides/guides.component.ts +++ b/src/app/pages/guides/guides.component.ts @@ -1,119 +1,35 @@ -import { Component, OnDestroy, OnInit } from "@angular/core"; -import { select, Store } from "@ngrx/store"; -import { Subject, takeUntil } from "rxjs"; -import { AppState } from "src/app/shared/ngrx"; -import { getCurrentPartnerId } from "src/app/shared/ngrx/global/global.selectors"; -import { environment } from "src/environments/environment"; +import { Component } from "@angular/core"; @Component({ selector: "app-guides-page", templateUrl: "./guides.component.html", styleUrls: ["./guides.component.scss"], }) -export class GuidesPageComponent implements OnInit, OnDestroy { +export class GuidesPageComponent { public components: { name: string; link: string; description: string; }[] = []; - - private _unsubcriber: Subject = new Subject(); - - constructor( - private _store: Store, - ) { - // Working items - if (!environment.production) { - } - } - - // ------------------------------- - // - LIFE CYCLE HOOKS - // ------------------------------- - - ngOnInit(): void { - // Update the visibles components when the partnerId has changed - this._store.pipe( - select(getCurrentPartnerId), - takeUntil(this._unsubcriber) - ).subscribe((partnerId: number) => this._loadPartnerData(partnerId)); - } - - ngOnDestroy(): void { - this._unsubcriber.next(null); - this._unsubcriber.complete(); - } - - // ------------------------------- - // - PRIVATES METHODS - // ------------------------------- - - private _loadPartnerData(partnerId: number): void { - var components = []; - - if (partnerId == 0) { - components.push({ - name: 'CFAR Offer Banner', - link: 'cfar-offer-banner', - description: 'A banner to display offer to the user' - }); - - components.push({ - name: 'CFAR Offer Banner Large', - link: 'cfar-offer-banner-large', - description: 'A large banner to display offer to the user' - }); - - components.push({ - name: 'CFAR Offer Dialog', - link: 'cfar-offer-dialog', - description: 'A dialog to choose different coverage options' - }); - components.push({ - name: 'CFAR Exercise Flow', - link: 'cfar-exercise-flow', - description: 'A flow that allow user to be refund' - }); - } else if (partnerId == 1) { - components.push({ - name: 'CFAR Offer Dialog', - link: 'cfar-offer-dialog', - description: 'A dialog to choose different coverage options' - }); - - components.push({ - name: 'CFAR Exercise Flow', - link: 'cfar-exercise-flow', - description: 'A flow that allow user to be refund' - }); - } else { - components.push({ + constructor() { + this.components = [ + { name: 'CFAR Offer Banner', link: 'cfar-offer-banner', description: 'A banner to display offer to the user' - }); - - components.push({ + }, + { name: 'CFAR Offer Banner Large', link: 'cfar-offer-banner-large', description: 'A large banner to display offer to the user' - }); - - components.push({ + }, + { name: 'CFAR Offer Dialog', link: 'cfar-offer-dialog', description: 'A dialog to choose different coverage options' - }); - - components.push({ - name: 'CFAR Exercise Flow', - link: 'cfar-exercise-flow', - description: 'A flow that allow user to be refund' - }); - } - - this.components = components; + } + ]; } } diff --git a/src/app/pages/pages-routing.module.ts b/src/app/pages/pages-routing.module.ts index 6a9d78a..8c976e7 100644 --- a/src/app/pages/pages-routing.module.ts +++ b/src/app/pages/pages-routing.module.ts @@ -4,7 +4,6 @@ import { CfarOfferBannerPageComponent } from './guides/cfar-offer-banner/cfar-of import { CfarOfferDialogPageComponent } from './guides/cfar-offer-dialog/cfar-offer-dialog.component'; import { GuidesPageComponent } from './guides/guides.component'; import { CfarOfferBannerLargePageComponent } from './guides/cfar-offer-banner-large/cfar-offer-banner-large.component'; -import { CfarExerciseFlowPageComponent } from './guides/cfar-exercise-flow/cfar-exercise-flow.component'; const routes: Routes = [ { @@ -25,11 +24,6 @@ const routes: Routes = [ path: 'cfar-offer-banner-large', component: CfarOfferBannerLargePageComponent, data: { path: 'cfar-offer-banner-large' } - }, - { - path: 'cfar-exercise-flow', - component: CfarExerciseFlowPageComponent, - data: { path: 'cfar-exercise-flow' } } ]; diff --git a/src/app/pages/pages.module.ts b/src/app/pages/pages.module.ts index 279d1e5..b8eafa2 100644 --- a/src/app/pages/pages.module.ts +++ b/src/app/pages/pages.module.ts @@ -15,7 +15,6 @@ import { NotFoundPageComponent } from './not-found/not-found.component'; import { CfarOfferDialogPageComponent } from './guides/cfar-offer-dialog/cfar-offer-dialog.component'; import { PagesRoutingModule } from './pages-routing.module'; import { CfarOfferBannerPageComponent } from './guides/cfar-offer-banner/cfar-offer-banner.component'; -import { CfarExerciseFlowPageComponent } from './guides/cfar-exercise-flow/cfar-exercise-flow.component'; import { GuidesPageComponent } from './guides/guides.component'; import { SharedModule } from '../shared/shared.module'; import { MatCardModule } from '@angular/material/card'; @@ -29,8 +28,7 @@ import { HighlightJsModule } from 'ngx-highlight-js'; GuidesPageComponent, CfarOfferDialogPageComponent, CfarOfferBannerPageComponent, - CfarOfferBannerLargePageComponent, - CfarExerciseFlowPageComponent + CfarOfferBannerLargePageComponent ], imports: [ // Angular Module diff --git a/src/app/shared/components/layout/layout.component.html b/src/app/shared/components/layout/layout.component.html index 7717083..e9552ce 100644 --- a/src/app/shared/components/layout/layout.component.html +++ b/src/app/shared/components/layout/layout.component.html @@ -4,7 +4,7 @@
- Hopper Cloud Airlines - Angular SDK - {{ version }} + HTS - CFAR SDK - {{ version }} {{ version }}
diff --git a/src/app/shared/components/layout/layout.component.ts b/src/app/shared/components/layout/layout.component.ts index ffc89e9..dc5a148 100644 --- a/src/app/shared/components/layout/layout.component.ts +++ b/src/app/shared/components/layout/layout.component.ts @@ -1,5 +1,5 @@ import { Component, OnDestroy, OnInit } from "@angular/core"; -import { ActivatedRoute, Data } from "@angular/router"; +import { Data } from "@angular/router"; import { select, Store } from "@ngrx/store"; import { Subject } from "rxjs"; import { takeUntil } from "rxjs/operators"; @@ -7,7 +7,7 @@ import { environment } from "src/environments/environment"; import { AppState } from "../../ngrx"; import { selectRouteData } from "../../ngrx/router/router.actions"; -import { getCurrentLang, getCurrentPartnerId, getCurrentTheme } from "../../ngrx/global/global.selectors"; +import { getCurrentLang, getCurrentTheme } from "../../ngrx/global/global.selectors"; import * as globalActions from "../../ngrx/global/global.actions"; import { MatDrawerMode } from "@angular/material/sidenav"; import { Theme } from "../../enums"; @@ -40,15 +40,10 @@ export class LayoutComponent implements OnInit, OnDestroy { constructor( private _store: Store, - private _route: ActivatedRoute, private _matIconRegistry: MatIconRegistry, private _breakpointObserver: BreakpointObserver, private _domSanitizer: DomSanitizer ) { - // Working items - if (!environment.production) { - } - // Set the current version this.version = environment.version; @@ -62,8 +57,20 @@ export class LayoutComponent implements OnInit, OnDestroy { this._matIconRegistry.addSvgIcon("flag_" + language, this._domSanitizer.bypassSecurityTrustResourceUrl("assets/flags/" + language + ".svg")); }); - // Set the partnerId in the state - this._store.dispatch(globalActions.setCurrentPartnerId({ currentPartnerId: this._route.snapshot.params.partnerId })); + this.components = [ + { + name: 'CFAR Offer Banner', + link: 'cfar-offer-banner', + }, + { + name: 'CFAR Offer Banner Large', + link: 'cfar-offer-banner-large', + }, + { + name: 'CFAR Offer Dialog', + link: 'cfar-offer-dialog', + } + ]; } // ------------------------------- @@ -77,12 +84,6 @@ export class LayoutComponent implements OnInit, OnDestroy { takeUntil(this._unsubcriber) ).subscribe((data: Data) => this.selectedPath = data.path); - // Update the visibles components when the partnerId has changed - this._store.pipe( - select(getCurrentPartnerId), - takeUntil(this._unsubcriber) - ).subscribe((partnerId: number) => this._loadPartnerData(partnerId)); - // Update the current theme when it's changing this._store.pipe( select(getCurrentTheme), @@ -126,41 +127,4 @@ export class LayoutComponent implements OnInit, OnDestroy { onSetLanguage(newLanguage: string): void { this._store.dispatch(globalActions.setCurrentLang({ currentLang: newLanguage })); } - - // ------------------------------- - // - PRIVATES METHODS - // ------------------------------- - - /** - * FIXME : Load config by partner ? - * @param partnerId - */ - private _loadPartnerData(partnerId: number): void { - var components = []; - - this.currentPartnerId = partnerId; - - if (partnerId == 0) { - this.onSetTheme(Theme.THEME_LIGHT_BLUE); - - components.push({ name: 'CFAR Offer Banner', link: 'cfar-offer-banner' }); - components.push({ name: 'CFAR Offer Banner Large', link: 'cfar-offer-banner-large' }); - components.push({ name: 'CFAR Offer Dialog', link: 'cfar-offer-dialog' }); - components.push({ name: 'CFAR Exercise Flow', link: 'cfar-exercise-flow' }); - } else if (partnerId == 1) { - this.onSetTheme(Theme.THEME_LIGHT_YELLOW); - - components.push({ name: 'CFAR Offer Dialog', link: 'cfar-offer-dialog' }); - components.push({ name: 'CFAR Exercise Flow', link: 'cfar-exercise-flow' }); - } else { - this.onSetTheme(Theme.THEME_LIGHT_HOPPER); - - components.push({ name: 'CFAR Offer Banner', link: 'cfar-offer-banner' }); - components.push({ name: 'CFAR Offer Banner Large', link: 'cfar-offer-banner-large' }); - components.push({ name: 'CFAR Offer Dialog', link: 'cfar-offer-dialog' }); - components.push({ name: 'CFAR Exercise Flow', link: 'cfar-exercise-flow' }); - } - - this.components = components; - } } diff --git a/src/app/shared/enums/theme.enum.ts b/src/app/shared/enums/theme.enum.ts index 16ac64a..04833bd 100644 --- a/src/app/shared/enums/theme.enum.ts +++ b/src/app/shared/enums/theme.enum.ts @@ -1,6 +1,5 @@ export enum Theme { THEME_DARK_HOPPER = "theme-dark-hopper", THEME_LIGHT_HOPPER = "theme-light-hopper", - THEME_LIGHT_BLUE = "theme-light-blue", - THEME_LIGHT_YELLOW = "theme-light-yellow" + THEME_LIGHT_BLUE = "theme-light-blue" } \ No newline at end of file diff --git a/src/app/shared/ngrx/global/global.actions.ts b/src/app/shared/ngrx/global/global.actions.ts index d1d364e..46131be 100644 --- a/src/app/shared/ngrx/global/global.actions.ts +++ b/src/app/shared/ngrx/global/global.actions.ts @@ -1,5 +1,4 @@ import { createAction, props } from '@ngrx/store'; export const setCurrentLang = createAction('[TODO] Set the current language', props<{ currentLang: string }>()); -export const setCurrentTheme = createAction('[TODO] Set the current theme', props<{ currentTheme: string }>()); -export const setCurrentPartnerId = createAction('[TODO] Set the current partner id', props<{ currentPartnerId: number }>()); \ No newline at end of file +export const setCurrentTheme = createAction('[TODO] Set the current theme', props<{ currentTheme: string }>()); \ No newline at end of file diff --git a/src/app/shared/ngrx/global/global.reducer.ts b/src/app/shared/ngrx/global/global.reducer.ts index fa76703..33dc720 100644 --- a/src/app/shared/ngrx/global/global.reducer.ts +++ b/src/app/shared/ngrx/global/global.reducer.ts @@ -5,20 +5,17 @@ import * as globalActions from './global.actions'; export interface GlobalState { currentLang: string; currentTheme: string; - currentPartnerId: number; } const initialState: GlobalState = { currentLang: 'en', - currentTheme: Theme.THEME_LIGHT_HOPPER, - currentPartnerId: 0 + currentTheme: Theme.THEME_LIGHT_HOPPER }; const reducer = createReducer( initialState, on(globalActions.setCurrentLang, (state, { currentLang }) => ({ ...state, currentLang: currentLang })), on(globalActions.setCurrentTheme, (state, { currentTheme }) => ({ ...state, currentTheme: currentTheme })), - on(globalActions.setCurrentPartnerId, (state, { currentPartnerId }) => ({ ...state, currentPartnerId: currentPartnerId })) ); export function globalReducer(state: GlobalState | undefined, action: Action): GlobalState { diff --git a/src/app/shared/ngrx/global/global.selectors.ts b/src/app/shared/ngrx/global/global.selectors.ts index e0ef0e0..740ddd7 100644 --- a/src/app/shared/ngrx/global/global.selectors.ts +++ b/src/app/shared/ngrx/global/global.selectors.ts @@ -3,5 +3,4 @@ import { GlobalState } from "./global.reducer"; export const getGlobalState = createFeatureSelector('global'); export const getCurrentLang = createSelector(getGlobalState, state => state.currentLang); -export const getCurrentTheme = createSelector(getGlobalState, state => state.currentTheme); -export const getCurrentPartnerId = createSelector(getGlobalState, state => state.currentPartnerId); \ No newline at end of file +export const getCurrentTheme = createSelector(getGlobalState, state => state.currentTheme); \ No newline at end of file diff --git a/src/assets/miniatures/cfar-exercise-flow.png b/src/assets/miniatures/cfar-exercise-flow.png deleted file mode 100644 index 2d0ff65..0000000 Binary files a/src/assets/miniatures/cfar-exercise-flow.png and /dev/null differ diff --git a/src/index.html b/src/index.html index 843837c..46303f4 100644 --- a/src/index.html +++ b/src/index.html @@ -2,7 +2,7 @@ - HTS - Angular SDK + HTS - CFAR SDK diff --git a/src/styles.scss b/src/styles.scss index 1b76fb1..f63cc1f 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -34,7 +34,6 @@ $light-primary-text: white; @import "./app/pages/guides/cfar-offer-banner/cfar-offer-banner.component.scss"; @import "./app/pages/guides/cfar-offer-banner-large/cfar-offer-banner-large.component.scss"; @import "./app/pages/guides/cfar-offer-dialog/cfar-offer-dialog.component.scss"; -@import "./app/pages/guides/cfar-exercise-flow/cfar-exercise-flow.component.scss"; @import "./app/pages/not-found/not-found.component.scss"; @@ -50,7 +49,6 @@ $light-primary-text: white; @include cfar-offer-banner-page-component-theme($theme); @include cfar-offer-banner-large-page-component-theme($theme); @include cfar-offer-dialog-page-component-theme($theme); - @include cfar-exercise-flow-page-component-theme($theme); @include not-found-page-component-theme($theme); @@ -186,17 +184,6 @@ $hopper-light-theme: mat.define-light-theme(( @include documentation-components-theme($light-blue-theme); } -.theme-light-yellow { - // Apply the theme to all Angular Material Components - @include mat.all-component-themes($light-yellow-theme); - - // Apply the theme to the library components - @include hopper-cloud-airlines-angular-sdk-components-theme($light-yellow-theme); - - // Apply the theme to the documentation components - @include documentation-components-theme($light-yellow-theme); -} - // ------------------------------------------ // GLOBAL STYLE // ------------------------------------------