Interface CollectionsModule

All Superinterfaces:
BaseModule
All Known Implementing Classes:
PCMCollectionsModule

public interface CollectionsModule extends BaseModule
Defines collections-related business operations.
  • Method Details

    • getCollectionDetails

      List<CollectionDetails> getCollectionDetails(String accountId)
      gets the summary of collection details for all the bill units in collections for a particular accountID
      Parameters:
      accountId - account identifier
      Returns:
      The list of collection details objects retrieved from the target system, or empty list if the account (with the given ID) does not have any bill unit in collection
    • getCollectionDetailsForAccount

      AccountCollectionDetails getCollectionDetailsForAccount(String accountId)
      Retrieves all collection details for all the bill units in collection for the specified account id
      Parameters:
      accountId - Ex: 0.0.0.1+-account+123123
      Returns:
      payload represented by the AccountCollectionDetails schema
    • exempt

      void exempt(String billUnitId, Notes notes)
      Exempt bill unit from collections
      Parameters:
      billUnitId - Billunit id for exempting from collections
      notes - Notes object to be persisted
    • unexempt

      void unexempt(String billUnitId, Notes notes)
      Un-exempt bill unit from collections
      Parameters:
      billUnitId - Billunit id for un-exempting from collections
      notes - Notes object to be persisted
    • promiseToPay

      String promiseToPay(PromiseToPay promiseToPay, String billinfoId)
      Promise-to-pay operation This agreement allows you to defer running the collections action for a bill unit and allows the customer to pay the amount owed in installments.
      Parameters:
      promiseToPay - payload represented by the PromiseToPay schema. 'resourceRef','scenarioRef','promiseToPayInfo' and 'notes' are the fields passed as part of payload
      billinfoId - Ex: 0.0.0.1+-billinfo+2313045
      Returns:
      eventId output ID after promise to pay operation
    • revokePromiseToPay

      void revokePromiseToPay(String scenarioId, Notes notes)
      Revokes the promise-to-pay commitment.
      Parameters:
      scenarioId - Collection scenario id
      notes - Notes payload object represented by notes schema
    • insertAction

      String insertAction(String id, InsertAction insertAction)
      Inserting a new collections action
      Parameters:
      id - represents the collection action to be added Ex: 0.0.0.1+-config-collections-action+826
      insertAction - payload represented by insertAction
      Returns:
      outputActionId collection action if after an action is added
    • removeMember

      void removeMember(String id, Notes notes)
      Remove a member from a collections group
      Parameters:
      id - billunit to be removed from a collections group Ex :0.0.0.1+-billinfo+69381+10
      notes - Notes payload object represented by notes schema
    • createCollectionsGroup

      String createCollectionsGroup(CollectionsGroup collectionsGroup)
      Inserting a new collection group and adding member
      Parameters:
      collectionsGroup - payload represented by collectionsGroup schema
      Returns:
      collectionsGroupId output ID after creation of new collections group
    • modifyCollectionsGroup

      void modifyCollectionsGroup(String id, CollectionsGroup collectionsGroup)
      Modifies a collections group
      Parameters:
      id - Identifier of the collections group which needs to be modified
      collectionsGroup - payload represented by collectionsGroup schema This payload contain optional members array to replace existing set of current members, optional name parameter to change the name of the collections group, optional new parent parameter to change parent bill unit
    • deleteCollectionsGroup

      void deleteCollectionsGroup(String id)
      Deletes a collections group
      Parameters:
      id - collections group id to be deleted
    • addMember

      void addMember(String id, String collectionGroupId, Notes notes)
      Add a member to collections group
      Parameters:
      id - billunit to be added to collections group Ex : 0.0.0.1+-billinfo+69381+10
      collectionGroupId - id of the collections group
      notes - Notes payload object represented by notes schema
    • replaceCollectionScenario

      String replaceCollectionScenario(ReplaceScenarioDetails replaceScenarioDetails, String id)
      Replace existing collection scenario for bill unit
      Parameters:
      replaceScenarioDetails - payload which has reference to older scenario and the details of new scenario.Also the date from when new scenario has to be scheduled.
      id - BillUnit ID whose collection scenario is replaced
      Returns:
      BillUnit ID whose collection scenario is replaced
    • removeBillUnitFromCollections

      void removeBillUnitFromCollections(String id, Notes notes)
      Move bill unit out of collections
      Parameters:
      id - billunit to be moved out of the collections group Ex : 0.0.0.1+-billinfo+69381+10
      notes - Notes payload object represented by notes schema
    • getConfigScenarios

      Configurations getConfigScenarios(String id)
      Retrieves the configured collections scenarios
      Parameters:
      id - Chooses the schema from which configuration must be retrieved
      Returns:
      Configurations containing arrays of scenario Id, name and description
    • getCollectionGroup

      CollectionsGroup getCollectionGroup(String collectionGroupParentId)
      Retrieves the collection group details for the specified collectionGroupParent id
      Parameters:
      collectionGroupParentId - Ex: 0.0.0.1+-billinfo+123123
      Returns:
      payload represented by the CollectionsGroup schema
    • getConfigProfiles

      Configurations getConfigProfiles()
      Retrieves the configured collections profiles
      Returns:
      Configurations containing arrays of profile Id, name and description
    • getConfigActions

      Configurations getConfigActions()
      Retrieves the configured collections actions
      Returns:
      Configurations containing arrays of actions Id, name and description
    • getCollectionsExemptedBillUnits

      List<CollectionsExemptedBillUnits> getCollectionsExemptedBillUnits()
      Get exempted bill units from collections
      Returns:
      The list of exempted bill units from collections
    • editAction

      void editAction(EditAction editAction, String actionId)
      Edit a collections action
      Parameters:
      editAction - payload represented by the rescheduleAction schema. 'userID','rescheduleDueDate','slipDays' and 'notes' are the fields passed as part of payload
      actionId - ID of reschedule action
    • getCollectionsUsers

      List<User> getCollectionsUsers()
      Retrieves the list of users who has 'Perform' permission on 'CollectionResource'.
      Returns:
      usersList list of users
    • assignCollectionAgent

      void assignCollectionAgent(AssignCollectionsAgent assignAgentPayload)
      Assigns collection agent to the given billunit
      Parameters:
      assignAgentPayload - - contains billunit ref and agent username
    • getCollectionsActionHistory

      CollectionsActionHistory getCollectionsActionHistory(String actionId)
      Retrieves history of the collections action
      Parameters:
      actionId - Action Id whose history needs to be fetched
      Returns:
      CollectionsActionHistory object containing detail history of the action
    • getCollectionsGroupDetails

      CollectionsGroupDetails getCollectionsGroupDetails(String accountId)
      Retrieves the collections group information of all the bill units for the specified account
      Parameters:
      accountId - Id of account whose participation in collections group must be retrieved
      Returns:
      payload represented by the CollectionsGroupDetails schema