/* * Copyright (C) 2023 Expedia, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { JsonObject, JsonProperty } from 'typescript-json-serializer' @JsonObject({ constructorParams: [{}] }) export class SupplyProvider { /** * This field provides name of the partner involved in offering the activity. */ @JsonProperty({ name: 'name' }) name: string /** * This field indicates the nature or relationship of the vendor associated with a particular activity. * `THIRD_PARTY`: This value indicates that the partner integrates with a third-party platform via APIs and ingests activities from them. * `DIRECT`: This value signifies that the partner is a direct entity or provider associated with the organization or platform offering the activity. */ @JsonProperty({ name: 'type' }) type: SupplyProviderTypeEnum /** * This field describes the name of the third-party vendor who provided the supply provider or the operating company with the activity. */ @JsonProperty({ name: 'vendor_name' }) vendorName?: string public constructor(supplyProvider: SupplyProviderProperties) { this.name = supplyProvider.name this.type = supplyProvider.type this.vendorName = supplyProvider.vendorName } } export type SupplyProviderTypeEnum = 'THIRD_PARTY' | 'DIRECT' export interface SupplyProviderProperties { name: string type: SupplyProviderTypeEnum vendorName?: string }