Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Wiki Markup
{noprint}
{float:right|width=350px|background=lightgrey|border=solid blue 2px|margin=10px|padding=8px}
*Contents*
{toc:all=true|depth=4|excerpt=true|indent=14px}
{float}
{noprint}

h2. Components list


h3. Billing - Charge


h4. AddChargeToBillingGroup

|| Component name | AddChargeToBillingGroup ||
|| Class name | com.cdrator.billing.charge.component.AddChargeToBillingGroup ||
|| Description | Add a charge on BillingGroup - Charge is defined by PriceCode \\
Add a charge on BillingGroup - Charge is defined by PriceCode. The price code is made up of a prefix and suffix, which must both be added as parameters. The price code should match an existing fee. ||
|| Required activity parameters | PREFIX_PRICE_CODE - Prefix of the Fee: SINGLE,ONCE (Root) \\
SUFFIX_PRICE_CODE - Suffix of the Fee (Name) ||
|| Required context objects | SUBSCRIPTION - The customers Subscripton ||
|| Possible outcomes | DONE - Only possible outcome ||

h4. ChargeForBillingGroup

|| Component name | ChargeForBillingGroup ||
|| Class name | com.cdrator.billing.charge.component.ChargeForBillingGroup ||
|| Description | Add a charge on BillingGroup - Charge is defined by PriceCode \\
The price code is made up of a prefix and suffix, which must both be added as parameters. The price code should match an existing fee. ||
|| Required activity parameters | PREFIX_PRICE_CODE - Prefix of the Fee: SINGLE,ONCE (Root) ||
|| Optional activity parameters | SUFFIX_PRICE_CODE - Suffix of the Fee (Name) \\
SUFFIX_PRICE_CODE_KEY - Used to configure the context key, to fetch the suffix of the fee from the context, if SUFFIX_PRICE_CODEis not defined in the parameters. \\
ADD_CHARGE - If fee has to be added immediately. Should be set to true/false. By default its false. ||
|| Required context objects | SUBSCRIPTION - The customers Subscripton ||
|| Possible outcomes | DONE - Only possible outcome ||

h4. ChargeForSubscription

|| Component name | ChargeForSubscription ||
|| Class name | com.cdrator.billing.charge.component.ChargeForSubscription ||
|| Description | Creates a charge for subscription - Charge is defined by PriceCode. \\
The price code is made up of a prefix and suffix, which must both be added as parameters. The price code should match an existing fee. ||
|| Required activity parameters | PREFIX_PRICE_CODE - Prefix of the Fee: SINGLE,ONCE (Root) ||
|| Optional activity parameters | SUFFIX_PRICE_CODE - Suffix of the Fee (Name) \\
SUFFIX_PRICE_CODE_KEY - Used to configure the context key, to fetch the suffix of the fee from the context, if SUFFIX_PRICE_CODEis not defined in the parameters. \\
ADD_CHARGE - If fee has to be added immediately. Should be set to true/false. By default its false. \\
CHARGE_ITEM - If set to true, charge item will be added to context. ||
|| Required context objects | SUBSCRIPTION - The customers Subscripton ||
|| Possible outcomes | DONE - Only possible outcome ||

h3. Billing - Churn


h4. UpdateStatusAndCommentsForBatchFileLine

|| Component name | UpdateStatusAndCommentsForBatchFileLine ||
|| Class name | com.cdrator.billing.churn.component.UpdateStatusAndCommentsForBatchFileLine ||
|| Description | Updates the status and comments for a batch file line. ||
|| Optional activity parameters | STATUS - The status_id to which the status should be changed to. ||
|| Required context objects | BATCH_FILE_LINE - Batch file line whose status/comments have to be updated. ||
|| Optional context objects | BATCH_FILE_LINE_COMMENTS - The comment string to which the comment of batch file line has to be set to. ||
|| Possible outcomes | DONE - Once the update of status/comment is done. ||

h3. Billing


h4. ChangeAlertGroupForBillingGroup

|| Component name | ChangeAlertGroupForBillingGroup ||
|| Class name | com.cdrator.billing.component.ChangeAlertGroupForBillingGroup ||
|| Description | Sets alert group id on a billing group. \\
Sets alert group id on a billing group. Alert group id must be defined in the activity parameter as ALERT_GROUP_ID, and Billing group must be in context with key BILLING_GROUP ||
|| Required activity parameters | ALERT_GROUP_ID - Activity parameter to define the id of the alert group. ||
|| Required context objects | BILLING_GROUP - The ID of the Billing Group which will get the alert group id set. ||
|| Possible outcomes | DONE - When the Billing Groups alert group has been set. ||

h4. ChangeBillingGroup

|| Component name | ChangeBillingGroup ||
|| Class name | com.cdrator.billing.component.ChangeBillingGroup ||
|| Description | This component is used to change the billing group on a subscription. \\
The new billing group can be a reused existing billing group of the same type, or a new one. Saves the newly created billing group member to Context as BILLING_GROUP_MEMBER ||
|| Required context objects | SUBSCRIPTION - The subscription changing billing group. \\
BG_TYPE - The code for the Billing Group being being changed to. \\
BILLING_CYCLE - The ID of the Billing Cycle for the new Billing Group. Only required when creating a new Billing Group. \\
ALERT_GROUP - The ID of the Alert Group for the new Billing Group. Only required when creating a new Billing Group. ||
|| Optional context objects | CHANGE_DATE - The start date of the new billing group. If not set, will default to today's date. \\
CHANGE_TO_EXISTING_BG - Indicates if an existing Billing Group should be used as the new Billing Group. Allowed values: 'Y' and 'N'. If no value is set, or no existing Billing Group with type "BG_TYPE" can be found, defaults to creating a new Billing Group. ||
|| Possible outcomes | DONE - When the Billing Group has been changed ||

h4. CheckBillingGroupHasActiveMembers

|| Component name | CheckBillingGroupHasActiveMembers ||
|| Class name | com.cdrator.billing.component.CheckBillingGroupHasActiveMembers ||
|| Description | Checks if the Billing Group has active members. ||
|| Required context objects | BILLING_GROUP - The Billing Group which has to be checked. ||
|| Possible outcomes | YES - When the billing_group has active members. \\
NO - When the billing_group has no active members. ||

h4. CheckBillingGroupHasMailOrSmsEnabled

|| Component name | CheckBillingGroupHasMailOrSmsEnabled ||
|| Class name | com.cdrator.billing.component.CheckBillingGroupHasMailOrSmsEnabled ||
|| Description | Checks if email and sms options are enabled on the billing group. \\
Adds the context object: IS_SEND_BOTH into the context. This represents whether both sms and email have to be sent if the value is true. ||
|| Required context objects | BILLING_GROUP - Billing group is required in the context. ||
|| Possible outcomes | SEND_BOTH - If both sms and email options are enabled on the billing group. \\
SEND_EMAIL - If only email is enabled on the billing group. \\
SEND_SMS - If only sms is enabled on the billing group. ||

h4. CreateBillingGroup

|| Component name | CreateBillingGroup ||
|| Class name | com.cdrator.billing.component.CreateBillingGroup ||
|| Description | Determines which type of billing group to create based on the Product Config from the Context. \\
The outcome will be set based on Product Config's billing_group_code. ||
|| Required context objects | PRODUCT_CONFIG - The Product Config used to determine the Billing Group. ||
|| Possible outcomes | POST_PAID - When the billing_group_code fetched from the Product Config is, POST_PAID \\
PRE_PAID_CARD - When the billing_group_code fetched from the Product Config is, PRE_PAID_CARD \\
PRE_PAID_ADVANCED - When the billing_group_code fetched from the Product Config is, PRE_PAID_ADVANCED ||

h4. CreatePostPaidBillingGroup

|| Component name | CreatePostPaidBillingGroup ||
|| Class name | com.cdrator.billing.component.CreatePostPaidBillingGroup ||
|| Description | Creates a post-paid billing group and adds it to the Context. \\
The component saves the newly created post-paid billing group to the Context as, BILLING_GROUP or the context key defined in  the activity parameter BILLING_GROUP_CONTEXT_KEY. ||
|| Optional activity parameters | INVOICE_CREDIT_DAYS - Activity parameter to define the number of credit days. If not defined, then ParameterTreeValue for the specific product configs product code: "INVOICE.<PRODUCT_CONFIG_PRODUCT_CODE>_CREDIT_DAYS" will be considered.If the previous ParameterTreeValue is not defined, then, Default ParameterTreeValue: "INVOICE.CREDIT_DAYS" will be considered. If none of the above is set, then, "0" will be considered \\
INVOICE_TYPE - Activity parameter to define the invoice type. If not defined, then, ParameterTreeValue for the specific product configs product code: "INVOICE.DEFAULT_INVOICE_TYPE.<PRODUCT_CONFIG_PRODUCT_CODE>" will be considered.If none of the above is set, then, BillingGroup.INVOICE_TYPE_ID_PAPER will be considered. \\
BILLING_GROUP_CONTEXT_KEY - Activity parameter to define which context key will be used when adding the newly created billing group If not defined, context key defaults to BILLING_GROUP ||
|| Required context objects | PRODUCT_CONFIG - The Product Config used to create the billing group. ||
|| Optional context objects | BRAND - If this context object is present in the context, then the brand_id for the prepaid billing group being created is set. ||
|| Possible outcomes | DONE - When the postpaid billing group has been created. ||

h4. CreatePrePaidBillingGroup

|| Component name | CreatePrePaidBillingGroup ||
|| Class name | com.cdrator.billing.component.CreatePrePaidBillingGroup ||
|| Description | Creates a prepaid billing group and adds it to the Context. \\
The component adds the newly created prepaid billing group to the context as, BILLING_GROUP. ||
|| Required context objects | PRODUCT_CONFIG - The Product Config used to create the prepaid billing group. ||
|| Optional context objects | BRAND - If this object is present in the context, then the brand_id for the prepaid billing group being created is set. ||
|| Possible outcomes | DONE - When the prepaid billing group has been created. ||

h4. CreatePrePaidCardBillingGroup

|| Component name | CreatePrePaidCardBillingGroup ||
|| Class name | com.cdrator.billing.component.CreatePrePaidCardBillingGroup ||
|| Description | Creates a prepaid card billing group and adds it to the Context. \\
The component adds the newly created prepaid card billing group to the context as, BILLING_GROUP. ||
|| Required context objects | PRODUCT_CONFIG - The Product Config used to create the billing group. ||
|| Optional context objects | BRAND - If this object is present in the context, then the brand_id for the prepaid billing group being created is set. ||
|| Possible outcomes | DONE - When the prepaid card billing group has been created. ||

h4. GetBillingGroupByName

|| Component name | GetBillingGroupByName ||
|| Class name | com.cdrator.billing.component.GetBillingGroupByName ||
|| Description | Checks if a billing group exists for the provided billing group name. \\
If a billing group is found then the billing group is added to the context. ||
|| Required context objects | BILLING_GROUP_NAME - Billing group name for which a billing group has to be fetched. ||
|| Possible outcomes | SUCCESS - If a billing group is found. \\
FAILED - If a billing group is not found. ||

h4. MoveBillingGroupBalance

|| Component name | MoveBillingGroupBalance ||
|| Class name | com.cdrator.billing.component.MoveBillingGroupBalance ||
|| Description | Moves the balance from prepaid billing group to a new postpaid billing group. \\
This component requires that two CHARGE_ITEMS are defined in parameter tree: \\
MIGRATION.BALANCE.FROM_PREPAID_TO_POSTPAID: charge_item for moving positive balance \\
MIGRATION.BALANCE.FROM_PREPAID_TO_POSTPAID_NEGATIVE: charge_item for moving negative balance ||
|| Required context objects | BILLING_GROUP - The old prepaid billing group whose balance has to be moved. \\
SUBSCRIPTION - Subscription related to the new billing group. ||
|| Possible outcomes | DONE - When the Billing Group's balance is moved. \\
WAIT - If the new Billing Group Member is not active. ||

h4. TerminateSubscriptionOn

|| Component name | TerminateSubscriptionOn ||
|| Class name | com.cdrator.billing.component.TerminateSubscriptionOn ||
|| Description | This component takes all possible information and calls subscription.terminateON \\
If the parameters (object)_key is set, it will be used instead of the default key in the description. \\
If the optional objects in the description is not there, default values will be used instead, these values are taken from the terminateOn methods in the subscription class. \\
If the parameters REASON, COMMENT, HOOKPOINT or COMMENT2 are set, the text will be used instead of what is in context. \\
If they follow this regex: \^\w+\.\w+()$ the method will be called in the same way as in the component: AddContextObject, otherwise they will be used a text string. ||
|| Optional activity parameters | SUBSCRIPTION_KEY - The context key for the subscription \\
DATE_KEY - The context key for the date \\
REASON_KEY - The context key for the reason \\
OUTPORT_KEY - The context key for the outport \\
COMMENT_KEY - The context key for the comment \\
REASON_ID_KEY - The context key for the reason_id \\
HOOKPOINT_KEY - The context key for the hookpoint_key \\
COMMENT2_KEY - The context key for the comment2 \\
CAN_CONTACT_CUSTOMER_KEY - The context key for the can_contact_customer \\
OUTPORTED_TO_SERVICE_ID_KEY - The context key for the outported_to_service_id \\
REASON - The reason text or method to call \\
COMMENT - The comment text or method to call \\
HOOKPOINT - The hookpoint text or method to call \\
COMMENT2 - The comment2 text or method to call ||
|| Required context objects | SUBSCRIPTION - The subscription to terminated. \\
DATE - The date to terminate on. \\
REASON - The reason for the termination. Only required if REASON is not set in the parameters. ||
|| Optional context objects | OUTPORT - If the service of the subscription should be set as outported. \\
COMMENT - The comment to put in the termination. \\
REASON_ID - The reason_id to put in the termination. \\
HOOKPOINT - The hookpoint_key for the termination flow. \\
COMMENT2 - The comment2 to put in the termination. \\
CAN_CONTACT_CUSTOMER - If the customer can be contacted. \\
OUTPORTED_TO_SERVICE_ID - The service id the subscription has been outported to. ||
|| Possible outcomes | DONE - If the subscription is terminated correctly. ||

h3. Billing - Invoice


h4. AddInvoiceFee

|| Component name | AddInvoiceFee ||
|| Class name | com.cdrator.billing.invoice.component.AddInvoiceFee ||
|| Description | This component will add fees to all invoices in the batch based on Brand Key and BillingGroup Invoice Type. \\
If no invoices exist to be processed for the batch, just a log entry will be added. ||
|| Required context objects | INVOICE_BATCH - The batch to which the fee has to be added to. \\
PE_CODE_X - Context object where X is replaced by billing group Invoice Type mapped to the Plan Element Code. Fx: PE_CODE_0 (invoice type paper) = SINGLE-INVOICE_GIRO. \\
RATEPLAN_BK_XXXX - Context object where XXXX is replaced by the Brand key mapped to the RatePlan ID. Fx: for instance: RATEPLAN_BK_GREENTEL = 201202031557455011. ||
|| Possible outcomes | DONE - After the invoice batch is processed or if no invoices exist in the batch to be processed. ||

h4. CloseOpenInvoice

|| Component name | CloseOpenInvoice ||
|| Class name | com.cdrator.billing.invoice.component.CloseOpenInvoice ||
|| Description | This component will close the invoice based on the invoice from the context. ||
|| Required context objects | INVOICE - The invoice to be closed. ||
|| Possible outcomes | DONE - Once the invoice is closed. ||

h4. CloseOpenInvoiceWithDueDate

|| Component name | CloseOpenInvoiceWithDueDate ||
|| Class name | com.cdrator.billing.invoice.component.CloseOpenInvoiceWithDueDate ||
|| Description | This component will close an invoice in context. \\
The component will close the invoice using invoice.closeWithDueDate(now). ||
|| Required context objects | INVOICE - The invoice that has to be closed. ||
|| Possible outcomes | DONE - When the invoice is closed. ||

h4. GenericGetInvoiceAggregateLines

|| Component name | GenericGetInvoiceAggregateLines ||
|| Class name | com.cdrator.billing.invoice.component.GenericGetInvoiceAggregateLines ||
|| Description | Fetches the invoice aggregate lines of an invoice \\
Saves the list of invoice aggregate lines into the context as, INVOICE_AGGREGATE_LINES ||
|| Optional activity parameters | INVOICE_AGGREGATE_LINES_CONTEXT_KEY - CONTEXT key to use when adding the invoice aggregate lines to the context. Default: INVOICE_AGGREGATE_LINES ||
|| Required context objects | INVOICE - The invoice for which to get invoice aggregate lines ||
|| Possible outcomes | DONE - When the invoice aggregate lines have been added to the context \\
NO_INVOICE_AGGREGATE_LINES_FOUND - When the invoice does not contain any aggregate lines ||

h4. GetInvoiceAggregateLines

|| Component name | GetInvoiceAggregateLines ||
|| Class name | com.cdrator.billing.invoice.component.GetInvoiceAggregateLines ||
|| Description | Fetches the invoice aggregate lines of an invoice. \\
Saves the list of invoice aggregate lines into the context as, INVOICE_AGGREGATE_LINES ||
|| Required context objects | INVOICE_ID - Invoice id for the invoice whose aggregate lines have to be fetched. ||
|| Possible outcomes | NO_INVOICE_AGGREGATE_LINES_FOUND - When no aggregate lines exist for the invoice. \\
DONE - When the aggregate lines are fetched and added to the context. ||

h3. Billing - Payment


h4. AccountPaymentSetCaptureStatus

|| Component name | AccountPaymentSetCaptureStatus ||
|| Class name | com.cdrator.billing.payment.component.AccountPaymentSetCaptureStatus ||
|| Description | This component will update the capture status on an Account Payment. \\
It will set the capture status to the value configured in the activity parameter: NEW_CAPTURE_STATUS. ||
|| Required activity parameters | NEW_CAPTURE_STATUS - Valid capture status id(valid integer value) to which the Account Payment's capture status has to be set to. ||
|| Required context objects | ACCOUNT_PAYMENT - The account payment whose status has to be changed. ||
|| Possible outcomes | DONE - When the capture status id of the Account Payment has been set. ||

h4. CreateRechargeTicket

|| Component name | CreateRechargeTicket ||
|| Class name | com.cdrator.billing.payment.component.CreateRechargeTicket ||
|| Description | Creates a new recharge ticket. \\
This component creates a new recharge ticket for a given BILLING_GROUP with TICKET_ID and TICKET_TYPE. \\
The recharge ticket is added to the context with key "RECHARGE_TICKET". ||
|| Optional activity parameters | DEFAULT_RECHARGE_LIMIT_PATH - default recharge limit if none found in the context \\
SAVE_TICKET - After saving the ticket should it be saved. Y = Yes/N = No. Default: Y ||
|| Required context objects | BILLING_GROUP - The billing group must be in the context \\
TICKET_TYPE - The ticket code must be in the context with key ||
|| Optional context objects | TICKET_ID - The ticket value must be in the context \\
RECHARGE_AMOUNT - Recharge amount \\
RECHARGE_TO_AMOUNT - Recharge to amount \\
RECHARGE_LIMIT - Recharge limit \\
LAST_RECHARGE_DATE - Date the ticket should be considered recharged last. Recharges will only occur after this day. \\
DAY_OF_MONTH - Day of month to recharge \\
REFERNCE - Recharge ticket reference ||
|| Possible outcomes | RECHARGE_TICKET_EXISTS - If the recharge ticket already exists \\
DONE - When the recharge ticket has been created ||

h4. DeleteRechargeTicket

|| Component name | DeleteRechargeTicket ||
|| Class name | com.cdrator.billing.payment.component.DeleteRechargeTicket ||
|| Description | Delete a recharge ticket. \\
This component deletes a recharge ticket for a given BILLING_GROUP. \\
The billing group must be in the context with key "BILLING_GROUP" \\
Possible outcomes are: \\
NO_RECHARGE_TICKET_FOUND \\
DONE ||

h4. GetNewPaymentRef

|| Component name | GetNewPaymentRef ||
|| Class name | com.cdrator.billing.payment.component.GetNewPaymentRef ||
|| Description | Returns a payment reference. \\
This component will return a payment reference (by using the id sequence using getFullId()). \\
The payment reference will be added to the context with key: "PAYMENT_REF". \\
This key can be customized by setting activity parameter: PAYMENT_REF_KEY \\
It is possible to precede the payment reference with the brand key by setting "PREPEND_BRAND_KEY" to "Y" \\
The resulting payment ref will be: BRANDKEY + ID \\
Possible outcomes are: \\
DONE ||

h4. GetRechargeTicket

|| Component name | GetRechargeTicket ||
|| Class name | com.cdrator.billing.payment.component.GetRechargeTicket ||
|| Description | Gets a recharge ticket. \\
This component retrieves a recharge ticket for a given BILLING_GROUP. \\
The recharge ticket values are added to the context with keys: "TICKET_ID", "TICKET_TYPE", "RECHARGE_AMOUNT", "RECHARGE_TO_AMOUNT", "DAY_OF_MONTH", "RECHARGE_LIMIT" \\
The billing group must be in the context with key "BILLING_GROUP" \\
Possible outcomes are: \\
NO_RECHARGE_TICKET_FOUND \\
DONE ||

h4. SavePayment

|| Component name | SavePayment ||
|| Class name | com.cdrator.billing.payment.component.SavePayment ||
|| Description | Saves a payment. \\
This component saves a payment. \\
The account payment is added to the context with key: "ACCOUNT_PAYMENT" \\
A valid charge item must be set in the parameter tree with value: "SOAP.SIGNUP.PAYMENT.CHARGE_ITEM_ID" \\
The billing group must be in the context with key "BILLING_GROUP" \\
The payment date must be in the context with key "PAYMENT_DATE" \\
The payment type must be in the context with key "PAYMENT_TYPE" \\
The payment reference must be in the context with key "PAYMENT_REFERENCE" \\
The transaction id must be in the context with key "TRANSACTION_ID", if it's a number. \\
The transaction id must be in the context with key "TRANSACTION_NUMBER", if it's alphanumerical. \\
The amount must be in the context with key "AMOUNT" \\
Outcome is \\
DONE ||
|| Required context objects | BILLING_GROUP - The billing group must be in the context with key "BILLING_GROUP" \\
PAYMENT_DATE - The payment date must be in the context with key "PAYMENT_DATE" \\
PAYMENT_TYPE - The payment type must be in the context with key "PAYMENT_TYPE" \\
PAYMENT_REFERENCE - The payment reference must be in the context with key "PAYMENT_REFERENCE" \\
TRANSACTION_ID - The transaction id must be in the context with key "TRANSACTION_ID", if it's a number. In case transactionId is alphanumerical, transactionNumber should be used and this should be set to 0. \\
AMOUNT - The amount must be in the context with key "AMOUNT" ||
|| Optional context objects | TRANSACTION_NUMBER - The transaction id must be in the context with key "TRANSACTION_NUMBER", if it's alphanumerical. ||
|| Possible outcomes | DONE - this is a description of the possible outcomes of the activity ||

h4. UpdateRechargeTicket

|| Component name | UpdateRechargeTicket ||
|| Class name | com.cdrator.billing.payment.component.UpdateRechargeTicket ||
|| Description | Updates a recharge ticket. \\
This component updates a recharge ticket for a given BILLING_GROUP. For each listed field if not null or empty. \\
The recharge ticket is added to the context with key "RECHARGE_TICKET". \\
The billing group must be in the context with key "BILLING_GROUP". \\
Optional context parameters: \\
"RECHARGE_AMOUNT" - recharge amount \\
"RECHARGE_TO_AMOUNT" - recharge to amount \\
"RECHARGE_LIMIT" - recharge limit \\
"DAY_OF_MONTH" - day of month to recharge \\
Possible outcomes are: \\
NO_RECHARGE_TICKET_FOUND \\
DONE ||

h3. Billing - SubscriptionFees


h4. AddFeeForRemainingSubscriptionLockin

|| Component name | AddFeeForRemainingSubscriptionLockin ||
|| Class name | com.cdrator.billing.subscriptionFees.component.AddFeeForRemainingSubscriptionLockin ||
|| Description | Add a fee for the options in the list OPTION_KEYS if the active service is subscribed to one or more of these options. \\
Fees will be charged for the remaining time of the current subscription lockin (if present). As for instance caused by subscription termination before lockin end date. ||
|| Required activity parameters | OPTION_KEYS - A list of product option keys separated by , [comma]. Options for the provided keys will be checked. ||
|| Required context objects | SUBSCRIPTION - The subscription that will be charged with the fees. ||
|| Possible outcomes | ADDED - After adding the fees for the remaining lockin period. \\
NO_LOCKIN - If SUBSCRIPTION doesn't have an active lockin. ||

h4. BillAllActiveSubscriptionFees

|| Component name | BillAllActiveSubscriptionFees ||
|| Class name | com.cdrator.billing.subscriptionFees.component.BillAllActiveSubscriptionFees ||
|| Description | This component will bill all SubscriptionFees instantly on the invoice passed in the context. \\
SUBSCRIPTION and INVOICE are required in the context. This component will find all the subscriptionFees for a subscription and bill it to the invoice from the context. \\
Outcome is DONE ||

h4. GetAnumberGroupSignupFee

|| Component name | GetAnumberGroupSignupFee ||
|| Class name | com.cdrator.billing.subscriptionFees.component.GetAnumberGroupSignupFee ||
|| Description | Gets the signup fees for a signup anumber group. \\
Gets the signup fees for a signup a-number group. \\
The fee is added to the context with key: "ANUMBER_GROUP_SIGNUP_FEE". \\
The a-number group id should be in the context with key "ANUMBER_GROUP_ID", otherwise no AnumberGroupSignupFee is added. \\
The rateplan must be in the context with key "RATE_PLAN". \\
Optional context parameters: \\
TOTAL_PRICE \\
Outcome is \\
DONE ||

h4. GetProductOptionFees

|| Component name | GetProductOptionFees ||
|| Class name | com.cdrator.billing.subscriptionFees.component.GetProductOptionFees ||
|| Description | Gets the signup fees for product options. \\
The list will be available in the context with key: "SOAP_GET_PRODUCT_OPTION_FEES". \\
The rate plan must be added to the context with key "RATE_PLAN_ID". \\
The product option must be added to the context with key "PRODUCT_OPTIONS". \\
Possible input is: \\
"TOTAL_PRICE" - Used internally for summing up fee costs \\
Possible activity configuration is: \\
BUSINESS_DAYS_UNTIL_START: number of working days until fee starts. Default is 1. \\
ADD_EXTRA_MONTH: if the component should add an extra month if the feedate is later than the 15th. \\
Possible outcomes are: \\
NO_RATE_PLAN_FOUND \\
DONE ||

h4. GetSignupFee

|| Component name | GetSignupFee ||
|| Class name | com.cdrator.billing.subscriptionFees.component.GetSignupFee ||
|| Description | Gets the signup fees for a signup to a specific rate plan. \\
Gets the signup fees for a signup to a specific rate plan. \\
The list will be available in the HookpointResult with key: "SOAP_GET_SIGNUP_FEE". \\
Possible input is: \\
RATE_PLAN_ID \\
TOTAL_PRICE \\
Possible outcomes are: \\
NO_RATE_PLAN_FOUND \\
DONE ||

h4. UpdateFeeEndDateWithEndDateLastPeriod

|| Component name | UpdateFeeEndDateWithEndDateLastPeriod ||
|| Class name | com.cdrator.billing.subscriptionFees.component.UpdateFeeEndDateWithEndDateLastPeriod ||
|| Description | Updates subscription fee's fee_end_date with end_date_last_period of the subscription fee. \\
When updating the fee_end_date, if then end_date_last_period is null, then both end_date_last_period and fee_end_date are updated with subscription's end_date. ||
|| Required context objects | SUBSCRIPTION - Subscription whose fees dates have to be updated. ||
|| Possible outcomes | DONE - When fee_end_date is set. ||

h3. Campaign - Bundle


h4. GetBundleInfo

|| Component name | GetBundleInfo ||
|| Class name | com.cdrator.campaign.bundle.component.GetBundleInfo ||
|| Description | Get bundle info. \\
Returns the bundle information for a product option given its campaign id. \\
The list will be available in the HookpointResult with key: "SOAP_GET_BUNDLE_INFO" \\
Possible input is: \\
CAMPAIGN_ID \\
Possible outcomes are: \\
DONE ||

h4. GetSubscriptionBundle

|| Component name | GetSubscriptionBundle ||
|| Class name | com.cdrator.campaign.bundle.component.GetSubscriptionBundle ||
|| Description | Gets the subscription bundles. \\
This component will get the subscription bundles. \\
The list will be available in the HookpointResult with key: "SOAP_GET_SUBSCRIPTION_BUNDLES" \\
Possible input is: \\
SUBSCRIPTION_ID \\
Possible outcomes are: \\
NO_SUBSCRIPTION_BUNDLES_FOUND \\
DONE ||

h3. Campaign


h4. ActivateSubscriptionCampaignInContext

|| Component name | ActivateSubscriptionCampaignInContext ||
|| Class name | com.cdrator.campaign.component.ActivateSubscriptionCampaignInContext ||
|| Description | This component will activate the subscription campaign in the context. \\
A subscription campaign is required in the context for this component to work.It will set the status and start date on the subscription campaign and add a subscription bundle, if one does not exist. ||
|| Optional activity parameters | SUBCAMPAIGN_START_DATE - If a date other than current date has to be set as the start date of the subscription campaign. ||
|| Required context objects | SUBSCRIPTION_CAMPAIGN - Subscription campaign which has to be activated. ||
|| Possible outcomes | activated - Once the subscription campaign is activated. ||

h4. ActivateSubscriptionCampaigns

|| Component name | ActivateSubscriptionCampaigns ||
|| Class name | com.cdrator.campaign.component.ActivateSubscriptionCampaigns ||
|| Description | This component will activate subscription campaigns. \\
A subscription is required in the context for this component to work. This component will activate all subscription campaigns assigned to the subscription.It will set the status and start date on the subscription campaigns and add a subscription bundle, if one does not exist. By default the start date will be set to now, but can be changed by adding another date into the context with the key SUBCAMPAIGN_START_DATE. \\
Outcome is activated ||

h4. AddCampaignsToSubscription

|| Component name | AddCampaignsToSubscription ||
|| Class name | com.cdrator.campaign.component.AddCampaignsToSubscription ||
|| Description | This component will add one-to-many campaigns to a subscription. \\
A subscription is required in the context and parameter for the campaign codes (code fields from the campaign).This component will add campaigns to a subscription. \\
Outcome is ADDED ||

h4. AssignCampaign

|| Component name | AssignCampaign ||
|| Class name | com.cdrator.campaign.component.AssignCampaign ||
|| Description | Assign a campaign to the subscription, based on a campaign key and the subscription object. \\
The generated subscription campaign object will be added to the context. \\
Required context value(s): \\
SUBSCRIPTION: the subscription that the campaign will be assigned to \\
Optional context value(s): \\
CAMPAIGN_KEY: the key of the campaign. If not found the value from the paramter value is used. \\
Optional parameter value(s): \\
CAMPAIGN_KEY: the key of the campaign. \\
Outcome are: \\
DONE \\
CAMPAIGN_NOT_FOUND ||

h4. GetProductCampaigns

|| Component name | GetProductCampaigns ||
|| Class name | com.cdrator.campaign.component.GetProductCampaigns ||
|| Description | Add the list of campaigns for a specific product to the context \\
Required context values: \\
PRODUCT_ID or PRODUCT \\
Outcome are: \\
DONE \\
PRODUCT_NOT_FOUND ||

h4. GetSubscriptionCampaigns

|| Component name | GetSubscriptionCampaigns ||
|| Class name | com.cdrator.campaign.component.GetSubscriptionCampaigns ||
|| Description | Gets the subscription campaigns and put in Context. \\
This component will get the subscription campaigns. \\
The list of subscription campaigns  will be available in the context with key: "SUBSCRIPTION_CAMPAIGNS". \\
The SUBSCRIPTION must be in the WfContext with key "SUBSCRIPTION". \\
Possible outcomes are: \\
NO_SUBSCRIPTION_CAMPAIGNS_FOUND \\
DONE ||

h4. ReActivateSubscriptionCampaign

|| Component name | ReActivateSubscriptionCampaign ||
|| Class name | com.cdrator.campaign.component.ReActivateSubscriptionCampaign ||
|| Description | Re-activates a subscription campaign. \\
The date in the field To Date will be removed and the Status cahnged to Active (1). \\
Required context value: \\
SUBSCRIPTION_CAMPAIGN \\
Outcome is: \\
DONE ||

h3. CdmaPhone


h4. BookCdmaPhoneToService

|| Component name | BookCdmaPhoneToService ||
|| Class name | com.cdrator.cdmaPhone.component.BookCdmaPhoneToService ||
|| Description | This component will book a cdmaPhone to the service. \\
A CDMA_PHONE and a SERVICE is required in the context for this component to work. This component will book a CDMA Phone to a cdma SERVICE. \\
Outcome is DONE ||

h3. Correspondence - Archive


h4. AddDocArchive

|| Component name | AddDocArchive ||
|| Class name | com.cdrator.correspondence.archive.component.AddDocArchive ||
|| Description | This component will save a document to the doc archive using an inputStream in the context. \\
Parameters required for this to work is: \\
INPUT_STREAM_CONTEXT_KEY \\
PERSISTENT_OBJECT_KEY \\
DOC_ARCHIVE_DESCRIPTION \\
DOC_ARCHIVE_FILE_NAME \\
Optional parameters: \\
DOC_ARCHIVE_SUB_CODE \\
Required objects in the context: \\
ACCOUNT \\
A persistentObject with the key matching the value of the parameter PERSISTENT_OBJECT_KEY. \\
An InputStream with the key matching the value of the parameter INPUT_STREAM_CONTEXT_KEY. \\
Outcome is \\
DONE ||

h4. SaveDocArchiveFile

|| Component name | SaveDocArchiveFile ||
|| Class name | com.cdrator.correspondence.archive.component.SaveDocArchiveFile ||
|| Description | This component will save a document from the document archive to the file system. \\
Parameters required for this to work is: FILE_PATH and DOC_ARCHIVE must be in the context of the workflow. \\
Outcome is DONE. ||

h3. Correspondence


h4. DynamicSender

|| Component name | DynamicSender ||
|| Class name | com.cdrator.correspondence.component.DynamicSender ||
|| Description | This component will assemble and send dynamic mail or SMS. \\
The component is configured using parameters. \\
Use the following configuration parameters: \\
TEMPLATE_KEY=<template key> \\
TEMPLATE_TYPE=<EMAIL> or <SMS> (if not defined the default is EMAIL) \\
[REPLACE_EMPTY_LABELS|REPLACE_EMPTY_LABELS]=true/false meaning if a LABEL is not handling and this is set to true, the label will not be shown as \*\**LABEL@SOMETHING*\**, but will be an empty string. DEFAULT=FALSE. \\
[TEMPLATE_TO|TEMPLATE_TO]=<phone_number> or <email> of recipent. If put in "SOMETHING" (double quotes) it will be used directly, otherwise the sender will try to resolve it like for labels etc. \\
\__________________________________________\_ \\
All parameters where the value is in "SOMETHING" (double quotes) are used directly. \\
Data can be retrieved using the same navigation logic as for labes and conditions. \\
It will replace lables using methods from context objects. \\
Advanced labels can be configured and uses by defining retrival path. \\
Example: \\
Context contains a SUB (Subscription) and is a mobile subscription meaning service will know the SIM card \\
You can navigate to SIM card pin using: \\
LABEL_PIN1=SUBSCRIPTION.getService.getSimCard.getPin1 \\
LABEL_PIN2=SUBSCRIPTION.getService.getSimCard.getPin2 \\
You can use work-labels for advanced navigation i.e. \\
WORK_SIMCARD=SUBSCRIPTION.getService.getSimCard \\
LABEL_PIN1=WORK_SIMCARD.getPin1 \\
\__________________________________________\_ \\
Attachment options (several attachments allowed): \\
Parameters with key ATTACHMENT_<SOMETHING> will be tried resolved like labels. \\
Example: \\
WORK_INV_CODE=INVOICE \\
ATTACHMENT_AUTHORIZATION=INVOICE.getDocArchive(WORK_INV_CODE).getDocArchiveFile \\
It is also possible to directly define a path for a file to attach like: \\
ATTACHMENT_AUTHORIZATION="C:/rator/files/somefile.txt" .. must be in double quotes \\
The last option is to put the attachment in the context in an earlier step in the wf. \\
Meaning CONTEXT.get("ATTACHMENT_<SOMETHING>") should contain the file to attach ||
|| Required activity parameters | TEMPLATE_KEY - Name of the template to use. ||
|| Optional activity parameters | TEMPLATE_TYPE - <EMAIL> or <SMS> (if not defined the default is EMAIL) \\
REPLACE_EMPTY_LABELS - true/false meaning if a LABEL is not handling and this is set to true, the label will not be shown \\
TEMPLATE_TO - <phone_number> or <email> of recipent. If put in "SOMETHING" (double quotes) it will be used directly ||
|| Optional context objects | SUBSCRIPTION - Subscription object \\
ACCOUNT - Account object \\
SERVICE - Service object ||
|| Possible outcomes | DONE - When correspondance is sent ||

h3. Device


h4. ChangeDeviceStatus

|| Component name | ChangeDeviceStatus ||
|| Class name | com.cdrator.device.component.ChangeDeviceStatus ||
|| Description | Changes the status of the device defined to a configurable new status.Required parameters: \\
NEW_DEVICE_STATUS: the new status value for the device. \\
Optional parameters:The device is found in the context found via the key defined in the parameter: DEVICE_CONTEXT_KEY. \\
The default device CONTEXT_KEY is DEVICE. \\
Outcome is DONE. ||

h4. ReleaseDevice

|| Component name | ReleaseDevice ||
|| Class name | com.cdrator.device.component.ReleaseDevice ||
|| Description | Releases the device from any service assignment. \\
Required parameters: \\
Optional parameters: \\
DEVICE_CONTEXT_KEY - The device is found in the context found via the key defined in this parameter. \\
Default device CONTEXT_KEY is DEVICE. \\
Outcome is DONE. ||

h3. Fraud - Addresscheck


h4. CheckIfUserExistsByPersonalIdOrCVRId

|| Component name | CheckIfUserExistsByPersonalIdOrCVRId ||
|| Class name | com.cdrator.fraud.addresscheck.component.CheckIfUserExistsByPersonalIdOrCVRId ||
|| Description | Checks if the user exists based on the personal id or the CVR id. \\
Either PERSONAL_ID or CVR_ID must be specified. Adds the boolean value to the context: IS_USER_EXISTS representing whether a user exists or not. ||
|| Optional activity parameters | CHECK_FOR_ACTIVE_SUBSCRIPTIONS - If set to true, the component will check if the user with the given personal_id(/cvr_id has any non-terminated subscriptions. If the user does not have any non-terminated subscriptions, then the outcome will be false. ||
|| Required context objects | CONTEXT - Context object, mandatory in each request. ||
|| Optional context objects | PERSONAL_ID - Personal Id of user. \\
CVR_ID - CVR ID of company/business. ||
|| Possible outcomes | FALSE - If user does not exist in the rator system or if the user exists but does not have any non-terminated subscriptsons. \\
TRUE - If user does exist in the rator system. ||

h4. DoUseCachedAddressCheckResult

|| Component name | DoUseCachedAddressCheckResult ||
|| Class name | com.cdrator.fraud.addresscheck.component.DoUseCachedAddressCheckResult ||
|| Description | This component tells whether cached result should be used or an actual address check should be called. \\
A USERS Context Object is required for this component to work. \\
If the address check has been run within a certain period, the result of that check will be returned. \\
This is done to minimize the number of requests to the address check server. \\
The name of the parameter in the parameter tree which holds information concerning the period \\
back in time which should return the same result: FRAUD.ADDRESSCHECK.CACHE_PERIOD \\
If this parameter tree entry for cache period is not defined/contains empty value, the cached result is not used. \\
Possible outcomes are: YES/NO \\
Outcome YES means that cached result should be used. \\
Outcome NO means that actual address check should be called. ||

h4. GetUserWithPersonalId

|| Component name | GetUserWithPersonalId ||
|| Class name | com.cdrator.fraud.addresscheck.component.GetUserWithPersonalId ||
|| Description | This components checks whether a user exists in Rator for given personalId/cvrId and adds account_id to hookpoint result if user is found. \\
This component checks if user with given personalId/cvrId exist in Rator. If the User with given \\
personalId/cvrId is not found in Rator, an user object is created and added to context with key "USERS". \\
If the user exists in Rator, the AccountId obtained from the user is added to hookpoint result with key \\
"ACCOUNT_ID" and the user object is added to workflow context with key "USERS". \\
Possible input is: \\
CONTEXT: Context object, mandatory in each request. \\
PERSONAL_ID: PersonalId of user. \\
CVR_ID: CVR ID of company/business. Either PERSONAL_ID or CVR_ID must be specified. \\
FIRST_NAME: First name of user that needs address check (optional). \\
LAST_NAME: Last name of user that needs address check (optional). \\
Possible outcomes are: INVALID_INPUT/DONE ||

h3. Fraud


h4. IsBlackListCheckEnabled

|| Component name | IsBlackListCheckEnabled ||
|| Class name | com.cdrator.fraud.component.IsBlackListCheckEnabled ||
|| Description | Checks whether the blacklist check on the User is enabled. \\
This component verifies the value of parameter tree entry SOAP.SERVICES.SIGNUP_SERVICES.RATOR_BLACKLIST_ENABLED \\
to find if the blacklist check should be done on the user: If the value of this parameter is YES/Y/TRUE, \\
the blacklist check should be done. A USERS context object is needed for this component to work. \\
The brandId from Users object is used to get the blacklist parameter value. \\
Possible outcomes are: YES/NO ||

h4. PerformBlackListCheck

|| Component name | PerformBlackListCheck ||
|| Class name | com.cdrator.fraud.component.PerformBlackListCheck ||
|| Description | Performs blacklist check on the User. \\
A USERS context object is required for this component to work. This component performs blacklist check on \\
the given user, i.e. it checks if there is an entry in the BLACKLIST table for the personalId of given user. \\
If the BLACKLIST table contains an entry, that means the user is blacklisted. \\
This component adds a boolean value to the workflow result with key BLACK_LISTED indicating whether the user is blacklisted. \\
Possible outcomes are: BLACK_LISTED/NOT_BLACKLISTED ||

h4. PerformBlackListCheckOnPersonID

|| Component name | PerformBlackListCheckOnPersonID ||
|| Class name | com.cdrator.fraud.component.PerformBlackListCheckOnPersonID ||
|| Description | Performs blacklist check on the User. \\
A PERSONALID parameter or context object is required for this component to work. This component performs blacklist check on \\
the given personID i.e. it checks if there is an entry in the BLACKLIST table for the personalId of given person. \\
If the BLACKLIST table contains an entry, that means the person is blacklisted. \\
This component adds a boolean value to the workflow context with key BLACK_LISTED indicating whether the person is blacklisted. \\
If the person is blacklisted the reason is added to the context with the key BLACK_LISTED_REASON \\
If no reason is given, then the parameter DEFAULT_REASON is given as the reason \\
Possible outcomes are: BLACK_LISTED/NOT_BLACKLISTED ||

h4. PersistUpdatedUser

|| Component name | PersistUpdatedUser ||
|| Class name | com.cdrator.fraud.component.PersistUpdatedUser ||
|| Description | This component is used to persist the updated Users object. \\
A USERS Context Object is required for this component to work. \\
The updated Users object will be saved only if it is persistent. \\
If the user is not persistent, nothing happens. \\
Possible outcomes are: DONE ||

h3. Fraud - Creditcheck


h4. DoUseCachedCreditCheckResult

|| Component name | DoUseCachedCreditCheckResult ||
|| Class name | com.cdrator.fraud.creditcheck.component.DoUseCachedCreditCheckResult ||
|| Description | This component tells whether to use cached Credit Check result or to perform actual credit check. \\
A USERS Context Object is required for this component to work. \\
If a credit check has been run within a certain period, the result of that check will be returned. \\
This is done to minimize the number of requests to the credit check server. \\
The name of the parameter in the parameter tree which holds information concerning the period \\
back in time which should return the same result: \\
FRAUD.CREDITCHECK.APPROVED_PERIOD or FRAUD.CREDITCHECK.REJECTED_PERIOD \\
If the parameter tree entry for cache period is not defined/empty, the cached result is not used. \\
Possible outcomes are: YES/NO \\
Outcome YES means that cached result should be used. \\
Outcome NO means that actual credit check should be called. ||

h3. Main - Account


h4. CreateAccount

|| Component name | CreateAccount ||
|| Class name | com.cdrator.main.account.component.CreateAccount ||
|| Description | Creates a new account and adds it to the WfContext. \\
The account will be added to the context with key: "ACCOUNT". \\
The account type Id must be in the WfContext with key "ACCOUNT_TYPE". \\
If the context parameter  "CUSTOMER_NUMBER" is defined, then that will be used when creating the account. \\
Outcome is \\
DONE ||

h4. LinkAccountAndUserFromContext

|| Component name | LinkAccountAndUserFromContext ||
|| Class name | com.cdrator.main.account.component.LinkAccountAndUserFromContext ||
|| Description | Links an account and a User based on objects from the WfContext. \\
All objects are taken from the WfContext. \\
Outcome is \\
DONE ||

h3. Main


h4. CreateFullSubscriptionFromContext

|| Component name | CreateFullSubscriptionFromContext ||
|| Class name | com.cdrator.main.component.CreateFullSubscriptionFromContext ||
|| Description | Creates a full subscription based on objects from the WfContext. \\
All objects are taken from the WfContext. \\
Outcome is \\
DONE ||

h4. CreateSubscriptionOnAccountAndBGFromContext

|| Component name | CreateSubscriptionOnAccountAndBGFromContext ||
|| Class name | com.cdrator.main.component.CreateSubscriptionOnAccountAndBGFromContext ||
|| Description | Creates a subscription on a given account and BillingGroup \\
This component creates a subscription on a given account and BillingGroup. ||
|| Optional activity parameters | A_NUMBER_REQUIRED - A_NUMBER_REQUIRED ||
|| Required context objects | ACCOUNT - ACCOUNT \\
BILLING_GROUP - BILLING_GROUP \\
NP_FLOW_INSTANCE - NP_FLOW_INSTANCE \\
PRODUCT_CONFIG - PRODUCT_CONFIG \\
PRODUCT_OPTIONS - PRODUCT_OPTIONS \\
SERVICE - SERVICE \\
SUBSCRIPTION - SUBSCRIPTION \\
USER - USER ||
|| Optional context objects | A_NUMBER - A_NUMBER \\
NP_FLOW - NP_FLOW \\
SALES_AGENT_ID - SALES_AGENT_ID \\
SALES_CHANNEL - SALES_CHANNEL ||
|| Possible outcomes | DONE - Outcome DONE when the the subscription has been created ||

h3. Main - History


h4. DynamicHistory

|| Component name | DynamicHistory ||
|| Class name | com.cdrator.main.history.component.DynamicHistory ||
|| Description | Creates a History entry for the Account Object which is referenced in the parameter "ACCOUNT" or exists in the Workflow Context. \\
The History entry will be created based on the mandatory parameters "DEFAULT_TEXT", "TRANSLATION_TAG" and all optional "LABEL" parameters. \\
It is also possible to set the Type and Object of the History entry by using the optional parameters "HISTORY_TYPE" and "HISTORY_OBJECT". If these parameters are not set the Type will be set to "Account" and the Object will be set to the Account Object. \\
It is possible to set the Type dynamically with parameter "HISTORY_TYPE_CONTEXT_KEY" which will override "HISTORY_TYPE". \\
It is possible to set the TranslationTag dynamically with parameter "TRANSLATION_TAG_CONTEXT_KEY" which will override "TRANSLATION_TAG". \\
It is mandatory for an Account object to exist. It can either be referenced in a parameter with the key "ACCOUNT" e.g. "ACCOUNT=BILLING_GROUP.getAccount" or exist as a Context Object with the key "ACCOUNT". The parameter has higher priority than the Context Object. \\
It is mandatory for a history text to exist. It can either be referenced in a parameter with the key "DEFAULT_TEXT" or exist as a Context Object with the key "HISTORY_TEXT". The parameter has lower priority than the Context Object. \\
The Outcome of this component is "DONE". \\
Parameters: \\
\------------------\- \\
DEFAULT_TEXT is the text of the entry which is shown in case the entry is not being translated based on the Translation Tag. The default text is always English and can be made up by static and dynamic information. \\
If the default text should only be a static text the value of the parameter should simply be a text string, e.g. "This is a History Entry". \\
If the default text should also contain dynamic information this can be done by using the "LABEL" parameters, e.g if a Phone Number should be in the default text, a parameter LABEL_PHONE_NUMBER should exist which can then be inserted in the default text using ¤PHONE_NUMBER¤. This could result in a default text which looks like this: "This is a History Entry for ¤PHONE_NUMBER¤". \\
This parameter is MANDATORY. \\
TRANSLATION_TAG is the tag that will be saved for the entry in order to be able to translate it into different languages. The translation tag should always be surrounded by "<" and ">", written in capital letters without whitespaces and contain a Unique ID, e.g. <HISTORY_TRANSLATION_TAG.201201081559140817>. For more info about Translation Tag naming convention see CDRator confluence. \\
All "LABEL" parameters defined will be added to the Translation Tag, e.g. if there is a parameter LABEL_PHONE_NUMBER the Translation Tag will be created with a dynamic label "PHONE_NUMBER" which is assigned the value of the label parameter. \\
This Parameter is MANDATORY. \\
TRANSLATION_TAG_CONTEXT_KEY is an alternative way of setting the tag of the entry. It overrides TRANSLATION_TAG parameter. \\
The tag is taken as a String from the context using this key, e.g. parameter is set "TRANSLATION_TAG_CONTEXT_KEY=TAG" and Context contains TAG="EmailPhone" then the tag of the entry would be the String "EmailPhone". \\
This Parameter is MANDATORY. \\
HISTORY_TYPE is the type of the entry. The history type should always be a text string, e.g. "Service" or "Service Option". \\
This parameter is OPTIONAL and has the default value "Account" in case it is not defined. \\
HISTORY_TYPE_CONTEXT_KEY is an alternative way of setting the type of the entry. It overrides HISTORY_TYPE parameter. The type is taken as a String from the context using this key, e.g. parameter is set "HISTORY_TYPE_CONTEXT_KEY=TYPE" and Context contains TYPE="Special" then the type of the entry would be the String "Special". \\
This parameter is OPTIONAL and has the default value "Account" in case it is not defined. \\
HISTORY_OBJECT is the object that is referenced in the entry. \\
The history object can either be a Context Object, e.g. "HISTORY_OBJECT=SERVICE", or method call that returns an Object, e.g. "HISTORY_OBJECT=SUBSCRIPTION.getService" and should always be a Persistent Object. \\
Normally the history object would match the history type, e.g. if the history type is set to "Service" the history object would be a Service Object. \\
This parameter is OPTIONAL and is default set to the Account object in case it is not defined. \\
LABEL parameters are used to insert dynamic information in the default text and translation tag. A label parameter is always named "LABEL_<NAME>" e.g. "LABEL_PHONE_NUMBER". \\
A label parameter can either be a text string, e.g. "LABEL_PHONE_NUMBER=55667788", a Context Object, e.g. "LABEL_PHONE_NUMBER=PHONE_NUMBER", or a method call, e.g. "LABEL_PHONE_NUMBER=SUBSCRIPTION.getService.getPhoneNumber". \\
Label parameters are OPTIONAL but need to exist if dynamic information is required in the history entry. ||

h3. Main - Operator


h4. GetAgentProfile

|| Component name | GetAgentProfile ||
|| Class name | com.cdrator.main.operator.component.GetAgentProfile ||
|| Description | Gets an agent profile. \\
The list will be available in the HookpointResult with key: "SOAP_GET_AGENT_PROFILE". \\
Possible input is: \\
PASSWORD \\
Possible outcomes are: \\
NO_OPERATOR_FOUND \\
DONE ||

h3. Main - Service


h4. ChangeServiceStatus

|| Component name | ChangeServiceStatus ||
|| Class name | com.cdrator.main.service.component.ChangeServiceStatus ||
|| Description | Method for changing the status on the Service. \\
The status is changed on the Service found in the Context for the workflow. ||
|| Required activity parameters | STATUS - The Service status being changed to.e.g Initial: 100; Active: 200; Blocked: 240; Deleted: 400; PendingBlocked: 225; PendingBlocked: 235 ||
|| Required context objects | SERVICE - SERVICE context object ||
|| Possible outcomes | DONE - some description ||

h4. ChangeServiceStatusToActive

|| Component name | ChangeServiceStatusToActive ||
|| Class name | com.cdrator.main.service.component.ChangeServiceStatusToActive ||
|| Description | Method for changing the status on the Service to Active. \\
The status is changed on the Service found in the Context for the workflow. \\
SERVICE context object is required. ||

h4. ChangeServiceStatusToBlocked

|| Component name | ChangeServiceStatusToBlocked ||
|| Class name | com.cdrator.main.service.component.ChangeServiceStatusToBlocked ||
|| Description | Method for changing the status on the Service to Blocked. \\
The status is changed on the Service found in the Context for the workflow. \\
SERVICE context object is required. ||

h4. ChangeServiceStatusToDeleted

|| Component name | ChangeServiceStatusToDeleted ||
|| Class name | com.cdrator.main.service.component.ChangeServiceStatusToDeleted ||
|| Description | Method for changing the status on the Service to Deleted. \\
The status is changed on the Service found in the Context for the workflow. ||
|| Required context objects | SERVICE - SERVICE context object ||
|| Possible outcomes | DONE - some description ||

h4. ChangeServiceStatusToPendingBlocked

|| Component name | ChangeServiceStatusToPendingBlocked ||
|| Class name | com.cdrator.main.service.component.ChangeServiceStatusToPendingBlocked ||
|| Description | Method for changing the status on the Service to PendingBlocked. \\
The status is changed on the Service found in the Context for the workflow. \\
SERVICE context object is required. ||

h4. ChangeServiceStatusToPendingUnBlocked

|| Component name | ChangeServiceStatusToPendingUnBlocked ||
|| Class name | com.cdrator.main.service.component.ChangeServiceStatusToPendingUnBlocked ||
|| Description | Method for changing the status on the Service to PendingUnBlocked. \\
The status is changed on the Service found in the Context for the workflow. \\
SERVICE context object is required. ||

h4. UpdateNetworkICCAndPhoneNumber

|| Component name | UpdateNetworkICCAndPhoneNumber ||
|| Class name | com.cdrator.main.service.component.UpdateNetworkICCAndPhoneNumber ||
|| Description | Can update the network_icc and/or network_phonenumber on a teleservice. \\
The network_icc is the icc retreived from the simcard of the teleservice. \\
The network_phonenumber is updated with the service phone_number.To update network_icc, the teleservice must have a simcard. ||
|| Optional activity parameters | SERVICE_CONTEXT_KEY - An alternative context key to the teleservice object. Default: SERVICE \\
ICC - Should the NETWORK_ICC on the teleservice be updated. Default: true \\
PHONENUMBER - Should the NETWORK_PHONENUMBER on the teleservice be updated. Default: true ||
|| Required context objects | SERVICE - The teleservice on which NETWORK_ICC and/or NETWORK_PHONENUMBER will be updated ||
|| Possible outcomes | UPDATED - The NETWORK_ICC and/or NETWORK_PHONENUMBER was updated ||

h3. Unknown package


h4. CompareOptionStatuses

|| Component name | CompareOptionStatuses ||
|| Class name | com.cdrator.main.service.option.CompareOptionStatuses ||
|| Description | Will verify that there are not any serviceOptions, in the wrong status, that are to change \\
All service options status ids in the two lists, NEW_OPTIONS_LIST_CONTEXT and REMOVE_OPTIONS_LIST_CONTEXT, will be compared against a white list. Only if all service options have the correct status, will the verification be successfull. The white list is defined in the parameter tree as a comma seperated string value called OPTIONS.CHANGE.ALLOW_CHANGE_STATUS_ID_LISTIf the list is undefined or empty, verifycation will be successfull. ||
|| Required activity parameters | NEW_OPTIONS_LIST_CONTEXT - the context key for the list of new product options to subscribe \\
REMOVE_OPTIONS_LIST_CONTEXT - the context key for the list of product options to remove ||
|| Possible outcomes | SUCCESS - if service options, in either context list, pass status check or if no lists are specified \\
FAILED - if at least one service options, in either context list, dont pass status check ||

h3. Main - Subscription


h4. ActivateSubscription

|| Component name | ActivateSubscription ||
|| Class name | com.cdrator.main.subscription.component.ActivateSubscription ||
|| Description | This component will activate a subscription. \\
A subscription is required in the context for this component to work. This component will only activate the subscription in Rator. It will set the status and end date on the subscription. By default the start date will be set to now, but can be changed by adding another date into the context with the key SUBSCRIPTION_START_DATE. \\
Outcome is activated. ||

h4. AddInitialSubscriptionFees

|| Component name | AddInitialSubscriptionFees ||
|| Class name | com.cdrator.main.subscription.component.AddInitialSubscriptionFees ||
|| Description | This component will add initial subscription fees. \\
A subscription is required in the context for this component to work. This component will add initial fees to a subscription when activating the customer. \\
Outcome is ADDED. ||

h4. AddSingleChargeToSubscription

|| Component name | AddSingleChargeToSubscription ||
|| Class name | com.cdrator.main.subscription.component.AddSingleChargeToSubscription ||
|| Description | Adds a charge of a variable amount to a subscription \\
Adds a charge of a variable amount to a subscription. The charge is added immediately and is independent of any Charge Engine. \\
The component needs a charge-item but will override the description and amount by the values in context. \\
Should use method on Subscription\_ class, but this is available in core version 8.3. ||
|| Required context objects | SUBSCRIPTION - Customers Subscription \\
CHARGE_ITEM - Charge Item to put the charge in the correct charge item group. \\
DESCRIPTION - Description going on the invoice detail line. \\
AMOUNT - Amount to charge the customer. May be positive or negative. ||
|| Possible outcomes | DONE - When charge is added ||

h4. AddSubscriptionTerminationFee

|| Component name | AddSubscriptionTerminationFee ||
|| Class name | com.cdrator.main.subscription.component.AddSubscriptionTerminationFee ||
|| Description | This component will add a termination fee to a subscription. \\
A subscription is required in the context for this component to work. This component will add a termination fee to a subscription. \\
Outcome is ADDED. ||

h4. ChangeFeeDate

|| Component name | ChangeFeeDate ||
|| Class name | com.cdrator.main.subscription.component.ChangeFeeDate ||
|| Description | This component will add a termination fee to a subscription. \\
A subscription is required in the context for this component to work. This component will alter the start date on the package fee by a given amount of workdays. The parameter DAYS_TO_ADD must be available and parseable as a positive integer. \\
Outcome is DONE ||

h4. CheckEndDate

|| Component name | CheckEndDate ||
|| Class name | com.cdrator.main.subscription.component.CheckEndDate ||
|| Description | This component will check the end date of a subscription. \\
A subscription is required in the context for this component to work. This component will check the end date on the subscription. If the endDate > today, outcome TERMINATE is returned. \\
If the endDate < today, outcome WAIT is returned. \\
If the endDate is null, outcome REACTIVATED is returned. ||

h4. CreateSubscription

|| Component name | CreateSubscription ||
|| Class name | com.cdrator.main.subscription.component.CreateSubscription ||
|| Description | Creates a new subscription and adds it to the WfContext. \\
The subscription will be added to the context with key "SUBSCRIPTION" \\
The product config must be in the WfContext with key "PRODUCT_CONFIG" \\
The account must be in the WfContext with key "ACCOUNT" \\
The brand is an optional parameter in the context with key BRAND. \\
If there is already a subscription in the context it will be persisted. \\
Is possible to set the context key where to check for existing subscription by setting the parameter SUBSCRIPTION_CONTEXT_KEY. \\
Is possible to set the ProductId on subscription by setting the optional parameter SET_PRODUCT_IDto Y. \\
Is possible to set the CustomerType on subscription by setting the optional parameter CUSTOMER_TYPE. \\
Outcome is \\
DONE ||

h4. GetCustomerInfo

|| Component name | GetCustomerInfo ||
|| Class name | com.cdrator.main.subscription.component.GetCustomerInfo ||
|| Description | Based on a subscription from context it adds the ownerUser and billingGroup to the context. \\
OwnerUser and BillingGroup objects are wrapped in a hashmap with key $OBJ which SOAP API framework handles. \\
The ownerUser is available in the context with key USER. \\
The billing group is available in the context with key BILLING_GROUP. \\
Outcome is \\
DONE ||

h4. GetSubscriptionStatus

|| Component name | GetSubscriptionStatus ||
|| Class name | com.cdrator.main.subscription.component.GetSubscriptionStatus ||
|| Description | Returns the status of the SUBSCRIPTION object in the context. \\
Typical status returned could be 'Initial', 'Active', 'Cancellation pending' or 'Terminated', \\
but this could depend on customer configuration, please check STATUS table to get a complete list of Subscription statuses. ||

h4. SaveSubscription

|| Component name | SaveSubscription ||
|| Class name | com.cdrator.main.subscription.component.SaveSubscription ||
|| Description | Save subscription \\
Makes deep save of subscription ||
|| Required context objects | SUBSCRIPTION - Subscription ||
|| Possible outcomes | DONE - Subscription saved ||

h4. SetSubscriptionStatusActive

|| Component name | SetSubscriptionStatusActive ||
|| Class name | com.cdrator.main.subscription.component.SetSubscriptionStatusActive ||
|| Description | Update the subscription status to active. \\
A SUBSCRIPTION object is required in the context for this component to work. \\
Outcome is STATUS_CHANGED ||

h4. SetSubscriptionStatusCancellationPending

|| Component name | SetSubscriptionStatusCancellationPending ||
|| Class name | com.cdrator.main.subscription.component.SetSubscriptionStatusCancellationPending ||
|| Description | Updates the subscription status to cancellation pending. \\
A SUBSCRIPTION object is required in the context for this component to work. \\
Outcome is STATUS_CHANGED. ||

h4. SubCheckTerminationReason

|| Component name | SubCheckTerminationReason ||
|| Class name | com.cdrator.main.subscription.component.SubCheckTerminationReason ||
|| Description | This component will check the Termination Reason and can return a different outcome depending on the Reason. \\
Based on the Activity Parameter "OUTCOME_<TERMINATION_REASON>" the outcome is determined, e.g. If the Termination Reason is "REGRET" the component will look for an Activity Parameter "OUTCOME_REGRET". \\
The value of the "OUTCOME_REGRET" parameter will then be used as the outcome. \\
If no Outcome Parameter can be found for the Termination Reason the Parameter "OUTCOME_DEFAULT" will be used. \\
Optional parameter DEFAULT_REASON can be used to set a default reason id in case it's null. \\
A SUBSCRIPTION Context Object is expected for this component to work. \\
Possible outcomes are what is defined in the Activity Parameter. ||

h4. SubscriptionHasActiveChild

|| Component name | SubscriptionHasActiveChild ||
|| Class name | com.cdrator.main.subscription.component.SubscriptionHasActiveChild ||
|| Description | This component will check if the subscription has an active child subscription on the current date. \\
A subscription is required in the context for this component to work. This component will use the Subscription Group Member to determine if the subscription has an active child. \\
Possible Outcomes are: YES, NO ||

h4. SubscriptionHasParent

|| Component name | SubscriptionHasParent ||
|| Class name | com.cdrator.main.subscription.component.SubscriptionHasParent ||
|| Description | This component will check if the subscription has a parent on the current date. \\
A subscription is required in the context for this component to work. This component will use the Subscription Group Member to determine if the subscription has a parent. \\
Possible Outcomes are: YES, NO ||

h4. SubscriptionHasSpecificRatePlan

|| Component name | SubscriptionHasSpecificRatePlan ||
|| Class name | com.cdrator.main.subscription.component.SubscriptionHasSpecificRatePlan ||
|| Description | Checks if subscription has specific rate plan \\
Checks if subscription's rate plan has the rate_plan_key in a predefined list of rate plan keys ||
|| Required activity parameters | RP_KEY - The comma separated list of the predefined rate_plan_keys to be compared to the rate_plan.rate_plan_key ||
|| Required context objects | SUBSCRIPTION - SUBSCRIPTION context object ||
|| Possible outcomes | YES - Outcome YES when the rate_plan.rate_plan_key was found in the predefined list \\
NO - Outcome NO when the rate_plan.rate_plan_key was not found in the predefined list ||

h4. SubscriptionParentActive

|| Component name | SubscriptionParentActive ||
|| Class name | com.cdrator.main.subscription.component.SubscriptionParentActive ||
|| Description | This component will check if the subscription has a parent and if it is active. \\
A subscription is required in the context for this component to work. This component will use the Subscription Group Member to determine if the subscription parent is active. \\
Possible Outcomes are: YES, NO ||

h4. TerminateSubscription

|| Component name | TerminateSubscription ||
|| Class name | com.cdrator.main.subscription.component.TerminateSubscription ||
|| Description | This component will terminate a subscription. \\
A subscription is required in the context for this component to work. This component will only terminate the subscription in Rator. It will set the status to terminated on the subscription. \\
Outcome is DONE ||

h4. TerminationType

|| Component name | TerminationType ||
|| Class name | com.cdrator.main.subscription.component.TerminationType ||
|| Description | Return the termination type.A SUBSCRIPTION object is needed in the context. \\
Outcomes can be: NO_TERMINATION if there is no end date, OUTPORT_TERMINATION if the service is outported or NORMAL_TERMINATION otherwise. ||

h3. Main - Subscription - Lockin


h4. HasSubscriptionLockin

|| Component name | HasSubscriptionLockin ||
|| Class name | com.cdrator.main.subscription.lockin.component.HasSubscriptionLockin ||
|| Description | Checks if the subscription has lockin. \\
Checks if the subscription has lockin. ||
|| Required context objects | SUBSCRIPTION - Subscription to be checked. ||
|| Possible outcomes | YES - When subscription has lockin. \\
NO - When subscription has no lockin. ||

h3. Main - User


h4. CheckUsernameAvailability

|| Component name | CheckUsernameAvailability ||
|| Class name | com.cdrator.main.user.component.CheckUsernameAvailability ||
|| Description | Check username availability. \\
Checks if the username (which is an email) is available. \\
The list will be available in the HookpointResult with key: "SOAP_CHECK_USERNAME_AVAILABILITY". \\
Possible input is \\
USERNAME \\
Possible outcomes are: \\
FAILED_TO_CHECK_USERNAME \\
DONE ||

h4. CreateUser

|| Component name | CreateUser ||
|| Class name | com.cdrator.main.user.component.CreateUser ||
|| Description | Creates a user and adds it to the WfContext. \\
The user will be added to the context with key "USER". \\
If the context contains a "PASSWORD", this is assigned to the user. \\
To use a user which is already in the context with key: "USER" set the parameter "USER_ALREADY_IN_CONTEXT" = "Y" \\
Outcome is \\
DONE ||

h3. Np


h4. AddNpFlowInfoToHPR

|| Component name | AddNpFlowInfoToHPR ||
|| Class name | com.cdrator.np.component.AddNpFlowInfoToHPR ||
|| Description | NpFlow info added to context. \\
This component adds all active NP flows for a given user to the hookpoint result. ||
|| Optional activity parameters | USER_CONTEXT_KEY - The context key that contains the user in question ||
|| Optional context objects | USERS - the default context object that contains the user in question. If the USER_CONTEXT_KEY parameter is set, this will change. A user object is MANDATORY ||
|| Possible outcomes | DONE - outcome when all flows have been found and passed to the hookpoint result ||

h4. CreateNpFlow

|| Component name | CreateNpFlow ||
|| Class name | com.cdrator.np.component.CreateNpFlow ||
|| Description | Creates an NpFlow and adds it to the context. \\
The NpFlow will be added to the context with key "NP_FLOW_INSTANCE". \\
By default an instance of com.CDRator.billing.np.NpFlow is created. \\
To override this set the parameter: "NP_FLOW_CLASS_NAME" to fully qualified NpFlow class name. \\
Outcome is \\
DONE ||

h4. FindService

|| Component name | FindService ||
|| Class name | com.cdrator.np.component.FindService ||
|| Description | Search the service for the NP export based on the NP phone number and donor network operator. \\
If the service is found the NP flow object is updated with the subscription ID. ||
|| Optional activity parameters | REJECT_CODE - The reject code to set to the NP flow in case the service is not found. If the parameter is not set the default reject is 44 (unknown MSISDN). ||
|| Required context objects | NP_FLOW - The NP for which the service will be searched. ||
|| Possible outcomes | NOT_FOUND - If the service is not found. \\
FOUND - If the service is found and the NP is updated. ||

h4. GetTeleOperators

|| Component name | GetTeleOperators ||
|| Class name | com.cdrator.np.component.GetTeleOperators ||
|| Description | Retrieving tele operators \\
This component gets all active tele operators if activity parameter FILTER is not provided. If parameter FILTER is provided then this value will be used to filter Tele Operator. Remark that the value of parameter must be provided in the context. Eg. if the parameter FILTER is 'OPERATOR_CODE' then context with name 'OPERATOR_CODE' within some value must be provided. And result will be put into hookpoint result TELE_OPERATORS ||
|| Optional activity parameters | FILTER - Filtering name ||
|| Possible outcomes | FOUND - Tele operators found \\
NOT_FOUND - Tele operators not found ||

h4. NpFlowIsInStatus

|| Component name | NpFlowIsInStatus ||
|| Class name | com.cdrator.np.component.NpFlowIsInStatus ||
|| Description | This component will check if the noFlow has a set status id. \\
The id of the status to be checked, must be in the parameters as "STATUS_ID", the npflow must be in context with the key "NPFLOW". ||
|| Required activity parameters | STATUS_ID - The id to check if the status is in. ||
|| Required context objects | NPFLOW - The npFlow to check the status on. ||
|| Possible outcomes | YES - If the npFlow is in the checked status. \\
NO - If the npFlow is not in the checked status. ||

h4. NpSetSubscription

|| Component name | NpSetSubscription ||
|| Class name | com.cdrator.np.component.NpSetSubscription ||
|| Description | This component will set the subscriptionId on an NPFlow. \\
A NPFLOW Context Object and a SERVICE context object are required. \\
Possible outcomes are: DONE ||

h4. UpdateNpFlowStatus

|| Component name | UpdateNpFlowStatus ||
|| Class name | com.cdrator.np.component.UpdateNpFlowStatus ||
|| Description | Update NP Flow Case and/or Status id \\
either with context: NPFLOW_STATUS_ID or activity parameter: STATUS_ID \\
and/or with context: NPFLOW_CASE_STATUS_ID or activity parameter: CASE_STATUS_ID \\
and if optional activity parameter: SET_SIGNUP_DATE is set to Y then signupDate will set to current date on NPFLOW ||
|| Optional activity parameters | STATUS_ID - NP Flow status id \\
CASE_STATUS_ID - NP Flow case status id \\
SET_SIGNUP_DATE - NP Flow signup date ||
|| Required context objects | NPFLOW - NPFlow ||
|| Optional context objects | NPFLOW_STATUS_ID - NPFlow status id \\
NPFLOW_CASE_STATUS_ID - NPFlow case status id ||
|| Possible outcomes | DONE - NP Flow case and/or status id has been updated ||

h4. WfCNPCreateANumber

|| Component name | WfCNPCreateANumber ||
|| Class name | com.cdrator.np.component.WfCNPCreateANumber ||
|| Description | This component creates a aNumber from a NPFlow. \\
Requires a NpFlow in context with the key "NPFLOW". Adds the ANumber object to context with the key "NEWANUMBER". Will throw a workflowException if the network operator of the anumberGroup from the subscription on the npFlow does not exist. ||

h3. Np - De


h4. GetServiceFromNpFlow

|| Component name | GetServiceFromNpFlow ||
|| Class name | com.cdrator.np.de.component.GetServiceFromNpFlow ||
|| Description | Retrieve the Service for the given NpFlow and add it to the context. \\
the Service will be put in the WfContext with key SERVICE ||
|| Optional activity parameters | NPFLOW_CONTEXT_KEY - The context object NpFlow's key if not default. ||
|| Required context objects | NP_FLOW - The NpFlow should be in context. ||
|| Possible outcomes | OK - When Service is found and added to context. ||

h3. Number


h4. BookAnumber

|| Component name | BookAnumber ||
|| Class name | com.cdrator.number.component.BookAnumber ||
|| Description | Book a A-number to a given service. \\
Book a A-number to a given service. ||
|| Optional activity parameters | ANUMBER_CONTEXT_KEY - It is used when to retrieve the A-Number from the context. \\
SERVICE_CONTEXT_KEY - It is used when to retrieve the Service from the context. \\
SUSPEND_OLD_ANUMBER - It is used when the old anumber status should be changed/suspended. PossibleValues are Y or N.Default is: Y ||
|| Required context objects | ANUMBER - The A-Number group that must be booked to the service. \\
SERVICE - The service to which that the A-Number must be booked. ||
|| Optional context objects | SUSPEND_PERIOD - Suspend period of the A_number. ||
|| Possible outcomes | DONE - When anumber is booked. \\
NOT_BOOKED - When anumber is not booked. ||

h4. BookAnumberToTeleService

|| Component name | BookAnumberToTeleService ||
|| Class name | com.cdrator.number.component.BookAnumberToTeleService ||
|| Description | This component will change the a-number of a service. \\
An a-number and a teleService is required in the context for this component to work. Also, a suspendPeriod (Long) is required. This component will only change the a-number in Rator. It will set the status to In Use and assignedToServiceId to the ID of the service on the a-number and also update the phone number on the TeleService The old a-number will be put in reservation for X number of months where X = suspendPeriod. \\
Outcome is DONE. ||

h4. CreateAnumber

|| Component name | CreateAnumber ||
|| Class name | com.cdrator.number.component.CreateAnumber ||
|| Description | Create a A-number in a given A-number group. \\
If the A-Number already exists nothing is done \\
Required context objects: \\
ANUMBER_GROUP: The A-Number group in which the a-number must be created. \\
ANUMBER: The phone number that the anumber must be created from. Type is string. \\
Optional activity parameter: \\
PHONE_NUMBER_CONTEXT_KEY: key used to retrieve the phone number from the context. Default is: ANUMBER \\
ANUMBER_CONTEXT_KEY: key used when the ANumber object is added to the context. Default is: ANUMBER \\
IGNORE_EXISTING_ANUMBER: used when the existing ANumber should be ignored. Default is: N \\
Outcomes are: \\
DONE \\
NOT_CREATED ||

h4. FreeANumber

|| Component name | FreeANumber ||
|| Class name | com.cdrator.number.component.FreeANumber ||
|| Description | Reserve the number for a period of time so it can be reused after that or set the status to outported. \\
A SUBSCRIPTION object is required in the context for this component to work. \\
The number of the service is set to outported or reserved the number of months specified in parameter ANUMBER_RESERVE_MONTHS so the number is released after this time. \\
Outcome is DONE. ||

h4. GetAnumberGroup

|| Component name | GetAnumberGroup ||
|| Class name | com.cdrator.number.component.GetAnumberGroup ||
|| Description | This component will retrieve an a-number group and add it to the context. \\
The NetworkOperator must be in the WfContext with key "NETWORK_OPERATOR". \\
The parameter MARKETING_TYPE has to be set on the activity. \\
Possible outcomes are: \\
DONE ||

h4. GetANumberGroups

|| Component name | GetANumberGroups ||
|| Class name | com.cdrator.number.component.GetANumberGroups ||
|| Description | Retrieves A-number groups. \\
This component will retrieve the list of A-number groups. \\
The list will be available in the context with key: "ANUMBER_GROUPS". \\
The PRODUCT must be in the WfContext with key "PRODUCT". \\
The RATEPLAN must be in the WfContext with key "RATEPLAN". \\
Possible outcomes are: \\
NO_ANUMBER_GROUPS_FOUND \\
DONE ||

h4. GetANumbers

|| Component name | GetANumbers ||
|| Class name | com.cdrator.number.component.GetANumbers ||
|| Description | Retrieves A-Numbers. \\
This component will retrieve the list of phonenumbers according to the group_id. \\
Required context parameters are: ANUMBER_GROUP, SEARCH_METHOD (Long), PATTERN (String), COUNT (Long). \\
The context key ANUMBER_GROUP can be custormized by setting activity parameter ANUMBER_GROUP_KEY. \\
Default key value is: "ANUMBER_GROUP" \\
For SEARCH_METHOD 1-3 PATTERN is required. COUNT must be higher than 0. \\
The list will be available in the context with key: "PHONE_NUMBERS" \\
Available search methods are: \\
0 - random \\
1 - exact match of the pattern \\
2 - contains the pattern \\
3 - ending with the pattern \\
Possible outcomes are: \\
INVALID_SEARCH_PARAMETERS \\
NO_NUMBERS_FOUND \\
DONE ||

h4. GetRandomAnumber

|| Component name | GetRandomAnumber ||
|| Class name | com.cdrator.number.component.GetRandomAnumber ||
|| Description | Find a random anumber from given Anumber Group. \\
Find a random anumber from given Anumber Group and add to context (the network operator is considered) ||
|| Optional activity parameters | ANUMBER_GROUP_CONTEXT_KEY - The context object Anumber Group's key if not default. \\
ANUMBER_CONTEXT_KEY - The context object Anumber's key if not default. ||
|| Required context objects | ANUMBER_GROUP - The Anumber Group should be in context. ||
|| Possible outcomes | OK - When Anumber is found and added to context. ||

h4. ReserveAnumber

|| Component name | ReserveAnumber ||
|| Class name | com.cdrator.number.component.ReserveAnumber ||
|| Description | Reserves an A-number. \\
This component will reserve an a-number for a specified period of time and returns the reservationId. \\
If no RESERVE_TIME is found in the context, an activity parameter (DEFAULT_RESERVATION_TIME) is looked up for the value. \\
If the activity parameter value is not set default reserve time will be: 15 \\
Required context parameters: \\
ANUMBER: A-number entity() \\
Optional context parameters: \\
ANUMBER_CONTEXT_KEY:Anumber Context Key \\
RESERVE_TIME (Long): # of minutes \\
The reservation id will be available in the context with key: "RESERVATION_ID" \\
USE_EXISTING_SERVICE: flag that indicates that the anumber should be reserved to the existing Service present in the context.If the parameter value is Y then the anumber is reserved to existing Service in the context. \\
SERVICE_CONTEXT_KEY: the Service context object key used to retrieve the Service from the context.It is mandatory and used only if the parameter USE_EXISTING_SERVICE is set to the value Y \\
Possible outcomes are: \\
ANUMBER_NO_LONGER_AVAILABLE \\
DONE ||

h4. ReserveRandomAnumber

|| Component name | ReserveRandomAnumber ||
|| Class name | com.cdrator.number.component.ReserveRandomAnumber ||
|| Description | Finds a random A-number, reserves it and adds it to context. \\
The component will find an a-number from a configured A-number group and try to reserve it before adding it to the context. \\
If the reservation fails, it will try with a different a-number. \\
It is configurable how many a-numbers which will be tried if reservation is unsuccessful. \\
The A-number is added to the context with key: "ANUMBER". To override this, set activity parameter: "ANUMBER_CONTEXT_KEY" \\
The A-number groups from which to take random numbers are: "Normal". To override this, set activity parameter: "ANUMBER_GROUP_NAME" (comma seperated list if more than one group) \\
The number of attempts to try to reserve an anumber is: "3". To override this, set activity parameter: "RESERVATION_ATTEMPTS" (integer parsable value) \\
The number of minutes that the reservation should be valid is: "15". To override this, set activity parameter: "RESERVATION_MINUTES" (integer parsable value) \\
The component will find anumber groups by: "NAME". To override this, set activity parameter: "SEARCH_KEY" (string value) \\
By default the component will not check the brand of the anumber group.To override this, set activity parameter: "CHECK_BRAND" (Y) \\
Possible outcomes are: \\
UNABLE_TO_RESERVE_ANUMBER \\
DONE ||

h4. ValidatePhoneNumber

|| Component name | ValidatePhoneNumber ||
|| Class name | com.cdrator.number.component.ValidatePhoneNumber ||
|| Description | Checks if there is an a-number for a given phone number. \\
This component will locate the a-number for a given PHONE_NUMBER (String). \\
By default it only validates the existence of an a-number for the PHONE_NUMBER. \\
Configurations: \\
Key: ADD_ANUMBER_TO_CONTEXT Value: Y: adds the ANUMBER to the context with default key ANUMBER. \\
Key: CONTEXT_KEY Value: SOME_CONTEXT_KEY: adds the ANUMBER to the context with key SOME_CONTEXT_KEY. \\
Required context parameter: PHONE_NUMBER (String) \\
Possible outcomes are: \\
ANUMBER_NOT_FOUND \\
DONE ||

h4. ValidateReservationAndAddANumberToContext

|| Component name | ValidateReservationAndAddANumberToContext ||
|| Class name | com.cdrator.number.component.ValidateReservationAndAddANumberToContext ||
|| Description | Validates the phone number and reservationId and adds the A-Number to the context. \\
The validation is done according the the product config in the context. \\
The A-Number will be added to the context with the key "A_NUMBER". \\
The phone number must be in the context with the key "MSISDN". \\
The reservationId if it exists must be in the context with key "RESERVATION_ID". \\
Outcome is \\
RESERVATION_MSISDN_MISMATCH \\
DONE ||

h3. Persistence


h4. LoadObjectIntoContext

|| Component name | LoadObjectIntoContext ||
|| Class name | com.cdrator.persistence.component.LoadObjectIntoContext ||
|| Description | Loads a persistent object using id and adds it into the context. \\
The Activity Parameter "ID_KEY" represents the context key that should be used for retrieving from the context the database id of the persistent object. \\
The Activity Parameter "CLASS_NAME" represents the fully qualified name of the persistent object's class. \\
The Activity Parameter "CONTEXT_KEY" represents the context key that should be used for adding(saving) the persistent object into the context. \\
Outcome is DONE ||

h3. Product


h4. AddProductConfigByCodeToContext

|| Component name | AddProductConfigByCodeToContext ||
|| Class name | com.cdrator.product.component.AddProductConfigByCodeToContext ||
|| Description | Finds and adds the product config to the WfContext. \\
This component will retrieve the product config given that a product code is present in the context. \\
The product code must be either in the activity parameters or in the WfContext with key "PRODUCT_CODE". \\
Outcome is \\
DONE ||

h4. GetProductConfigs

|| Component name | GetProductConfigs ||
|| Class name | com.cdrator.product.component.GetProductConfigs ||
|| Description | Retrieves all product configurations. \\
This component will retrieve the list of product configurations available. \\
The list will be added to the context with key: "PRODUCT_CONFIGS". \\
Possible outcomes are: \\
NO_PRODUCT_CONFIGS_FOUND \\
DONE ||

h4. ProductMakeChildSubscription

|| Component name | ProductMakeChildSubscription ||
|| Class name | com.cdrator.product.component.ProductMakeChildSubscription ||
|| Description | Makes a new subscription based on a given product \\
Makes a new subscription based on a given product. The subscription is not persisted. The new subscription will be pointing to the same account and rateplan as the provided subscription. ||
|| Optional activity parameters | SUBSCRIPTION - The key of the parent subscription \\
NEW_SUBSCRIPTION - The key of the new sub subscription ||
|| Required context objects | SUBSCRIPTION - The customers Subscripton \\
PRODUCT - The product on which the new Subscription should be signed up. ||
|| Possible outcomes | DONE - When the subscription is generated as expected ||

h4. ProductMakeSubscription

|| Component name | ProductMakeSubscription ||
|| Class name | com.cdrator.product.component.ProductMakeSubscription ||
|| Description | Makes a new subscription based on a given product option \\
Makes a new subscription based on a given product option. The subscription is not persisted. The new subscription will be pointing to the same account and rateplan as the provided subscription. ||
|| Required activity parameters | METADATA_KEY - The metadata key containing the link to the product being subscribed. ||
|| Optional activity parameters | SUBSCRIPTION - The key of the parent subscription \\
OPTION - The option key \\
NEW_SUBSCRIPTION - The key of the new sub subscription ||
|| Required context objects | SUBSCRIPTION - The customers Subscripton ||
|| Possible outcomes | DONE - When the subscription is generated as expected ||

h3. Product - Option


h4. ActivateExtraCampaigns

|| Component name | ActivateExtraCampaigns ||
|| Class name | com.cdrator.product.option.component.ActivateExtraCampaigns ||
|| Description | This component is used to activate extra campaigns related to product option. \\
Extra Campaign should be linked to product option by product_option_meta_data.(name should start with CAMPAIGN\_ and value is CampaignKey.) \\
Mandatory Context Objects:SERVICE_OPTION(Or Defined by parameter SERVICE_OPTION_CONTEXT_KEY): the new service option.START_DATE: the starting date of the SubscriptionCampaign. \\
Optional parameters:SERVICE_OPTION_CONTEXT_KEY: The service option is found in the context via the key defined in this parameter.Default service option CONTEXT_KEY is SERVICE_OPTION. \\
Possible outcome is: DONE ||

h4. AddMetaDataFromServiceOptionToContext

|| Component name | AddMetaDataFromServiceOptionToContext ||
|| Class name | com.cdrator.product.option.component.AddMetaDataFromServiceOptionToContext ||
|| Description | This component expects a service option set in the context already. It finds this service option's product option and adds the meta data with the name defined by the activity parameter: META_DATA_NAME to the context. It uses the meta data name as the context key. ||

h4. AddSelectedSubOptionToContext

|| Component name | AddSelectedSubOptionToContext ||
|| Class name | com.cdrator.product.option.component.AddSelectedSubOptionToContext ||
|| Description | Component to add selected sub service option to context \\
Finds and adds the selected service option which is a sub option of the product option with a pre-defined OPTION_KEY. The option key is defined in a parameter value called OPTION_KEY ||
|| Required activity parameters | OPTION_KEY - The option key of the option to find. ||
|| Optional activity parameters | USE_OPTION_IN_CONTEXT - If this is Y an option will be taken from context instead of the database ||
|| Required context objects | SUBSCRIPTION - The subscription, the service option is subscriped to. ||
|| Optional context objects | OPTION_KEY - Option to find the suboption from. Required if USE_OPTION_IN_CONTEXT is set to Y ||
|| Possible outcomes | DONE - If the sub option is added succesfully. \\
FAILED - If the sub option is not added. ||

h4. AddServiceOptionParameterToContext

|| Component name | AddServiceOptionParameterToContext ||
|| Class name | com.cdrator.product.option.component.AddServiceOptionParameterToContext ||
|| Description | Adds service option parameter to context. \\
Service option parameter is added into the context with service option parameter's key as context key. ||
|| Required activity parameters | OPTION_KEY - Option key for which the parameter has to be fetched for. \\
OPTION_PARAMETER_KEY - Option parameter key for which the parameter has to be fetched. ||
|| Possible outcomes | FOUND - When service option parameter is found. \\
NOT_FOUND - When service option parameter is not found. ||

h4. CheckIfShouldBeProvisioned

|| Component name | CheckIfShouldBeProvisioned ||
|| Class name | com.cdrator.product.option.component.CheckIfShouldBeProvisioned ||
|| Description | Checks if at least one of the specified service options should be provisioned. \\
For each service option that should be checked it is required to configure an activity parameter whose key starts with SERVICE_OPTION and the value is the context key of the service option. \\
The activity parameters' values specify the context keys of the service options which might be in workflow context and should be checked. \\
If the declared key as activity parameter is not in the workflow context, then a proper exception is thrown. \\
If at least one of the specified and found service options in the context  should be provisioned then the component's outcome is: YES, else it is NO ||

h4. CleanUpActivationPendingOption

|| Component name | CleanUpActivationPendingOption ||
|| Class name | com.cdrator.product.option.component.CleanUpActivationPendingOption ||
|| Description | This component is used for cleaning up the activation pending option,including its campaigns and fees. \\
The Activity Parameter "REFUND_NOW" is optional: It is used to determine if subscriptionFees should be refunded immediately. \\
Possible values: Y/N \\
Mandatory Context Objects: \\
NEW_OPTION: The active pending service option. \\
Possible outcome is: DONE ||

h4. GetProductOptions

|| Component name | GetProductOptions ||
|| Class name | com.cdrator.product.option.component.GetProductOptions ||
|| Description | Uses product and rate plan to get a list of available product options \\
Uses product and rate plan to filter a list of available product options and store the list in the hookpoint result with the key: PRODUCT_OPTIONS ||
|| Required context objects | PRODUCT - to filter avaliable product options \\
RATE_PLAN - to filter avaliable product options ||
|| Possible outcomes | DONE - if the product options have been successfully added to context ||

h4. IsOptionActive

|| Component name | IsOptionActive ||
|| Class name | com.cdrator.product.option.component.IsOptionActive ||
|| Description | Checks if a given service option is active \\
Checks if a given service option is active for a given customer ||
|| Required context objects | PRODUCT_OPTION - Option to check for active status for given customer \\
SUBSCRIPTION - Subscription of the customer who has the given option ||
|| Possible outcomes | TRUE - if option is active \\
FALSE - If option is inactive ||

h4. ReActivateServiceOption

|| Component name | ReActivateServiceOption ||
|| Class name | com.cdrator.product.option.component.ReActivateServiceOption ||
|| Description | Re-activates a service option. \\
The date in the field End Date will be removed and the Status changed to Active (20). \\
A service_option is required in the context. \\
The value of the context key should be: \\
OPTION \\
OR the value defined in the activity parameter \\
SERVICE_OPTION_CONTEXT_KEY \\
If the parameter REACTIVATE_CAMPAIGN Is set to YES, the attached campaign will be reactivated. \\
Outcome is: \\
DONE ||

h4. ScheduleFeesTerminationAtOptionEndDate

|| Component name | ScheduleFeesTerminationAtOptionEndDate ||
|| Class name | com.cdrator.product.option.component.ScheduleFeesTerminationAtOptionEndDate ||
|| Description | Schedule the service option fees' termination at service_option.end_date \\
The activity should have the parameter SERVICE_OPTION_CTX_KEY which represents the service option workflow context key. \\
A context object having the key equalling the activity parameter SERVICE_OPTION_CTX_KEY value is required for this component to work. \\
Outcome is DONE ||

h4. ScheduleNewOption

|| Component name | ScheduleNewOption ||
|| Class name | com.cdrator.product.option.component.ScheduleNewOption ||
|| Description | This component is used for scheduling starting days for campains and fees related to the new service option.\\
 The Activity Parameter "CHARGE_NOW" is mandatory: It is used to determine if subscriptionFees should be charged immediately.\\
 Possible values: Y/N\\
 The Activity Parameter "SAVE_NOW" is optional: It is used to determine if new service option should be save immediately.\\
 Possible values: Y/N\\
 Mandatory Context Objects:\\
 NEW_OPTION: The new service option\\
 START_DATE: DATE TYPE, the new option starting date\\
 END_DATE: DATE TYPE, the old option ending date)\\
 Possible outcome is: DONE ||

h4. ScheduleTerminationForCurrentOption

|| Component name | ScheduleTerminationForCurrentOption ||
|| Class name | com.cdrator.product.option.component.ScheduleTerminationForCurrentOption ||
|| Description | This component is used for scheduling campaign and fee ending dates for the current service option. \\
The Activity Parameter "REFUND_NOW" is mandatory: It is used to determine if subscriptionFees should be refunded immediately. \\
Possible values: Y/N \\
Mandatory Context Objects: \\
SUBSCRIPTION \\
OPTION: the new service option \\
START_DATE: DATE TYPE, the new option starting date \\
END_DATE: DATE TYPE, the old option ending date \\
Optional Context Object: OLD_OPTION \\
Possible outcome is: DONE ||

h4. SubscribeToProductOption

|| Component name | SubscribeToProductOption ||
|| Class name | com.cdrator.product.option.component.SubscribeToProductOption ||
|| Description | Subscribes to a product option defined by a product option key in the parameter ||
|| Required activity parameters | PRODUCT_OPTION_KEY - Key of the Product Option that should be assigned ||
|| Required context objects | SERVICE - The service to assign the new option ||
|| Possible outcomes | DONE - When the option has been assigned to the service ||

h4. SubscribeToProductOptions

|| Component name | SubscribeToProductOptions ||
|| Class name | com.cdrator.product.option.component.SubscribeToProductOptions ||
|| Description | Subscribes product options \\
Subscribes all product options which are in the context PRODUCT_OPTIONS to a SERVICE ||
|| Required context objects | PRODUCT_OPTIONS - ProductOptions which will be added \\
SERVICE - Service which product options will be added to ||
|| Possible outcomes | DONE - Product options has been subscribed. \\
PRODUCT_OPTION_NOT_FOUND - Product option not found. \\
FAILED_TO_SUBSCRIBE_PRODUCT_OPTIONS - Falied to subscribe to product options. ||

h4. UpdateChangeDate

|| Component name | UpdateChangeDate ||
|| Class name | com.cdrator.product.option.component.UpdateChangeDate ||
|| Description | This component is used for updating service option change dates. \\
The new option StartDate is decided as follows:(reset to 0 hour 0 min). \\
If Context Object "START_DATE" is given, this date is used; \\
Otherwise if Activity Parameter "START_NOW" is "Y",current date will be used; \\
For rest cases the StartDate will be first day next month; \\
The Activity Parameter "START_NOW" is optional: It is used to determine if service option should change immediately. \\
Possible values: Y/N \\
The Context Object "START_DATE" is optional \\
Possible outcome is: DONE ||

h4. UpdateNextChargeDateToOptionEndDate

|| Component name | UpdateNextChargeDateToOptionEndDate ||
|| Class name | com.cdrator.product.option.component.UpdateNextChargeDateToOptionEndDate ||
|| Description | This component updates the next_charge_date on the SubscriptionFee related to the ServiceOption. \\
A serviceOption is required in the context with the key "OPTION". \\
If the nextChargeDate is in the future, it will be set back to the end date of the service option or, if the end_date on the serviceOption is null, sysdate. \\
Outcome is: DONE ||

h4. UpdatePendingOptionStatus

|| Component name | UpdatePendingOptionStatus ||
|| Class name | com.cdrator.product.option.component.UpdatePendingOptionStatus ||
|| Description | This component is used for updating the status of pending options.
\\The Activity Parameter "SAVE_NOW" is optional: It is used to determine if new service option should be save immediately.
Possible values: Y/N
Mandatory Context Objects: \\
OPTION:the new service option
\\
Possible outcome is: DONE ||

h4. ValidateAndAddProductOptionsToContext

|| Component name | ValidateAndAddProductOptionsToContext ||
|| Class name | com.cdrator.product.option.component.ValidateAndAddProductOptionsToContext ||
|| Description | Validates the product options and if valid adds the product options to the WfContext. \\
The validation is done according the the product config in the WfContext. \\
The product options will be added to the context with key: "PRODUCT_OPTIONS". \\
The product config must be in the WfContext with key "PRODUCT_CONFIG". \\
Outcome is \\
PRODUCT_OPTION_NOT_FOUND \\
DONE ||

h4. WaitForOptionChangeDate

|| Component name | WaitForOptionChangeDate ||
|| Class name | com.cdrator.product.option.component.WaitForOptionChangeDate ||
|| Description | This component is used for waiting for the changing option date. \\
Context Object "END_DATE" is required. \\
Possible outcome is: WAIT or CONTINUE ||

h3. Product - Service


h4. ActivateService

|| Component name | ActivateService ||
|| Class name | com.cdrator.product.service.component.ActivateService ||
|| Description | This component will activate a service. \\
A Service or a subscription is required in the context for this component to work. This component will only activate the service in Rator. \\
Outcome is activated ||

h4. CheckIfCustomerIsActive

|| Component name | CheckIfCustomerIsActive ||
|| Class name | com.cdrator.product.service.component.CheckIfCustomerIsActive ||
|| Description | This component can be used for checking if a customer's service and subscription are active \\
A SERVICE Context Object is required for this component to work. \\
Possible outcomes are: YES/NO ||

h4. CreateService

|| Component name | CreateService ||
|| Class name | com.cdrator.product.service.component.CreateService ||
|| Description | Creates a new service and adds it to the WfContext. \\
The service will be added to the context with key: "SERVICE". \\
The product config must be in the context with key "PRODUCT_CONFIG". \\
The subscription must be in the context with key "SUBSCRIPTION". \\
The anumber must be in the context with key "A_NUMBER". \\
Outcome is \\
DONE ||

h4. GetAndAddActiveService

|| Component name | GetAndAddActiveService ||
|| Class name | com.cdrator.product.service.component.GetAndAddActiveService ||
|| Description | Finds the service for a phone number and adds it to the context. \\
Calls Service.getActiveService for given phoneNumber and brand. \\
The phone number is taken from the context with key: PHONE_NUMBER. \\
The brand is taken from the context with key: BRAND. \\
Outcome is \\
PHONE_NUMBER_NOT_FOUND \\
DONE ||

h4. GetNetworkOperator

|| Component name | GetNetworkOperator ||
|| Class name | com.cdrator.product.service.component.GetNetworkOperator ||
|| Description | retrieve the NetworkOperator for the given TeleService and add it to the context. \\
the NetworkOperator will be put in the WfContext with key NETWORK_OPERATOR ||
|| Required context objects | SERVICE - The TeleService should be in context. ||
|| Possible outcomes | OK - When Network Operator is added to context. ||

h4. UpdateNetworkPhoneNumber

|| Component name | UpdateNetworkPhoneNumber ||
|| Class name | com.cdrator.product.service.component.UpdateNetworkPhoneNumber ||
|| Description | Update Network Phone Number to be same as phone number on Service. \\
The Network phone Number is set to be same as phone number on given Service ||
|| Required context objects | SERVICE - The TeleService should be in context. ||
|| Possible outcomes | OK - When network PhoneNumber is set on service. ||

h3. Provisioning


h4. CreateActivationProvisioningTask

|| Component name | CreateActivationProvisioningTask ||
|| Class name | com.cdrator.provisioning.component.CreateActivationProvisioningTask ||
|| Description | Creates a activation provisioning task for the subscription. \\
A subscription is required in the context for this component to work. This component will create a provisioning task of type activation. \\
Outcome is DONE. ||

h4. CreateProvisioningTask

|| Component name | CreateProvisioningTask ||
|| Class name | com.cdrator.provisioning.component.CreateProvisioningTask ||
|| Description | Creates a provisioning task for the service. \\
A service is required in the context for this component to work. This component will create a provisioning task of specified type \\
Task type is specified using TASK_TYPE parameter. \\
Task description is specified using TASK_DESCRIPTION parameter. \\
If not passed the default description from task constructor will be used. \\
Task reference if needed is specified using TASK_REFERENCE parameter. \\
If not present in the parameter, will be retrieved from workflow context REFERENCE. \\
Outcome is DONE. ||

h4. CreateProvisioningTaskForChildren

|| Component name | CreateProvisioningTaskForChildren ||
|| Class name | com.cdrator.provisioning.component.CreateProvisioningTaskForChildren ||
|| Description | Creates provisioning task for the children of a subscription \\
A subscription is required in the context for this component to work. This component will create a provisioning tasks of specified type for all the children of the subscription \\
Task type is specified using TASK_TYPE parameter \\
Task description is specified using TASK_DESCRIPTION parameter. \\
If not passed default description from task constructor will be used. \\
Task reference if needed is specified using TASK_REFERENCE parameter \\
If not present in the parameter, will be retrieved from workflow context REFERENCE \\
Outcome is DONE ||

h4. ProvisioningTaskSetStatusToSent

|| Component name | ProvisioningTaskSetStatusToSent ||
|| Class name | com.cdrator.provisioning.component.ProvisioningTaskSetStatusToSent ||
|| Description | Sets the status to Sent on a provisioning task. \\
A provisioningTask is required in the context for this component to work. \\
This component will set the status to Sent on a provisioning task. \\
Outcome is DONE ||

h3. Simcard


h4. BookSimCardToService

|| Component name | BookSimCardToService ||
|| Class name | com.cdrator.simcard.component.BookSimCardToService ||
|| Description | This component will book a SIM card to the service. \\
A SIM card and a service is required in the context for this component to work. This component will only change the SIM card in Rator. It will set the status to In Use and assignedToServiceId to the ID of the service on the SIM card. \\
Optional activity parameters: \\
MAKE_ORDER_FOR set to "n", "false", "no" or uppercase versions, to disable making a SIM card order. \\
Outcome is DONE ||

h4. CanChangeSimcard

|| Component name | CanChangeSimcard ||
|| Class name | com.cdrator.simcard.component.CanChangeSimcard ||
|| Description | Checks if simcard change is allowed. \\
Checks if a change simcard workflow, with the name: CHANGE_SIMCARD, is currently in progress for a given subscription. ||
|| Required context objects | SUBSCRIPTION - The subscription changing simcard. ||
|| Possible outcomes | DONE - When check is complete. If an active workflow is found, the HookpointResult is set to: FAILED, otherwise it is set to: SUCCESS. ||

h4. ChangeSimcard

|| Component name | ChangeSimcard ||
|| Class name | com.cdrator.simcard.component.ChangeSimcard ||
|| Description | Change the SIM card for a given service. \\
If the SIM card already exists, the existing details are added to context. \\
Required context objects: \\
SIMCARD: The new SIM card to be created. \\
Optional activity parameter: \\
SIMCARD_SEND_SIMCARD: Boolean that defines if the SIM card should be sent. \\
SIMCARD_ADD_FEE: Boolean that defines if a fee should be added. \\
SIMCARD_TYPE: The SIM card type. \\
ADDRESS: The address the SIM card should be sent to. \\
CHANGE_DATE: The day the SIM card should be changed. \\
Outcomes are \\
DONE, NOT_OK ||

h4. CreateSimcard

|| Component name | CreateSimcard ||
|| Class name | com.cdrator.simcard.component.CreateSimcard ||
|| Description | Create a SIM card with the given details. \\
If the SIM card already exists, the existing details are added to context. \\
Required context objects: \\
SIMCARD: The new SIM card to be created. \\
Optional activity parameter: \\
NEW_SIMCARD_CONTEXT_KEY: key used when looking up the details of the new SIM card. Default is: SIMCARD. \\
SIMCARD_CONTEXT_KEY: key used when the created or found SIM card object is added to the context. Default is: SIMCARD. \\
Outcomes are \\
DONE \\
NOT_CREATED ||

h4. ReleaseSimCard

|| Component name | ReleaseSimCard ||
|| Class name | com.cdrator.simcard.component.ReleaseSimCard ||
|| Description | Releases a simcard from the paired anumber and makes it available for reuse. \\
Required object in the context is: \\
SIMCARD \\
Outcomes are \\
DONE ||

h4. UnpairSimAndAnumber

|| Component name | UnpairSimAndAnumber ||
|| Class name | com.cdrator.simcard.component.UnpairSimAndAnumber ||
|| Description | Unpairs a SIM card from the paired a-number. \\
Required object in the context is: \\
SIMCARD \\
Outcomes are \\
DONE ||

h4. UpdateSimcardStatus

|| Component name | UpdateSimcardStatus ||
|| Class name | com.cdrator.simcard.component.UpdateSimcardStatus ||
|| Description | Update Simcard Status. \\
Update Simcard Status to given status from activity parameter or from context, also update Simcard Network Status if needed. ||
|| Optional activity parameters | SIMCARD_CONTEXT_KEY - The Context key to get the Simcard. \\
SERVICE_CONTEXT_KEY - The Context key to get the TeleService. \\
STATUS_ID - The status id to be set on Simcard.One of STATUS_ID and STATUS_CONTEXT_KEY should be set.STATUS_ID has higher priority \\
STATUS_CONTEXT_KEY - The Context key to get the Simcard Status Id.One of STATUS_ID and STATUS_CONTEXT_KEY should be set.STATUS_ID has higher priority \\
NETWORK_STATUS_ID - The Network Status Id to be set on Simcard. \\
NETWORK_STATUS_CONTEXT_KEY - The Context key to get the Network Status Id. ||
|| Optional context objects | SIMCARD - The Simcard can be in context.The Simcard or Service at least one of them should be in context. \\
SERVICE - The Service can be in context.The Simcard or Service at least one of them should be in context. ||
|| Possible outcomes | DONE - When simcard status is set. ||

h4. UseIccToAddSimcardToContext

|| Component name | UseIccToAddSimcardToContext ||
|| Class name | com.cdrator.simcard.component.UseIccToAddSimcardToContext ||
|| Description | Adds simcard to context by using ICC already on context \\
Adds simcard to context by using ICC already on context. If simcard is not found or is not free to assign, the component will return ERROR. ||
|| Required context objects | ICC - The Simcards ICC must be in context. ||
|| Possible outcomes | DONE - When Simcard is found and added to context. \\
ERROR - When Simcard is not found or free and is not added to context. ||

h4. VerifySimcardState

|| Component name | VerifySimcardState ||
|| Class name | com.cdrator.simcard.component.VerifySimcardState ||
|| Description | Determines if the SIM card is in a specified state. \\
This component will check the SIM card to determine if the status \\
fits within a disallowed set of values. ||
|| Optional activity parameters | GET_NEW_SIMCARD_FROM_DB - I set a new simcard will be loaded from the database ||
|| Optional context objects | SUBSCRIPTION - A subscription to get a service from. Either this or a service object must be in context. \\
SERVICE - Must be a teleservice. Either this or a service object must be in context. ||
|| Possible outcomes | NEGATIVE - If simcard state is in the NEGATIVE parameter list. \\
DONE - If simcard state is in the DONE parameter list. \\
POSITIVE - If simcardstate is compatible. (Not DONE, FAILED, or NEGATIVE). ||

h3. Util - Expression


h4. ExpressionEvaluator

|| Component name | ExpressionEvaluator ||
|| Class name | com.cdrator.util.expression.component.ExpressionEvaluator ||
|| Description | This component will evaluate MVEL expressions and add the value to the context. \\
The activity parameters will be evaluated using the MVEL expression language. The parameter key will be the key in the context and the result of parameter value will become value in the context. Outcome is ok. ||

h3. Workflow


h4. AddToContextFromHookpointResult

|| Component name | AddToContextFromHookpointResult ||
|| Class name | com.cdrator.workflow.component.AddToContextFromHookpointResult ||
|| Description | This component takes objects from the Hookpoint result and adds them to the context \\
If the hookpoint result does not contain the configured key, nothing will be added. If a key (CLEAR_HOOKPOINT) with value "Y" is configured then the hookpoint result is cleared after adding the objects to the context. ||
|| Possible outcomes | DONE - When objects has been added to the context ||

h4. CheckIfActiveWorkflowExists

|| Component name | CheckIfActiveWorkflowExists ||
|| Class name | com.cdrator.workflow.component.CheckIfActiveWorkflowExists ||
|| Description | This component can be used for checking if an active workflow exists for the given subscription. \\
The Activity Parameter "HOOKPOINT_KEY" is used to determine which Workflow to check and is mandatory. \\
A SUBSCRIPTION Context Object is required for this component to work. \\
Possible outcomes are: YES/NO ||

h4. CheckIfWorkflowActivityCompleted

|| Component name | CheckIfWorkflowActivityCompleted ||
|| Class name | com.cdrator.workflow.component.CheckIfWorkflowActivityCompleted ||
|| Description | This component checks a workflow to see if all activities with a specified name are completed. \\
The workflow is retrieved from the context with a key specified in the activity parameters: WORKFLOW_CONTEXT_KEY. \\
The activity is specified by the activity's name either in the context or in the parameters by the key: WORKFLOW_ACTIVITY_NAME. \\
Outcome is YES, if all the activities are completed - NO otherwise. ||

h4. ComponentTemplate

|| Component name | ComponentTemplate ||
|| Class name | com.cdrator.workflow.component.ComponentTemplate ||
|| Description | Replace me with a short description \\
Replace me with a long description ||
|| Required activity parameters | RENAME_OR_REMOVE - this is a description of the required activity parameter ||
|| Optional activity parameters | RENAME_OR_REMOVE - this is a description of the optional activity parameter ||
|| Required context objects | RENAME_OR_REMOVE - this is a description of the required context objects ||
|| Optional context objects | RENAME_OR_REMOVE - this is a description of the optional context objects ||
|| Possible outcomes | DONE - this is a description of the possible outcomes of the activity \\
RENAME_OR_REMOVE - this is a description of the possible outcomes of the activity ||

h4. ContextBasedOutcome

|| Component name | ContextBasedOutcome ||
|| Class name | com.cdrator.workflow.component.ContextBasedOutcome ||
|| Description | Component that will make outcome based on how it is configured. \\
This component will take a configured "CONTEXT_KEY" and retrieve the value from the context. \\
It will then take the value and lookup the StringValue in the context and compare them. \\
If the context value is the same as a configured value. That value becomes the outcome. \\
Example: \\
context contains key: "NETWORK" with value: "TELIA" \\
activity parameters are: {(CONTEXT_KEY, NETWORK), (TDC,TDC_OUTCOME), (TELIA, TELIA_OUTCOME)}
outcome will be: TELIA_OUTCOME \\
Possible outcomes are: \\
Configurable. \\
If no CONTEXT_KEY defined: DONE ||

h4. ContinueStartingActivity

|| Component name | ContinueStartingActivity ||
|| Class name | com.cdrator.workflow.component.ContinueStartingActivity ||
|| Description | Continue the starting activity. \\
Specify the outcome for the starting activity in a parameter. ||
|| Required activity parameters | OUTCOME - Define the outcome the STARTING_ACTIVITY should be continued with. ||
|| Required context objects | STARTING_ACTIVITY - Reference to the activity which started this workflow. ||
|| Possible outcomes | DONE - Outcome when activity is continued. ||

h4. DynamicWaitUntil

|| Component name | DynamicWaitUntil ||
|| Class name | com.cdrator.workflow.component.DynamicWaitUntil ||
|| Description | This component will wait for a specfic date before continuing. \\
A parameter named WAIT_UNTIL_DATE in the activity is required for this component to work. This component will resolve a date based on the value in the parameter WAIT_UNTIL_DATE. It returns WAIT if the date is after now or CONTINUE if date is before now. Whoever uses this component must create an outcome WAIT which returns to the activity itself. IMPORTANT: Add a delay of perferably at least 1 day to the outcome WAIT. \\
Outcome is WAIT or CONTINUE. ||

h4. GenericBrandChecker

|| Component name | GenericBrandChecker ||
|| Class name | com.cdrator.workflow.component.GenericBrandChecker ||
|| Description | Checks if configured object in context is from BRAND in context. \\
This component will check if values in the context has same brand as BRAND in context. \\
The BRAND must be in the context with key "BRAND". \\
The configured values must be in the context. \\
Possible outcomes are: \\
BRAND_MISMATCH \\
DONE ||

h4. GenericHookpointResultAdder

|| Component name | GenericHookpointResultAdder ||
|| Class name | com.cdrator.workflow.component.GenericHookpointResultAdder ||
|| Description | Adds objects from context to the hookpoint result. \\
This component will take objects from the context and add them to the hookpoint result based on configured key-value String pairs. Example: context contains ANUMBER and it needs to be in the hookpoint result as PHONE_NUMBER. Configure activity parameter key=value as: ANUMBER=PHONE_NUMBER. If the context does not contain the configured key, nothing will be added. If a key (CLEAR_HOOKPOINT) with value "Y" is configured then the hookpoint result is cleared before adding the objects. \\
Outcome is DONE ||

h4. GenericWaitUntil

|| Component name | GenericWaitUntil ||
|| Class name | com.cdrator.workflow.component.GenericWaitUntil ||
|| Description | Component for waiting until some date \\
If the activity has object WAIT_UNTIL_DATE with this format dd-MM-yyyy then it uses this specific date to wait. \\
Otherwise the activity should have a parameter called WAIT_UNTIL_DAY within this format DD. \\
This parameter can be use to indicate until which day in every month the activity shall wait. \\
Parameter START_FROM_CURRENT_MONTH will indicate if the activity shall wait until some day in current month or starting next month. \\
The format is 'true' or 'false'. By default it will start from current month. \\
The component wil return OK or WAIT. ||

h4. IsWorkflowActivitiesNewOrWaiting

|| Component name | IsWorkflowActivitiesNewOrWaiting ||
|| Class name | com.cdrator.workflow.component.IsWorkflowActivitiesNewOrWaiting ||
|| Description | Test if given workflow activities are waiting \\
Given a workflow key and an activity key check wether or not there exists waiting activities for the current subscription ||
|| Required activity parameters | ACTIVITY_KEY - The activity key of the activities to be tested ||
|| Optional activity parameters | WF_KEY - Workflow definition key used to filter the activities to be tested ||
|| Required context objects | SUBSCRIPTION - SUBSCRIPTION context object ||
|| Possible outcomes | NO - No waiting activity found \\
YES - One or more waiting activities found ||

h4. PushWorkflowActivities

|| Component name | PushWorkflowActivities ||
|| Class name | com.cdrator.workflow.component.PushWorkflowActivities ||
|| Description | Pushes workflow activities \\
Pushes workflow activities having a specific key to a specific outcome and optionally filter them by a specific subscription_id, wf_def_key and/or by workflowId. Can optionally be set to enable pushing of all activity types. Default is Automatic and External. ||
|| Required activity parameters | ACTIVITY_KEY - The activity key of the activities to be pushed \\
ACTIVITY_OUTCOME - The activity outcome to push the activities to ||
|| Optional activity parameters | WF_KEY - Workflow definition key used to filter the activities to be pushed \\
PUSH_ALL_TYPES - Should All types of activities be pushable (y,true,yes) \\
WORKFLOW_ID_CTX_KEY - Defines the context of the WORKFLOW_ID. If not defined the default is WORKFLOW_ID ||
|| Required context objects | SUBSCRIPTION - SUBSCRIPTION context object ||
|| Possible outcomes | DONE - some description ||

h4. StartWorkflowCopyContext

|| Component name | StartWorkflowCopyContext ||
|| Class name | com.cdrator.workflow.component.StartWorkflowCopyContext ||
|| Description | This component can be used for starting a new workflow with a copy of the context from this workflow. \\
The Activity Parameter "HOOKPOINT_KEY" is used to determine what Workflow will be started and is mandatory. \\
The context of the current workflow is copied into the new workflow. \\
The OUTCOME of this activity can be defined either in OUTCOME or RESULT object in the workflow result. \\
If no OUTOME is defined, RESULT is returned, if no RESULT is defined, the outcome defaults to: DONE. ||

h4. UpdateHookpointResult

|| Component name | UpdateHookpointResult ||
|| Class name | com.cdrator.workflow.component.UpdateHookpointResult ||
|| Description | Adds/updates all configured parameters, key-value String pairs, to the HookpointResult. \\
This component will add/update all configured parameters key-value String pairs to the HookpointResult. \\
Outcome is DONE ||

h4. WaitNumberOfDays

|| Component name | WaitNumberOfDays ||
|| Class name | com.cdrator.workflow.component.WaitNumberOfDays ||
|| Description | This component will activate a subscription. \\
A parameter named WAIT_NO_OF_DAYS (integer) in the activity is required for this component to work. It runs twice. First it calculates a date (now + WAIT_NO_OF_DAYS) It set the start date of the activity to this date and returns WAIT. Then the workflow engine will not pick it up, until the date has passed. Whoever uses this component must create an outcome WAIT which returns to the activity itself, and an outcome CONTINUE which leads to the next activity. \\
Outcomes are CONTINUE and WAIT ||

h3. Workflow - Context


h4. ContextObjectEqualsToValue

|| Component name | ContextObjectEqualsToValue ||
|| Class name | com.cdrator.workflow.context.component.ContextObjectEqualsToValue ||
|| Description | This component can be used to check if a context object equals to any specific value. \\
The Activity Parameter "CONTEXT_KEY" is used to determine which workflow context object should be checked. \\
If there is a context object with that key and it is not null the outcome value should be the value of The Activity Parameter CONTEXT_VALUE_<EXPECTED_VALUE>. \\
If the context object does not match to any of the expected values the outcome value should be NOT_FOUND. \\
Otherwise, if the object is not in the context or is null the outcome value should be NOT_EXIST. ||

h4. DetermineContextObjType

|| Component name | DetermineContextObjType ||
|| Class name | com.cdrator.workflow.context.component.DetermineContextObjType ||
|| Description | Component that determines the type of context object, i.e. Object.getClass().getSimpleName(). \\
The Activity Parameter "PARAMETER_CONTEXT_KEY" is used to determine which workflow context object to look for. \\
If the object exists and is not null, the outcome value is simple class name of object. \\
E.g. java.util.ArrayList would return 'ArrayList'. ||

h4. ObjectInContext

|| Component name | ObjectInContext ||
|| Class name | com.cdrator.workflow.context.component.ObjectInContext ||
|| Description | This component can be used to check if a specific element exist is in the context and if it is blank. \\
The Activity Parameter "CONTEXT_KEY" is used to determine which workflow context object to look for. \\
The CHECKIFBLANK parameter can be set to "Y" if this component should check if the object is blank. If CHECKIFBLANK is set, the object in context should be a string. \\
If the object exists and is not null and is not blank, the outcome value is YES, else it is NO ||

h4. UpdateWorkflowInstanceWithContextData

|| Component name | UpdateWorkflowInstanceWithContextData ||
|| Class name | com.cdrator.workflow.context.component.UpdateWorkflowInstanceWithContextData ||
|| Description | Update the workflow instance record, i.e.: SUBSCRIPTION_ID, if relevant data found in the context. \\
Check for SUBSCRIPTION and ACCOUNT objects in the context and, if present, updates SUBSCRIPTION_ID and ACCOUNT_ID in the workflow instance. \\
If only SUBSCRIPTION is found, ACCOUNT_ID is updated from the account fetched from the SUBSCRIPTION context object. ||
|| Optional activity parameters | OUTCOME_NOT_SET - If both SUBSCRIPTION and ACCOUNT are not found in the context and parameter OUTCOME_NOT_SET defined and equals Y, the outcome will be NOT_SET. ||
|| Optional context objects | SUBSCRIPTION - The workflow instance data will be updated from this object. \\
ACCOUNT - The workflow instance data will be updated from this object. ||
|| Possible outcomes | DONE - If data found in context or parameter OUTCOME_NOT_SET not defined or not equals to Y. \\
NOT_SET - If data not found in context and parameter OUTCOME_NOT_SET equals to Y. ||

h3. Unknown package


h4. SetWfIdOnObject

|| Component name | SetWfIdOnObject ||
|| Class name | com.cdrator.workflow.SetWfIdOnObject ||
|| Description | This component sets the workflowId on an object in context. \\
This component requires that there is an Object in the context with the key: "KEY". \\
This component also requires that the Object has the method: "setWorkflowId(String)" \\
If there is no parameter with the key: "KEY", a nullpointerException will be thrown. \\
If the parameter "SAVE" is set to "TRUE" and the object is an instance of PersistentObject the component will save the object. \\
Possible outcomes: \\
DONE ||