/** * Product Catalog Management * ## TMF API Reference: TMF620 - Product Catalog Management ### Release : 19.0 - June 2019 Product Catalog API is one of Catalog Management API Family. Product Catalog API goal is to provide a catalog of products. ### Operations Product Catalog API performs the following operations on the resources : - Retrieve an entity or a collection of entities depending on filter criteria - Partial update of an entity (including updating rules) - Create an entity (including default values and creation rules) - Delete an entity - Manage notification of events * * OpenAPI spec version: 4.0.0 * * * 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 { AgreementRef } from './agreementRef'; import { AttachmentRefOrValue } from './attachmentRefOrValue'; import { BundledProductOffering } from './bundledProductOffering'; import { CategoryRef } from './categoryRef'; import { ChannelRef } from './channelRef'; import { MarketSegmentRef } from './marketSegmentRef'; import { PlaceRef } from './placeRef'; import { ProductOfferingPriceRef } from './productOfferingPriceRef'; import { ProductOfferingTerm } from './productOfferingTerm'; import { ProductSpecificationCharacteristicValueUse } from './productSpecificationCharacteristicValueUse'; import { ProductSpecificationRef } from './productSpecificationRef'; import { ResourceCandidateRef } from './resourceCandidateRef'; import { SLARef } from './sLARef'; import { ServiceCandidateRef } from './serviceCandidateRef'; import { TimePeriod } from './timePeriod'; /** * Represents entities that are orderable from the provider of the catalog, this resource includes pricing information. Skipped properties: id,href */ export interface ProductOfferingCreate { /** * Description of the productOffering */ description?: string; /** * isBundle determines whether a productOffering represents a single productOffering (false), or a bundle of productOfferings (true). */ isBundle?: boolean; /** * A flag indicating if this product offer can be sold stand-alone for sale or not. If this flag is false it indicates that the offer can only be sold within a bundle. */ isSellable?: boolean; /** * Date and time of the last update */ lastUpdate?: Date; /** * Used to indicate the current lifecycle status */ lifecycleStatus?: string; /** * Name of the productOffering */ name: string; /** * A string providing a complementary information on the value of the lifecycle status attribute. */ statusReason?: string; /** * ProductOffering version */ version?: string; /** * An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications. */ agreement?: Array; /** * Complements the description of an element (for instance a product) through video, pictures... */ attachment?: Array; /** * A type of ProductOffering that belongs to a grouping of ProductOfferings made available to the market. It inherits of all attributes of ProductOffering. */ bundledProductOffering?: Array; /** * The category resource is used to group product offerings, service and resource candidates in logical containers. Categories can contain other categories and/or product offerings, resource or service candidates. */ category?: Array; /** * The channel defines the channel for selling product offerings. */ channel?: Array; /** * provides references to the corresponding market segment as target of product offerings. A market segment is grouping of Parties, GeographicAreas, SalesChannels, and so forth. */ marketSegment?: Array; /** * Place defines the places where the products are sold or delivered. */ place?: Array; /** * A use of the ProductSpecificationCharacteristicValue by a ProductOffering to which additional properties (attributes) apply or override the properties of similar properties contained in ProductSpecificationCharacteristicValue. It should be noted that characteristics which their value(s) addressed by this object must exist in corresponding product specification. The available characteristic values for a ProductSpecificationCharacteristic in a Product specification can be modified at the ProductOffering level. For example, a characteristic 'Color' might have values White, Blue, Green, and Red. But, the list of values can be restricted to e.g. White and Blue in an associated product offering. It should be noted that the list of values in 'ProductSpecificationCharacteristicValueUse' is a strict subset of the list of values as defined in the corresponding product specification characteristics. */ prodSpecCharValueUse?: Array; /** * An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased. The price is valid for a defined period of time and may not represent the actual price paid by a customer. */ productOfferingPrice?: Array; /** * A condition under which a ProductOffering is made available to Customers. For instance, a productOffering can be offered with multiple commitment periods. */ productOfferingTerm?: Array; /** * A ProductSpecification is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role. */ productSpecification?: ProductSpecificationRef; /** * A resource candidate is an entity that makes a ResourceSpecification available to a catalog. */ resourceCandidate?: ResourceCandidateRef; /** * ServiceCandidate is an entity that makes a ServiceSpecification available to a catalog. */ serviceCandidate?: ServiceCandidateRef; /** * A service level agreement (SLA) is a type of agreement that represents a formal negotiated agreement between two parties designed to create a common understanding about products, services, priorities, responsibilities, and so forth. The SLA is a set of appropriate procedures and targets formally or informally agreed between parties in order to achieve and maintain specified Quality of Service. */ serviceLevelAgreement?: SLARef; /** * The period for which the productOffering is valid */ validFor?: TimePeriod; /** * When sub-classing, this defines the super-class */ baseType?: string; /** * A URI to a JSON-Schema file that defines additional attributes and relationships */ schemaLocation?: string; /** * When sub-classing, this defines the sub-class entity name */ type?: string; }