Class AccessModel

java.lang.Object
com.highdeal.pnr.hci.AccessModel
All Implemented Interfaces:
XMLMarshallable

public class AccessModel extends Object implements XMLMarshallable
This Java class represents an access in master data that grants a timed license to an end customer of a service provider to access and use its digital services; In return for this service usage, the access identifies a charge that must be computed and debited for this service consumption. This fee is part of a commercial agreement (subscription, provider contract). The access establishes a business relationship between:
  • a technical key that depends on the digital service infrastructure and that identifies a point of service consumption resource (like a phone number or an email addresse)
  • a commercial agreement

Important Note

An access has a particular lifecycle. The technical key may be reassigned to another commercial agreement. See the Version and Chronology section.

An access is an association between technical information related to the usage of a digital service by an end customer and business information for charging this consumption.

  • Technical information includes both an identifier of the service (SERVICE ID), and of an identifier of the end customer of this service (USER SERVICE ID - USID)
  • Business agreement information includes the link to the (charge activations (*) for this user (end customer).

Example of user service ID and service ID: A phone number in the phone service, or an e-mail address in a messaging service

Notes (*)

  • Only the master charges that include a price plan configured with a usage rate can be part of an access. These APIs define these particular charges as an accessible charge. The business agreement information includes only accessible charges.
  • An access may have an owner. In this case, the access can only include accessible charges on subscriptions and provider contracts (see charging contracts related to a subscriber account whose service provider is the same as the owner of the access.

Version and Chronology

The access is not directly managed. It contains a chronology of accessible charge(s). An accessible charge represents a charge activation linked by the access.

If a linked activation charge is removed, the corresponding accessible charge is replaced by the previous accessible charge in the chronology. If there is no previous accessible charge, the deleted accessible charge is replaced by the following accessible charge. If the deleted accessible charge was alone, the access is removed.

Note

Since release 3.0 of SAP Convergent Charging, accesses are automatically created during the provisioning of provider contracts. You cannot customize this creation. Make sure you do not corrupt the accesses master data stored in SAP CC when your project implementation mixes subscriptions and provider contracts that shared the same accesses.

See Also:

XML API for HCI

The XML APIs specify the following XSD fragment:

XSD Fragment

<xs:element name="access">
   <xs:complexType>
    <xs:sequence>
       <xs:element ref="accessibleChargeChronology" minOccurs="0" maxOccurs="1"/>
       <xs:element ref="accessibleCharge" minOccurs="0" maxOccurs="1"/>
     </xs:sequence>
     <xs:attribute name="service" type="xs:string" use="required"/> <!-- means Service ID -->
     <xs:attribute name="user" type="xs:string" use="required"/> <!-- means User Service ID -->
     <xs:attribute name="owner" type="xs:string" use="optional"/>
   </xs:complexType>
 </xs:element>


 <xs:element name="accessibleChargeChronology">
   <xs:complexType>
     <xs:sequence>
       <xs:element ref="chronology" minOccurs="1" maxOccurs="1"/>
     </xs:sequence>
   </xs:complexType>
 </xs:element>

  • Field Details

  • Constructor Details

    • AccessModel

      public AccessModel()
      Constructs an empty access.
    • AccessModel

      public AccessModel(String serviceId, String userServiceId)
      Constructs an access with a service identifier and a user service identifier.
      Parameters:
      serviceId - The service identifier of the access
      userServiceId - The user service identifier of the access
  • Method Details

    • getServiceId

      public String getServiceId()
      Gets the service identifier of the access.
      Returns:
      The service identifier of the access
    • setServiceId

      public void setServiceId(String serviceId)
      Sets the service identifier of the access.
      Parameters:
      serviceId - The service identifier of the access
    • getUserServiceId

      public String getUserServiceId()
      Gets the user service identifier of the access.
      Returns:
      The user service identifier of the access
    • setUserServiceId

      public void setUserServiceId(String userServiceId)
      Sets the user service identifier of the access.
      Parameters:
      userServiceId - The user service identifier of the access
    • getOwner

      public String getOwner()
      Gets the owner of the access.
      Returns:
      The owner of the access
    • setOwner

      public void setOwner(String owner)
      Sets the owner of the access.
      Parameters:
      owner - The owner of the access
    • getAccessibleChargeChronology

      public ChronologyModel getAccessibleChargeChronology()
      Gets the accessible charge chronology of the access.
      Returns:
      The accessible charge chronology of the access
    • getAccessibleCharge

      public AccessibleChargeModel getAccessibleCharge()
      Gets the accessible charge for modification.
      Returns:
      The accessible charge for modification
    • setAccessibleCharge

      public void setAccessibleCharge(AccessibleChargeModel accessibleCharge)
      Sets the accessible charge for modification.
      Parameters:
      accessibleCharge - The accessible charge for modification
    • setAttributes

      public void setAttributes(XMLAttributes atts)
      Description copied from interface: XMLMarshallable
      Sets the attributes of the XML representation of the element being processed.
      Specified by:
      setAttributes in interface XMLMarshallable
      Parameters:
      atts - The XML attributes of the current element
    • addChild

      public void addChild(String tagName, XMLMarshallable child)
      Description copied from interface: XMLMarshallable
      Adds a child to the object, the child representing the marshallable object which must be added to the element.
      Specified by:
      addChild in interface XMLMarshallable
      Parameters:
      tagName - The name of tag for the child
      child - The child to be added
    • addCharacterData

      public void addCharacterData(String cData)
      Description copied from interface: XMLMarshallable
      Adds character data to the content element.
      Specified by:
      addCharacterData in interface XMLMarshallable
      Parameters:
      cData - The character data to be added
    • marshal

      public void marshal(XMLOutputter output)
      Description copied from interface: XMLMarshallable
      Gives an XML representation of this object, including its children.
      Specified by:
      marshal in interface XMLMarshallable
      Parameters:
      output - The XML output to marshal the object into