Figure PPSO.02 - Party Role Product Offering

Header Image
Project:
Figure PPSO.02 - Party Role Product Offering : Class diagram
Created: 3/28/2022 3:51:09 PM
Modified: 7/19/2024 6:32:44 AM
Project:
Advanced:
The Party Role Product Offering ABE has been added as a level 2 ABE within the level 1 Product Offering ABE. Figure PrPo.01 Party Role Product Offering shows the PartyRoleProductOffering entity and its related entities.<br/>Below is a description of each Boolean attribute:<br/>        • marketedBy is an indicator that specifies if the PartyRoleProductOffering is marketed by the related PartyRole. For example a Competitor PartyRole may only have this attribute set to true and the other boolean attributes set to false.<br/>        • orderTakenBy is an indicator that specifies that the associated PartyRole takes an order for the ProductOffering.<br/>        • paymentAcceptedBy is an indicator that specifies that the associated PartyRole accepts payment for the ProductOffering.<br/>        • paymentMadeTo is an indicator that specifies that payment is made to the associated PartyRole for the ProductOffering.  For example, an entrprise may accept payment on behalf of PartyRole and then send the payment to the PartyRole.<br/>        • billedBy is an indicator that specifies that the associated PartyRole submits a bill for the ProductOffering.<br/>        • postOrderFulfilledBy is used to indicate which PartyRole fulfills the order after it is taken by a PartyRole. <br/>        • afterSalesServiceProvidedBy is an indicator that specifies which PartyRole provides the after-sales service.<br/>Originally the orderTakenBy attribute was contained in the PartyRoleProductSpecification entity.  However it has been moved to PartyRoleProductOffering. This was done because BundleProductOfferings do not have to have a related ProductSpecification so there would be no way to indicate who takes an order for a BundledProductOffering.<br/>Additional attributes could be added to specify other processes responsibilities such as warehousedBy, manufacturedBy, etc.<br/><br/>Another way of specifying the processes responsibilities, instead of using Boolean attributes, would be to use a relationship with Process.<br/>Some examples:<br/>        • Amazon takes an order on behalf of Quidsi and also fulfills the order. In this case the attribute postOrderFulfilledBy is set to true for Amazon and false for Quidsi<br/>        • Amazon takes on order on behalf of Global Pets, sends the order to Global Pets who finishes the fulfillment of the order. In this case the attribute postOrderFulfilledBy is set to false for Amazon and true for Global Pets.<br/>The PartyRoleProdOffRelationship entity defines relationships between/among PartyRoleProductOffering entities, such as purchase for resell, broker as-is for resale, or ordered from (For example, an enterprise orders resources for its infrastructure from an equipment manufacturer).<br/>There can be many PartyRoleProductOfferings for one ProductOffering, therefore the relationship between PartyRoleProductOffering and AgreementItem is needed to specify which party’s ProductOffering applies to the AgreementItem such as SLAItem.<br/>An example of how an SLA can be either with the re-seller or with the "underlying" whole seller/manufacturer in a multi-party sell:<br/>        • When a tourist from Europe walks into an electronics shop in Hongkong, and buys a Sony camera, she/he is typically given the choice of either taking the standard "warranty agreement" (a kind of SLA), which is an agreement with the shop (the reseller) or exchange it for an "international warranty" that is offered by the original manufacturer, Sony, through its international representatives.<br/>        • The two agreements have different Terms & Conditions for the end customer of course, and are with two different parties... Tourists will typically choose the international one, as the local one would require them to bring/send the camera back to the shop for inspection.<br/>There is also the need to specify a ProductOfferingPrice with each party’s ProductOffering.<br/>There are two options to support this need, which can be chosen by an implementer of this part of the SID model:<br/>      1. Using the association between PartyRoleProductOffering and ProductOfferingPrice<br/>      2. Creating an instance of a ProductOffering for each PartyRole.<br/>